ruby-trunk-changes 2024-08-09

今日は主にプロセス終了時の finalizer の実行中の異常終了を防ぐための修正や YJIT の GC root の実装方法の変更などがありました。

[868d63f0a3] Peter Zhu 2024-08-06 18:46:19 UTC

プロセス終了時の finalizer の実行時に GC が走って異常終了することがあったとのことで gc/default.c の rb_gc_impl_shutdown_call_finalizer() で incremental GC を無効化するフラグを立てるのを再入時に早期 return する前に実行するようにしています。

[0bff07644b] Peter Zhu 2024-08-08 16:19:35 UTC

YJIT が内部的に利用するオブジェクトを GC から保護するために yjit_root というクラス名の root 用のオブジェクトを定義して使っていたのをやめて gc.c で YJIT 用の root からの mark を追加して公式にサポートするようにしています。 https://github.com/ruby/ruby/pull/11343

[64a7b87e1d] Stan Lo 2024-08-08 20:02:46 UTC

標準添付ライブラリ rdoc で生成した HTML のためのスタイルシートの修正。 https://github.com/ruby/ruby/pull/11345

[6fee51069c] BurdetteLamar 2024-08-07 21:15:56 UTC

Array#== の rdoc 用コメントの体裁の変更。

[d657205c58] BurdetteLamar 2024-08-07 21:49:06 UTC

Array#[] の rdoc 用コメントの体裁の変更。

[b9a9564c1f] BurdetteLamar 2024-08-07 22:36:21 UTC

Array#[] の rdoc 用コメントに空行を追加。

[e008f0553d] BurdetteLamar 2024-08-07 22:21:11 UTC

doc/contributing/documentation_guide.md にサンプルは細かく分割しましょうみたいな記述を追加しています。

[77ffdfe79f] Takashi Kokubun 2024-08-08 23:13:16 UTC

YJIT の --yjit-trace-exits=counter オプション指定時に統計情報のカウンタのインクリメント処理に rb_yjit_record_exit_stack() の呼び出しを追加しています。よくわかってないけど最適化の調査のために特定の理由での side exit のトレースを取りやすくするためみたいです。 https://github.com/ruby/ruby/pull/11347

[f57167d338] Naoto Ono 2024-08-09 02:16:50 UTC

test-all の macOS 版での異常終了時の出力をチェックするためのテストでタイムアウトを伸ばすようにしています。