ruby-trunk-changes 2023-02-01

今日は主に YJIT の JIT 対象のメソッド呼び出しの拡張や block_given? の最適化、インスタンス変数の GC.compact による移動の対応などがありました。

[d92289f633] Burdette Lamar 2023-01-31 14:18:43 UTC

標準添付ライブラリ net/http の rdoc 用コメントの手直し。

[de724487f0] Kunshan Wang 2022-10-27 09:47:47 UTC

struct RBasic::flags に FL_EXIVAR フラグが立っている時のインスタンス変数の管理テーブルが GC.compact による移動ができない参照になっていたのを移動可能なように対応しているみたいです。

[2181a66374] Takashi Kokubun 2023-01-31 14:48:24 UTC

GitHub Actions の Ubuntu 環境の workflow で VM_CHECK_MODE マクロを定義してビルドする指定を追加しています。 https://github.com/ruby/ruby/pull/7204

[2a0bf269c9] Takashi Kokubun 2023-01-31 15:11:10 UTC

YJIT で Kernel#block_given? メソッドの呼び出しをメソッド呼び出しせず VM スタックを直接チェックする実装を生成するようにしています。 https://github.com/ruby/ruby/pull/7202

[c221a40201] Maxime Chevalier-Boisvert 2023-01-31 15:33:08 UTC

doc/yjit/yjit.md のサポートするプラットフォームに BSD を追記しています。

[74e52c2a17] Takashi Kokubun 2023-01-31 17:15:01 UTC

GitHub Actions で pull request の reviewer を自動的に設定するための workflow .github/auto_request_review.yml で last_files_match_only というオプションを設定していたのがうまく機能しないとのことでコメントアウトしています。

[4ce642620f] Maxime Chevalier-Boisvert 2023-01-31 17:18:41 UTC

YJIT を有効化する環境変数 RUBY_YJIT_ENABLE がただ設定されていれば(空文字列でも)有効になってたのをちゃんと中身をチェックして 1/true/yes などの時にだけ有効にするようにしています。 https://github.com/ruby/ruby/pull/7208

[eac5ae22e2] Alan Wu 2023-01-31 17:28:09 UTC

YJIT の Rust 実装でパターンマッチの記述順の変更。

[2866f951c5] Peter Zhu 2023-01-31 18:29:18 UTC

rb_hash_ar_table() という関数は未使用になってたので削除しています。

[2296b877d8] Peter Zhu 2023-01-31 18:30:50 UTC

同じく rb_hash_st_table() も削除して RHASH_ST_TABLE() におきかえています。

[9f9dca0c52] Peter Zhu 2023-01-31 18:33:51 UTC

同じく rb_hash_ar_table_p() も未使用のため削除しています。

[97740a525e] Maxime Chevalier-Boisvert 2023-01-31 20:53:40 UTC

doc/yjit/yjit.md のオプションの説明などの現在の実装に追随させています。

[3ebc80314c] BurdetteLamar 2023-01-31 17:05:56 UTC

標準添付ライブラリ net/http の rdoc 用コメントの手直し。

[1148fab7ae] Jimmy Miller 2023-01-31 21:18:56 UTC

b32e1169c948f0e4cd63f2c75929516106942594 などで YJIT で省略可能引数のあるメソッドを splat 引数渡しで呼び出した時の JIT サポート追加したものの続き。配列で渡した引数で省略可能引数が全て渡されないケースもサポートするようにしているようです。 https://github.com/ruby/ruby/pull/7209

[5694515460] Takashi Kokubun 2023-01-31 23:02:44 UTC

make help の make test-bundled-gems の説明に環境変数 BUNDLED_GEMS の指定について追記しています。

[41e84c7b09] "dependabot[bot]" 2023-02-01 02:02:33 UTC

GitHub Actions の workflow で使っている actions/checkout のバージョンを更新しています。

[ea572708d6] "dependabot[bot]" 2023-02-01 02:02:35 UTC

GitHub Actions の workflow で使っている actions/upload-artifact のバージョンを更新しています。

[eb8f284cf2] "dependabot[bot]" 2023-02-01 02:02:42 UTC

GitHub Actions の workflow で使っている actions/codeql-action のバージョンを更新しています。

[7b343d9c67] Nobuyoshi Nakada 2023-01-31 15:23:53 UTC

parse.y の 1行メソッド定義の文法ルールから endless_arg と endless_command というノード(って言うんだっけ?)を切り出しています。リファクタリング?

[4f4038e634] "dependabot[bot]" 2023-02-01 04:57:00 UTC

GitHub Actions の workflow で使っている actions/cache のバージョンを更新しています。

[941783461f] "dependabot[bot]" 2023-02-01 04:56:58 UTC

GitHub Actions の workflow で使っている actions/setup-ruby のバージョンを更新しています。

[ee3176a27a] Nobuyoshi Nakada 2023-01-29 14:31:03 UTC

VS2022 コンパイラでは __ASUME() マクロに不具合があるみたいで VS2022_FP_BUG というマクロを定義して分岐していたのを、不具合がある時はエラーにしてビルド失敗させるようにしています。