今日は MJIT の複数 Ractor 対応の時の JIT 対象 ISeq の重複を防ぐ変更などがありました。
[f7741cda32] Jun Aruga 2021-06-07 15:36:59 UTC
Travis-CI を走らせるブランチが master と安定版ブランチのみにしていたのを、fork された(ruby/ruby 以外の)リポジトリの場合はどのブランチでも走るようにしています。Travis-CI って fork した repo でも動くんだっけ。fork 先のユーザーが設定してたら動くって感じかな。 [ruby-core:104164] [Bug #17936]
[fa340dd9f1] git 2021-06-09 15:17:15 UTC
version.h の日付更新
[8a46b480a7] Peter Zhu 2021-06-09 17:31:44 UTC
gc.c の gc_sweep_start_heap() の中の Ractor 毎のキャッシュクリアする処理を呼び元の gc_sweep_start() のほうに移動しています。他に呼び元はないので挙動に変更はないリファクタリングだと思います。
[c5e8a49bde] Takashi Kokubun 2021-06-10 07:32:15 UTC
MJIT で JIT コンパイル対象の ISeq を unit_queue に登録する時に mjit_recompile() 経由以外の時は複数 Ractor からの重複した挿入を避けるようにしています。
[474f79958b] Takashi Kokubun 2021-06-10 07:40:58 UTC
c5e8a49bdeadd8e424274c17c0d2a9ffed64417b の変更の続きで判定のために struct rb_iseq_constant_body::jit_func を参照する時に明示的なキャストを追加しています。 Windows での警告避けのためみたいです。
[d281fc525d] Takashi Kokubun 2021-06-10 07:53:26 UTC
common.mk の依存関係の更新をしています。