ruby-trunk-changes 2023-01-10

今日は rubygems と bundler の更新や compaction の不具合修正などがありました。

[0d7bbfc941] Nobuyoshi Nakada 2023-01-09 09:30:05 UTC

標準添付ライブラリ mkmf.rb で "checking for 〜" というメッセージを出力するためのメソッドでバックトレースから呼び元を取得するところで Kernel#caller のかわりに Kernel#caller_locations を利用するようにしています。文字列から正規表現でファイル名などを切り出すのを不要にするため。

[29dc9378d9] Nobuyoshi Nakada 2023-01-09 09:32:32 UTC

標準添付ライブラリ mkmf.rb の pkg_config メソッドで出力するメッセージの整形のため checking_for の fmt 引数に % メソッドを上書きした文字列を渡すようにしています。

[3be2acfafd] Peter Zhu 2023-01-06 14:09:18 UTC

GC.compact の compaction で slot のサイズの異なる heap 間を文字列オブジェクトが移動した時に STR_SHARED_P() が新の時だけ可能なら slot 内に文字列バッファを埋め込むようにしていたのを全ての文字列オブジェクトで埋め込み可能にしています。

[682b45d489] Peter Zhu 2023-01-06 14:11:42 UTC

GC.compact のテストに compaction で移動した T_OBJECT 型のオブジェクトがインスタンス変数を slot に埋め込みされる挙動について ObjectSpace.dump を利用して確認するテストを追加しています。実装に依存しそうなテストですね(JRuby とかでは動かなさそう)。

[2ad081f799] Peter Zhu 2023-01-06 14:14:30 UTC

他にも GC.compact のテストで ObjectSpace.dump を使った slot への埋め込みの有無を確認するテストを追加しています。

[9726736006] Peter Zhu 2023-01-06 21:18:29 UTC

str_duplicate_setup() という String オブジェクトの複製の関数でバッファを共有した場合に共有元のオブジェクトの struct RBasic::flags に STR_SHARED_ROOT フラグを立てるのが漏れてたのを修正しています。

[a7fbdc35a2] Takashi Kokubun 2023-01-09 16:29:41 UTC

YJIT の Rust 実装で JIT 生成したコードの disasm のダンプ時に余計なコメントを削除するようにしているようです。 https://github.com/ruby/ruby/pull/7083

[93b2de8278] "dependabot[bot]" 2023-01-09 15:07:11 UTC

rubygems のテストに含まれる Rust 製拡張ライブラリのためのプロジェクトの rb-sys パッケージのバージョンを更新しています。

[40bf89872f] Maxime Chevalier-Boisvert 2023-01-09 19:12:10 UTC

doc/yjit/yjit.md の YJIT についての資料リンク集に RubyKaigi 2022 での講演の YouTube へのリンクを追加しています。

[0247ccddab] Takashi Kokubun 2023-01-09 22:29:17 UTC

.gdbinit の set logging のパラメーターを on から enabled に修正しています。 deprecation warning が出ていたとのことで。

[72eb33066f] Peter Zhu 2023-01-06 19:19:00 UTC

GC 関連でマシンスタックをスキャンする rb_vm_each_stack_value() でスタックポインタ(sp)との比較に等号が含まれていて1ワード余計にスキャンする可能性があった不具合を修正しています。 GC.compact 時に異常終了することがあったみたいです。 [ruby-core:111705] [Bug #19320]

[df76c54fc2] Takashi Kokubun 2023-01-10 00:45:11 UTC

common.mk の make gdb ターゲットで起動する gdb のコマンド名を決め打ちにしていたのを GDB 変数で指定するようにしています。環境変数で上書きできるようにするため?

[9792d9e40f] Takashi Kokubun 2023-01-10 01:43:47 UTC

650a20a3e1205f47224a987676cdbad7d826d597 で bootstraptest の Ractor のテストを YJIT 有効化時にスキップしてたのをやめてましたが、これはリリース前の一時的な措置だったようで元に戻しています。

[97d52a8ea2] "dependabot[bot]" 2023-01-09 15:07:24 UTC

rubygems のテストに含まれる Rust 製拡張ライブラリのためのプロジェクトの rb-sys パッケージのバージョンを更新しています。

[2e0159c5f2] David Rodríguez 2023-01-07 17:57:45 UTC

bundler の依存関係の処理で gem のバージョンが 1.1.0.rc0 と 1.1.rc0 のように末尾の 0 の有無だけ違うみたいなのが同一視される? のか異常終了していたそうなのを修正しています。

[900230837b] Hiroshi SHIBATA 2023-01-10 04:07:36 UTC

60ccd1ca81e05d184b2b770526c2a627853eb23f で tool/sync_default_gems.rb の bundler の同期処理でライセンス関係のファイルを Dir.glob のパターンで指定するように変更していた時に bundler とすべきところを bundle にしていたのを修正しています。

[f2fc7519b7] Hiroshi SHIBATA 2023-01-10 04:13:06 UTC

bundler のファイル lib/bundler/vendor/pub_grub/LICENSE.txt を削除しています。

[89fb61f9a3] Hiroshi SHIBATA 2023-01-10 04:39:31 UTC

LEGAL に bundler に同梱されている lib/bundler/vendor/pub_grub についてのライセンス表記を追加しています。逆に lib/bundler/vendor/molinillo はなくなったので LEGAL からファイルパスの参照を消しています。

[a43f1d90c2] Hiroshi SHIBATA 2023-01-10 04:53:41 UTC

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

[6053624a83] Nobuyoshi Nakada 2023-01-10 08:34:56 UTC

gems/bundled_gems の先頭に各行の記法と意味の説明を追加しています。

[47ca75d38a] Benoit Daloze 2023-01-10 11:39:58 UTC

6053624a831c560a1bb23e43317d3d5232f84f4f で gems/bundled_gems に空行を追加してしまっていたのを削除しています。