@@ -2205,7 +2205,7 @@ static zend_ssa *zend_jit_trace_build_tssa(zend_jit_trace_rec *trace_buffer, uin
22052205 assert (0 );
22062206 }
22072207 if (opline -> opcode == ZEND_ASSIGN_DIM_OP
2208- && ssa_ops [idx ].op1_def > 0
2208+ && ssa_ops [idx ].op1_def >= 0
22092209 && op1_type == IS_ARRAY
22102210 && (orig_op1_type & IS_TRACE_PACKED )
22112211 && val_type != IS_UNKNOWN
@@ -5033,7 +5033,7 @@ static const void *zend_jit_trace(zend_jit_trace_rec *trace_buffer, uint32_t par
50335033 zend_may_throw_ex (opline , ssa_op , op_array , ssa , op1_info , op2_info ))) {
50345034 goto jit_failure ;
50355035 }
5036- if (ssa_op -> op2_def > 0
5036+ if (ssa_op -> op2_def >= 0
50375037 && Z_MODE (op2_addr ) == IS_REG
50385038 && ssa -> vars [ssa_op -> op2_def ].no_val ) {
50395039 uint8_t type = (op2_info & MAY_BE_LONG ) ? IS_LONG : IS_DOUBLE ;
@@ -5083,7 +5083,7 @@ static const void *zend_jit_trace(zend_jit_trace_rec *trace_buffer, uint32_t par
50835083 res_use_info , res_info , res_addr )) {
50845084 goto jit_failure ;
50855085 }
5086- if (ssa_op -> op1_def > 0
5086+ if (ssa_op -> op1_def >= 0
50875087 && Z_MODE (op1_addr ) == IS_REG
50885088 && ssa -> vars [ssa_op -> op1_def ].no_val ) {
50895089 uint8_t type = (op1_info & MAY_BE_LONG ) ? IS_LONG : IS_DOUBLE ;
@@ -5180,7 +5180,7 @@ static const void *zend_jit_trace(zend_jit_trace_rec *trace_buffer, uint32_t par
51805180 op1_info , op1_addr , op1_def_addr )) {
51815181 goto jit_failure ;
51825182 }
5183- if (ssa_op -> op1_def > 0
5183+ if (ssa_op -> op1_def >= 0
51845184 && Z_MODE (op1_addr ) == IS_REG
51855185 && ssa -> vars [ssa_op -> op1_def ].no_val ) {
51865186 uint8_t type = (op1_info & MAY_BE_LONG ) ? IS_LONG : IS_DOUBLE ;
@@ -5730,7 +5730,7 @@ static const void *zend_jit_trace(zend_jit_trace_rec *trace_buffer, uint32_t par
57305730 op1_info , op1_addr , op2_info , RES_REG_ADDR (), val_type )) {
57315731 goto jit_failure ;
57325732 }
5733- if (ssa_op -> result_def > 0
5733+ if (ssa_op -> result_def >= 0
57345734 && (opline -> opcode == ZEND_FETCH_DIM_W || opline -> opcode == ZEND_FETCH_LIST_W )
57355735 && !(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 ))
57365736 && !(op2_info & (MAY_BE_UNDEF |MAY_BE_RESOURCE |MAY_BE_ARRAY |MAY_BE_OBJECT ))) {
0 commit comments