ruby-trunk-changes 2023-03-04

今日はインスタンス変数の管理の不具合修正、irb の補完処理の変更や標準添付ライブラリ reline の不具合修正などがありました。

[b49053a6be] tomoya ishida 2023-03-03 13:41:17 UTC

irb の補完処理で ":" だけの状態でタブを押した時に Symbol を補完しようとしていたのをやめています。最低でも 1文字は書いてないと Symbol の補完をしないようにしています。

[d78ae78fd7] Rômulo Ceccon 2023-03-03 13:38:49 UTC

rb_str_modify_expand() の最後に ENC_CODERANGE_CLEAR() を追加して文字列の coderange 情報をクリアするようにしています。 b0b9f7201acab05c2a3ad92c3043a1f01df3e17f での不具合修正とのこと。 [ruby-core:112630] [Bug #19468]

[8e13e705f9] Kevin Menard 2023-03-03 15:25:25 UTC

irb のテストで TruffleRuby の時に skip するようにしていたのが不要になったとのことで消しています。

[8c8548b175] Takashi Kokubun 2023-03-03 20:48:14 UTC

YJIT の Rust 実装に aarch64 向けの実装のみで使う関数の定義に cfg マクロをつけて必要な時だけコンパイルされるようにしています。 https://github.com/ruby/ruby/pull/7428

[0700d0fd1c] Peter Zhu 2023-02-28 19:39:19 UTC

vm_insnhelper.c のインデントの修正のみ。

[62c2082f1f] Peter Zhu 2023-02-28 19:59:33 UTC

インスタンス変数の管理の不具合で T_OBJECT でないタイプの同じクラスのインスタンスによってインスタンス変数の構成が違う場合に異常終了することがあった不具合を修正しています。 [ruby-core:112634] [Bug #19469]

[4d59d01621] Maxime Chevalier-Boisvert 2023-03-03 23:02:52 UTC

YJIT で ISeq からどのくらい VM スタックを消費するかを予測した結果が 8-bits に納まらない時に JIT コンパイルをあきらめるチェックを追加しています。 7b9aeaffcb5b3850771a1d7b257a71a750d9359a でスタックサイズの変数を小さくしてそのために 27c2572dbdf171ec0b4a107b573feff38399c018 でサイズのチェックをするようにしていた時の考慮漏れのようです。 https://github.com/ruby/ruby/pull/7442

[8d31a60f47] Takashi Kokubun 2023-03-04 01:03:25 UTC

bootstraptest の Ractor のテストで YJIT が有効になっているかどうかの判定に環境変数 RUBY_YJIT_ENABLE か RUN_OPTS をチェックしていたのを RubyVM::YJIT.enabled? メソッドでチェックするように変更しています。

[4782bb352e] Takashi Kokubun 2023-03-04 04:33:26 UTC

直前の 8d31a60f47fb053bcfe0c744a89bd666dae48539 の bootstraptest で YJIT が有効になっているかどうかの判定の変更をとりやめて、かわりに BT.ruby.include?('yjit') というチェックを条件に追加しています。BT っていうのは bootstraptest/runner.rb で定義されてる btest の test runner のクラスみたいですね。

[6f81e38d1d] tomoya ishida 2023-03-04 05:55:54 UTC

標準添付ライブラリ reline の複数行編集中の補完処理でカーソルのある行によって処理を変えるようになってない部分があったのを修正しています。