ruby-trunk-changes 2023-08-05

今日は bundler の上書きする require での警告出力の変更や YJIT の最適化などがありました。

[48f0352280] Nobuyoshi Nakada 2023-08-04 04:50:07 UTC

メソッド呼び出し時の引数渡しのための処理 setup_parameters_complex() で最後のキーワード引数のかわりの Hash の処理を修正しています。

[ede3c5ee0f] Hiroshi SHIBATA 2023-08-04 09:08:42 UTC

bundler の再定義した require で警告を出す対象の gem の管理をする lib/bundled_gems.rb で出力する警告でいつから bundled gems になるかによって少しメッセージを変更するようにしています。

[a0b695b4e6] Hiroshi SHIBATA 2023-08-04 09:11:02 UTC

bundler の require の再定義のための lib/bundler/rubygems_integration.rb でも同様に将来 bundled gems 化がいつ行なわれるかによってメッセージを変更するようにしています。

[6b570ff2c0] Hiroshi SHIBATA 2023-08-04 10:23:29 UTC

a0b695b4e6e2c2edc566558c0b9588dd3b85d712 の続きで警告出力時にバックトレースを調節するため uplevel キーワード引数を追加しています。

[4b45b2764b] Peter Zhu 2023-08-03 14:35:44 UTC

GC.compact の後処理で VM スタックとマシンスタック上のオブジェクトで T_MOVED になっているものについて invalidate_moved_page() を呼ぶ処理は不要とのことで削除しています。

[61b76e74af] Peter Zhu 2023-08-03 15:08:22 UTC

c5abe0d08f8f7686422e6eef374cf8c78aefacb6GC.compact のテストの skip 追加を revert しています。

[fc0b2a8df2] Maxime Chevalier-Boisvert 2023-08-04 14:09:43 UTC

よくわからないのですが YJIT の VM 命令 expandarray の最適化? みたいです。 https://github.com/ruby/ruby/pull/8169

[c4066af35e] Stan Lo 2023-08-04 17:13:51 UTC

irb のテストで子プロセス起動時に渡す環境変数の管理方法を変更しています。 https://github.com/ruby/irb/pull/668

[8d7861e3da] Maxime Chevalier-Boisvert 2023-08-04 18:57:56 UTC

YJIT の x86_64 版での機械語生成でビットシフトの命令を利用するようにする最適化? https://github.com/ruby/ruby/pull/8174

[e80752f9bb] Takashi Kokubun 2023-08-04 22:39:01 UTC

WASM/WASI 版の時に jib_exec() の呼び出しを消しています。

[f07ef1d54c] yui-knk 2023-08-04 10:16:38 UTC

Lrama の upstream から v0.5.3 をマージしています。

universal parser の構造体 rb_parser_config_t のメンバー rb_int2big が未使用とのことで削除しています。

[2e94610f70] Nobuyoshi Nakada 2023-08-05 01:47:48 UTC

e80752f9bbc5228dba3066cd95a81e2e496bd9d7 の WASM/WASI 版の変更を revert しています。WASM 版では YJIT や RJIT は常に無効なので jit_exec() は Qundef を返すように定義されるので最適化で消されるとのこと。

[e176f84138] Takashi Kokubun 2023-08-05 03:36:02 UTC

e80752f9bbc5228dba3066cd95a81e2e496bd9d7 のリトライ。 JIT 無効化時の jit_exec() の宣言に RBIMPL_ATTR_MAYBE_UNUSED() を追加しています。

[4e6861d337] Nobuyoshi Nakada 2023-08-05 03:07:26 UTC

lib/bundled_gems.rb で bundler の再定義する require で警告を出す対象の gem を検出する処理で一部のネストしたファイルを require している時に true でなくその対象の gem 名を返すように修正しています。