@@ -3,7 +3,7 @@ use std::fmt;
33use std:: mem:: take;
44use std:: rc:: Rc ;
55use crate :: bitset:: BitSet ;
6- use crate :: codegen:: { local_size_and_idx_to_ep_offset , perf_symbol_range_start, perf_symbol_range_end} ;
6+ use crate :: codegen:: { perf_symbol_range_start, perf_symbol_range_end} ;
77use crate :: cruby:: { IseqPtr , Qundef , RUBY_OFFSET_CFP_ISEQ , RUBY_OFFSET_CFP_JIT_RETURN , RUBY_OFFSET_CFP_PC , RUBY_OFFSET_CFP_SP , SIZEOF_VALUE_I32 , vm_stack_canary} ;
88use crate :: hir:: { Invariant , SideExitReason } ;
99use crate :: hir;
@@ -2621,7 +2621,7 @@ impl Assembler
26212621 pub fn compile_exits ( & mut self ) -> Vec < Insn > {
26222622 /// Restore VM state (cfp->pc, cfp->sp, stack, locals) for the side exit.
26232623 fn compile_exit_save_state ( asm : & mut Assembler , exit : & SideExit ) {
2624- let SideExit { pc, stack, locals , iseq, .. } = exit;
2624+ let SideExit { pc, stack, iseq, .. } = exit;
26252625
26262626 // Side exit blocks are not part of the CFG at the moment,
26272627 // so we need to manually ensure that patchpoints get padded
@@ -2646,12 +2646,12 @@ impl Assembler
26462646 }
26472647 }
26482648
2649- if !locals. is_empty ( ) {
2650- asm_comment ! ( asm, "write locals: {}" , join_opnds( & locals, ", " ) ) ;
2651- for ( idx, & opnd) in locals. iter ( ) . enumerate ( ) {
2652- asm. store ( Opnd :: mem ( 64 , SP , ( -local_size_and_idx_to_ep_offset ( locals. len ( ) , idx) - 1 ) * SIZEOF_VALUE_I32 ) , opnd) ;
2653- }
2654- }
2649+ // if !locals.is_empty() {
2650+ // asm_comment!(asm, "write locals: {}", join_opnds(&locals, ", "));
2651+ // for (idx, &opnd) in locals.iter().enumerate() {
2652+ // asm.store(Opnd::mem(64, SP, (-local_size_and_idx_to_ep_offset(locals.len(), idx) - 1) * SIZEOF_VALUE_I32), opnd);
2653+ // }
2654+ // }
26552655 }
26562656
26572657 /// Tear down the JIT frame and return to the interpreter.
0 commit comments