今日は再度 Variable Width Allocation がデフォルトで無効になる変更や YJIT の C API 呼び出し時の処理の最適化などがありました。
[b5c039125f] John Hawthorn 2022-01-05 08:47:10 UTC
YJIT の生成コードから C API の関数呼び出し時の VM のスタックポインタの退避を関数の引数処理の後に移動しています。うーんおそらくマシンスタックの話と VM のスタックの話が入りまじっててちょっとむずかしいですね。たぶんですが VM のほうのスタックポインタを一時的にレジスタに退避するのが引数の数が固定の時には不要なのでそれを省略できるようにしたということみたいです。
[18b97eee5a] John Hawthorn 2022-01-05 09:07:52 UTC
YJIT の生成コードから C API の関数呼び出しをする gen_send_cfunc() で Ruby の Array オブジェクトを引数リストとして渡す呼びかたをサポートするように機能を追加しています。
[a5fffb314b] git 2022-01-08 19:41:10 UTC
version.h の日付更新
[33cc8816be] Peter Zhu 2022-01-08 20:07:57 UTC
昨日 c365c5921ea26e31c03a85b01ff4c04629abfc10 で再度デフォルトで有効にした Variable Width Allocation ですが、また revert されています。 CI で問題が発覚したのかな。
[8648457541] Samuel Williams 2022-01-08 23:06:20 UTC
doc/hacking.md の rubyspec の実行のところに make test-all test-rubyspec となぜか test-all も書かれてたので削っています。
[cc01ae591b] Nobuyoshi Nakada 2022-01-09 03:34:11 UTC
8648457541ec016b1d9d305d9d3ea29fb93ca336 の続きで doc/hacking.md の make test-rubyspec を make test-spec と修正しています。
[a7faca51ac] Kazuhiro NISHIYAMA 2022-01-09 03:39:34 UTC
コマンドラインオプションで YJIT のコード生成を制御する --yjit-call-threshold と --yjit-max-versions のヘルプメッセージにオプションを受け取ることがわかるように "=num" のように末尾に追加しています。
[83983bacbc] Nobuyoshi Nakada 2022-01-09 03:39:26 UTC
doc/hacking.md に全テストを実施する make check の紹介を追加しています。
[b43ad6b802] Nobuyoshi Nakada 2022-01-09 03:41:30 UTC
doc/hacking.md の 1行に長く文が書かれてるところを適当に改行を追加しています。
[65a8d52212] Nobuyoshi Nakada 2022-01-09 10:17:48 UTC
9ad34da47ff7d71446e667897559047ed5635b60 で doc/extension.rdoc と doc/extension.ja.rdoc に RBOOL() マクロについて追記したのを revert しています。 RBOOL() は公開ヘッダで定義されていないため。そういえばそうですね。 [ruby-core:79066] [Feature #13125]