今日は主に昨日の GC の sweep 処理の最適化の再修正、標準添付ライブラリ prism の変更などがありました。
[83713db7f1] Jean Boussier 2026-01-27 10:18:31 UTC
c21f3490d1f28b43564639ae8563bc2e02e828a4 で GC の sweep 処理の fastpath を追加した時の各オブジェクトが fastpath を使えるかどうか判定する関数 rb_gc_obj_needs_cleanup_p() で、T_BIGNUM 型のオブジェクトも object_id が採番されていると Object Shapes の fields_obj の処理が必要な点の捕捉と T_DATA 型オブジョクトの時の判定が判定している箇所があったのを修正しています。
[fa3e3d1090] Nobuyoshi Nakada 2026-01-27 14:38:38 UTC
.git-blame-ignore-revs に git blame で無視する対象の commit hash として 23f9a0d655c4d405bb2397a147a1523436205486 と b839989fd22fef85e2af19de1bc83aa72a5b22bd の win32/*.bat の改行コード変更を追加しています。
[5d769228c1] Earlopain 2026-01-26 16:28:31 UTC
標準添付ライブラリとしての prism の Prism::LexRipper というクラスを削除しています。
[52e71ad4b7] Luke Gruber 2026-01-27 17:36:55 UTC
昨日の 994257ab06072df38de024e70a60aa9a87e36089 での Mutex を短時間で繰り返しロック再取得した時の不具合修正の再修正をしています。解放処理のために unlock する時の特別扱いをしているらしいです。 https://github.com/ruby/ruby/pull/15982
[6f6ed79a97] Nozomi Hijikata 2026-01-27 19:53:24 UTC
ZJIT で meth(...) のような引数を委譲するメソッド引数渡しを利用する時の ISeq の VM 命令 invokesuperforward を可能な場合は C の関数 rb_vm_invokesuperforward() を直接呼び出すようにする最適化。 https://github.com/Shopify/ruby/issues/862 https://github.com/ruby/ruby/pull/15958
[39b28e67a6] Randy Stauner 2026-01-27 20:00:33 UTC
ZJIT の Rust 実装の不要な use を削除するリファクタリング。 https://github.com/ruby/ruby/pull/15984
[c983b7aee6] Kevin Newton 2026-01-27 19:55:09 UTC
prism の Prism::Source#line_to_byte_offset というメソッドを #byte_offset に改名してカラム番号も引数に受け付けるように拡張しています。
[68902e3593] Kevin Newton 2026-01-27 20:08:55 UTC
標準添付ライブラリ prism の Prism::Node#find_all というメソッド(breadth_first_search_all への alias)を新規追加しています。 AST のサブツリーを探索してブロックの評価値が真になるノードを幅優先で全て配列に詰めて返すというメソッドのようです。
[ec154654a9] Kevin Newton 2026-01-27 20:20:36 UTC
標準添付ライブラリ prism のバージョンを 1.9.0 に更新しています。
[af4a1ca021] Kevin Newton 2026-01-27 02:36:20 UTC
標準添付ライブラリ prism のC APIにおいて、AST 内の位置情報の表現を開始/終了位置のポインタとして保持していたのを開始/終了位置それぞれの開始位置からのオフセットとして保持するように内部表現を変更しています。メモリ使用量の削減のためのようです。
[6687167b43] git 2026-01-27 20:31:17 UTC
NEWS の default gems のバージョンリストの prism のバージョンを更新しています。
[1cd32536a5] Kevin Newton 2026-01-27 20:42:24 UTC
標準添付ライブラリ prism の Prism::Translation::Ripper::Lexer::State::STATES という定数を Module#private_constants で private にしています。また Prism::Translation::Ripper::Lexer::State.cached メソッドを Prism::Translation::Ripper::Lexer::State.[] メソッドに改名しています
[5c15f9380f] Benoit Daloze 2026-01-27 20:20:48 UTC
標準添付ライブラリ prism のコメントの語彙の利用を変更しています。
[d5616094f4] Kevin Newton 2026-01-27 20:50:58 UTC
標準添付ライブラリ prism の Prism::LexerCompat#insert_on_sp メソッドを private にしています。
[5eb17ea4aa] Peter Zhu 2026-01-27 22:07:32 UTC
Hash#flatten の rdoc 用コメントのサンプルで Hash#inspect の Symbol キーの表示形式の変更に追随させています。
[bea48adbca] Kuba Suder 2026-01-28 02:48:37 UTC
Kernel#fork の rdoc 用コメントのサンプルコードの出力が矛盾していたのを修正。