ruby-trunk-changes 2019-07-23

今日は RubyVM::AbstractSyntaxTree::Node や RubyVM::InstructionSequence の memsize_of を正確にする対応などがありました。

[2f6cc00338] Jeremy Evans 2019-07-10 04:33:01 UTC

Array#pack の rdoc 用コメントの指示子 "m" の count の扱いについてもうちょっと詳しく追記しています。 [ruby-core:63639] [Bug #10025]

[6b62aa7aec] git 2019-07-22 19:10:42 UTC

version.h の日付更新

[11f3da8e9d] Nobuyoshi Nakada 2019-07-22 20:20:04 UTC

構造体 struct rb_method_definition_struct の宣言に PACKED_STRUCT_UNALIGNED() マクロを使っていたのをやめ、先頭の bit field 部分のサイズ(正確にはその後の要素の offset)を STATIC_ASSERT() でチェックするに留めています。

[d2710ba866] Nobuyoshi Nakada 2019-07-22 20:21:41 UTC

拡張ライブラリ ripper のテストでリポジトリ内の .rb ファイルを片っ端から(正確には全てのファイルではなく TEST_RIPPER_RATIO という変数で指定された割合になるように間引いて) parse してみるというテストがあるのですが、これが時間がかかるのでサブディレクトリごとに分割したテストファイルにして並列実行時にタスクの負荷が偏らないようにしています。

[c1ad6321b0] Jeremy Evans 2019-07-22 21:02:39 UTC

Kernel#raise の rdoc 用コメントに引数によって発生させる例外の種類の説明をちょっと詳しくしているみたいです。 [ruby-core:64192] [Bug #10110]

[32ec6dd5c7] Jeremy Evans 2019-07-22 21:43:36 UTC

Regexp.escape の rdoc 用コメントでエスケープされなかったら同一のオブジェクトを返すと書かれてましたが、これは現在では嘘になってたので削り、かわりに Encoding についての記述を追加しています。 [ruby-core:65030] [Bug #10239]

[01995df645] Jeremy Evans 2019-07-22 22:07:22 UTC

object_id や send の rdoc 用コメントに BasicObject にはアンダースコア 2つが前後についた版のみ定義されていることを追記しています。 [ruby-core:65868] [Bug #10422]

[44cfabddbe] Hiroshi SHIBATA 2019-07-23 02:20:08 UTC

doc/maintainers.rdoc に racc のエントリが lib/racc と ext/racc で重複して存在していたので ext/racc にまとめています。序でにメンテナに hsbt さんを追加しています。

[73d56d6fe7] Hiroshi SHIBATA 2019-07-23 04:32:21 UTC

doc/maintainers.rdoc の reline のエントリを default gem のところに移動しています。

[ab087ecb4d] Hiroshi SHIBATA 2019-07-23 04:34:35 UTC

doc/maintainers.rdoc の default gems のエントリに upstream のリポジトリを追記しています。

[90c4bd2d2b] Lourens Naudé 2019-04-22 22:24:52 UTC

ObjectSpace.memsize_of で T_MEMO 型オブジェクトのメモリ使用量を正確に返せるように実装を追加しています。 https://github.com/ruby/ruby/pull/2140 [ruby-core:92451] [Feature #15805]

[33f54da15b] Nobuyoshi Nakada 2019-07-23 07:18:40 UTC

RubyVM::AbstractSyntaxTree::Node のオブジェクト型で memsize に対応するようにしています。

[c25ff7bb5d] Koichi Sasada 2019-07-23 07:42:20 UTC

rb_iseq_t のメモリ使用量を調べる rb_iseq_memsize() でまだロード中やコンパイル中だったら iseq->body の内容は調べないようにしています。中途半端な状態をみてしまうかもしれないからかな。

[6546aed475] Lourens Naudé 2019-04-13 16:05:58 UTC

rb_enc_init() の呼び出しが遅延されていて代表的な Encoding を返す rb_utf8_encoding() などの先頭で分岐があったので Init_encodings() を追加してここからプロセス起動時に呼んでおくようにしています。 https://github.com/ruby/ruby/pull/2128 [ruby-core:92452] [Misc #15806]

[009ec37a47] Lourens Naudé 2019-04-13 16:39:05 UTC

rb_enc_from_index() で index が不正じゃないかチェックしてる分岐の条件に LIKELY() を追加しています。 https://github.com/ruby/ruby/pull/2128 [ruby-core:92452] [Misc #15806]

[0338c44bde] Nobuyoshi Nakada 2019-07-23 08:39:03 UTC

.travis.yml の make up で Unicode 用ファイルダウンロードで失敗するのを --debug をつけて実行してみたりしてましたが、単に 3回までリトライするようにしています。

[e8d4f0cbc7] Nobuyoshi Nakada 2019-07-23 08:59:43 UTC

0338c44bde4fe55f0507a82fe470dce2ac70127a でデバッグ用に tool/generic_erb.rb や Unicode 用のタイムスタンプファイルなどを表示するために追加した ls のオプションに tT を追加して更新時刻を詳細に、ソートして表示するようにしています。

[03958a0c0d] Nobuyoshi Nakada 2019-07-23 09:22:25 UTC

configure で Fiber 用の Coroutine の実装を選択する部分で $target_os の linux のあとに "-gnu" がつくことがあるのでそれも許容するようにしています。 [ruby-core:93878] [Bug #16015]