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


ruby-trunk-changes 2026-02-24

今日は主にオブジェクトの freeze 時の特異クラスの連鎖的な freeze の強化や ZJIT のいくつかの定数畳み込みの最適化や将来的な最適化のために GetLocal をよりプリミティブな命令に分割する変更などがありました。

[107699df9d] John Hawthorn 2026-02-23 17:05:44 UTC

標準添付ライブラリ erb で ERB のインスタンス変数 @src の文字列を freeze しておくようにしています。んでさっそくテストで String#sub! で破壊的変更をしていたところが影響を受けてたので String#sub に変更していますが(そしてこのテストだと破壊的変更していたのが間違いっぽいですが)、アプリケーションでは大丈夫かな。 https://github.com/ruby/erb/pull/105

[ffbe288f53] Tomás Coêlho 2026-02-23 17:12:24 UTC

ZJIT で Integer#^ メソッドで両辺が Fixnum の範囲の時に畳み込みして結果を直接スタックに載せる最適化を実装しています。 https://github.com/ruby/ruby/pull/16225

[6f0244e078] Nozomi Hijikata 2026-02-23 17:14:34 UTC

ZJIT の中間表現 HIR のローカル変数参照のための命令 GetLocal を GetEP と LoadField という2つの命令に分割して最適化しやすくしています。連続してローカル変数を参照する時に EP の取得をまとめることができるようにするためみたいです。 https://github.com/Shopify/ruby/issues/944 https://github.com/ruby/ruby/pull/16215

[20eeb72085] Takashi Kokubun 2026-02-23 17:20:20 UTC

man/ の man ページの更新日付を更新しています。 どうやら dcdec8c28e1540cfa17546d407e10860cb419125 で GitHub Actions で man ページの更新日時をファイルの最終更新日と一致しているかチェックするつもりが最後のコミットの日付でチェックしてしまい毎日更新しないといけなくなってたみたいなので、とりあえずそのエラーを抑制するためみたいです。

[2d8e24c8c4] Randy Stauner 2026-02-23 20:31:13 UTC

ZJIT の中間表現 HIR の配列を操作する命令群での receiver の型チェックが不足していて異常終了する可能性があった不具合を修正しているようです。 https://github.com/ruby/ruby/pull/16141

[070b7d40d3] Tomás Coêlho 2026-02-23 22:03:22 UTC

ZJIT で Integer#& メソッドの両辺が Fixnum の時に結果の定数を畳み込む最適化を実装しています。 https://github.com/ruby/ruby/pull/16226

[f3ee4bd0ab] Nozomi Hijikata 2026-02-23 23:58:04 UTC

ZJIT で定数名のパスを取得する命令の HIR への変換時の冗長な命令を削る最適化? をしているようです。 https://github.com/ruby/ruby/pull/16229

[b479c41dd4] Hiroshi SHIBATA 2026-02-24 00:40:34 UTC

lib/bundled_gems.rb のテスト spec/bundled_gems_spec.rb でテストに利用する gem のパスを $LOAD_PATH に追加しています。

[8e9eb698b6] Jeremy Evans 2024-03-14 00:17:20 UTC

オブジェクトを freeze した時にその特異クラスだけでなくさらにその特異クラスも……と連鎖して freeze するようにしています。なるほどなぁ。 [ruby-core:117027] [Bug #20319]

[997ac19b74] Randy Stauner 2026-02-24 03:06:32 UTC

ZJIT で脱最適化のための PatchPoint 命令が冗長に生成される場合があったのを省略する最適化を実装しています。 https://github.com/ruby/ruby/pull/16231

[fc16000e92] Nobuyoshi Nakada 2026-02-23 09:28:05 UTC

GitHub Actions の make fix-depends で依存関係ファイル更新の差分が出ないかのチェックをする workflow で git diff の出力に色をつけるようにしています。

[70c6251488] "NARUSE, Yui" 2026-02-24 05:27:52 UTC

defs/gmake.mk で git の最新のコミットハッシュを取得する方法を git log の --format を指定する方法から git rev-parse HEAD コマンドを使うように変更しています。

[682f36ab1f] git 2026-02-24 07:08:36 UTC

gems/bundled_gems および NEWS ファイルの bundled gems のバージョンリストの minitest のバージョンを 6.0.2 に更新しています。




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

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