summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mjit.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/mjit.c b/mjit.c
index 4842616357..8d2e009c79 100644
--- a/mjit.c
+++ b/mjit.c
@@ -380,6 +380,8 @@ uint8_t *rb_mjit_mem_block = NULL;
void
rb_mjit_compile(const rb_iseq_t *iseq)
{
+ RB_VM_LOCK_ENTER();
+ rb_vm_barrier();
bool original_call_p = mjit_call_p;
mjit_call_p = false; // Avoid impacting JIT metrics by itself
@@ -387,6 +389,7 @@ rb_mjit_compile(const rb_iseq_t *iseq)
rb_funcall(rb_MJITCompiler, rb_intern("call"), 1, iseq_ptr);
mjit_call_p = original_call_p;
+ RB_VM_LOCK_LEAVE();
}
void