@@ -2209,7 +2209,7 @@ static zend_ssa *zend_jit_trace_build_tssa(zend_jit_trace_rec *trace_buffer, uin
2209
2209
assert (0 );
2210
2210
}
2211
2211
if (opline -> opcode == ZEND_ASSIGN_DIM_OP
2212
- && ssa_ops [idx ].op1_def > 0
2212
+ && ssa_ops [idx ].op1_def >= 0
2213
2213
&& op1_type == IS_ARRAY
2214
2214
&& (orig_op1_type & IS_TRACE_PACKED )
2215
2215
&& val_type != IS_UNKNOWN
@@ -5037,7 +5037,7 @@ static const void *zend_jit_trace(zend_jit_trace_rec *trace_buffer, uint32_t par
5037
5037
zend_may_throw_ex (opline , ssa_op , op_array , ssa , op1_info , op2_info ))) {
5038
5038
goto jit_failure ;
5039
5039
}
5040
- if (ssa_op -> op2_def > 0
5040
+ if (ssa_op -> op2_def >= 0
5041
5041
&& Z_MODE (op2_addr ) == IS_REG
5042
5042
&& ssa -> vars [ssa_op -> op2_def ].no_val ) {
5043
5043
uint8_t type = (op2_info & MAY_BE_LONG ) ? IS_LONG : IS_DOUBLE ;
@@ -5087,7 +5087,7 @@ static const void *zend_jit_trace(zend_jit_trace_rec *trace_buffer, uint32_t par
5087
5087
res_use_info , res_info , res_addr )) {
5088
5088
goto jit_failure ;
5089
5089
}
5090
- if (ssa_op -> op1_def > 0
5090
+ if (ssa_op -> op1_def >= 0
5091
5091
&& Z_MODE (op1_addr ) == IS_REG
5092
5092
&& ssa -> vars [ssa_op -> op1_def ].no_val ) {
5093
5093
uint8_t type = (op1_info & MAY_BE_LONG ) ? IS_LONG : IS_DOUBLE ;
@@ -5184,7 +5184,7 @@ static const void *zend_jit_trace(zend_jit_trace_rec *trace_buffer, uint32_t par
5184
5184
op1_info , op1_addr , op1_def_addr )) {
5185
5185
goto jit_failure ;
5186
5186
}
5187
- if (ssa_op -> op1_def > 0
5187
+ if (ssa_op -> op1_def >= 0
5188
5188
&& Z_MODE (op1_addr ) == IS_REG
5189
5189
&& ssa -> vars [ssa_op -> op1_def ].no_val ) {
5190
5190
uint8_t type = (op1_info & MAY_BE_LONG ) ? IS_LONG : IS_DOUBLE ;
@@ -5734,7 +5734,7 @@ static const void *zend_jit_trace(zend_jit_trace_rec *trace_buffer, uint32_t par
5734
5734
op1_info , op1_addr , op2_info , RES_REG_ADDR (), val_type )) {
5735
5735
goto jit_failure ;
5736
5736
}
5737
- if (ssa_op -> result_def > 0
5737
+ if (ssa_op -> result_def >= 0
5738
5738
&& (opline -> opcode == ZEND_FETCH_DIM_W || opline -> opcode == ZEND_FETCH_LIST_W )
5739
5739
&& !(op1_info & (MAY_BE_FALSE |MAY_BE_TRUE |MAY_BE_LONG |MAY_BE_DOUBLE |MAY_BE_STRING |MAY_BE_OBJECT |MAY_BE_RESOURCE |MAY_BE_REF ))
5740
5740
&& !(op2_info & (MAY_BE_UNDEF |MAY_BE_RESOURCE |MAY_BE_ARRAY |MAY_BE_OBJECT ))) {
0 commit comments