diff --git a/vm.c b/vm.c index cd6e3e0b5c..f67bd30bdd 100644 --- a/vm.c +++ b/vm.c @@ -2336,7 +2336,9 @@ vm_exec_bottom_main(void *context) struct rb_vm_exec_context *ctx = (struct rb_vm_exec_context *)context; ctx->state = TAG_NONE; - ctx->result = vm_exec_core(ctx->ec); + if (UNDEF_P(ctx->result = jit_exec(ctx->ec))) { + ctx->result = vm_exec_core(ctx->ec); + } vm_exec_enter_vm_loop(ctx->ec, ctx, ctx->tag, true); }