summaryrefslogtreecommitdiff
path: root/yjit/src/codegen.rs
diff options
context:
space:
mode:
authorTakashi Kokubun <[email protected]>2025-05-12 09:03:46 -0700
committer<[email protected]>2025-05-12 09:03:46 -0700
commit53a27f114afafcdfea1a6066d01c12e4dc295657 ()
tree8874c7dfa9f678ac654446f9e8a3e8d23f58d43b /yjit/src/codegen.rs
parent0b6cee73295099ce095d3a17c1d00ad8c1907b82 (diff)
YJIT: Split the block on optimized getlocal/setlocal (#13282)
Notes: Merged-By: k0kubun <[email protected]>
-rw-r--r--yjit/src/codegen.rs10
1 files changed, 10 insertions, 0 deletions
@@ -2445,6 +2445,11 @@ fn gen_getlocal_generic(
ep_offset: u32,
level: u32,
) -> Option<CodegenStatus> {
let local_opnd = if level == 0 && jit.assume_no_ep_escape(asm) {
// Load the local using SP register
asm.local_opnd(ep_offset)
@@ -2535,6 +2540,11 @@ fn gen_setlocal_generic(
return Some(KeepCompiling);
}
let (flags_opnd, local_opnd) = if level == 0 && jit.assume_no_ep_escape(asm) {
// Load flags and the local using SP register
let flags_opnd = asm.ctx.ep_opnd(VM_ENV_DATA_INDEX_FLAGS as i32);