ruby-trunk-changes 2021-08-25

今日は Ractor 利用時の異常終了の不具合修正や typeprof のテストで bundled の rbs を利用するようにする変更などがありました。

[bbedd29b6e] Peter Zhu 2021-08-17 13:38:40 UTC

複数 Ractor 利用時に Ractor.yield で排他処理が足りてなかったようで GC 中に Ractor.yield を呼ぶと rb_bug() で異常終了することがあったという不具合の修正のため RB_VM_LOCK_ENTER_NO_BARRIER()/RB_VM_LOCK_LEAVE_NO_BARRIER() での排他処理を rb_objspace_reachable_objects_from() の呼び出し前後に追加しています。 [ruby-core:104976] [Bug #18117]

[14a9c364f7] Jeremy Evans 2021-08-24 15:34:48 UTC

48c8df9e0eb295af06d593ce37ce1933c0ee1d90 で追加した最適化 VM 命令の trace 対応のテストで未使用変数の警告を抑制するため代入を増やしています。

[716624660b] git 2021-08-24 15:36:23 UTC

version.h の日付更新

[b44741f5dc] Yusuke Endoh 2021-08-24 17:49:49 UTC

tool/test-bundled-gems.rb で typeprof.gem のテストの場合には RUBYLIB 環境変数で bundle されている rbs のパスを追加するようにしています。 gems/bundled_gems で typeprof のエントリ(行)を rbs の後になるよう順序を入れかえているのも必要なのかな?

[384c0f57aa] Hiroshi SHIBATA 2021-08-25 06:02:29 UTC

tool/sync_default_gems.rb で rdoc の動機処理の途中で生成ファイルを作るための bundle exec rake の実行前に bundle install を実行しておくようにしています。

[c4c0b60d92] Nobuyoshi Nakada 2021-08-25 09:28:27 UTC

win32/Makefile.sub に empty という空文字列の変数(マクロ)の定義を追加しています。6e60fc29453603270ebdf79f4b37ec6544a602ccGitHub Actions でのログ整形のために empty を参照する変更が追加されたけど定義がなかったようです。

[d1f0d1ca2e] Yuta Saito 2021-08-25 07:24:25 UTC

defs/gmake.mk に spec/%_spec.c と spec/%_spec.bundle というターゲットを追加しています。 rubyspec のテストをファイル指定でそのファイルだけ実行するターゲット spec/% と spec/%_spec.rb が以前追加されてましたが、コミットログによると macOS で --enable-shared をつけてビルドすると rubyspec の C API テスト用拡張ライブラリのソースコードが spec/%/ にマッチしてしまうらしくてその対策として明示的にマッチするターゲットを作っておいて実行コマンドを空にしておくようにしているようです。

[01be881f35] Yuta Saito 2021-08-25 08:50:49 UTC

d1f0d1ca2ea4d7418b096ce71f68ce2bb3afd2c4 でなにもしないコマンドとして $(NOOP) を置いてましたが $(empty) に修正しています。