ruby-changes:67139
From: Takashi <ko1@a...>
Date: Fri, 13 Aug 2021 15:15:49 +0900 (JST)
Subject: [ruby-changes:67139] b64f81c817 (master): Pause an MJIT worker when JIT is cancelled
https://git.ruby-lang.org/ruby.git/commit/?id=b64f81c817 From b64f81c81729bbc248d19af01cafde88eb60fdc7 Mon Sep 17 00:00:00 2001 From: Takashi Kokubun <takashikkbn@g...> Date: Thu, 12 Aug 2021 23:15:34 -0700 Subject: Pause an MJIT worker when JIT is cancelled --- NEWS.md | 2 ++ mjit.c | 3 +++ 2 files changed, 5 insertions(+) diff --git a/NEWS.md b/NEWS.md index 85f49d4..6b78cec 100644 --- a/NEWS.md +++ b/NEWS.md @@ -179,6 +179,8 @@ Excluding feature bug fixes. https://github.com/ruby/ruby/blob/trunk/NEWS.md#L179 * `--jit-verbose` and `--jit-warning` output "JIT cancel" when JIT-ed code is disabled because TracePoint or GC.compact is used. +* Pause an MJIT worker when JIT-ed code gets disabled. + * `RubyVM::MJIT` is renamed to `RubyVM::JIT`. [[Feature #17490]] ## Static analysis diff --git a/mjit.c b/mjit.c index 57f2847..1f90ac0 100644 --- a/mjit.c +++ b/mjit.c @@ -91,6 +91,9 @@ mjit_cancel_all(const char *reason) https://github.com/ruby/ruby/blob/trunk/mjit.c#L91 if (mjit_opts.warnings || mjit_opts.verbose) { fprintf(stderr, "JIT cancel: Disabled JIT-ed code because %s\n", reason); } + + // Currently we never re-enable JIT calls. Thus we don't need to run JIT anymore. + mjit_pause(false); } // Deal with ISeq movement from compactor -- cgit v1.1 -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/