ruby-trunk-changes 2021-11-27

今日は標準添付ライブラリ mkmf.rb の修正や bundler の依存関係解決ロジックの修正などがありました。

[1c3d6d6cc9] Nobuyoshi Nakada 2021-11-26 11:52:00 UTC

標準添付ライブラリ mkmf.rb の MakeMakefile#xpopen で省略可能な第3引数 mode に Hash が渡された時に読み込みモードとして扱うように対応を追加しています。

[21a29844a3] Nobuyoshi Nakada 2021-11-26 11:53:52 UTC

標準添付ライブラリ mkmf.rb の MakeMakefile#xsystem からコマンドラインの配列の先頭に環境変数の指定を Hash で渡された時の処理を expand_command というメソッドに分離して xpopen でも環境変数の指定を受け付けるように機能拡張しています。

[dff8d12226] Nobuyoshi Nakada 2021-11-26 11:55:21 UTC

標準添付ライブラリ mkmf.rb の MakeMakefile#pkg_config で xsystem や xpopen でコマンド実行する時に 21a29844a34589506e88a2473c62f84e417a61bc で拡張した機能を利用して環境変数 PKG_CONFIG_PATH を指定して実行するようにしています。

[7cfacbcad2] Peter Zhu 2021-11-26 15:33:31 UTC

USE_RVARGC が偽でビルドされていて VWA が有効じゃない時に文字列オブジェクトの複製時に常にヒープからメモリ確保するようにしています。パフォーマンス改善のためということですが、VWA を使ってなくても数バイトの文字列は embed できるけど、VWA 対応でそこの判定が複雑になったからそれを避けるためってことかなぁ。ちょっとよくわからず。あと勘違いしてたのですが現在は USE_RVARGC はデフォルトでは 0 に定義されるようになっているので、普通にビルドすると VWA は無効な状態でビルドされるようでした。

[9537e65562] git 2021-11-26 18:27:50 UTC

version.h の日付更新

[59439446d9] David Rodríguez 2021-11-24 21:01:45 UTC

bundler の依存関係解決のロジックの不具合修正。

[b5b6ab4194] Alan Wu 2021-11-26 23:00:42 UTC

YJIT の機能に関連する branch_stub_hit() という関数で生成コード用のメモリ領域が不足して一連のコード領域のコンパイルをあきらめる時にインタプリタに処理を戻すためのコードを生成する対応を追加しています。

[45034e9de3] Nobuyoshi Nakada 2021-11-27 05:28:01 UTC

標準添付ライブラリ cgi の gemspec ファイルの spec.extensions に cgi/escape の extconf.rb のパスを追加しています。

[f53f6d9284] Nobuyoshi Nakada 2021-11-27 07:04:09 UTC

標準添付ライブラリ cgi の gemspec ファイルの spec.bindir の指定を削除し、spec.files から .gitignore などの .git ではじまるファイルも除外するようにしています。