ruby-trunk-changes r63698 - r63702

今日は標準添付ライブラリ drb の不具合修正と malloc の情報収集のためのデバッグビルドの仕組みの追加などがありました。

normal: r63698 2018-06-20 08:20:36 +0900

標準添付ライブラリ drb の DRb::ExtServManager#service で if の条件に &. を使うようにしていたのを && での連結に修正しています。 server には invoke_service_command で false が入ってる可能性があるので &. は nil のみ無視するので NoMethodError になる可能性がありました。なるほどー。 [ruby-core:87524] [Bug #14856]

svn: r63699 2018-06-20 08:20:37 +0900

version.h の日付更新。

hsbt: r63700 2018-06-20 16:16:25 +0900

標準添付ライブラリ sync.rb で defined?(Thread) をチェックして例外を上げてましたが、今生きてる ruby の実装では Thread は常に存在するので削っています。

ko1: r63701 2018-06-20 16:53:29 +0900

USE_GC_MALLOC_OBJ_INFO_DETAILS という preprocessor の変数を導入して、これが非0でビルドされると(デフォルトでは 0 なので無効) ruby_xmalloc() などのメモリ確保用の関数で呼び出したファイル上の位置と回数、また xfree のほうでメモリ領域のサイズの合計などの情報を格納するようにしています。結果は malloc_info_show_results() という関数で表示でします。gcc 拡張? の deconstract という attribute をつけているので終了時に呼ばれるようです。 [ruby-core:87527] [Feature #14857]

nobu: r63702 2018-06-20 20:14:08 +0900

rubyspec で拡張ライブラリ etc のテストで "id -gn" コマンドがエラーでグループ名が取得できなかった時はスキップするようにしています。
next でブロックを抜けてるけど skip で明示的にスキップしたほうがいいかも。