ruby-trunk-changes 2022-08-30

今日は主に YJIT の arm64 アーキテクチャ対応の大量の変更と mspec/rubyspec の更新がありました。

[4bc782ed87] Yusuke Endoh 2022-08-29 11:23:51 UTC

7bdb999d0f28c7bb9d7a35ca775e405674527e5frubygems のヘルパーメソッドの FileUtils.rm_rf の例外発生時の調査用コードを入れていたのを revert しています。 MJIT が起動した gcc が一時ディレクトリにファイルを置いているらしいことを確認できたとのこと。

[a319d3cfdc] Benoit Daloze 2022-08-29 13:32:48 UTC

GitHub Actions の make test-spec 実行時の workflow にて環境変数 CHECK_LEAKS を指定してリソースのリークチェックを有効にしています。

[4ee1a68776] Benoit Daloze 2022-08-29 13:36:29 UTC

rubyspec に upstream から最新版をマージ。

[18dc379aca] git 2022-08-29 15:45:14 UTC

version.h の日付更新

[b5358a98e6] Benoit Daloze 2022-08-29 16:18:20 UTC

spec/mspec に upstream から最新版をマージ。 Thread の leak check 用のメソッドで無視するようマークした Thread の対応を追加しているみたいですね。

[1315c5aad9] Benoit Daloze 2022-08-29 16:18:23 UTC

spec/ruby に upstream から最新版の rubyspec をマージ。

[737402e938] Takashi Kokubun 2022-08-29 16:55:53 UTC

GitHub Actions の annocheck を使ったテストで rubyspec の一部のテストがこけるとのことでスキップするようにしています。

[ddca3482ef] Takashi Kokubun 2022-08-30 01:05:06 UTC

YJIT の Rust 実装でオペランドのオブジェクトの型チェックで Symbol の flags チェック内容を修正しています。 https://github.com/ruby/ruby/pull/6301

[d6acaa4d42] Nobuyoshi Nakada 2022-08-30 02:21:20 UTC

debug.c の関数 ruby_debug_log() の定義前にマクロの ruby_debug_log を #undef しておくようにしています。 27173e3735ff509dc8d9cc9b410baff84adf57dc で関数マクロ定義を導入した時から問題があったようです。

[b98653f766] David Rodríguez 2022-08-30 08:05:18 UTC

rubygems のテスト用ヘルパーの setup で環境変数 TMPDIR にも Dir.mktmpdir で作成した専用の一時ディレクトリを指定していたのをやめています。 MJIT が起動した gcc がこの環境変数の指定の影響でテスト用の一時ディレクトリにファイルを生成してしまうのが一部環境で削除できなくてエラーを引き起こしていたのでそれを避けるためとのことです。 13d2225c460cfc3daa679acb89433289527a844f とか 458d49a04ab7ce8a61be11fbaf341ee252b8253a とか 95d2d7920c97d0502ebed4ba439177325ad05e57 のあたりの一連の変更の集大成という感じですね。