diff options
author | Alan Wu <[email protected]> | 2021-03-17 19:07:20 -0400 |
---|---|---|
committer | Alan Wu <[email protected]> | 2021-10-20 18:19:32 -0400 |
commit | ec1cbbb07d00828e6265074ca4977a8dae6b8b29 (patch) | |
tree | cbc4a1cb075eb4e237dd3039c42d1b9a159d82ce /yjit_codegen.c | |
parent | 0cd9120f177b153126a093e4beabb5784cd0ab99 (diff) |
Get rid of dependency on rb_call_cache
Diffstat (limited to 'yjit_codegen.c')
-rw-r--r-- | yjit_codegen.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/yjit_codegen.c b/yjit_codegen.c index e1d27c5b45..bd3ab5543c 100644 --- a/yjit_codegen.c +++ b/yjit_codegen.c @@ -1399,7 +1399,7 @@ gen_oswb_cfunc(jitstate_t* jit, ctx_t* ctx, struct rb_call_data * cd, const rb_c x86opnd_t klass_opnd = mem_opnd(64, REG0, offsetof(struct RBasic, klass)); // FIXME: This leaks when st_insert raises NoMemoryError - assume_method_lookup_stable(cd->cc, cme, jit->block); + assume_method_lookup_stable(cd->cc->klass, cme, jit->block); // Bail if receiver class is different from compile-time call cache class jit_mov_gc_ptr(jit, cb, REG1, (VALUE)cd->cc->klass); @@ -1632,7 +1632,7 @@ gen_oswb_iseq(jitstate_t* jit, ctx_t* ctx, struct rb_call_data * cd, const rb_ca // Pointer to the klass field of the receiver &(recv->klass) x86opnd_t klass_opnd = mem_opnd(64, REG0, offsetof(struct RBasic, klass)); - assume_method_lookup_stable(cd->cc, cme, jit->block); + assume_method_lookup_stable(cd->cc->klass, cme, jit->block); // Bail if receiver class is different from compile-time call cache class jit_mov_gc_ptr(jit, cb, REG1, (VALUE)cd->cc->klass); |