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


ruby-trunk-changes 2025-12-02

今日は Windows 環境での make clean の修正などビルドプロセスの変更と ZJIT の最適化などがありました。

[8dc5822b00] Kevin Newton 2025-12-01 14:22:51 UTC

prism の Node の生成コードのマクロ導入によるリファクタリング

[c58970b57a] Stan Lo 2025-12-01 17:14:08 UTC

ZJIT の可変長引数を受け取る C 実装のメソッドを中間表現 HIR の CCallVaridic 対応をする最適化。 https://github.com/ruby/ruby/pull/14898

[e02eda194f] Luke Gruber 2025-12-01 17:55:39 UTC

shape.h の RBASIC_FIELDS_COUNT() という inline 関数で rb_obj_shape_id() を呼んでたのを RBASIC_SHAPE_ID() という inline 関数を使うようにして不要なチェックを省略する最適化をしています。 https://github.com/ruby/ruby/pull/15273

[f92001344d] Aiden Fox Ivey 2025-12-01 18:02:35 UTC

doc/jit/zjit.md の --zjit-dump-hir-iongraph オプションで出力した Iongraph 形式のファイルの可視化方法のコマンドラインを修正しています。 https://github.com/ruby/ruby/pull/15357

[a8b49ab487] Luke Gruber 2025-12-01 21:51:29 UTC

特異クラスのメソッドを remove_method で削除した時の call cache についてのテストケースを追加しています。 https://github.com/ruby/ruby/pull/15360

[4161c78a9d] John Hawthorn 2025-11-28 23:01:37 UTC

GC の default 実装で拡張ライブラリ objspace の ObjectSpace._dump でオブジェクトの情報をダンプする時のメタデータの項目に RGenGC の remembered フラグを追加しています。

[8ce78821cd] Max Bernstein 2025-11-25 03:18:16 UTC

ZJIT で Integer#to_s の型情報の annotation を追加しています。

[fd7d17abde] Max Bernstein 2025-11-25 03:18:43 UTC

ZJIT の中間表現 HIR の ObjToString 命令の実装で型についての Guard にプロファイル情報をより有効に使える GuardType を利用するように改善しています。

[91432a6bad] Max Bernstein 2025-11-25 03:19:15 UTC

ZJIT の中間表現 HIR の AnyToString 命令で対象がもともと String だった時に定数畳み込みする最適化。

[8aed311038] Max Bernstein 2025-11-25 03:24:45 UTC

ZJIT で String#<< メソッドで引数が Fixnum の範囲の整数だった時に C の関数を直接呼ぶ最適化。

[a25196395e] Max Bernstein 2025-11-25 03:44:15 UTC

ZJIT で ">>" の演算子メソッドの再定義による脱最適化のための対応がなかったので追加しています。

[6db83a00a4] Max Bernstein 2025-11-25 03:44:53 UTC

ZJIT で Integer#>> メソッドで引数が特定の範囲内であれば HIR を使って直接処理のコードを生成するインライン最適化と、引数のチェックの強化を行なっています。

[74e9f71720] Max Bernstein 2025-11-25 04:18:13 UTC

ZJIT において String#ascii_only? メソッドを例外の発生しない leaf メソッドとして annotation を追加しています。

[985a4d977f] Max Bernstein 2025-11-25 04:30:05 UTC

ZJIT で String#getbyte を HIR で直接処理コードを生成するインライン化実装を追加しています。

[b9f1976f23] Max Bernstein 2025-11-25 04:37:24 UTC

ZJIT の Rust 実装のテスト追加。

[d0bb505a04] Max Bernstein 2025-12-01 19:57:11 UTC

ZJIT の x86_64 アーキテクチャ向けの lea 命令の実装で対象のオペランドがスタック上に spill されていた時の対応を追加しています。

[2dfb8149d5] Nobuyoshi Nakada 2025-01-11 09:26:09 UTC

make clean で Encoding 変換の transcoder 関係の生成コードを削除するようにしています。

[07ea9a3809] Benoit Daloze 2025-11-25 22:26:02 UTC

ZJIT から複数 Ractor 利用時に脱最適化するための仕組みを整理しています。また T_OBJECT 以外の型のオブジェクトのグローバル変数の参照のインライン最適化を行なっています。この最適化のために複数 Ractor チェックが必要になったということみたいです。

[01fd348847] Nobuyoshi Nakada 2025-01-12 13:42:06 UTC

win32/Makefile.sub で依存関係に @ を使っていたところを $(NULLCMD) を利用するように修正しています。

[9cdee9db9b] Nobuyoshi Nakada 2025-01-10 02:55:09 UTC

win32/rm.bat で削除対象のファイルが既に存在しない時の対応を追加しています。

[bb76e65f56] Nobuyoshi Nakada 2025-01-10 04:21:48 UTC

win32/Makefile.sub で config.status の拡張ライブラリの拡張子を置換するところで .so を決め打ちしていたのを DLEXT 変数を使うようにしています。

[b0b8eb6a31] Nobuyoshi Nakada 2025-01-10 12:17:02 UTC

win32/rm.bat で del コマンドのまえに rd コマンドを使うようにしています。 symbolic link の対応のためみたいです。

[00d05dfca5] Nobuyoshi Nakada 2025-01-10 12:19:36 UTC

win32/Makefile.sub で子プロセスとして sub make を呼び出す時のメッセージを正しくするために子プロセスに渡す変数から .sub という接尾辞を削除しています。

[a6c5d290ab] Nobuyoshi Nakada 2025-01-10 16:06:34 UTC

win32/Makefile.sub で prism の生成コード類や依存関係管理のための timestamp ファイルなどの削除処理を追加しています。

[fa51388641] Nobuyoshi Nakada 2025-01-10 16:14:23 UTC

win32/rmdirs.bat に親ディレクトリも同時に作成する -p オプションの対応を追加しています。

[ec80e92a47] Nobuyoshi Nakada 2025-01-11 02:53:03 UTC

win32/Makefile.sub で sub-make 実行時の余計な出力の抑制など表示を整形しています。

[c4fb79caa7] Nobuyoshi Nakada 2025-01-11 09:25:24 UTC

win32/Makefile.sub の make distclean の依存関係を追加して生成コードの削除などがされるようにしているようです。

[b2b674562d] Nobuyoshi Nakada 2025-01-11 09:26:52 UTC

win32/rm.bat で引数に "*" のワイルドカードを書く記法に対応するように機能拡張しています。

[0e222991bf] Nobuyoshi Nakada 2025-01-11 09:28:53 UTC

win32/Makefile.sub の make clean で拡張子 .dll のファイルを削除対象に追加しています。

[b17f6a2aae] Nobuyoshi Nakada 2025-01-11 14:11:08 UTC

win32/Makefile.sub の make distclean の削除対象に miniprelude.c を追加しています。

[a996170158] Nobuyoshi Nakada 2025-01-12 08:24:06 UTC

win32/Makefile.sub の bundled gems 用のディレクトリの削除を別のターゲットに分離しています。

[0be626e755] Nobuyoshi Nakada 2025-11-29 08:13:21 UTC

common.mk で make clean の削除対象に .ext/timestamp/ ディレクトリを追加しています。

[b563be302f] Nobuyoshi Nakada 2025-11-29 08:13:56 UTC

win32/Makefile.sub の make distclean、make realclean などで空のディレクトリの削除の対応を追加しています。

[e2d176556e] Nobuyoshi Nakada 2025-12-01 23:12:45 UTC

GitHub Actions の Windows 版の workflow でビルド後に nmake distclean を実行するようにしています。従来も distclean を実行する step はありましたが make コマンドを呼んでたので nmake を明示的に使うよう指定できるように専用 action も拡張しています。

[7df97983be] Hiroshi SHIBATA 2025-12-02 02:39:29 UTC

bundler で無引数の bundle コマンド実行時の警告メッセージの英文を修正しています。

[0e22108d60] Sam Westerman 2025-12-02 07:00:22 UTC

標準添付ライブラリ optparse で Module#const_set で定数定義していたのを普通の定数代入を使うようにしています。

[456ba321a8] Jeremy Evans 2025-12-01 03:16:52 UTC

bundler の bundle install サブコマンドで BUNDLE_LOCKFILE 環境変数の影響の優先順位を上げて Gemfile の記述を上書きできるようにしているようです。やっぱりそうですよね。

[e515fa7ab1] Benoit Daloze 2025-11-26 12:28:44 UTC

doc/jit/zjit.md で ZJIT のビルド方法の説明や型情報の可視化についての記述を追記しています。また Graphviz で可視化するために ZJIT の型システムの情報をダンプするツールで結果を標準出力でなく指定したファイルに出力する機能を追加しています。




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

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