diff options
-rw-r--r-- | yjit_codegen.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/yjit_codegen.c b/yjit_codegen.c index 80270e64d4..1dcd26843d 100644 --- a/yjit_codegen.c +++ b/yjit_codegen.c @@ -4119,6 +4119,9 @@ rb_vm_get_cref(const VALUE *ep); static codegen_status_t gen_getclassvariable(jitstate_t* jit, ctx_t* ctx, codeblock_t* cb) { + // rb_vm_getclassvariable can raise exceptions. + jit_prepare_routine_call(jit, ctx, REG0); + mov(cb, C_ARG_REGS[0], member_opnd(REG_CFP, rb_control_frame_t, ep)); call_ptr(cb, REG0, (void *)rb_vm_get_cref); |