ruby-trunk-changes 2023-10-18

今日は主に YJIT の統計情報のカウンタの追加や rubygems の gem uninstall の機能拡張などがありました。

[01b5d1d2ff] Takashi Kokubun 2023-10-17 15:27:49 UTC

GitHub Actions の YJIT を有効化した macOS 環境の workflow で cargo test の実行 job を追加して、これにより Cirrius CI の設定は削除しています。 https://github.com/ruby/ruby/pull/8679

[1f7234c015] Alan Wu 2023-04-04 01:24:47 UTC

YJIT の Rust 実装において CRuby の ID のうちビルド時に決定されているものを取り込む処理を初期化時に実施するようにしています。

[d458b4127f] Takashi Kokubun 2023-10-17 15:36:13 UTC

YJIT の統計情報のカウンタに 2つ新規にカウンタを追加してメソッド呼び出しが method entry がみつからなかったり private メソッドを receiver つきで呼んだなどの失敗の回数が取れるようにしています。 https://github.com/ruby/ruby/pull/8681

[8b520bd3fb] Nobuyoshi Nakada 2023-10-17 07:59:41 UTC

ruby 本体のテストで使う testunit の並列テスト用のライブラリで子プロセスを起動する時に指定する job 名? をキワード引数で指定可能にして使いまわすリファクタリング

[776d4dec69] Nobuyoshi Nakada 2023-10-17 11:13:04 UTC

ruby 本体のテスト用の testunit の並列テスト用の実装でエラーになった子プロセスがあった時に並列数を維持するために子プロセスを追加で起動するようにしているようです。

[2abd061e8b] Alan Wu 2023-10-17 16:14:56 UTC

YJIT の Rust 実装で不要な Assember.compile の呼び出しを削除しています。

[36ee5d8ca8] Alan Wu 2023-10-17 21:49:45 UTC

YJIT の Rust 実装に clippy による lint の警告抑制のため引数に mut をつけるようにしているようです。引数と同名の変数を宣言してたのを消しているけど Rust では引数と同名の変数は shadowing されるんだろうか。

[7a3a98e2be] Takashi Kokubun 2023-10-18 00:47:13 UTC

YJIT のテスト用のスクリプトで子プロセスを起動する EnvUtil.invoke_ruby を利用するヘルパーメソッドを追加して起動する ruby コマンドの指定を RbConfig.ruby に固定するようにしています。 https://github.com/ruby/ruby/pull/8689

[6c46ccf226] Takashi Kokubun 2023-10-18 00:57:39 UTC

テスト用のライブラリ envutil.rb の EnvUtil.rubybin メソッドで RbConfig.ruby を利用する優先度を上げています。 https://github.com/ruby/ruby/pull/8691

[f13068afaa] Nobuyoshi Nakada 2023-10-18 01:36:42 UTC

ruby 本体のテストの test/unit でテストメソッド名を表示する時にメソッド名の先頭の ":" を削るようにしています。

[ff4c98f125] Nobuyoshi Nakada 2023-10-18 03:19:52 UTC

ruby 本体のテストの test/unit で実行したテストメソッド数を数える時に filter の指定があった時の考慮を厳密にしているようです。

[be1608592e] "dependabot[bot]" 2023-10-18 02:42:27 UTC

GitHub Actions の workflow で利用しているアクションの actions/checkout のバージョンを更新しています。

[3b690b726d] Hiroshi SHIBATA 2023-10-18 03:21:10 UTC

bundler の再定義する require で警告を出すための gem のリストなどを管理している lib/bundled_gems.rb で警告出力の有無を判定するメソッドでキーワード引数 specs というのを追加してこの引数に含まれている gem では警告抑制するようにしています。 Gemfile に書かれているものを除外するために追加している模様。

[46766e922b] Hiroshi SHIBATA 2023-10-18 03:26:02 UTC

3b690b726df82f399023b26fdb7530fb9009acf5 の続きで lib/bundled_gems.rb の require で警告出力するかどうかの判定で gem 名の判定のために require に渡された feature 名から拡張ライブラリの時の拡張子を削るようにしています。

[ac8ece81f2] Hiroshi SHIBATA 2023-10-18 03:40:41 UTC

require での警告出力する gem を管理する lib/bundled_gems.rb で組み立てる警告メッセージの英文の修正。

[f546fe15d5] Peter Zhu 2023-10-18 09:01:43 UTC

ObjectSpace::WeakMap のテストで WeakMap が空になるはずだけど 1つだけ残っているというのでエラーになることがたまにあるので条件を緩めて 1つだけ残ってるのは許容するようにしています。

[46b8846b5c] Koichi Sasada 2023-10-18 01:28:44 UTC

拡張ライブラリを用いた C API rb_profile_frames() のテストでテスト失敗時のエラーメッセージにバックトレース情報を含めるようにしています。

[8e6a251138] Nobuyoshi Nakada 2023-10-18 09:27:01 UTC

compile.c で ISeq の最適化命令に変換する最適化処理中に一時的に格納するローカル変数の方を VALUE に変更して不要なキャストをなくしています。

[ef3f9f1a68] Kyle Stevens 2023-10-14 11:32:07 UTC

rubygems の gem uninstall で同じ gem の複数のバージョンを同時に指定できるように拡張しています。