ruby-trunk-changes 2026-07-17

今日は主に標準添付ライブラリ erb の更新や ZJIT の最適化などがありました。

[b685059195] Luke Gruber 2026-07-16 15:26:34 UTC

わざと異常終了をおこすテストで Signal.kill で自分自身に SIGSEGV を送信していたのを専用の拡張ライブラリを作ってそこで raise(3) で SIGSEGV を送信させるように変更しています。同じことなのでは? と思いましたがコミットログによるとシグナルハンドラを実行する thread が別になるかもしれないことを忌避してのことみたいです。

[c4e1e1cad3] Takashi Kokubun 2026-07-16 16:42:53 UTC

ZJIT の型プロファイリングの仕組みを ISeq の JIT コンパイルを再コンパイルする時の処理をシンプルにするための方針変更のようです。 https://github.com/ruby/ruby/pull/17915

[2fd3c2edea] Kevin Newton 2026-07-16 16:07:54 UTC

prism のバッファオーバーフローの不具合修正。

[61441f2d72] Takashi Kokubun 2026-07-16 17:46:57 UTC

ZJIT で Kernel#throw による VM 命令 throw で JIT コンパイルキャンセルせずに side-exit するように対応を緩めています。 https://github.com/ruby/ruby/pull/17902

[d5970a189a] Max Bernstein 2026-07-16 17:56:01 UTC

ZJIT でインライン化やインスタンス変数の参照の最適化ができなかったケースのトレースを可能にする変更です。 https://github.com/ruby/ruby/pull/17896

[bd62a1fa18] Max Bernstein 2026-07-08 14:29:12 UTC

ZJIT の ARM64 アーキテクチャでのスタックフレーム確保が大きすぎてできない場合にループ処理で対応するように拡張しています。

[5e92b4b6d2] Max Bernstein 2026-07-08 14:51:58 UTC

ZJIT の ARM64 版 --zjit-stats で出力する統計量にマシンスタックの使用量を測定するカウンタ total_native_stack_bytes を追加しています。

[ff6ac97529] Takashi Kokubun 2026-07-16 18:33:46 UTC

61441f2d7242148cc45efdf6f3ebce4c43eaf7c6 の ZJIT の VM 命令 throw で side-exit する対応を revert しています。

[d8cc1a1f83] Takashi Kokubun 2026-07-16 20:19:15 UTC

標準添付ライブラリ erb で Marshal.load で読み込むことでインスタンス変数 @_init を使って initialize での初期化を正しく経由しているかのチェックを迂回できる可能性が残っていたので BasieObject#equal? を Method として取り出して bind_call することで確実に同一性チェックするように修正しています。

[2d1f6957db] Takashi Kokubun 2026-07-16 20:38:02 UTC

標準添付ライブラリ erb の初期化チェック用の定数などを rdoc の :nodoc: タグを付けてドキュメント化抑制しています。

[dc417c6d78] Takashi Kokubun 2026-07-16 20:47:25 UTC

標準添付ライブラリ erb のバージョンを 6.0.5 に更新しています。

[3a2434c9d3] git 2026-07-16 20:49:06 UTC

NEWS の default gems のバージョンリストの erb のバージョンも更新しています。

[ca52ee2457] Luke Gruber 2026-07-16 22:53:37 UTC

b685059195cc1462c653c8fac2e0abe8b2f1cfe8 で導入したわざと SIGSEGV を発生させるテスト用の拡張ライブラリを別のテストでも利用するようにしています。

[e628112d47] "dependabot[bot]" 2026-07-17 02:09:10 UTC

GitHub Actions の workflows で利用しているアクションのバージョンを更新しています。

[ba8d925c8e] git 2026-07-17 02:29:45 UTC

NEWS の default gems の更新履歴の erb の履歴を更新しています。

[1aebcb61d0] Luke Gruber 2026-07-16 21:52:19 UTC

ZJIT で GC の API から取得した情報を利用したオブジェクト生成のインライン化の最適化で VM 命令 duparray による Array オブジェクト生成も slot 内に埋め込みできるサイズの配列の場合はインライン化できるようにしています。

[5628b33431] Takashi Kokubun 2026-07-17 02:46:26 UTC

ZJIT の中間表現 HIR の dump 時の C の関数ポインタの表示のための換算を間違えていた不具合を修正しています。 https://github.com/ruby/ruby/pull/17947

[a0688fb52d] Shugo Maeda 2026-07-17 03:19:39 UTC

vmtrace.c の rb_postponed_job_flush() で EC_PUSH_TAG()/EC_POP_TAG() の間で参照する変数の宣言に volatile 修飾子を追加して clobbered 警告を修正しています。

[c0ade935f6] Hiroshi SHIBATA 2026-07-16 23:35:31 UTC

random.c の乱数の元として Windows 環境で古い CryptAPI に対応した実装を削除しています。

[90b4192c26] Shugo Maeda 2026-07-17 04:17:23 UTC

thread.c の thread_start_func_2() でも EC_PUSH_TAG()/EC_POP_TAG() のあいだで参照する変数の宣言に volatile 修飾子を追加しています。

[7740e4b7bc] Hiroshi SHIBATA 2026-07-17 03:20:47 UTC

GC の default 実装で Windoows の MSVC での警告抑制のための workaround を追加しています。

[8d03d3c1e0] Hiroshi SHIBATA 2026-07-16 22:56:03 UTC

configure および dln.c から Interix サポートのための分岐を削除しています。

[83ec1ba895] Hiroshi SHIBATA 2026-07-17 05:30:01 UTC

configure で DTrace の有効化チェックで arm 上での FreeBSD では DTrace を無効化するようにしています。

[f569c12e8e] Nobuyoshi Nakada 2026-07-17 08:18:56 UTC

Pathname のテストで File.identical? を使っていたのを避けるようにしています。コミットログによると Windows でネットワークドライブ上にあるファイルについてうまく動作しないためとのこと。