mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
Don't store cfp->pc when doing iseq calls
We set it before calling routines and when we are exiting.
This commit is contained in:
parent
1f6641681b
commit
a71590e681
1 changed files with 5 additions and 5 deletions
|
@ -3286,9 +3286,6 @@ gen_send_iseq(jitstate_t *jit, ctx_t *ctx, const struct rb_callinfo *ci, const r
|
||||||
return YJIT_CANT_COMPILE;
|
return YJIT_CANT_COMPILE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// The starting pc of the callee frame
|
|
||||||
const VALUE *start_pc = &iseq->body->iseq_encoded[start_pc_offset];
|
|
||||||
|
|
||||||
// Number of locals that are not parameters
|
// Number of locals that are not parameters
|
||||||
const int num_locals = iseq->body->local_table_size - num_params;
|
const int num_locals = iseq->body->local_table_size - num_params;
|
||||||
|
|
||||||
|
@ -3405,8 +3402,11 @@ gen_send_iseq(jitstate_t *jit, ctx_t *ctx, const struct rb_callinfo *ci, const r
|
||||||
mov(cb, member_opnd(REG_CFP, rb_control_frame_t, self), REG0);
|
mov(cb, member_opnd(REG_CFP, rb_control_frame_t, self), REG0);
|
||||||
jit_mov_gc_ptr(jit, cb, REG0, (VALUE)iseq);
|
jit_mov_gc_ptr(jit, cb, REG0, (VALUE)iseq);
|
||||||
mov(cb, member_opnd(REG_CFP, rb_control_frame_t, iseq), REG0);
|
mov(cb, member_opnd(REG_CFP, rb_control_frame_t, iseq), REG0);
|
||||||
mov(cb, REG0, const_ptr_opnd(start_pc));
|
|
||||||
mov(cb, member_opnd(REG_CFP, rb_control_frame_t, pc), REG0);
|
// No need to set cfp->pc since the callee sets it whenever calling into routines
|
||||||
|
// that could look at it through jit_save_pc().
|
||||||
|
// mov(cb, REG0, const_ptr_opnd(start_pc));
|
||||||
|
// mov(cb, member_opnd(REG_CFP, rb_control_frame_t, pc), REG0);
|
||||||
|
|
||||||
// Stub so we can return to JITted code
|
// Stub so we can return to JITted code
|
||||||
blockid_t return_block = { jit->iseq, jit_next_insn_idx(jit) };
|
blockid_t return_block = { jit->iseq, jit_next_insn_idx(jit) };
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue