以下の内容はhttps://ruby-trunk-changes.hatenablog.com/entry/ruby_trunk_changes_20250920より取得しました。


ruby-trunk-changes 2025-09-20

今日は prism の不具合修正や ZJIT のカウンタ追加その他の修正や最適化がありました。

[477b1e79b7] Peter Zhu 2025-09-18 13:26:34 UTC

Object Shapes の fields_obj 用の T_IMEMO 型オブジェクトを確保する時に imemo_fields_new() を使っていたのを rb_imemo_new() を使って struct rb_fields のサイズを明示的に指定してメモリ確保するようにしています。将来的なメンバー追加時に自動的に追随できるようにするためみたいです。

[b082d67253] Nobuyoshi Nakada 2025-09-19 13:13:09 UTC

prism の構造体 pm_string_t の文字列バッファとしてスタック上の自動変数の領域を代入していた不具合を修正しています。 以前類似の修正があったと思いますが Windows 時の実装で残ってたみたいです。

[1663e2fbc8] Peter Zhu 2025-09-19 13:00:58 UTC

477b1e79b71af422136df29b259d9bb3ce8449e2 の再修正。 imemo_fields_new() ではなく rb_imemo_new() を利用するように再修正しています。

[e40cd392e4] Max Bernstein 2025-09-19 15:56:59 UTC

ZJIT の統計情報カウンタにブロックの外のローカル変数へのアクセスをカウントするものを追加しています。 https://github.com/ruby/ruby/pull/14601

[f0702c5aa3] Max Bernstein 2025-09-19 12:57:33 UTC

ZJIT の統計情報カウンタの不具合修正。

[d7ad446137] Max Bernstein 2025-09-19 13:01:05 UTC

ZJIT の統計情報カウンタに send_fallback_null というものを追加しています。

[71067aa54c] Earlopain 2025-09-17 17:06:55 UTC

prism がメソッドの引数内で do-end ブロックをもつ引数のかっこなしのメソッド呼び出しを書く記法を SyntaxError にすべきなのに受け付けていた不具合を修正しています。 [ruby-core:121234] [Bug #21168]

[d7c54df433] Kevin Newton 2025-09-19 17:42:36 UTC

prism のテストの 71067aa54c9fd819313dd2d35cb5b32803a65ad4 で追加したものを parse.y で除外するようにしています。

[642188fb87] Kevin Newton 2025-09-19 18:34:59 UTC

d7c54df433c73f46b177dae594a001fc92fe5232 の prism のテストの実行除外の再修正。テストファイル名の typo を修正しています。

[f4482b047f] Randy Stauner 2025-09-19 22:00:27 UTC

GitHub Actions で shell でコマンド実行するときに set -x して実行内容を表示させるようにしています。デバッグしやすくするため。 https://github.com/ruby/ruby/pull/14609

[7c51ce5ff6] John Hawthorn 2025-09-19 00:20:01 UTC

Encoding のリストを管理する内部的 Array オブジェクトを freeze してバッファを共有可能にしています。

[f048f77c4a] John Hawthorn 2025-09-18 23:31:58 UTC

Encoding のロード処理から enc_load_from_base() という関数を切り出すリファクタリング

[02d5b8443a] John Hawthorn 2025-09-19 05:02:38 UTC

Encoding のロード処理の enc_autoload_body() の小さなリファクタリング

[6afbbb1178] Takashi Kokubun 2025-09-19 22:50:15 UTC

ZJIT の Rust 実装の空行削除。

[b19e3b0f06] Stan Lo 2025-09-19 23:03:02 UTC

ZJIT の Rust 実装で不要なコード生成を抑制する? 最適化。 https://github.com/ruby/ruby/pull/14614

[4a04e6f755] Max Bernstein 2025-09-18 15:41:46 UTC

ZJIT の Rust 実装のコメントを改行しています。

[254b9b4952] Max Bernstein 2025-09-18 17:47:35 UTC

ZJIT の Rust 実装でオブジェクトの allocate の独自の実装がされているクラスについてのオブジェクト確保の処理の最適化できる対象を増やしています。

[451fe6a446] Max Bernstein 2025-09-19 19:30:41 UTC

ZJIT の VM 命令 opt_{ary,str,hash}_freeze や opt_str_uminus などの実装の脱最適化時に VM の値スタックに receiver を push しなおす必要があったのを行なっていなかった不具合修正。 https://github.com/Shopify/ruby/issues/760

[d1c845e41a] Max Bernstein 2025-09-19 15:52:53 UTC

GitHub Actions の ZJIT 用 workflow に --zjit-disable-hir-opt オプションをつけて make check 実行するパターンを追加しています。

[8d1c459783] Max Bernstein 2025-09-20 02:01:49 UTC

GitHub Actions の ZJIT 用 workflows の matrix の変数指定の順序をすこし変更しています。これ実際の挙動に影響あるんだろうか? なんとなく(ビルド&テスト時の実際の実行順序的に) configure のほうが前にあるのが自然に感じるけど。




以上の内容はhttps://ruby-trunk-changes.hatenablog.com/entry/ruby_trunk_changes_20250920より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14