ruby-trunk-changes 2023-01-31

今日は YJIT, rubygems/bundler の更新、拡張ライブラリ psych の JRuby 対応バージョンの更新、macOS でのビルドプロセスの変更などがありました。

[4bc343b436] Nobuyoshi Nakada 2023-01-30 06:54:43 UTC

拡張ライブラリ socket の extconf.rb でマクロ RSTRING_SOCKLEN の定義をオプションで追加するようにするのに socklen_t の型のサイズが long 以上かどうかで判定していたのを checking_for() で既にマクロ定義があるかをチェックしてから定義するように変更しています。

[3f54d09a5b] Jean Boussier 2023-01-30 10:03:50 UTC

Time#nsec で 0 整数を文字列から変換する時に assertion で異常終了してしまう場合があったので bignum.c の文字列から整数に変換する処理で不要なチェックを削っています。 [ruby-core:112114] [Bug #19390]

[eccfc978fd] Jeremy Evans 2023-01-27 19:08:49 UTC

詳細読めてませんが正規表現リテラルで特定の表記で誤って正規表現の文法エラーになっていたのを修正しているようです。 3.2 以降の変更によるものらしい。 [ruby-core:112048] [Bug #19379]

[0c2b43462f] Mat Sadler 2023-01-23 06:43:37 UTC

rubygems のテストの不要なファイルの削除。

[00e1ee4a7e] Mat Sadler 2023-01-23 06:44:48 UTC

rubygems の Rust 製拡張ライブラリの対応で Cargo.lock ファイルの置き場所がサブディレクトリでも良いように対応しています。

[b4defea362] Mat Sadler 2023-01-23 06:46:22 UTC

同じく rubygems の Rust 製拡張ライブラリ対応の install 時の挙動の変更。

[c5a34f5b56] Mat Sadler 2023-01-27 04:32:05 UTC

rubygems の Rust 製拡張ライブラリビルド時のエラーチェックとメッセージの追加。

[cb06006213] Mat Sadler 2023-01-28 03:59:32 UTC

rubygemsWindows 環境での Rust 製拡張ライブラリビルド時のファイルパスの変換についての対応。

[e1ffafb285] Alan Wu 2023-01-30 17:50:08 UTC

YJIT の Rust 実装で 1箇所からしか呼ばれてなかった関数を削除してインラインに展開するリファクタリングhttps://github.com/ruby/ruby/pull/7198

[bc0dc9d40e] Takashi Kokubun 2023-01-30 18:55:00 UTC

詳細読めてませんが YJIT の Rust 実装で最適化のため? 処理の遅延をしているようです。コンパイル時の遅延なのか生成されるコードの変更なのかはちゃんと読めてないのでわからず。 https://github.com/ruby/ruby/pull/7168

[2e0f3b5546] Takashi Kokubun 2023-01-30 19:16:33 UTC

YJIT の Rust 実装で compaction 実行時に BorrowMutError が発生することがあったのを修正しています。 https://github.com/ruby/ruby/pull/7176

[c4cc3be195] Peter Zhu 2023-01-30 18:47:56 UTC

shape.c の未使用の関数を削除。

[b32e1169c9] Jimmy Miller 2023-01-30 20:51:55 UTC

YJIT で省略可能引数を持つメソッドに *x のように splat 引数を渡したメソッドの呼び出しをした時の YJIT 対応追加しているようです。 https://github.com/ruby/ruby/pull/7166

[07d1b3ddc3] Jimmy Miller 2023-01-30 20:54:09 UTC

YJIT で Object#send でメソッド呼び出しされた時のスタックの調整の処理を b32e1169c948f0e4cd63f2c75929516106942594 の splat 引数渡し対応の処理の後に移動しています。また --yjit-stats で出力するカウンタの send_args_splat_optimized を削除してかわりに send_args_splat_opt_call というカウンタを追加しています。 https://github.com/ruby/ruby/pull/7167

[006682d391] Takashi Kokubun 2023-01-30 21:12:06 UTC

465bd972ec2149be000dad9125bb8f4ab6762699 で Integer#abs の rdoc 用コメントを .rb ファイルに移動した時にコメントアウトした状態で残してた Integer#magnitude の実装を消しています。

[344c16eba4] Takashi Kokubun 2023-01-30 21:14:18 UTC

Integer.try_convert の rdoc 用コメントを numeric.rb ファイルから numeric.c の C の実装の前に移動しています。

[3a7367ccc3] Nobuyoshi Nakada 2023-01-10 12:19:58 UTC

tool/mkconfig.rb で rbconfig.rb を生成する時に macOS では CONFIG["SDKROOT"] の設定を環境変数 SDKROOT や xcrun コマンドで得た sdk path を元に設定するようにしていたのを、configure 時の --prefix が /System/ の配下だった時だけにするようにしています。

[0285aa87f1] Eric Wong 2023-01-30 22:50:37 UTC

file.c の preprocessor の directive の #endif や #else などにどの分岐に対応したものかわかりやすくするように条件をコメントで追記しています。

[70eedef32a] Étienne Barrié 2023-01-17 14:27:45 UTC

標準添付ライブラリ reline の Reline::Config#editing_mode_is? メソッドで rest 引数について respond_to? でチェックしているところがあったけど rest 引数は必ず Array なので不要としてチェックと分岐を削っています。

[369ed03cd4] Tim Bates 2023-01-24 06:23:00 UTC

bundler で環境変数 BUNDLE_GEMFILE を一時的にすりかえる処理のリファクタリング、のようにみえるのですがコミットログによるとなにかの不具合修正のようです。

[927141a555] Mike Dalessio 2023-01-28 21:05:57 UTC

bundler のテストの追加。

[022acb9593] David Rodríguez 2023-01-25 17:07:41 UTC

rubygems のテストファイルのファイルの分割、だけのようにみえるのですがコミットログによると bundler を読み込まないようにしたとのこと。

[4cbfd87e5a] David Rodríguez 2023-01-30 17:10:56 UTC

rubygems による Kernel#require の上書きの挙動を抑制して本来の Kernel#require を呼び出すモードにできるようにするためGem.discover_gems_on_require= を追加して false にすると rubygems の実装はスキップするようにしています。 bundler のテストでこのためにややこしい実装をしているのを簡便にするためとのこと。

[d3822c9a8a] Hiroshi SHIBATA 2023-01-31 00:35:54 UTC

bundler に upstream から最新版をマージしています。

[b0b61623ad] "NARUSE, Yui" 2023-01-18 08:57:03 UTC

tool/redmine-backporter.rb で redmine でチケット検索する時の Backport フィールドの内容にクオートが必要になってたのに追随しています。

[29133794a3] Charles Oliver Nutter 2023-01-18 17:32:47 UTC

拡張ライブラリ psych のテスト test/psych/test_yaml.rb の空白の除去。YAML 1.2 対応のためみたいです。

[0ee819b71d] Charles Oliver Nutter 2023-01-13 08:55:52 UTC

拡張ライブラリ psych の JRuby 版の時のバージョンを 2.6 に更新して依存する SnakeYAML というライブラリのパッケージ名? を変更しています。

[fe7d4eed25] Hiroshi SHIBATA 2023-01-31 01:57:38 UTC

標準添付ライブラリ net/http の rdoc 用コメントの整理。 https://github.com/ruby/net-http/pull/106

[5b67c15cd8] Mau Magnaguagno 2022-12-27 06:22:33 UTC

拡張ライブラリ openssl の OpenSSL::Digest.digest の rdoc 用コメントから無意味になってた重複したサンプルの削除。

[6d1077974f] Takashi Kokubun 2023-01-31 06:44:24 UTC

GitHub Actions の Ubuntu 環境の workflow の matrix の書きかたを変更しています。 https://github.com/ruby/ruby/pull/7205

[337189598a] Takashi Kokubun 2023-01-31 07:39:33 UTC

6d1077974f39f216c80217f4957f089f3aa2094f の再修正。GitHub Actions の Ubuntu 環境の workflow の matrix の書きかたを一部元に戻しています。 https://github.com/ruby/ruby/pull/7207

[be81495c16] Nobuyoshi Nakada 2023-01-31 10:42:01 UTC

1e2523fad7c03dc4f3b298d224548abd07374761 で追加した tool/darwin-ar で警告抑制するために grep で弾くようにしていたメッセージの正規表現を少し緩めて、またファイル名からは用途がずれてますが nm コマンドの呼び出し時にも流用して ar だけでなく nm の類似の警告も抑制するために使いまわすようにしています。