今日は主に ruby.wasm での不具合修正や Pathname の private メソッド群の ruby 実装から C 実装への移植などがありました。
[0fa6cb88f5] Yuta Saito 2026-05-12 08:00:02 UTC
プロセス初期化時の Init_Cont() で FiberError 例外のためのオブジェクトの変数 rb_eFiberError の初期化を fiber_pool_initialize() の前に移動しています。 ruby.wasm で Fiber pool の初期化中に例外を発生させる場合があり、その時点でまだ変数が初期化されていないため異常終了になってしまう可能性があったようです。 https://github.com/ruby/ruby/pull/16925 [ruby-dev:52210] [Bug #21989]
[9e0261a9dc] Tsutomu Katsube 2026-05-09 11:36:08 UTC
common.mk の make test-bundler での $(XRUBY) の実行時に --enable-gems オプションを明示的に渡すようにしています。 RUN_OPTS で --disable-gems が指定されているためこれを打ち消す必要があったみたいです。 https://github.com/ruby/ruby/pull/16910 [ruby-core:125417] [Bug #22057]
[f1ca69b9de] Max Bernstein 2026-05-12 16:16:59 UTC
ZJIT の Rust 実装の未使用の中間表現 HIR の命令 GuardTypeNot を削除しています。 https://github.com/ruby/ruby/pull/16926
[33a4fde9cb] Max Bernstein 2026-05-11 13:47:50 UTC
ZJIT の型推論での多値代入のようなケース? での誤った推論の不具合を修正しているようです。
[ab849a434b] Max Bernstein 2026-05-11 16:17:09 UTC
ZJIT の型推論の実装で処理の収束を管理するためのフラグ管理の不具合を修正しているようです。
[ece14b61f5] Daichi Kamiyama 2026-05-12 20:39:11 UTC
ZJIT で不要な型 guard の命令(TypeGuard)が除去されないという不具合があったのを修正しているようです。 https://github.com/ruby/ruby/pull/16828
[be557259b7] Aaron Patterson 2026-05-12 23:16:13 UTC
ZJIT で分岐がある時のコードブロックの作りかたを IfTrue/IfFalse で条件ヒット時は jump 命令で別のブロックに移動し、そうでない時はそのブロック内で処理を続けるという形式だったのをどちらのケースもジャンプするような HIR のコードブロックの構成にしています。こちらのほうがコンパイル処理にとってシンプルなのと型推論が厳密になる可能性もあるみたいです。 https://github.com/ruby/ruby/pull/16888
[6297af9883] Max Bernstein 2026-05-12 23:19:15 UTC
ZJIT で中間表現 HIR の GuardType 命令の重複を削除する処理が不要になったとのことで削除するリファクタリング。 https://github.com/ruby/ruby/pull/16927
[baec5bbfff] Peter Zhu 2026-05-11 23:50:07 UTC
Set の compare_by_identity にして同値性でなく同一性で管理するようにした Set の場合 VALUE 値そのものがキーとして使われるため GC.compact での移動してはいけなくなるので、GC の mark 処理時に pin-down するようにしています。 https://github.com/ruby/ruby/pull/16923 [ruby-core:125466] [Bug #22064]
[6123b79877] Hiroshi SHIBATA 2026-05-13 00:35:03 UTC
GitHub Actions の Windows 系の workflow で利用するコンパイラのバージョンを VS 2026 に更新しています。
[4d147883e4] Hiroshi SHIBATA 2026-05-13 00:38:04 UTC
GitHub Actions の Windows 版 workflow で VC 2022 でのビルドを削除しています。
[6dfdd9e53f] Hiroshi SHIBATA 2026-05-13 00:39:12 UTC
GitHub Actions の Windows 版 workflow で古い Windows 環境でも make test-bundled-gems を実行するように matrix に追加しています。
[2748759889] Nobuyoshi Nakada 2026-04-16 07:06:12 UTC
common.mk の ext/configure-ext.mk の依存関係に default gems の gemspec ファイルの更新処理を追加しています。
[68e768391a] Nobuyoshi Nakada 2026-04-16 08:07:55 UTC
common.mk でコマンド分に ruby のスクリプトを -e オプションに長い文字列で渡していたのを tool/lib/bundled_gems.rb に移動しています。
[f3d86878f7] Nobuyoshi Nakada 2026-04-16 11:03:16 UTC
ちょっとよくわかってませんが common.mk の default gems の gemspec ファイルの更新? 処理をトリガーするための依存関係整備みたいです。
[d9242cab17] Nobuyoshi Nakada 2026-04-17 09:36:28 UTC
tool/lib/bundled_gem.rb に移植した gemspec ファイルの更新処理で既に新しいファイルが存在していた時の skip を追加しています。
[5d9ea25ecd] Nobuyoshi Nakada 2026-05-12 12:30:06 UTC
configure の RUNRUBY_COMMAND でディレクトリ変更のコマンドを cd と決め打ちで書いてたのを $(CHDIR) を使うようにしています。
[c1ab2a4997] Nobuyoshi Nakada 2026-05-12 13:04:58 UTC
GitHub Actions の WASM 用 workflow に ruby/setup-ruby アクションで ruby 3.1 をセットアップするステップを .github/actions/setup/directories の実行前に移動しています。直近の変更で default gems の gemspec 更新のためのスクリプトが新しめの ruby を必要とするようになったためかと思われます。
[bd2db27f3f] Nobuyoshi Nakada 2026-04-30 11:26:15 UTC
GitHub Actions の WASM 版の workflow での configure のコマンドライン引数の記述を整理して簡略化しています。
[8635510e2f] Nobuyoshi Nakada 2026-05-12 13:07:39 UTC
common.mk で rdoc が bundled gems になったため rdoc の実行に --enable-gems をつけた ruby を利用するようにしています。
[62d754ba7c] "dependabot[bot]" 2026-05-13 03:52:30 UTC
GitHub Actions の独自 actions や workflows で利用しているアクションのバージョンを更新しています。
[fc5f23f8d0] "dependabot[bot]" 2026-04-30 02:06:36 UTC
vcpkg.json で指定している Windows 環境での vcpkg の builtin-baseline のコミットハッシュを更新しています。
[f3dd724da5] Andrii Furmanets 2026-05-13 08:29:30 UTC
IO::Buffer#each_byte で引数の offset と length からくる終点の位置がバッファ内に収まっているかの引数チェックを追加して ArgumentError 例外を発生させるようにしています。 https://github.com/ruby/ruby/pull/16823
[b0b7a943e8] Nobuyoshi Nakada 2026-05-02 07:36:09 UTC
Pathname の組み込みメソッドの ruby 実装のコードで Pathname#<=> と Pathname#sub が未定義の時の fallback 定義がもう不要になってたので削除しています。
[ded98a40dc] Nobuyoshi Nakada 2026-05-02 07:13:52 UTC
ファイルパスが NUL 文字を含んでいないかのチェックの関数を rb_get_path_check_no_convert() として切り出して Pathname の実装でも流用するようにしています。
[9021799650] Nobuyoshi Nakada 2026-05-04 04:25:24 UTC
Pathname#absolute? の実装を ruby 実装から C 実装に移動しています。
[488b8e58bc] Nobuyoshi Nakada 2026-05-06 11:08:02 UTC
Pathname#root? の実装も ruby 実装から C 実装に移植しています。
[d8e6bf63ed] Nobuyoshi Nakada 2026-05-01 05:16:44 UTC
9021799650021684e5586215f00f0b701d6160ab の Pathname#absolute? の実装の C への移植で不要になった Pathname::ABSOLUTE_PATH という正規表現の定数を削除しています。
[7c5c967fca] Nobuyoshi Nakada 2026-05-06 09:12:01 UTC
Pathname の ruby 実装で参照していた Pathname::SEPARATOR_PAT という定数の参照のかわりに Pathname#has_separator? という private メソッドの定義を C 実装で追加してこれを利用するようにしています。
[820554c8d2] Nobuyoshi Nakada 2026-05-02 08:02:48 UTC
Pathname#sub_ext というメソッドも ruby 実装から C 実装に移植しています。
[e3cccd28ea] Nobuyoshi Nakada 2026-05-02 09:25:46 UTC
Pathname#chop_basename という private メソッドも ruby 実装から C 実装に移植します。
[516adc1f78] Nobuyoshi Nakada 2026-05-03 12:01:43 UTC
Pathname#has_training_separator? というメソッドも ruby 実装から C 実装に移植しています。
[e887ffa35e] Nobuyoshi Nakada 2026-05-03 12:01:43 UTC
Pathname#add_trailing_separator という private メソッドも ruby 実装から C 実装に移植しています。
[ce5a099901] Nobuyoshi Nakada 2026-05-03 12:01:43 UTC
Pathname#del_trailing_separator という private メソッドも ruby 実装から C 実装に移植しています。
[a5996718f3] Nobuyoshi Nakada 2026-05-06 15:17:46 UTC
7c5c967fca7c873414b1eed56d662dc4118123dd の変更で不要になった Pathname::SEPARATOR_PAT という定数を削除しています。
[7dad6c043e] Nobuyoshi Nakada 2026-05-03 12:01:43 UTC
Pathname#split_names という private メソッドも ruby 実装から C 実装に移植しています。
[de8d33295d] Nobuyoshi Nakada 2026-05-06 00:18:46 UTC
Pathname#same_paths? という private メソッドも ruby 実装から C 実装に移植しています。
[41542767d2] Nobuyoshi Nakada 2026-05-03 12:01:43 UTC
Pathname の組み込みメソッド Pathname#mkpath の ruby 実装で File.dirname の呼び出しが繰り返されてたところをローカル変数に代入して使いまわすように最適化しています。
[997e11cf37] Nobuyoshi Nakada 2026-05-06 08:58:39 UTC
Pathname の Pathname#prepend_prefix の実装で private メソッド add_trailing_separator を使いまわすリファクタリング。
[407398b079] Nobuyoshi Nakada 2026-05-07 08:16:14 UTC
組み込みメソッド Pathname#children の ruby 実装で Dir.foreach を利用していたのを Dir.children を使うようにリファクタリングしています。
[6f8ece0690] Nobuyoshi Nakada 2026-05-07 09:05:19 UTC
Pathname のパス判定のメソッド(root?, absolute? など)のベンチマークを追加しています。
[61aa46c416] Nobuyoshi Nakada 2026-05-13 09:10:39 UTC
string.c のインデントの修正のみ。
[6ac238e32d] Nobuyoshi Nakada 2026-05-13 09:12:17 UTC
.git-blame-ignore-revs にインデント修正のみの 61aa46c41648c6d1e9b0daa1a292de551fde78df の commit hash を追記しています。