今日は主に Struct のインスタンスが freeze されていた時の YJIT が生成するコードの対応や拡張ライブラリ objspace の ObjectSpace.count_nodes メソッドの削除などがありました。
[7379b9ed78] Peter Zhu 2025-12-24 14:17:21 UTC
T_STRUCT と T_DATA 型オブジェクトのインスタンス変数の管理方法では fields_obj が作成されないので GC の mark 処理時の rb_mark_generic_ivar() の呼び出しをスキップする最適化を実装しています。
[51ab7b0405] Jean Boussier 2026-01-09 08:21:45 UTC
YJIT で Struct のインスタンスの属性への代入時の freeze チェックを追加しています。
[e08f316f28] Max Bernstein 2026-01-09 19:25:48 UTC
51ab7b0405e39d6defe0b236e23f43b42aa6c1da の続きで YJIT 利用時に Struct のインスタンスが freeze されている時に属性に代入しようとした時に side_exit するようなコードを生成するように YJIT を対応させています。 https://github.com/ruby/ruby/pull/15835
[3d242a82a3] Burdette Lamar 2026-01-09 22:36:26 UTC
Comparable, Hash, Integer, Float, Module などの #> メソッドの rdoc 用コメントの記述をまとめて手直しています。
[77cad87dc1] BurdetteLamar 2026-01-09 21:06:57 UTC
Enumerator クラスの rdoc 用コメントの全体的な構成を変更しています。特に #next を使った外部イテレーションが Fiber を利用することによる制約などを追記しています。なのですが Thread をまたがって #next を呼べないことなどは書かれてなさそう?
[ef488bff98] BurdetteLamar 2026-01-09 22:47:13 UTC
Enumerator.new の rdoc 用コメントも手直しされています。
[e8c61f5139] Peter Zhu 2025-12-29 15:19:19 UTC
拡張ライブラリ objspace の ObjectSpace.count_nodes というメソッドを削除しています。AST の Node が T_IMEMO 型オブジェクトに統合された時から空の Hash を返すだけの実装になっていたのでもう使ってないだろうということで、警告は出してないですが削っています。
[c3f6fcc4c5] Peter Zhu 2026-01-09 00:17:09 UTC
tool/rbs_skip_tests に bundled gems の rbs のテストで e8c61f513928c411859df1d4fe0c201157d4f129 で削除した ObjectSpace.count_nodes のテストをスキップするようにしています。
[0b69f7fa34] Jun Aruga 2026-01-09 16:51:04 UTC
拡張ライブラリ openssl の OpenSSL::Cipher のテストが FIPS モードでうまく動かない場合があったので鍵長を伸ばしたり適宜 skip したりという対応をしています。