File tree 1 file changed +12
-3
lines changed
1 file changed +12
-3
lines changed Original file line number Diff line number Diff line change @@ -2006,9 +2006,18 @@ static zend_lifetime_interval** zend_jit_trace_allocate_registers(zend_jit_trace
2006
2006
&& (ssa -> vars [ssa_op -> result_def ].use_chain >= 0
2007
2007
|| ssa -> vars [ssa_op -> result_def ].phi_use_chain )
2008
2008
&& zend_jit_var_supports_reg (ssa , ssa_op -> result_def )) {
2009
- start [ssa_op -> result_def ] = idx ;
2010
- vars_op_array [ssa_op -> result_def ] = op_array ;
2011
- count ++ ;
2009
+ if (!(ssa -> var_info [ssa_op -> result_def ].type & MAY_BE_GUARD )
2010
+ || opline -> opcode == ZEND_PRE_INC
2011
+ || opline -> opcode == ZEND_PRE_DEC
2012
+ || opline -> opcode == ZEND_POST_INC
2013
+ || opline -> opcode == ZEND_POST_DEC
2014
+ || opline -> opcode == ZEND_ADD
2015
+ || opline -> opcode == ZEND_SUB
2016
+ || opline -> opcode == ZEND_MUL ) {
2017
+ start [ssa_op -> result_def ] = idx ;
2018
+ vars_op_array [ssa_op -> result_def ] = op_array ;
2019
+ count ++ ;
2020
+ }
2012
2021
}
2013
2022
if (ssa_op -> op1_def >= 0
2014
2023
&& (ssa -> vars [ssa_op -> op1_def ].use_chain >= 0
You can’t perform that action at this time.
0 commit comments