今日は ZJIT の最適化や拡張ライブラリ json のネストした構造の parse で再帰処理をループ構造を使って書き直す変更などがありました。
[f717edca05] Nozomi Hijikata 2026-06-03 13:42:20 UTC
ZJIT で VM 命令の definedivar をコンパイルする際に Object Shapes の複数の shape がありえることが型プロファイルからわかっていた時に脱最適化していたのを分岐を含むコードにコンパイルするようにしています。 https://github.com/Shopify/ruby/issues/980 https://github.com/ruby/ruby/pull/16981
[6da082f6db] Takashi Kokubun 2026-06-03 19:02:46 UTC
ZJIT の control frame の軽量化版 JITFrame の内容の初期化タイミングを JIT コンパイルされたメソッドのコードに入る時に行うように変更して、初期化漏れが起きる可能性があった不具合を修正しています。 https://github.com/ruby/ruby/pull/17188
[739ec91d5a] John Hawthorn 2026-03-17 03:13:06 UTC
GC の default 実装の GC event hook の FREEOBJ イベントのフック呼び出しを gc_sweep_plane() の中で随時呼び出していたのを gc_sweep_start() の最初にリストをスキャンして sweep 予定のものについてフック呼び出しをする処理をまとめて実行しておくというタイミングに変更しています。 sweep 途中の状況でフックを呼び出してしまわないようにするためでしょうか。
[623fa94e9e] Peter Zhu 2026-06-03 11:43:53 UTC
ObjectSpace.memsize_of の rdoc 用コメントの手直し。
[1d104ecf97] Max Bernstein 2026-06-04 00:16:51 UTC
ZJIT で即値でないオブジェクトとわかっている時の冗長なチェックを省く最適化。 https://github.com/ruby/ruby/pull/17151
[a50eaa3dcd] Hiroshi SHIBATA 2026-06-04 01:04:20 UTC
GitHub Actions で利用している actions/checkout アクションのバージョンを更新しています。
[97672020e5] Hiroshi SHIBATA 2026-06-04 01:12:47 UTC
a50eaa3dcd6fcb3673d5356db886af26c4e15e52 の続きで GitHub Actions の actions/checkout アクションに zizmor の警告抑制のコメントが残ってたのを削除しています。
[b74a5f5ec8] Max Bernstein 2026-06-03 20:10:26 UTC
ZJIT の中間表現 HIR の IsNil という命令を削除して HasType で代替するようにしています。
[c8c6de3c99] Max Bernstein 2026-06-03 20:12:24 UTC
ZJIT の中間表現 HIR の HasType 命令の副作用の宣言が誤っていたのを修正しています。
[5859196197] Peter Zhu 2026-06-03 12:41:15 UTC
GC の mmtk 実装でプロセス終了時の rb_gc_obj_free() の呼び出し前に環境変数で全メモリ解放の指示があるかチェックする rb_gc_obj_needs_cleanup_p() でのチェックを追加しています。
[cac0c38eea] "dependabot[bot]" 2026-06-04 02:02:49 UTC
GitHub Actions の workflows で利用しているアクションのバージョンを更新しています。
[4f3cd707cc] Hiroshi SHIBATA 2026-06-04 01:52:25 UTC
bundler の bundle env サブコマンドで ruby のバージョン管理ツール(rvm や rbenv)などの情報の表示を削除しています。
[9f6cb11797] Hiroshi SHIBATA 2026-06-04 03:06:35 UTC
4f3cd707ccd97e4fa260c6d42bb48eef27859b51 に追随した bundler のテストの追加。
[ab2bc7e9e1] Kevin Newton 2026-06-01 16:47:06 UTC
拡張ライブラリ json のネストした Array や Hash の parse 時の再帰呼び出しを利用した実装をループを使った実装に変更してマシンスタックを消費しないようにしています。また将来的に parse の途中で処理を返すような streaming 処理をサポートするための布石みたいです。