ruby-trunk-changes 2023-08-11

今日は主に YJIT の機能強化や拡張ライブラリ zlib の不具合修正、make のテストのターゲットの依存関係の整理などがありました。

[5397fc315a] Nobuyoshi Nakada 2023-08-10 12:04:27 UTC

common.mk の make check の依存関係に test-syntax-suggest を経由して $(PREPARE_SYNTAX_SUGGEST) が重複していたので削除しています。

[92cf14b4c5] Takashi Kokubun 2023-08-10 15:59:52 UTC

YJIT の VM 命令 invokesuper でのメソッド呼び出し時の rb_callinfo::flags のフラグに VM_CALL_ARGS_BLOCKARG が立ってた時の JIT コンパイル対応を追加しています。 https://github.com/ruby/ruby/pull/8198

[cc0fca2729] Nobuyoshi Nakada 2023-08-10 15:29:32 UTC

コマンドライン引数 --backtrace-limit の値の範囲チェックをする BACKTRACE_LENGTH_LIMIT_VALID_P() というマクロを定義してこれを利用するようにして範囲チェック間違ってたところを修正しています。また RUBYOPT 環境変数での指定をコマンドラインでの指定で上書きできるようにしています。

[3ad306b4f0] Takashi Kokubun 2023-08-10 18:13:21 UTC

YJIT で VM 命令 invokesuper や invokeblock で起動する method entry の候補が複数あってもすぐにあきらめずに chain して対応するようにしています。 https://github.com/ruby/ruby/pull/8197

[b5b34c1f84] Maxime Chevalier-Boisvert 2023-08-10 18:47:03 UTC

YJIT の中間表現に mul 命令を追加しているようです。 https://github.com/ruby/ruby/pull/8195

[d2864ca330] Sorah Fukumori 2023-08-10 20:12:06 UTC

拡張ライブラリ zlib でのバッファの処理で Encoding に影響を受ける(文字単位での操作をする) rb_str_substr() を使っていたため読み込んだ文字列の Encoding によって処理がエラーになる場合があった不具合を修正しています。

[f25e7eac04] Takashi Kokubun 2023-08-11 00:41:58 UTC

GitHub Actions の YJIT のテストを実施する workflow で make に変数 YJIT_BINDGEN_DIFF_OPTS の指定を渡すようにしています。

[d7c0fec40b] Takashi Kokubun 2023-08-11 00:44:00 UTC

yjit/src/cruby_bindings.inc.rs の関数 rb_yjit_set_exception_return() のシグネチャを修正しています。

[b7453b91dc] Nobuyoshi Nakada 2023-08-10 16:19:32 UTC

template/Makefile.in で ruby や miniruby のビルド時の $(CC) の引数に $(LIBS) を渡していたのを削除しています。 $(MAINLIBS) に含まれているので冗長とのこと。 [ruby-core:114345] [Bug #19831]

Universal Parser の構造体 rb_parser_config_t のメンバー rb_fix2int と rb_rational_raw というのを削除しています。

[8fbb79f49e] Nobuyoshi Nakada 2023-08-11 05:47:20 UTC

5397fc315a1c203cf9978d100db08680dcc0bb57 の再修正で common.mk の make check の依存関係に $(PREPARE_SYNTAX_SUGGEST) を再度追加して(ただし $(TEST_RUNNABLE)- の展開による yes-/no- は削っている)、defs/gmake.mk でテスト系のターゲットの実行順序を整理するところで prefix に no- がついているターゲットは削除するように? しています。

[907560f5dc] Nobuyoshi Nakada 2023-08-11 06:23:48 UTC

5397fc315a1c203cf9978d100db08680dcc0bb578fbb79f49ec94d48b5ef29bf53b12cbcd24c4bb6 のさらに続き? で make test-bundler-parallel の実行時のみ準備を行うようにしているようです。

[475241ee91] Nobuyoshi Nakada 2023-08-11 07:22:18 UTC

make test-syntax-suggest や make leaked-globals で GitHub Actions で表示を折り畳むためにコマンドに $(ACTIONS_GROUP) と $(ACTIONS_ENDGROUP) を追加しています。