今日は主に正規表現の MatchData オブジェクトの内部表現の変更による最適化や IO::Buffer の不具合修正、END{ next } を SyntaxError とする変更などがありました。
[42ec39af57] John Hawthorn 2026-05-08 19:55:08 UTC
re.c で namev_to_backref_number() という関数に渡す引数を struct re_registers から VALUE に変更するリファクタリング。
[44dc905f50] John Hawthorn 2026-05-08 20:14:13 UTC
re.c で正規表現のグループの参照んための MatchedData 内の探索の関数を切り出すリファクタリング。
[bea03284ec] John Hawthorn 2026-05-08 21:12:01 UTC
re.c で正規表現マッチの re_registers を ALLOCV_N() を使ってマシンスタック上に確保するようにしています。
[27774e9913] John Hawthorn 2026-05-08 22:17:38 UTC
re.c の正規表現マッチ時の RMATCH_REGS() コピーの処理を関数に切り出すリファクタリング。
[d5bd346c67] John Hawthorn 2026-05-09 00:06:46 UTC
String#sub, #gsub で正規表現での置換時に MatchData のバッファを参照できる関数を追加してそれを利用する最適化。
[fe3f45187b] John Hawthorn 2026-05-09 01:13:32 UTC
T_MATCH 型オブジェクトのバッファを Variable Width Allocation による拡張 slot を利用して slot 内に埋め込めるようにしています。
[39d428e356] John Hawthorn 2026-05-09 01:24:45 UTC
T_MATCH 型オブジェクトの RMATCH_REGS() が呼ばれた時に fe3f45187b9b0f46c33e9870738ea4c9c52e8fb7 で slot 内に埋め込んだバッファをヒープ上に確保する形式に変換するようにして、拡張ライブラリから直接内部を触られた時に構造体の変更が影響しないようにしているようです。なるほど。
[4c3de1a7b0] Takashi Kokubun 2026-05-13 21:40:00 UTC
拡張ライブラリ digest の未使用のローカル変数の警告抑制のため初期化子を追加しています。
[6a211f21e8] Fletcher Dares 2026-05-13 00:07:44 UTC
String#gsub! で文字列の str_modify_keep_cr() を呼び出して共有文字列の時の複製をしていたのを実際にマッチしない時にも呼んでたのを抑制するように最適化しています。
[a3a2d461aa] Alexander Momchilov 2026-05-13 21:13:53 UTC
Thread.each_caller_location でバックトレースのインデックス間違いで異常終了する可能性があった不具合を修正しています。 [ruby-core:125497] [Bug #22070]
[4bb1977b78] Luke Gruber 2026-05-14 13:58:46 UTC
internal/class.h 内の RCLASS_PRIME_CLASSEXT_WRITABLE_P() および RCLASS_SET_PRIME_CLASSEXT_WRITABLE() で FL_TEST() のかわりに FL_TEST_RAW() を、FL_SET() のかわりに FL_SET_RAW() を利用して不要な即値判定を省く最適化。
[ec41619932] Benoit Daloze 2026-05-14 16:44:57 UTC
rubyspec の upstream からの同期。
[99ce82ee3a] Stan Lo 2026-05-14 17:22:13 UTC
gems/bundled_gems の rdoc のテストで使う commit hash の指定を変更。 b5e6e0a425efcd21a62028f5c7b7d879396cb411 を revert しています。
[a8bcae043f] git 2026-05-14 17:23:09 UTC
gems/bundled_gems と NEWS の typeprof のバージョンを 0.32.0 に更新しています。
[4ec235e0b2] Max Bernstein 2026-05-14 20:06:15 UTC
ZJIT の Rust 実装のコメント内の非 ASCII 文字を避けるようにしています。 https://github.com/ruby/ruby/pull/16975
[0dc4b2ee81] Burdette Lamar 2026-05-14 20:56:57 UTC
Pathname#<=> の rdoc 用コメントの手直し。
[c1be6a3791] BurdetteLamar 2026-05-14 13:47:00 UTC
Pathname#atime の rdoc 用コメントの手直し。
[8f1ae02c6d] BurdetteLamar 2026-05-14 12:53:17 UTC
Pathname#ascend の rdoc 用コメントの手直し。
[ec106b10a9] Peter Zhu 2026-05-14 01:54:26 UTC
GC の default 実装で RACTOR_CHECK_MODE が真の時のオブジェクト確保時の rb_ractor_setup_belonging() 呼び出しを gc.c に移動しています。
[9a55fc506d] Randy Stauner 2026-05-12 18:43:52 UTC
rubygems で Open3.popen2e を使ってコマンド実行するところで標準入力の pipe をすぐに close するようにしています。
[2df9dfaa06] Burdette Lamar 2026-05-14 21:42:34 UTC
Pathname#chown の rdoc 用コメントを追加しています。
[63397319b4] Peter Zhu 2026-05-14 20:59:34 UTC
GC の mmtk 実装でも ec106b10a9998734eadd9a6ad14ab8209b9da5cc で gc.c の共通部分に移動した rb_ractor_setup_belonging() の呼び出しをしていたので削除しています。
[fff4b3ef2e] Luke Gruber 2026-05-14 20:47:07 UTC
rb_gc_obj_needs_cleanup_p() で GC の sweep 時に free 関数の呼び出しが必要か判定して不要なら高速に処理するという従来の仕組みで fe3f45187b9b0f46c33e9870738ea4c9c52e8fb7 で T_MATCH のオブジェクトで slot 埋め込みが可能になったので、その場合はこの関数で true を返すようにしています。
[356c0cd0e7] Peter Zhu 2026-05-14 01:34:12 UTC
GC の mmtk 実装の不要になっていた構造体フィールドの削除。
[2552db04dd] himura467 2026-05-14 05:24:44 UTC
IO::Buffer#& の実装で IO::Buffer#slice で切り出された IO::Buffer に対して呼ばれた時に元となる IO::Buffer のバッファが既に解放されていた時のチェックが抜けていて異常終了する可能性があった不具合を修正して、チェックして例外発生させるようにています。
[57a02ad661] Takashi Kokubun 2026-05-15 01:35:08 UTC
ZJIT で特殊変数($& とか $1 とか)を参照する処理のための C 関数の呼び出しを行うようにコンパイルする時に大域脱出が発生する可能性があるのにそのための準備をしていない箇所があったので修正しています。 https://github.com/ruby/ruby/pull/16974
[b5038ac118] "dependabot[bot]" 2026-05-15 02:13:06 UTC
GitHub Actions の workflows で利用しているアクションのバージョンを更新しています。
[9b747f5ef9] Takashi Kokubun 2026-05-15 03:24:22 UTC
Ruby::Box のテストで Windows 版の CI でタイムアウトしているようで制限を伸ばしています。 https://github.com/ruby/ruby/pull/16963
[4d87d43b01] Stan Lo 2026-05-15 05:15:40 UTC
tool/rdoc-srcdir で require 'rbs' していたのを削っています。バージョンの依存関係かなにかで? 動かないので暫定的な処置みたいです。 https://github.com/ruby/ruby/pull/16983
[11de89ca1a] Earlopain 2026-05-13 11:52:14 UTC
parse.y および prism で END ブロック内での next も SyntaxError にしています。 [ruby-core:117434] [Bug #20409]