ruby-trunk-changes 2024-08-08

今日は gcc 11 の最適化の挙動変更のための関数定義の細かな変更や標準添付ライブラリ uri の parser のデフォルトバージョン変更に追随した変更などがありました。

[584559d86a] Peter Zhu 2024-07-31 18:59:21 UTC

parse.y でインデントの不一致の警告出力時のメモリリークの修正。

[aed468ae0b] Jun Aruga 2024-08-07 12:24:21 UTC

configure に --enable-shared を指定してビルドした時に sannocheck を利用した静的解析の対象を libruby.so にするようにしています。

[53f3036bf9] Jun Aruga 2024-08-07 13:52:34 UTC

tool/test-annocheck.sh でディレクトリ取得時に空白を含んでいた場合を考慮してクオートを追加しています。

[3719b3d74d] Burdette Lamar 2024-08-07 19:59:57 UTC

Array#- メソッドの rdoc 用コメントの体裁を変更。 https://github.com/ruby/ruby/pull/11303

[e271feb866] Peter Zhu 2024-08-07 18:54:35 UTC

YJIT が有効な時の内部的なクラス yjit_root の解放関数がなにもしていなくてプロセス終了時に環境変数 RUBY_FREE_AT_EXIT が設定されている時にメモリリークが検出されるので解放するようにしています。

[34715bdd91] Your Name 2024-08-03 00:53:13 UTC

gcc 11 での関数の inline 化の最適化の挙動にあわせるため? invoke_block_from_c_bh() や vm_call_cfunc_with_frame_() といった関数の inline 修飾子を削りかわりに invoke_bmethod() に inline 修飾子をつけるようにしています。また invoke_block() や invoke_bmethod() 内でイベントループを回す vm_exec() を呼んでいたのを呼び元の invoke_iseq_block_from_c() で呼ぶように変更しています。

[68a419d749] Alan Wu 2024-08-07 22:25:43 UTC

vm_eval.c の rb_check_funcall_with_hook() という関数が未使用になっていたので削除しています。

[057c53f771] Alan Wu 2024-08-07 22:29:33 UTC

vm.c の rb_vm_invoke_bmethod() という関数を static 関数にして vm*.c 内では vm_invoke_bmethod() を直接呼ぶようにしています。

[8d39939107] tompng 2024-08-05 05:30:32 UTC

標準添付ライブラリ rdoc の生成する html のためのテンプレートで特殊文字に数値参照を利用するようにしています。

[c3becc3ba6] Hiroshi SHIBATA 2024-08-08 01:44:52 UTC

標準添付ライブラリ uriURI::RFC3986_PARSER の make_regexp、escape、unescape などのメソッドは互換性のために追加したものなので obsoleted という警告を出力するようにしています。

[68ebd56a76] Hiroshi SHIBATA 2024-08-08 02:06:03 UTC

標準添付ライブラリ uriURI::Generic.build にて URI::DEFAULT_PARSER 経由で escape メソッドを呼んでいたのを明示的に URI::RFC2396_PARSER を指定するようにしています。c3becc3ba6c584fbeabd5182e304e61529235fe6URI::RFC3986_PARSER のほうは警告を出力するようにしたのでその対応のためですね。

[3da7e440e9] Hiroshi SHIBATA 2024-08-08 03:08:12 UTC

c3becc3ba6c584fbeabd5182e304e61529235fe6 の標準添付ライブラリ uriURI::RFC3986_PARSER の特異メソッドの一部に警告出力を追加したのを revert しています。

[fa443699af] Hiroshi SHIBATA 2024-08-08 04:00:35 UTC

09638741ba4d9547a0e48af8c767744fb1d7f68d の Thread.each_caller_location にバックトレースの範囲を指定する引数を追加した変更で一緒に lib/bundled_gems.rb の利用箇所の変更も含まれていたのを revert しています。

[7594a292b1] Jean Boussier 2024-08-07 08:48:48 UTC

require の警告出力のための lib/bundled_gems.rb で Kernel#warn の uplevel でバックトレースを遡ってメソッド名を取得する数をバックトレースをみて決定するためのメソッドを導入しています。require の再定義などによって uplevel が変化するので実際のバックトレースをみて決める必要があるため。

[7e0910a82c] Hiroshi SHIBATA 2024-08-08 07:18:06 UTC

7594a292b19cb3bde971da294930f6bb2b4e4bc1 で lib/bundled/gems.rb で警告の uplevel を算出するメソッドの修正。

[da8cf99cb5] Hiroshi SHIBATA 2024-08-08 07:23:49 UTC

rubygems の再定義する require の default gems の警告出力のための lib/bundled_gems.rb のテストに bootsnap 経由の require の時のテストを追加しています。