ruby-trunk-changes 2026-07-30

今日は主に ZJIT の不具合修正/最適化や bundler の不具合修正などがありました。

[a32dded07d] Max Bernstein 2026-07-29 14:09:51 UTC

ZJIT の中間表現 HIR の SetLocal 命令に追加したオペランドに iterate が対応していなかった内部的不具合を修正。 https://github.com/ruby/ruby/pull/18102

[72cf6fff92] Max Bernstein 2026-07-29 14:42:03 UTC

ZJIT の HIR の UnboxFixnum 命令を副作用なしという扱いに変更しています。 https://github.com/ruby/ruby/pull/18103

[d6e2feea47] himura467 2026-07-28 20:49:33 UTC

Ractor#memsize から使われる ractor_sync_memsize() という関数でメモリサイズの計算が間違っていたのを修正しています。

[3ca77abb61] Peter Zhu 2026-07-29 14:24:07 UTC

GC の mmtk 実装でわざと OOM を発生させるため環境変数 MMTK_HEAP_MAX でヒープサイズを絞って実行するテストでさらにサイズを小さく設定しています。

[a2cc692d77] Koichi Sasada 2026-07-29 15:23:07 UTC

Proc#refined が ISeq の複製を作る時にそれを Ractor shareable にして複数 Ractor 利用時にもサポートするようにしています。

[5845220c37] Peter Zhu 2026-07-29 14:22:31 UTC

tool/sync_default_gems.rb で GC の mmtk 実装も同期している設定でディレクトリマッピングの書きかたが間違っていたのを修正しています。

[4a6e60e641] Max Bernstein 2026-07-28 15:06:33 UTC

ZJIT の Rust 実装のリファクタリング。

[9f6753e683] Max Bernstein 2026-07-28 21:22:28 UTC

ZJIT の Rust 実装のリファクタリング。

[821af045b6] Takashi Kokubun 2026-07-28 21:02:39 UTC

ZJIT の中間表現 HIR のダンプ処理で表示するアドレスの間違いの修正。

[ab191be2f5] Takashi Kokubun 2026-07-29 16:10:53 UTC

ZJIT の中間表現 HIR のダンプ時のポインタの扱いの不具合を防ぐための機構を導入。

[72749d7df3] Takashi Kokubun 2026-07-29 16:46:12 UTC

ZJIT の中間表現 HIR のダンプ処理でポインタの型のホワイトリスト? を構築してよりチェックを厳密にしているようです。

[3731d6659f] Takashi Kokubun 2026-07-28 19:12:49 UTC

ZJIT でブロックパラメーターが 7つ以上のブロックの呼び出しをインライン化すると異常終了してしまう可能性があったので VM 経由に fallback させるように対応しています。

[8b2bd6a500] Takashi Kokubun 2026-07-29 16:12:19 UTC

3731d6659f8458690cbb65f73edd569b515045fd の ZJIT の修正に対応するテストを追加しています。

[6ea07a4824] Takashi Kokubun 2026-07-29 16:44:19 UTC

3731d6659f8458690cbb65f73edd569b515045fd で追加していた ZJIT のテストのコメントを修正。

[20449aa178] Takashi Kokubun 2026-07-29 16:48:34 UTC

3731d6659f8458690cbb65f73edd569b515045fd のブロックパラメーターが多すぎて脱最適化する時に統計情報の理由のところに加味するようにしています。

[3ae87b772b] Peter Zhu 2026-07-18 21:48:58 UTC

GC の mmtk 実装の定数マクロ MMTK_MAX_OBJ_SIZE の定義を削除して slot サイズの上限をなくしています。

[d84e57fb38] Peter Zhu 2026-07-21 15:42:42 UTC

GC の mmtk 実装で大きな slot のオブジェクトを確保できるようにしているようです。 mmtk は任意のサイズのオブジェクト slot を確保できるのかな?

[e0e96393b8] Peter Zhu 2026-07-27 20:53:53 UTC

GC の実装が mmtk の時に除外するテストに String の capacity に関するテストを追加しています。

[1cbb55372a] Peter Zhu 2026-07-28 15:34:22 UTC

GC の実装が mmtk の時に除外するテストにさらに Struct のオブジェクトの slot サイズに上限がある前提のテストも追加しています。

[8ebf16fa73] Koichi Sasada 2026-07-29 18:40:07 UTC

id_table.c の rb_managed_id_table_dup()、 rb_managed_id_table_size()、rb_managed_id_table_foreach_values() などの関数で struct rb_id_table を wrap している内部的オブジェクトがコンパイラの最適化により参照がなくなって GC で解放される可能性があるのを保護するため RB_GC_GUARD() を追加しています。

[a69bb3ab60] Peter Zhu 2026-07-23 18:38:11 UTC

ZJIT で Range オブジェクトを生成する時に GC の API から得たメモリレイアウト情報を使って直接オブジェクト確保するインライン最適化を実装しています。

[e67f02518a] Kevin Newton 2026-07-29 20:35:44 UTC

prism で pattern match の誤った文法を通してしまっていたのを修正しているようです。

[ba57693031] Hiroshi SHIBATA 2026-07-22 06:09:34 UTC

bundler の BUNDLE_FROZEN=1 の指定があった時の bundle check のチェックが不足していたのを修正しています。 https://github.com/ruby/rubygems/issues/9546

[8495d0ecae] Hiroshi SHIBATA 2026-07-23 06:08:42 UTC

win32/rm.bat で削除失敗時に終了コードに反映させて nmake でエラー検出できるように修正しているようです。

[94933bfebf] Max Bernstein 2026-07-29 23:49:57 UTC

GitHub の pull request に自動で label をセットする設定で C-binding の更新のみの時は jit ラベルの対象外にしているようです。なんだけど (*.rs) にも ! をつけているのはこれで合ってるのかな? https://github.com/ruby/ruby/pull/18116

[145a4bba92] Hiroshi SHIBATA 2026-07-21 10:23:28 UTC

bundler の compact_index サーバーからの cache 構築時に "../" を含んだファイルパスで親ディレクトリを辿ってしまわないようにチェックを強化しています。

[e15f28c57d] Hiroshi SHIBATA 2026-07-16 08:13:49 UTC

bundler の HTTPS 通信時に UserAgent に userinfo を含めないように修正しています。

[553f19d9b2] Shizuo Fujita 2026-07-30 06:24:42 UTC

Process::Status.wait の rdoc 用コメントで $? は設定しないのでその旨記述を修正しています。 https://github.com/ruby/ruby/pull/18109

[acc86e6d5c] Hiroshi SHIBATA 2026-07-28 09:22:04 UTC

bundler の cooldown 機能のエッジケースで警告を出力するように対応。 https://github.com/rubygems/rubygems/issues/9723

[019357d131] git 2026-07-30 07:38:51 UTC

gems/bundled_gems および NEWS の bundled gems のバージョンリストの repl_type_completor のバージョンを 0.1.16に更新しています。

[c418600fc5] git 2026-07-30 07:48:21 UTC

NEWS の bundled gems の更新履歴の repl_type_completor の項目も更新しています。

[c692cc8fba] Hiroshi SHIBATA 2026-07-30 07:44:10 UTC

bundler のコメントや man ページ内の URL の更新。 bundler.io というドメインは使われなくなったみたいです。

[f275e95ff2] Hiroshi SHIBATA 2026-07-30 07:40:33 UTC

GitHub Actions の Windows 系の workflow で vcpkg のインストール後に bootstrap-vcpkg.bat を実行するようにしています。

[79e6d37b55] Samuel Williams 2026-07-30 10:37:00 UTC

TracePoint の line イベントでループの条件部の行での? 発火が漏れることがあった不具合を修正しています。 https://github.com/ruby/ruby/pull/18122 [Bug #22218]