aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTakashi Kokubun <takashikkbn@gmail.com>2023-04-04 22:05:45 -0700
committerTakashi Kokubun <takashikkbn@gmail.com>2023-04-04 22:05:45 -0700
commit6d8875b5d7f8dc4a6435e6fd10c73a1b42541fab (patch)
treed2854d6dbbc96dc4a62f45a86d91765059b82d35
parentf79912ea78d0b28f8efe3ed4eac185d477930bc7 (diff)
downloadruby-6d8875b5d7f8dc4a6435e6fd10c73a1b42541fab.tar.gz
RJIT: Fix mapping offsets in stack_swap
-rw-r--r--lib/ruby_vm/rjit/insn_compiler.rb8
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/ruby_vm/rjit/insn_compiler.rb b/lib/ruby_vm/rjit/insn_compiler.rb
index 97ccc8bbcc..6bb802150a 100644
--- a/lib/ruby_vm/rjit/insn_compiler.rb
+++ b/lib/ruby_vm/rjit/insn_compiler.rb
@@ -3346,16 +3346,16 @@ module RubyVM::RJIT
stack0_mem = ctx.stack_opnd(offset0)
stack1_mem = ctx.stack_opnd(offset1)
- mapping0 = ctx.get_opnd_mapping(StackOpnd[0])
- mapping1 = ctx.get_opnd_mapping(StackOpnd[1])
+ mapping0 = ctx.get_opnd_mapping(StackOpnd[offset0])
+ mapping1 = ctx.get_opnd_mapping(StackOpnd[offset1])
asm.mov(:rax, stack0_mem)
asm.mov(:rcx, stack1_mem)
asm.mov(stack0_mem, :rcx)
asm.mov(stack1_mem, :rax)
- ctx.set_opnd_mapping(StackOpnd[0], mapping1);
- ctx.set_opnd_mapping(StackOpnd[1], mapping0);
+ ctx.set_opnd_mapping(StackOpnd[offset0], mapping1)
+ ctx.set_opnd_mapping(StackOpnd[offset1], mapping0)
end
def jit_getlocal_generic(jit, ctx, asm, idx:, level:)