ruby-trunk-changes 2024-05-24

今日は主に Array#pack のために VM の最適化命令の対応を拡張する最適化などがありました。

[49fcd33e13] Nobuyoshi Nakada 2024-05-23 18:23:26 UTC

配列のメソッドで中間オブジェクトを抑制するための最適化 VM 命令 opt_newarray_send に pack メソッド向けの最適化を追加しています。 rb_ec_pack_ary() を直接呼ぶようにしていますがこの関数は T_ARRAY 型オブジェクトを要求するのでマシンスタック上に struct RArray の変数を置いてこれを T_ARRAY 型オブジェクトのように初期化することで object space の slot 上にオブジェクト確保することを避けるようにしています。 また YJIT や RJIT の対応も同時に追加しています。

[76e31d9aa9] Martin Emde 2024-05-21 23:19:51 UTC

bundler の Bundler::CompactIndexClient の実装から削除予定だった md5 の etag 関連の実装を削除しています。

[acdd19facc] Martin Emde 2024-05-23 23:36:11 UTC

bundler の bundle gem で生成するプロジェクトの CODE_OF_CONDUCT.md のテンプレートの typo を修正しています。