ruby-trunk-changes 2023-02-17

今日は YJIT の対応するメソッドの拡張や不具合修正、Numeric#step の不具合修正などがありました。

[21543ac86c] Nobuyoshi Nakada 2023-02-16 13:15:54 UTC

マクロ GC_ENABLE_INCREMENTAL_MARK が定義されていた時だけ定義されていた関数 heap_move_pooled_pages_to_free_pages() を常に定義するようにして、関数の中身を空にするようにしています。 incremental mark を無効にしてビルドすると関数がみつからなくてビルドエラーになってたみたいです。

[b4c38f3c59] Jimmy Miller 2023-02-16 16:25:48 UTC

YJIT で *args のように可変長の引数を配列で受け取るメソッド定義のメソッドへの対応を追加しているようです。 https://github.com/ruby/ruby/pull/7311

[21f9c92c71] Takashi Kokubun 2023-02-16 19:32:13 UTC

YJIT の --yjit-stats で YJIT が ISeq ごとに作る? context というリソースの数についてのカウンタを追加しているみたいです。 https://github.com/ruby/ruby/pull/7327

[a49bc73e1f] Burdette Lamar 2023-02-16 21:52:02 UTC

標準添付ライブラリ net/http の rdoc 用コメントの手直し。

[c178926fbe] Alan Wu 2023-02-16 22:22:44 UTC

YJIT が単項演算子メソッド String#+@ をコンパイルする時に前処理が不足していて SEGV する可能性があった不具合を修正しています。 [ruby-core:112458] [Bug #19444]

[a4b7ec1229] Alan Wu 2023-02-16 22:41:52 UTC

c178926fbe879045fa711444a1fd9e906af23e3b の続きで YJIT の String#+ のコンパイル処理で引数が 0 でなかった時にすぐに抜けるようにするのと、receiver の型チェックが String クラスのインスタンスであることを強制していたのを T_STRING 型なら良い(String を継承した子クラスのインスタンスでもいい)ようにしています。 [ruby-core:112458] [Bug #19444]

[dd28c55a7c] Nobuyoshi Nakada 2023-02-17 01:57:22 UTC

ブロックを渡さずに Numeric#step を呼んで生成した Enumerator が SEGV を引きおこすことがあった不具合を修正しています。 [ruby-core:112459] [Bug #19445]