今日は rubygems/bundler のバージョン更新や Ruby::Box の不具合修正 BasicObject からの super で異常終了する不具合の修正などがありました。
[a36ebb18a6] Jean Boussier 2025-11-17 19:01:12 UTC
BasicObject に定義したメソッドから super を呼ぶと当然親クラスはないので NoMethodError になるはずですが vm_cc_new() で NULL チェックが不足していたため異常終了していた不具合を修正しています。 [ruby-core:123835] [Bug #21694]
[0eb53053f0] Max Bernstein 2025-11-25 18:50:55 UTC
ZJIT の VM 命令 setinstancevariable で Object Shapes による最適化が効く簡単なケースで直接コード生成するインライン最適化を行うようにしています。 https://github.com/ruby/ruby/pull/15290
[4263f1d718] John Hawthorn 2025-11-25 05:07:08 UTC
ff1d23eccba3ab37e77bf2d2222cad9d6f99a0ab で導入した Fiber を特定するための通し番号 fiber_serial を Ractor 毎にローカルに採番するようにして atomic 操作を不要にしています。なるほど Fiber は Ractor をまたがらないですからね。
[8bf333a199] Peter Zhu 2025-11-25 03:32:07 UTC
GC の default 実装で複数 Ractor 利用時の Kernel#fork 前後のフックで Ractor の同期をとるための barrier の呼び出し前に専用の lock を取って不正な GC の状態が発生しないようにしています。
[0654bcd4f8] Satoshi Tagomori 2025-11-25 15:21:40 UTC
Ruby::Box の不具合で Ruby::Box 自体への参照がなくなった後にその Box 内の Binding などが残っていても GC で回収されてしまって Box 内の変更がなくなってしまうという不具合についてのテストを先に追加しています。
[e84b91a292] Satoshi Tagomori 2025-11-25 15:36:55 UTC
0654bcd4f809e97bca4a099fa78db9990fa5a4ae で先にテストを追加した Ruby::Box がまだ参照されているのに GC で回収されてしまう不具合の修正として rb_execution_context_t や imemo_env 型の T_IMEMO オブジェクトからの mark 処理を追加しています。
[1e6079dcaf] Stan Lo 2025-11-26 01:22:39 UTC
gems/bundled_gems の rdoc のバージョンを 6.16.0 に更新しています。また .rdoc_options に theme の指定や footer の項目を追加しています。 https://github.com/ruby/ruby/pull/15319
[6354afa64a] git 2025-11-26 01:23:33 UTC
gems/bundled_gems の test-unit のバージョンを 3.7.3 に更新しています。また NEWS の bundled gems のバージョンリストの rdoc と test-unit のバージョンを更新しています。
[26a9e0b4e3] Nobuyoshi Nakada 2025-11-26 01:47:17 UTC
最近のいくつかのコミットをまとめて revert しているみたいですが、なにかのミスかな? どれかの変更の巻き込みという感じでもないですが。
[0b0c2cc4cb] git 2025-11-26 02:08:43 UTC
あらためて gems/bundled_gems と NEWS の bundled gems バージョンリストの rdoc と test-unit のバージョン更新。
[724e94a09c] Alan Wu 2025-11-25 18:10:31 UTC
GitHub Actions の ZJIT 用の workflow で make btest 時に --zjit-call-threshold=2 をつけて JIT コンパイルが行なわれやすいようにして実行しています。
[2f53985da9] Nobuyoshi Nakada 2025-11-26 02:34:33 UTC
26a9e0b4e31f7b5a9cbd755e0a15823a8fa51bae はやっぱり一部の変更に巻き込まれて revert してしまっていたみたいなので再適用しています。残っているところをみると configure での atomic 関数の検出に libatomic を使わないようにした変更 2957ba7079c58eb18eb3d7b6b5392fa4aa88a845 の続きが本命だったようです。
[30fe3654ca] Nobuyoshi Nakada 2025-11-26 02:48:36 UTC
.git-blame-ignore-revs にミスで revert してしまったのとそれを戻した 2つのコミットを無視する対象に追記しています。
[72eb929ec1] Nobuyoshi Nakada 2025-11-26 02:50:24 UTC
.rdoc_options の自動で cross reference 化するのを抑制する名前に Box を追加しています。
[43ed35de6c] Nobuyoshi Nakada 2025-11-26 06:33:56 UTC
標準添付ライブラリ cgi のテストで拡張ライブラリ版の escapeHTML が実装されていない時に pure ruby 版のテストをするためのメソッドの書き換え処理をスキップするようにしています。
[525ee3ab26] Nobuyoshi Nakada 2025-11-26 06:45:52 UTC
標準添付ライブラリ cgi の拡張ライブラリ版の cgi/escape の実装で C90 では不正なブロックの途中での変数宣言をしないようにブロック先頭に移動しています。
[ecdeb90fe9] Hiroshi SHIBATA 2025-11-26 04:39:21 UTC
rubygems および bundler のバージョンを 4.0.0.beta2 に更新しています。
[61f3456803] git 2025-11-26 07:03:09 UTC
NEWS の default gems のバージョンリストの RubyGems と bundler のバージョンを 4.0.0.beta2 に更新しています。
[c85eb2d0d0] Nobuyoshi Nakada 2025-11-26 09:40:10 UTC
標準添付ライブラリ timeout のテストで assert_separately で起動する子プロセスの ruby に -W0 オプションを渡していたのが test-unit の更新で不要になったとのことで revert しています。
[6ace0251ef] Sam Westerman 2025-11-26 01:50:49 UTC
標準添付ライブラリ optparse で private メソッドをメソッド定義のあとで Symbol を渡して定義していたのをメソッド定義の def 文が定義したメソッド名の Symbol を返すのを利用して private def ... という記法を使うようにしています。
[38022961ae] Sam Westerman 2025-11-26 02:26:06 UTC
6ace0251ef47e669994adf268cbf4362c292bab0 の続きで、標準添付ライブラリ optparse で無引数の private がなくなったため不要になった public も削除しています。