ruby-trunk-changes 2023-08-10

今日は YJIT の x86_64/aarch64 アーキテクチャそれぞれで対応する命令の追加や統計情報のカウンタの追加、parser のメモリリークの修正などがありました。

[5eef3ce21f] Alan Wu 2023-08-09 13:47:42 UTC

YJIT の --yjit-stats で表示する統計情報のカウンタ send_iseq_has_rest_and_send を send_iseq_has_rest_and_splat に改名しています。 https://github.com/ruby/ruby/pull/8186

[6acfc50bcc] Takashi Kokubun 2023-08-09 13:54:24 UTC

YJIT の統計情報のカウンタに定数のキャッシュ解決に関する項目を追加しています。 https://github.com/ruby/ruby/pull/8187

[ab0f90f1f5] Stan Lo 2023-08-09 14:57:47 UTC

irb で組み込みコマンド irb で sub-irb を起動した時にヒストリ保存の処理が重複するのを防ぐように修正しています。 https://github.com/ruby/irb/pull/652

[a41c617e41] Kevin Newton 2023-08-09 16:21:53 UTC

YJIT で mul 命令の aarch64 アーキテクチャ向けの実装を追加しています。 https://github.com/ruby/ruby/pull/8193

[d3efce69ea] Takashi Kokubun 2023-08-09 17:16:15 UTC

YJIT の統計情報のカウンタに throw/break/retry/return などの制御文のカウンタを追加しています。 https://github.com/ruby/ruby/pull/8188

[5bc8fceca8] Peter Zhu 2023-08-09 15:03:13 UTC

parser に不完全な構文を読ませるとローカル変数を管理しているテーブルがメモリリークしている不具合の修正。拡張ライブラリ ripper を使って parse している時にも影響があるようです。 [ruby-core:114377] [Bug #19835]

[0b8f15575a] Peter Zhu 2023-08-09 16:18:28 UTC

5bc8fceca8d47ed1ef9c603c6531a408de36b60c の再修正。構造体 struct vtable のリストを辿って解放するようにしています。 [ruby-core:114379] [Bug #19836]

[493acaf4d4] Takashi Kokubun 2023-08-09 19:34:30 UTC

YJIT の side-exit の理由のカウンタを細分化しています。 https://github.com/ruby/ruby/pull/8194

[1ccd0eae11] Takashi Kokubun 2023-08-09 21:46:42 UTC

YJIT で respond_to? でメソッド名が呼ぶ度に異なる時に side-exit していたのを jit_chain_guard() を呼んで複数の候補を受付けるようにしています。 https://github.com/ruby/ruby/pull/8196

[984109b836] Stan Lo 2023-08-09 22:28:51 UTC

ab0f90f1f5583a64a125701e3b08f6620f029eb6 で追加した irb のテストを ruby 本体でのテスト時には skip するようにしています。 https://github.com/ruby/irb/pull/675

[d2343368ab] Mike Dalessio 2023-06-07 14:05:04 UTC

Kernel#open のパスの先頭に "|" を渡して popen 相当の挙動をする処理を deprecated にして警告を出力しています。 4.0 からは削除する予定みたいです。 [ruby-core:113407] [Feature #19630]

[bde55d09ed] Nobuyoshi Nakada 2023-08-10 08:35:50 UTC

common.mk の make test-syntax-suggest ターゲットの依存関係の $(PREPARE_SYNTAX_SUGGEST) の前に "yes-" という prefix をつけてたのをやめて変数の宣言自体のほうに $(TEST_RUNNABLE)- の prefix を入れておくようにしています。 make 実行時に PREPARE_SYNTAX_SUGGEST 変数を指定することで prepare の実行を抑制できるようにするため?

[4ba348ec3e] Nobuyoshi Nakada 2023-08-10 08:37:19 UTC

bde55d09ede9095fb05dd001474f7ce99277e3ff の続きで common.mk の make test-syntax-suggest の実行時に rspec のオプションに --require rspec/expectations を追加するようにしています。最近の変更で明示的に指定しないとうまくロードされなくなってしまっていたみたいなので応急処置的な対応みたいです。