ruby-trunk-changes 2023-11-18

今日は Lrama の更新や compaction の影響で異常終了する可能性があった不具合の修正などがありました。

[940f2e7f18] Jean Boussier 2023-11-17 12:40:37 UTC

gc.c でオブジェクトの確保時に要求するサイズごとに Variable Width Allocation による slot サイズ別の heap のうちどこに確保すべきかを判定する size_pool_idx_for_size() で上限を越えてた時の rb_bug() のメッセージにデバッグ用に渡されたサイズや計算結果を埋め込むようにしています。

[9ba49c61c2] MSP-Greg 2023-11-16 20:46:27 UTC

GitHub Actions の MinGW 環境向け workflow でテスト実行時の shell を cmd にして chcp.com の呼び出しを削除しています。

[3dd77bc056] Peter Zhu 2023-11-17 19:05:37 UTC

Object Shapes でインスタンス変数の削除時の処理の修正をしています。

[ef72970a04] Dana Sherson 2023-11-17 21:41:30 UTC

File.directory? の rdoc 用コメントの余分なタグを削除しています。

[24fe22a5da] Alan Wu 2023-11-17 22:57:25 UTC

vm_method.c の check_overloaded_cme() という関数で処理中に GC.compact が発生すると異常終了する可能性があった不具合を修正しています。 rb_method_entry_t のメモリ確保時に GC が発生しその時に compaction も発生するとその直前にコピーしていた値が不正なものになる可能性があったのでメモリ確保後のコピーにし、ついでに RB_OBJ_WRITE() を利用して RGenGC 用の Write Barrier も追加しています。

[c56dd94db0] yui-knk 2023-11-18 08:46:38 UTC

同梱している Lrama のバージョンを v0.5.10 に更新しています。