@@ -2277,7 +2277,7 @@ static zend_ssa *zend_jit_trace_build_tssa(zend_jit_trace_rec *trace_buffer, uin
2277
2277
assert (0 );
2278
2278
}
2279
2279
if (opline -> opcode == ZEND_ASSIGN_DIM_OP
2280
- && ssa_ops [idx ].op1_def > 0
2280
+ && ssa_ops [idx ].op1_def >= 0
2281
2281
&& op1_type == IS_ARRAY
2282
2282
&& (orig_op1_type & IS_TRACE_PACKED )
2283
2283
&& val_type != IS_UNKNOWN
@@ -5096,7 +5096,7 @@ static const void *zend_jit_trace(zend_jit_trace_rec *trace_buffer, uint32_t par
5096
5096
zend_may_throw_ex (opline , ssa_op , op_array , ssa , op1_info , op2_info ))) {
5097
5097
goto jit_failure ;
5098
5098
}
5099
- if (ssa_op -> op2_def > 0
5099
+ if (ssa_op -> op2_def >= 0
5100
5100
&& Z_MODE (op2_addr ) == IS_REG
5101
5101
&& ssa -> vars [ssa_op -> op2_def ].no_val ) {
5102
5102
uint8_t type = (op2_info & MAY_BE_LONG ) ? IS_LONG : IS_DOUBLE ;
@@ -5149,7 +5149,7 @@ static const void *zend_jit_trace(zend_jit_trace_rec *trace_buffer, uint32_t par
5149
5149
res_use_info , res_info , res_addr )) {
5150
5150
goto jit_failure ;
5151
5151
}
5152
- if (ssa_op -> op1_def > 0
5152
+ if (ssa_op -> op1_def >= 0
5153
5153
&& Z_MODE (op1_addr ) == IS_REG
5154
5154
&& ssa -> vars [ssa_op -> op1_def ].no_val ) {
5155
5155
uint8_t type = (op1_info & MAY_BE_LONG ) ? IS_LONG : IS_DOUBLE ;
@@ -5246,7 +5246,7 @@ static const void *zend_jit_trace(zend_jit_trace_rec *trace_buffer, uint32_t par
5246
5246
op1_info , op1_addr , op1_def_addr )) {
5247
5247
goto jit_failure ;
5248
5248
}
5249
- if (ssa_op -> op1_def > 0
5249
+ if (ssa_op -> op1_def >= 0
5250
5250
&& Z_MODE (op1_addr ) == IS_REG
5251
5251
&& ssa -> vars [ssa_op -> op1_def ].no_val ) {
5252
5252
uint8_t type = (op1_info & MAY_BE_LONG ) ? IS_LONG : IS_DOUBLE ;
@@ -5826,7 +5826,7 @@ static const void *zend_jit_trace(zend_jit_trace_rec *trace_buffer, uint32_t par
5826
5826
RES_REG_ADDR (), val_type )) {
5827
5827
goto jit_failure ;
5828
5828
}
5829
- if (ssa_op -> result_def > 0
5829
+ if (ssa_op -> result_def >= 0
5830
5830
&& (opline -> opcode == ZEND_FETCH_DIM_W || opline -> opcode == ZEND_FETCH_LIST_W )
5831
5831
&& !(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 ))
5832
5832
&& !(op2_info & (MAY_BE_UNDEF |MAY_BE_RESOURCE |MAY_BE_ARRAY |MAY_BE_OBJECT ))) {
0 commit comments