今日は prism の不具合修正や ASAN 対応の修正などがありました。
[e8d393c8ae] Matt Valentine-House 2024-12-20 09:52:11 UTC
prism の更新。 [ruby-core:120342] [Bug #20973]
[85f3ed8cdb] Peter Zhu 2024-12-17 18:34:57 UTC
vm_eval.c の prism 版の eval 系メソッドでの文字列から ISeq へのコンパイル関数 pm_eval_make_iseq() でローカル変数名の文字列の長さを再度 strlen(3) を呼んでたのを変数に格納済みのものを再利用するようにしています。
[e23a60b929] Peter Zhu 2024-12-17 19:14:36 UTC
prism 利用時にローカル変数の参照を含むスクリプトを eval でコンパイルした ISeq で GC compact の影響で異常終了することがあった不具合を修正しています。
[83a34fb060] Earlopain 2024-12-18 17:01:10 UTC
.rdoc_options の exclude に .gemspec を追加して任意の .gemspec ファイルをドキュメント化の対象から除外するようにしています。
[5d1fde06d4] Stan Lo 2024-12-20 18:57:02 UTC
標準添付ライブラリの一覧を含むドキュメント doc/standard_library.rdoc を doc/standard_library.md として Markdown で書きなおしています。 https://github.com/ruby/ruby/pull/12404
[07724d7b6f] Matt Valentine-House 2024-12-20 16:30:23 UTC
GC.config の rdoc 用コメントに GC の外部実装の名前を返す :implementation キーについて追記しています。
[97f5546676] Peter Zhu 2024-12-20 19:09:19 UTC
ASAN 有効化時に __sanitizer_set_death_callback() で設定する関数 asan_death_callback() (名前からして ASAN がプロセスを異常終了させたい時に呼ばれるコールバック関数?)で rb_bug_without_die() でバックトレースを表示させる時に GET_VM() で rb_vm_t が初期化済みであることを確認するようにしています。初期化前のエラーを想定したものかと思いましたがコミットログをみると逆に終了時の LSAN によるダンプ出力中で既に rb_vm_t が破棄されている場合に意図しない異常終了になったというものみたいです。 https://github.com/ruby/ruby/pull/12309#issuecomment-2555766525
[391b6746cd] Kevin Newton 2024-12-20 20:47:10 UTC
prism 利用時に magic comment の shareable_constant_value: experimental_everything の指定があると Hash の keyword splat の記法が NotImplementedError になるという不具合を修正しています。 [ruby-core:120033] [Bug #20916]
[36966456c7] Peter Zhu 2024-12-20 19:33:16 UTC
load.c の search_required() で文字列の VALUE を持つ変数 lookup_name のバッファを取り出した後で GC による回収がされてしまう恐れがあったので RB_GC_GUARD() による保護を追加しています。
[018b775039] John Hawthorn 2024-12-20 00:13:18 UTC
Fiber 用の VM stack と machine stack をまとめて管理する Fiber pool の解放処理時に linked list の先頭要素だけ解放してメモリリークしていたのを修正しています。プロセス終了時の処理なので通常問題はならないけど RUBY_FREE_AT_EXIT で終了時の全メモリ解放と LSAN を使って検出したみたいです。
[861ee7a321] Takashi Kokubun 2024-12-21 01:33:08 UTC
NEWS の暗黙のブロックパラメーター it についての記述を言語の変更セクションの先頭に移動しています。
[6114094aa0] Takashi Kokubun 2024-12-21 01:45:51 UTC
NEWS の YJIT の変更についてのセクションをパフォーマンス改善から独立させています。