ruby-trunk-changes 2024-03-31

今日は Object Shapes でのインスタンス変数がみつからない時の最適化やコンパイラ最適化による潜在的 GC mark 漏れの修正などがありました。

[f697d3242f] Nobuyoshi Nakada 2024-03-30 09:34:45 UTC

configure で BASERUBY のバージョンのチェックでのバージョン番号を tool/missing-baseruby.bat から抽出するようにしてバージョンの記述箇所をまとめるようにしているようです。

[376ae22235] Nobuyoshi Nakada 2024-03-30 09:34:45 UTC

f697d3242feeb18dae3b9f5e9addebb11e5442ff の続きで tool/missing-baseruby.bat という複数の言語(bat ファイルや shell)として記述されているスクリプトruby として動作するための記述も追加して win32/Makefile.sub で BASERUBY を探す時にもこの実装を利用して tool/missing-baseruby.bat で探すようにしています。

[9579cf45d5] Aaron Patterson 2024-03-31 00:29:09 UTC

Object Shapes の実装でインスタンス変数の検索で存在しないインスタンス変数だった時に shape_cache_get_iv_index() でヒットしなかった時にキャッシュを利用して不要な探索をスキップするように最適化しているようです。

[174b671699] Ellen Marie Dash 2024-03-31 01:07:31 UTC

rubygems の Gem::Commands::RebuildCommand::DATE_FORMAT という未使用の定数を削除しています。

[9d0a5148ae] KJ Tsanaktsidis 2024-03-30 01:58:01 UTC

Array#sample や RubyVM::InstructionSequence.load や文字列の連結処理などで中間オブジェクトをコンパイラの最適化による GC の mark 漏れから保護するための RB_GC_GUARD() を追加しています。 [ruby-core:117380] [Bug #20402]

[e02a06fbf2] KJ Tsanaktsidis 2024-03-31 09:41:22 UTC

doc/contributing/building_ruby.md に ASAN を有効にしてテストを実行する方法について追記しています。