ruby-trunk-changes 2024-03-07

今日は主に T_CLASS の FL_SINGLETON フラグのビット位置を変える変更や prism の更新などがありました。

[29323505a6] Jun Aruga 2024-03-06 14:35:16 UTC

Travis-CI のメンテナンスのために 23dc7aa2c5a104e73563134a595124804379f049 でエラーを無視させてたのを revert しています。メンテナンス終了した模様。

[7e44440774] Peter Zhu 2024-03-06 15:36:46 UTC

T_CLASS 型オブジェクトの struct RBasic::flags のビットフラグの説明のコメントでインデントの修正のみ。

[476cd2b251] Peter Zhu 2024-03-06 15:37:57 UTC

T_CLASS 型オブジェクトの struct RBasic::flags のビットフラグの説明をしているコメントに RUBY_FL_SINGLETON について追記しています。

[7d3304ec5f] Nobuyoshi Nakada 2024-03-06 15:34:11 UTC

標準添付ライブラリ time の gemspec ファイルの spec.files の設定で git ls-files の結果から除外するファイルのリストを増やしています。

[6ea01d204e] Jeremy Evans 2024-03-06 17:10:00 UTC

RubyVM::InstructionSequence のバイナリフォーマットへのダンプ時に内部的なローカル変数のインデックスを Fixnum 以外の場合にも対応するようにしています。 5899f6aa55a02f211545d9cdaef4d86fa0b49528 の再修正。 [ruby-core:115181] [Bug #19975]

[b4a69351ec] Jean Boussier 2024-03-06 16:04:22 UTC

T_CLASS 型オブジェクトの struct RBasic::flags のビットフラグ T_CLASS のビット位置を FL_USER1 を使うように移動しています。これに伴ない FL_SINGLETON フラグのチェック時にはオブジェクトの型をチェックして T_MODULE でないことも確認する必要ができたのでそれらをまとめた RCLASS_SINGLETON_P() というマクロを定義して各所でこれを使うようにしています。

[16ec54ec41] Burdette Lamar 2024-03-06 20:10:24 UTC

コマンドラインオプションについての doc/command_line/field_processing.md というドキュメントを削除して doc/ruby/options.md にコマンドラインオプションについてのドキュメントを新設しつつ、--dump オプションについてのドキュメントは doc/ruby/option_dump.md に独立して追加しています。 https://github.com/ruby/ruby/pull/10138

[d4f3dcf4df] Jean Boussier 2024-03-03 09:46:46 UTC

組み込みクラスやモジュールを GC から保護するために参照の root に追加する関数 rb_vm_add_root_module() で rb_vm_t::defined_module_hash という st_table に登録していたのを rb_vm_register_global_object() という関数で rb_vm_t::mark_object_ary という Array オブジェクトで管理する方法に移行しています。コミットログによると起動時のメモリ消費を抑えることができるとのこと。

[38a4b5c1fa] Maxime Chevalier-Boisvert 2024-03-06 20:56:30 UTC

YJIT で String#getbyte メソッドの実装で rb_str_getbyte() 関数の呼び出しをしていたのを直接同じ処理をする命令を生成するように最適化しています。 https://github.com/ruby/ruby/pull/10188

[cc757f4a61] BurdetteLamar 2024-03-06 21:13:40 UTC

Array#[] メソッドの rdoc 用コメントにサンプルを追加しています。がなんか一部すぐ下のと被っているような。

[2bc4575ac0] Hiroshi SHIBATA 2024-03-07 00:35:48 UTC

rubyspec の Time のテストに使う fixtures のなかで未使用のものを削除しています。

[9fcb2bd5c0] Stan Lo 2024-03-07 02:14:40 UTC

irb のバージョンを 1.12.0 に更新しています。

[c0cb3f60e1] git 2024-03-07 02:15:40 UTC

NEWS の default gems のバージョンリストの irb のバージョンも更新しています。

[e13fd48f55] Kevin Newton 2024-03-06 21:43:41 UTC

tool/update-deps で依存関係生成する時に prism の prism/diagnostic.{c,h} を無視させるようにして common.mk の依存関係を再生成しています。

[d3279a0c11] Nobuyoshi Nakada 2024-03-07 04:08:37 UTC

Time.new の offset 引数にタイムゾーンを表現するオブジェクトを渡した時に秒単位以下の数値を無視させるようにしています。 [ruby-core:117071] [Bug #20327]

[fbec42fb39] Nobuyoshi Nakada 2024-03-07 05:16:22 UTC

Encoding 用の拡張ライブラリ群のビルド用の Makefile でゴミが残らないように知らないファイルも消すように? しているみたいです。

[810779fab9] Nobuyoshi Nakada 2024-03-07 05:33:40 UTC

make clean-local で YJIT がデバッグ用のオプションを指定した時に生成する yjit_exit_locations.dump というファイルも削除するようにしています。

[d1c66456b8] Nobuyoshi Nakada 2024-03-07 07:29:48 UTC

make clean-local で find コマンドを使う時に -depth オプションを追加しています。ディレクトリを深さ優先探索するようにして再帰的な構造があった時に対応するようにしているそうです。

[1c083c4db0] Nobuyoshi Nakada 2024-03-07 07:40:27 UTC

make clean-runnable で exe/ ディレクトリやアーキテクチャ毎のディレクトリに作られる rbconfig.rb ファイルも削除するようにしています。

[78725f14b2] Nobuyoshi Nakada 2024-03-07 08:13:43 UTC

拡張ライブラリの Makefile を生成する ext/extmk.rb で make clean-local で実行する rmdir コマンドのオプションに -p を追加して指定したパスを親まで全て消すようにしています。