ruby-trunk-changes 2024-07-19

今日は主にメソッド引数処理で中間オブジェクトの生成の抑制をする条件の拡大や標準添付ライブラリ uri のデフォルトの parser を URI::RFC3986_PARSER にする変更などがありました。

[76ea5cde2a] Kevin Newton 2024-07-17 21:32:11 UTC

ruby -v オプション指定時の description に parser に prism を利用していた時に +PRISM を追記するようにしています。

[d6ef74407b] Peter Zhu 2024-07-18 14:59:09 UTC

gc/default.c の rb_gc_impl_define_finalizer() でオブジェクトの struct RBasic::klass に 0 をセットして内部オブジェクト化するのを直接処理していたのを rb_obj_hide() という C API を利用するようにしています。

[99bf4021fb] David Rodríguez 2024-07-18 10:45:22 UTC

bundler のテスト時の gem ビルド用クラスで ext/ サブディレクトリを .rb の load path に追加するのをやめています。

[ba6ffaf2e0] David Rodríguez 2024-07-18 11:02:08 UTC

bundler のテスト用の環境セットアップで shellwords のバージョン指定を更新しています。

[bb9a9f31ca] David Rodríguez 2024-07-18 11:29:38 UTC

bundler のテストで bundle lock 実行する時に不要な artifice オプションの指定を削っています。

[c9d2343f5c] David Rodríguez 2024-07-18 11:02:48 UTC

bundler で拡張ライブラリを持った default gems の処理の修正をしているようです。

[b07c77730b] David Rodríguez 2024-07-17 17:39:30 UTC

bundler のテストの不要な処理を削っています。

[d62af8e513] David Rodríguez 2024-07-17 16:52:51 UTC

bundler のテストにテストケースを追加しています。

[50e7c8f051] David Rodríguez 2024-07-18 17:53:56 UTC

rubygems のテストで未使用のローカル変数除去。

[2de8b5b805] Takashi Kokubun 2024-07-18 20:01:47 UTC

YJIT の Rust 実装で f05ad373d84909da7541bd6d6ace38b48eaf24a1デバッグのため追加した assertion を削除してコード生成での分岐を修正しているようです。 https://github.com/ruby/ruby/pull/11198

[8df74deab1] Takashi Kokubun 2024-07-18 20:03:08 UTC

yjit/Cargo.toml のコメントの修正。

[08e449d89b] Hiroshi SHIBATA 2024-07-17 09:53:54 UTC

標準添付ライブラリ uriURI.parser= メソッドを追加して利用するデフォルトの parser のクラスを切り替え可能にしています。さらに URI::Parser のデフォルトを URI::RFC3986_PARSER に変更しています。

[6452cf5cb5] Hiroshi SHIBATA 2024-07-18 01:11:13 UTC

標準添付ライブラリ uriURI::RFC3986_Parser に互換性のためのメソッドを追加しています。

[ce4da88a57] Hiroshi SHIBATA 2024-07-18 01:11:29 UTC

標準添付ライブラリ uri のテストで URI::Parser のデフォルトの変更に対応するようにしています。

[862041d054] Hiroshi SHIBATA 2024-07-18 01:27:25 UTC

標準添付ライブラリ uri のテストメソッド test_parse を test_parse_rfc2396_parser に改名して明示的に URI::RFC2396_PARSER を利用するように URI.parser= の呼び出しを追加しています。

[2a56c1841d] Hiroshi SHIBATA 2024-07-18 02:58:26 UTC

6452cf5cb51758066a8db897bebfbca97b230be7 で互換性のために追加した URI::RFC3986_Parser#extract でブロックを受け付けるようにしています。

[082335494b] Hiroshi SHIBATA 2024-07-18 04:16:20 UTC

標準添付ライブラリ uriURI.parser= でデフォルトの parser 切り替えした時のテストを追加して警告抑制のため URI::REGEXP 定数の削除の位置を早めています。

[8db2325a11] Hiroshi SHIBATA 2024-07-18 04:31:17 UTC

同じく標準添付ライブラリ uriURI.parser= で URI::PATTERN という定数も切り替えするようにしています。

[1c81d1a69d] Kevin Newton 2024-07-18 19:04:55 UTC

ruby 本体のテストで prism が利用可能かの確認に ruby -v の出力の +PRISM をチェックする方式に変更してヘルパーメソッドを追加しています。

[3222c67262] alpha0x00 2024-07-14 14:01:57 UTC

rubygems/bundler の専用の YAML 実装の wrapper でコメントの処理の不足を修正しています。

[e5c06005f1] Hiroshi SHIBATA 2024-07-19 02:48:28 UTC

bundler のテストで依存している mustermann という gem が URI::RFC2396_PARSER の実装に依存しているということで一時的に URI.parser= で URI のデフォルト parser を切り替えるようにしています。

[ca0dae25ed] KJ Tsanaktsidis 2024-07-12 05:13:22 UTC

M:N Thread の実装の nt_free_stack() という関数で madvise(2) を利用する時の preprocessor 分岐をまるごと nt_madvise_free_or_dontneed() という関数に切り出しています。また madvise(2) がエラーを返した時に rb_bug() で異常終了させていたのをやめています。 [ruby-core:118581] [Bug #20632]

[3de20efc30] Jeremy Evans 2024-07-11 23:16:40 UTC

メソッドの引数処理で複数の keyword splat がある時などさらに中間オブジェクトの生成を抑制できる呼び出しかたの条件を広げています。

[2c79a7641f] Jeremy Evans 2024-07-12 19:16:49 UTC

ISeq へのコンパイル時の peephole optimization で splatarray 命令のフラグを制御する変更が、おそらく 3de20efc308cccc38bf9dacfffca6c626d039a06 の変更で? 不要になったみたいで削除しています。

[94e7d26643] Jeremy Evans 2024-07-12 20:28:53 UTC

メソッドの引数処理でさらに不要な中間オブジェクトの生成を抑制する条件を追加しています。

[4a49b060ae] Jeremy Evans 2024-07-12 20:58:02 UTC

メソッドの呼び出し時の引数処理での中間オブジェクト作成をチェックするテストの冗長な assertion を削除しています。

[1cc5a64dd8] Jeremy Evans 2024-07-12 21:19:40 UTC

キーワード引数を受け取るメソッドへの Hash を含む配列を splat 引数で渡す呼び出し時の中間オブジェクトの作成を抑制するようにしています。

[6428ce80f0] Jeremy Evans 2024-07-12 22:33:59 UTC

ruby2_keywords フラグの立った Hash を含む配列を splat 引数として渡した時の中間オブジェクトの生成を抑制するようにしています。

[09dd9a0457] Naoto Ono 2024-07-19 05:30:02 UTC

bootstraptest の Launchable 対応でテストの失敗の情報をテストファイルごとに集約した結果を上げるようにしているそうです。