@@ -2249,33 +2249,10 @@ impl Function {
22492249 if 0 != ci_flags & VM_CALL_FORWARDING { self . push_insn ( block, Insn :: IncrCounter ( complex_arg_pass_caller_forwarding) ) ; }
22502250 }
22512251
2252- fn try_rewrite_fixnum_op ( & mut self , block : BlockId , orig_insn_id : InsnId , f : & dyn Fn ( InsnId , InsnId ) -> Insn , bop : u32 , left : InsnId , right : InsnId , state : InsnId ) {
2253- if !unsafe { rb_BASIC_OP_UNREDEFINED_P ( bop, INTEGER_REDEFINED_OP_FLAG ) } {
2254- // If the basic operation is already redefined, we cannot optimize it.
2255- self . set_dynamic_send_reason ( orig_insn_id, SendWithoutBlockBopRedefined ) ;
2256- self . push_insn_id ( block, orig_insn_id) ;
2257- return ;
2258- }
2259- if self . likely_a ( left, types:: Fixnum , state) && self . likely_a ( right, types:: Fixnum , state) {
2260- if bop == BOP_NEQ {
2261- // For opt_neq, the interpreter checks that both neq and eq are unchanged.
2262- self . push_insn ( block, Insn :: PatchPoint { invariant : Invariant :: BOPRedefined { klass : INTEGER_REDEFINED_OP_FLAG , bop : BOP_EQ } , state } ) ;
2263- }
2264- self . push_insn ( block, Insn :: PatchPoint { invariant : Invariant :: BOPRedefined { klass : INTEGER_REDEFINED_OP_FLAG , bop } , state } ) ;
2265- let left = self . coerce_to ( block, left, types:: Fixnum , state) ;
2266- let right = self . coerce_to ( block, right, types:: Fixnum , state) ;
2267- let result = self . push_insn ( block, f ( left, right) ) ;
2268- self . make_equal_to ( orig_insn_id, result) ;
2269- self . insn_types [ result. 0 ] = self . infer_type ( result) ;
2270- } else {
2271- self . set_dynamic_send_reason ( orig_insn_id, SendWithoutBlockOperandsNotFixnum ) ;
2272- self . push_insn_id ( block, orig_insn_id) ;
2273- }
2274- }
2275-
22762252 fn rewrite_if_frozen ( & mut self , block : BlockId , orig_insn_id : InsnId , self_val : InsnId , klass : u32 , bop : u32 , state : InsnId ) {
22772253 if !unsafe { rb_BASIC_OP_UNREDEFINED_P ( bop, klass) } {
22782254 // If the basic operation is already redefined, we cannot optimize it.
2255+ self . set_dynamic_send_reason ( orig_insn_id, SendWithoutBlockBopRedefined ) ;
22792256 self . push_insn_id ( block, orig_insn_id) ;
22802257 return ;
22812258 }
0 commit comments