今日は主に prism の SyntaxError になるべきものがなってなかった不具合の修正や ZJIT の最適化などがありました。
[0e604623d8] Nobuyoshi Nakada 2025-11-14 01:51:20 UTC
prism でメソッドの存在チェックに instance_methods + include? を使ってたのを method_defined? を利用する最適化。
[bec69617a0] Earlopain 2025-11-03 11:24:38 UTC
prism がデフォルト値つきのブロックパラメーターのデフォルト値の部分に 1行メソッド定義を書くような記法を許容してしまっていたのを SyntaxError になるように修正しています。 [ruby-core:123632] [Bug #21661]
[286e326299] Randy Stauner 2025-11-14 17:28:19 UTC
ZJIT のテストにキーワード引数を渡したメソッド呼び出しのテストケースのパターンを増やしています。 https://github.com/ruby/ruby/pull/15183
[946695cdad] Takashi Kokubun 2025-11-14 17:51:36 UTC
GitHub Actions の ZJIT のテストを実行する workflows で変数 TESTOPTS の指定に環境変数 RUBY_TESTOPTS の値も混ぜるようにしています。
[d966ba757c] Takashi Kokubun 2025-11-14 18:16:10 UTC
946695cdad874e91bc25bedc3c7b322934ca0f07 の GitHub Actions の ZJIT テストの workflows の変更を revert しています。 make test-bundled-gems で期待したように機能しなかったとのこと。
[de157f423e] Takashi Kokubun 2025-11-14 18:46:42 UTC
ZJIT のテスト時に標準添付ライブラリ resolv の複数の DNS を利用するテスト? を skip するようにしています。 https://github.com/ruby/ruby/pull/15192
[8e01768a41] Max Bernstein 2025-11-14 19:49:09 UTC
ZJIT で C 実装されたメソッドの呼び出しで最適化できない時の理由を統計情報で理由別に集計できるようにしています。 https://github.com/ruby/ruby/pull/15193
[94f701da41] Max Bernstein 2025-11-14 18:56:20 UTC
ZJIT で Integer#== のインライン化の実装を整理(リファクタリング?)しています。
[47904d859e] Max Bernstein 2025-11-14 19:17:07 UTC
ZJIT の Integer#+ メソッドのインライン化の実装も整理しています。
[4683ce5fec] Max Bernstein 2025-11-14 19:37:49 UTC
以下同様で ZJIT での Integer#- のインライン化の実装を整理しています。
[ad6ca3a7aa] Max Bernstein 2025-11-14 19:39:22 UTC
ZJIT での Integer#> のインライン化の実装を整理しています。
[7a7035eead] Max Bernstein 2025-11-14 19:50:13 UTC
ZJIT での Integer#!= のインライン化の実装を整理しています。
[f0e57720e4] Max Bernstein 2025-11-14 19:53:22 UTC
ZJIT での Integer#* のインライン化の実装を整理しています。
[0851c2aa66] Max Bernstein 2025-11-14 19:54:40 UTC
ZJIT での Integer#/ のインライン化の実装を整理しています。
[1170493203] Max Bernstein 2025-11-14 19:58:07 UTC
ZJIT での Integer#% のインライン化の実装を整理しています。
[1c4240bcca] Max Bernstein 2025-11-14 20:00:18 UTC
ZJIT での Integer#< のインライン化の実装を整理しています。
[236366cbea] Max Bernstein 2025-11-14 20:01:59 UTC
ZJIT での Integer#<= のインライン化の実装を整理しています。
[35c2c656da] Max Bernstein 2025-11-14 20:03:17 UTC
ZJIT での Integer#>= のインライン化の実装を整理しています。
[22d2bb0132] Max Bernstein 2025-11-14 20:04:33 UTC
ZJIT での Integer#& のインライン化の実装を整理しています。
[491be5781a] Max Bernstein 2025-11-14 20:06:46 UTC
ZJIT での Integer#| のインライン化の実装を整理しています。
[e417f6fec9] Max Bernstein 2025-11-14 20:11:26 UTC
こまでの一連の変更で不要になった ZJIT の Rust 実装の関数を削除しています。
[a0cce404e5] Alan Wu 2025-11-14 20:52:58 UTC
ZJIT の Rust 実装の解決済みの TODO コメントを削除しています。
[5d35e24464] Alan Wu 2025-11-14 20:05:19 UTC
ZJIT でメソッド呼び出し時の引数の数がメソッド定義から許容される数になっているかのチェックを追加しています。これまで不正な数での呼び出しで最適化がおきると不具合が発生してしまう可能性があったみたいです。
[89849f3b4a] Alan Wu 2025-11-14 20:20:01 UTC
ZJIT で JIT 化されたメソッドからさらに JIT 化されたメソッドを呼ぶ機能に省略可能引数を渡した呼び出しもサポートするように機能拡張しているようです。
[eb6e36a87d] Peter Zhu 2025-11-14 03:03:52 UTC
C API のテストで M:N Thread 利用時に LSAN がメモリリークを誤検出(というか現在の実装の既知の制限?)するテストを skip するようにしています。
[6fabca80a3] "Daisuke Fujimura (fd0)" 2025-11-14 14:53:20 UTC
GitHub Actions の Cygwin の workflow でサードパーティーライブラリとして rubygems をインストールするようにしています。 make extract-gems の実行のために必要みたいです。同梱しているものではだめなのかな。
[d7369f027b] Randy Stauner 2025-11-12 22:25:41 UTC
ZJIT の Rust 実装のテストを追加しています。
[f1765cd402] Herwin 2025-11-14 17:36:06 UTC
doc/box.md にまだ Namespace に由来する ns という省略形が残ってたのを box に修正しています。
[70b49b6571] YO4 2025-11-14 16:15:41 UTC
IO#each_codepoint の実装で io_read_encoding() の呼び出しをループ内で繰り返していたのを、結果が不変のはずということでループ前に 1回呼んで結果を使いまわすようにしています。うーむ、まあ途中で変化してしまったらそれはそれで大丈夫なのか? とは思うけど、rb_yield() でブロックを呼び出しているから任意の ruby コードが動くのでなぁ。少しだけ調べてみるとどうもやはり途中で IO#set_encoding すること自体はできてしまって、その時に新しい Encoding における1文字(codepoint)ぶんのバイト列がかえってきたものを rb_enc_codepoint() で処理しようとしてしまう可能性がありそう。
[追記]と思って以下のような例を作って実験してみたところ、3.3.10 でも途中で encoding が変わっても追随していなかったので元の挙動から変わっていないようです。[/追記]
open("tmp.txt", "rb:ascii-8bit") do |io| io.each_codepoint do |c| p c if c == '2'.ord io.set_encoding(Encoding::UTF_8) end end end File.unlink("tmp.txt")
[577cf5e384] Nobuyoshi Nakada 2025-11-15 03:07:44 UTC
doc/command_line/environment.md というコマンドラインオプションについてのドキュメントのファイルを削除しています。 doc/ruby/options.md に移行済みだったようです。