ruby-trunk-changes 2022-06-10

今日は YJIT のトレース情報を得るメソッドの追加や TracePoint をブロックを使って定義したメソッドを target とした時にメモリリークすることがあった不具合の修正などがありました。

[27eb36596a] Jeremy Evans 2022-05-26 17:45:36 UTC

IO#readlines や IO#foreach などが第4引数を受付けてしまう(しかし使ってない)のを修正しています。4つ引数を渡すと ArgumentError が発生するようにしています。なにかの名残りで rb_scan_args() が 1つの必須引数と 3つの省略可能引数を受付けるように呼ばれていたようです。 [ruby-core:108503] [Bug #18771]

[1b5828f9a6] git 2022-06-09 15:22:27 UTC

version.h の日付更新

[473ee328c5] "Eileen M. Uchitelle" 2022-06-09 16:59:39 UTC

YJIT のトレース情報をダンプする RubyVM::YJIT.dump_exit_locations というメソッドを新設して --yjit-trace-exits オプションをつけて実行された時に exit した位置(この exit はプロセスの終了じゃなくて JIT コンパイルされた処理から抜けるという意味かな)の情報をダンプするようにしています。 https://github.com/ruby/ruby/pull/5970

[adcfd69690] Alexander Ilyin 2022-06-09 18:40:21 UTC

String の rdoc 用コメントの markup の間違いを修正しています。 https://github.com/ruby/ruby/pull/5984

[c2468fd88b] Burdette Lamar 2022-06-09 20:03:21 UTC

標準添付ライブラリ fileutils の rdoc 用コメントの手直し。 https://github.com/ruby/fileutils/pull/82

[e69e47f8d6] "Eileen M. Uchitelle" 2022-06-09 21:59:41 UTC

https://github.com/ruby/ruby/pull/5970 の RubyVM::YJIT.dump_exit_locations の追加時に追加した YJIT のテストで toplevel return する条件に RubyVM::YJIT.trace_exit_locations_enabled? を加えてしまっていたので、起動する子プロセスで判定させるように修正しています。 https://github.com/ruby/ruby/pull/5995

[cedc36ec57] Takashi Kokubun 2022-06-09 23:17:25 UTC

MJIT のテスト test/ruby/test_mjit.rb で不要になった shellwords の require を削除しています。

[e75cb61d46] Alan Wu 2021-07-14 23:44:26 UTC

複数の TracePoint をブロックを渡して Module#define_method などで定義したいわゆる bmethod の呼び出しを target として指定して同時に有効化するとメモリリークが発生していた不具合を修正しています。 [ruby-core:104548] [Bug #18031]