今日は ZJIT の不具合修正や最適化と拡張ライブラリ json のバージョン更新などがありました。
[9feac5d10e] Daichi Kamiyama 2026-06-02 14:09:39 UTC
ZJIT で T_FIXNUM 型オブジェクトに対する Integer#/ の戻り値の型を Fixnum でなく Integer に拡張しています。 FIXNUM_MIN / -1 とすると -FIXNUM_MIN となり Fixnum で表現可能な範囲を越えるため。 https://github.com/ruby/ruby/pull/17165
[f261909fa9] Max Bernstein 2026-06-02 15:53:09 UTC
ZJIT の型推論でメソッドの receiver が即値でないことをいつくかの条件で検証して HeapBasicObject の guard を省略できるように最適化しています。 https://github.com/ruby/ruby/pull/17155
[3b4761cc8e] Randy Stauner 2026-06-02 20:42:09 UTC
ZJIT の中間表現 HIR にダンプ時にコメントを表示するためだけの命令 Comment を追加しています。コンパイル結果には影響を持ちません。 https://github.com/ruby/ruby/pull/15166
[4aa721f791] Max Bernstein 2026-06-02 21:13:27 UTC
ZJIT の中間表現 HIR の RefineType 命令が既に不要な型推論が行なわれていたら削除する最適化を加えています。 https://github.com/ruby/ruby/pull/17183
[6fa8fcf005] Daichi Kamiyama 2026-06-02 21:13:44 UTC
ZJIT の Rust 製のテストに Integer#% の呼び出しのテストを追加しています。 https://github.com/ruby/ruby/pull/17182
[63ba697b60] Hiroshi SHIBATA 2026-06-02 10:34:39 UTC
bundler に古い rubygems での利用時に compact index の処理を修正するための monkey patch を追加しています。
[f956ef766d] Hiroshi SHIBATA 2026-06-02 10:51:36 UTC
63ba697b6079c6fc4b66270c9498ab32884aef22 の再修正。 bundler の rubygems に対するモンキーパッチ用の Module の定義は常に行なうようにして、prepend するかどうかだけ rubygems のバージョンで制御するようにしています。
[ad8bf0e636] Hiroshi SHIBATA 2026-06-02 10:55:22 UTC
bundler のテストの並列テスト時のファイルグループ分割の定義に f956ef766d85304efd91a14f5611a6c46ece818f で追加したテストファイルを追記しています。
[f0d45e01ee] Burdette Lamar 2026-06-03 00:31:19 UTC
Pathname.find メソッドの rdoc 用コマンドを手直ししています。 https://github.com/ruby/ruby/pull/17150
[1d3e2bd2b8] Peter Zhu 2026-06-02 12:10:42 UTC
ObjectSpace.reachable_objects_from_root の rdoc 用コメントの説明を追記しています。
[be696c9c24] Nobuyoshi Nakada 2026-06-03 02:38:38 UTC
Array#sum で要素が Float の時には誤差を抑制するためのパスがありましたが、Array#sum の引数に初期値として Float の値が渡された時にもこのパスが使われるようにしてメソッド呼び出しを抑制する最適化と誤差軽減を両立させています。 [ruby-core:125612] [Bug #22092]
[b36bf9d98c] Burdette Lamar 2026-06-03 03:39:07 UTC
doc/file/filename_matching.md というファイルを追加して File.fnmatch で使えるメタキャラクタなどについての説明を追記しています。
[be5be55177] Burdette Lamar 2026-06-03 03:39:31 UTC
doc/file/filename_globbing.md というファイルを追加して Dir.glob で使われるメタキャラクタについての解説を追記しています。 https://github.com/ruby/ruby/pull/17173
[2ff671c93d] Peter Zhu 2026-06-03 01:26:08 UTC
ObjectSpace.internal_class_of の rdoc 用コメントを追記しています。
[2faad3767c] Jean Boussier 2026-06-03 06:28:31 UTC
拡張ライブラリ json のバージョンを 2.19.8 に更新しています。
[6d39970a85] git 2026-06-03 06:31:37 UTC
NEWS の default gems のバージョンリストの json のバージョンも更新しています。
[695996c976] Jean Boussier 2026-06-03 06:48:47 UTC
拡張ライブラリ json の json_eat_comments() という関数の定義に NOINLINE() マクロを利用するようにしています。コメントを含む JOSN はパフォーマンスの考慮がそれほどいらないだろうという仮説で inline 化を抑制しているようです。
[8fefa5537c] Jean Boussier 2026-06-03 07:25:51 UTC
拡張ライブラリ json で 4.1 から導入されている確保サイズの指定つきの ruby_sized_xfree() 関数を使うため JSON_SIZED_FREE() や JSON_SIZED_FREE_N() といったマクロを導入して ruby のバージョン間の差分を吸収するようにしています。
[71515f8bfd] Jean Boussier 2026-06-03 07:45:45 UTC
拡張ライブラリ json のテストの coverage の設定で test/ 配下は測定対象から除外するようにしています。
[464e5665a4] git 2026-06-03 08:30:18 UTC
NEWS の default gems のバージョン履歴の rubygems と bundler の項目を更新しています。