今日は主に ZJIT や YJIT の不具合修正や AIX でのビルドエラーの修正などがありました。
[d256629bf9] Étienne Barrié 2026-02-16 10:59:50 UTC
ruby のリンク時に渡すコマンドラインオプションから $(MAINLIBS) を削除しています。 -ldl, -lobjc などのオプションが重複していたので macOS でのビルド時に警告が出ていたのを抑制するためみたいです。 [ruby-core:114345] [Bug #19831]
[ea7d3eb89b] Alan Wu 2026-02-09 21:46:50 UTC
YJIT でブロック内から super() で親クラスのメソッドを呼ぶ時に JIT が利用できない不具合(?)を修正しています。
[219ad6823a] Alan Wu 2026-02-10 22:30:06 UTC
ZJIT でも YJIT と同様にブロック内からの super() での親クラスメソッド呼び出しで不具合があったのを修正しているようです。
[6273827196] Jeremy Evans 2026-02-17 04:04:16 UTC
set.c の set_insert_wb() や set_table_insert_wb() の不要な引数 key_addr を削除しています。 NULL しか渡していないまたは渡しても呼び元で使ってなかったようです。
[e1f49ff79d] John Hawthorn 2026-02-16 18:18:19 UTC
String#gsub や String#sub の実装で置換結果に Hash を渡した時の型チェックを強化しています。
[671ea6fb3e] Steven Webb 2026-02-18 22:12:31 UTC
ZJIT で Integer#% メソッドで両辺がリテラルの時に定数畳み込みして結果の定数を直接描き出すようにしています。 https://github.com/ruby/ruby/pull/16168
[e11c3cef1b] Nathan Froyd 2026-02-18 21:59:13 UTC
prism の prism/prism.h に C++ 向けに extern "C" を追加しています。
[e3183164a5] Randy Stauner 2026-02-19 00:22:16 UTC
ZJIT で--zjit-trace-exits オプションを付けて実行した時の side-exit でスタックや VM の sp, pc を復旧する処理に問題があって異常終了する可能性があった不具合を修正しています。 https://github.com/ruby/ruby/pull/16195
[da767cda10] Stan Lo 2026-02-19 01:15:43 UTC
vm_trace.c でロジック的にありえないパスに入った時の rb_bug() 呼び出しのメッセージで関数名が間違ってたのを修正しています。 https://github.com/ruby/ruby/pull/16196
[6bb0b6b16c] Earlopain 2026-02-19 09:03:55 UTC
標準添付ライブラリとしての prism の rdoc 用コメントでない(ドキュメント化の対象から外されている?)コメント内の不要な codeblock の markup を削除しています。 https://github.com/ruby/prism/pull/393
[3ad0519534] Nobuyoshi Nakada 2026-02-19 08:27:32 UTC
dln.c の dln_load() という関数の内容が dln_load_feature() と完全に一緒だったので単に dln_load_feature() に委譲するように変更しています。
[361644c0cc] Nobuyoshi Nakada 2026-02-19 08:54:00 UTC
dln.c の dln_open() の実装でマクロの _WIN32 もしくは USE_DLN_DLOPEN が定義されているかチェックしているところでマクロ DLN_DEFINED を定義しておいて後にこのマクロをチェックすることで条件チェックをシンプルにしています。結果は変わらないような気がしますがこれは AIX でのビルドエラーの修正だそうです。なんでかなと思ったらよくみたらマクロ AIX が定義されているかで分岐しているところでも DLN_DEFINED を定義していました。つまり従来の分岐で条件漏れがあったんですね。 [ruby-core:124848] [Bug #21917]
[7d05c17069] Nobuyoshi Nakada 2026-02-19 10:02:57 UTC
dln.c で例外発生などで関数の末尾には到達しないことがわかっているところの return を UNREACHABLE_RETURN() マクロを利用してコンパイラの警告を抑制するようにしています。
[e67f3f0660] Earlopain 2026-02-19 09:31:26 UTC
標準添付ライブラリとしての ripper の translation でブロックを受け付けないことを明示する def m(&nil) の記法の対応を追加しています。