今日は主に標準添付ライブラリ prism と ripper の修正と Enumerator::ArithmeticSequence#first の潜在的な不具合修正などがありました。
[3bfc86558b] Earlopain 2026-01-08 09:53:42 UTC
標準添付ライブラリとしての prism の Prism::LexRipper クラスをファイル分離するリファクタリング。
[fc66de3e6b] Earlopain 2026-01-08 10:12:15 UTC
標準添付ライブラリ prism の require "ripper" している箇所の整理。
[16863f2ec1] Earlopain 2026-01-08 12:47:35 UTC
標準添付ライブラリ prism に拡張ライブラリ ripper から Ripper::Lexer::State と同様のクラスを独自に Prism::LexCompat::State として定義しています。ripper 依存をなくすためかな。
[523857bfcb] Max Bernstein 2026-01-08 19:57:55 UTC
ZJIT の中間表現 HIR の GuardShape という命令をなくして LoadField と GuardBitEquals というより汎用的でプリミティブな命令に分割しています。 https://github.com/ruby/ruby/pull/15821
[c6f9a4d393] Peter Zhu 2026-01-08 00:56:49 UTC
Hash#dup の実装の不要な分岐を削除しています。
[50b719115a] Stan Lo 2026-01-08 23:07:50 UTC
GitHub Actions の ruby-bench の実行で lobsters と ruby-lsp を実行除外していたのをやめています。最近のいずれかの修正によって通るようになったみたいです。 https://github.com/ruby/ruby/pull/15828
[b3216bc1e1] Earlopain 2026-01-08 10:46:29 UTC
拡張ライブラリ ripper の Ripper::Lexer::State#[] で引数が 1の時の戻り値に誤ったインスタンス変数を参照していて常に nil を返していたのを修正しています。
[e89db8567c] Peter Zhu 2026-01-09 00:10:08 UTC
aa7eb97d062e260f0d704b78e93c470ac8444129 で追加した GC の mmtk 実装のマクロ MMTK_ASSERT() を使って rb_gc_impl_writebarrier() でオブジェクト参照が T_NONE でないかのチェックを追加しています。
[b61e18d76b] Nobuyoshi Nakada 2026-01-08 10:40:56 UTC
Windows 環境のビルドプロセスで古い Windows での制限回避のため? win32/configure.bat で一時的に中間的な Makefile を作成して nmake 実行していたのをやめています。
[3185786874] Jörmungandrk 2026-01-09 03:22:01 UTC
Enumerator::ArithmeticSequence#first の実装で整数のオーバーフローを考慮していなかった分岐を修正しています。
[364e25b1c3] Nobuyoshi Nakada 2026-01-02 00:37:59 UTC
tool/lib/core_assertions.rb の assert_separately で組み込みクラスのメソッド再定義された時に誤動作しないように Class#instance_method で UnboundMethod を取り出して UnboundMethod#bind_call を使うことで確実に狙った組み込みメソッドを呼ぶようにしています。また最適化についての長いテストメソッドを細かく分割しています。
[fc0c67deb2] Nobuyoshi Nakada 2026-01-03 03:20:35 UTC
tool/lib/core_assertions.rb の assert_separately で assertion の回数の情報を子プロセスから回収して正しいカウントが取れるように修正しています。
[e01e13c239] Nobuyoshi Nakada 2026-01-02 02:05:07 UTC
test-all のテストで assert_separately を使っているけど子プロセス内で assertion がないものは assert_ruby_status を利用するように変更しています。
[c794a97940] Nobuyoshi Nakada 2026-01-09 05:24:38 UTC
C API テスト用の拡張ライブラリの stack_alloca_overflow() という関数名を stack_overflow() に改名し、テスト用のメソッドの名前も #alloca_overflow から #stack_overflow に改名するリファクタリング。