ruby-trunk-changes 2022-01-26

今日は compaction のための実装のリファクタリングや bundler の不具合修正などがありました。

[cd806e19b7] David Rodríguez 2022-01-25 11:47:57 UTC

bundler のテストの不要なコメントを削除しています。

[342e7a094a] David Rodríguez 2022-01-25 11:48:16 UTC

bundler のテストで利用する Gemfile の rack のソースが github.com になってたのでローカルに作る git リポジトリを参照するように変更しています。

[e3b5cc8836] Nobuyoshi Nakada 2022-01-25 14:10:20 UTC

NEWS に定数 Fixnum と Bignum の削除について追記しています。 [ruby-core:72918] [Feature #12005]

[b07879e553] Peter Zhu 2022-01-24 19:44:58 UTC

compaction のためにオブジェクトを移動する時のポインタを計算する時の不要な分岐を削除しています。

[42ef3fcaef] Ngan Pham 2022-01-25 05:01:21 UTC

bundler が bundle platform で出力するメッセージに含めるプラットフォーム名を RUBY_PLATFORM を直接表示するのではなく Gem::Platform.local を参照するようにしています。 https://github.com/rubygems/rubygems/issues/5264

[ac57405235] git 2022-01-25 17:24:46 UTC

version.h の日付更新

[6e901939c6] Nobuyoshi Nakada 2022-01-25 20:51:37 UTC

530e485265dac6e2aea1d587a4a79a314cc772cf で rb_id_table_foreach_with_replace() という関数から呼び出すコールバック関数の第1引数に ID を渡すようにしたのを revert しています。 compaction の途中に呼ばれる可能性があるので不正な値を渡してしまう可能性があったとのこと。 [ruby-core:105658] [Feature #18253]

[4d9ad91a35] Peter Zhu 2022-01-25 21:11:24 UTC

6e901939c67d7c1275c183b0bde4d5d1c78ef081 の続きで rb_id_table_foreach_with_replace() から呼び出すコールバックの第1引数には意味のある値が渡せないので、compaction の処理から呼ぶ関数は rb_id_table_foreach_values_with_replace() と改名して、渡すコールバック関数からも ID の引数を削除しています。 [ruby-core:105658] [Feature #18253]

[82f0580aa4] Peter Zhu 2022-01-25 21:15:46 UTC

4d9ad91a35b16afde38fd4ae513a49d22e27b3ea の続きで他にも update_cc_tbl() と update_cvc_tbl() から呼び出す関数を rb_id_table_foreach_values_with_replace() から rb_id_table_foreach_values() に変更しています。 [ruby-core:105658] [Feature #18253]

[142d5db112] Peter Zhu 2022-01-25 21:16:37 UTC

4d9ad91a35b16afde38fd4ae513a49d22e27b3ea の続きで rb_id_table_foreach_values_with_replace() で replace コールバック関数が ID_TABLE_STOP を返した場合に処理を抜けるようになってなかったのを修正しています。

[cac6fe9023] Koichi Sasada 2022-01-25 16:34:57 UTC

make test-all のテスト実行時のコマンドラインオプションに --stderr-on-failure というのを追加してテストのエラーを標準エラー出力に出すように指定できるようにしています。

[e953d68657] Koichi Sasada 2022-01-25 16:51:16 UTC

bootstraptest/runner.rb でもテスト結果のメッセージの出力先を --quiet オプションによって標準エラー出力から標準出力に切り替えるようにしています。

[cc8064ba2e] Koichi Sasada 2022-01-26 01:05:10 UTC

拡張ライブラリ fiddle の extconf.rb で libffi のバージョンを Kernel#warn で出力していたのを標準出力に出すように変更しています。

[c925d3b668] David Rodríguez 2022-01-24 11:04:11 UTC

bundler の force_ruby_platform という設定が効かなくなる場合があった不具合を修正しています。

[16e7585557] Nobuyoshi Nakada 2022-01-26 05:34:25 UTC

gc.c の Ractor ごとのオブジェクトの領域から slot を取得する ractor_cached_free_region() で Variable Width Allocation が有効な時に ASAN 用の unpoison の処理のサイズが間違っていたのを修正しています。

[4010cbfe35] Nobuyoshi Nakada 2022-01-26 06:56:22 UTC

configure.ac に直接シェルコマンドで pkg-config の実行をするように書かれていたところがあったのを AS_IF() を利用して呼ぶように修正しています。

[bffd6cbd97] Nobuyoshi Nakada 2022-01-26 09:23:51 UTC

configure で execv(2) の存在チェックをして HAVE_EXECV を定義するようにしています。 MinGW で存在するのに検出に失敗して代替実装が定義されて、その型が違うのでコンパイル時の警告が出ていたようです。