diff options
author | Takashi Kokubun <takashikkbn@gmail.com> | 2022-09-06 11:43:46 +0900 |
---|---|---|
committer | Takashi Kokubun <takashikkbn@gmail.com> | 2022-09-06 15:42:02 +0900 |
commit | f6925fab853ffc1872038f33d93e4e5c5379b4db (patch) | |
tree | a0dc7ae8b69a6b7092c4394344d3d68d2e354f10 /vm.c | |
parent | f4dbfa0f04448386a662611682adf6b2219089a4 (diff) |
Do not fork the process on --mjit-wait
fork is for parallel compilation, but --mjit-wait cancels it.
It's more useful to not fork it for binding.irb, debugging, etc.
Diffstat (limited to 'vm.c')
-rw-r--r-- | vm.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -393,8 +393,8 @@ mjit_check_iseq(rb_execution_context_t *ec, const rb_iseq_t *iseq, struct rb_ise RB_DEBUG_COUNTER_INC(mjit_exec_not_added); if (body->total_calls == mjit_opts.min_calls) { rb_mjit_add_iseq_to_process(iseq); - if (UNLIKELY(mjit_opts.wait)) { - return rb_mjit_wait_call(ec, body); + if (UNLIKELY(mjit_opts.wait && (uintptr_t)body->jit_func > LAST_JIT_ISEQ_FUNC)) { + return body->jit_func(ec, ec->cfp); } } break; |