@@ -2277,7 +2277,7 @@ static zend_ssa *zend_jit_trace_build_tssa(zend_jit_trace_rec *trace_buffer, uin
22772277 assert (0 );
22782278 }
22792279 if (opline -> opcode == ZEND_ASSIGN_DIM_OP
2280- && ssa_ops [idx ].op1_def > 0
2280+ && ssa_ops [idx ].op1_def >= 0
22812281 && op1_type == IS_ARRAY
22822282 && (orig_op1_type & IS_TRACE_PACKED )
22832283 && val_type != IS_UNKNOWN
@@ -5096,7 +5096,7 @@ static const void *zend_jit_trace(zend_jit_trace_rec *trace_buffer, uint32_t par
50965096 zend_may_throw_ex (opline , ssa_op , op_array , ssa , op1_info , op2_info ))) {
50975097 goto jit_failure ;
50985098 }
5099- if (ssa_op -> op2_def > 0
5099+ if (ssa_op -> op2_def >= 0
51005100 && Z_MODE (op2_addr ) == IS_REG
51015101 && ssa -> vars [ssa_op -> op2_def ].no_val ) {
51025102 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
51495149 res_use_info , res_info , res_addr )) {
51505150 goto jit_failure ;
51515151 }
5152- if (ssa_op -> op1_def > 0
5152+ if (ssa_op -> op1_def >= 0
51535153 && Z_MODE (op1_addr ) == IS_REG
51545154 && ssa -> vars [ssa_op -> op1_def ].no_val ) {
51555155 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
52465246 op1_info , op1_addr , op1_def_addr )) {
52475247 goto jit_failure ;
52485248 }
5249- if (ssa_op -> op1_def > 0
5249+ if (ssa_op -> op1_def >= 0
52505250 && Z_MODE (op1_addr ) == IS_REG
52515251 && ssa -> vars [ssa_op -> op1_def ].no_val ) {
52525252 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
58265826 RES_REG_ADDR (), val_type )) {
58275827 goto jit_failure ;
58285828 }
5829- if (ssa_op -> result_def > 0
5829+ if (ssa_op -> result_def >= 0
58305830 && (opline -> opcode == ZEND_FETCH_DIM_W || opline -> opcode == ZEND_FETCH_LIST_W )
58315831 && !(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 ))
58325832 && !(op2_info & (MAY_BE_UNDEF |MAY_BE_RESOURCE |MAY_BE_ARRAY |MAY_BE_OBJECT ))) {
0 commit comments