@@ -12799,19 +12799,21 @@ static int zend_jit_assign_dim(zend_jit_ctx *jit, const zend_op *opline, uint32_
12799
12799
var_info |= MAY_BE_RC1;
12800
12800
}
12801
12801
12802
- ir_MERGE_N(found_inputs->count, found_inputs->refs);
12803
- ref = ir_PHI_N(IR_ADDR, found_values->count, found_values->refs);
12804
- var_addr = ZEND_ADDR_REF_ZVAL(ref);
12802
+ if (found_inputs->count) {
12803
+ ir_MERGE_N(found_inputs->count, found_inputs->refs);
12804
+ ref = ir_PHI_N(IR_ADDR, found_values->count, found_values->refs);
12805
+ var_addr = ZEND_ADDR_REF_ZVAL(ref);
12805
12806
12806
- // JIT: value = zend_assign_to_variable(variable_ptr, value, OP_DATA_TYPE);
12807
- if (opline->op1_type == IS_VAR) {
12808
- ZEND_ASSERT(opline->result_type == IS_UNUSED);
12809
- if (!zend_jit_assign_to_variable_call(jit, opline, var_addr, var_addr, var_info, -1, (opline+1)->op1_type, op3_addr, val_info, res_addr, 0)) {
12810
- return 0;
12811
- }
12812
- } else {
12813
- if (!zend_jit_assign_to_variable(jit, opline, var_addr, var_addr, var_info, -1, (opline+1)->op1_type, op3_addr, val_info, res_addr, 0, 0)) {
12814
- return 0;
12807
+ // JIT: value = zend_assign_to_variable(variable_ptr, value, OP_DATA_TYPE);
12808
+ if (opline->op1_type == IS_VAR) {
12809
+ ZEND_ASSERT(opline->result_type == IS_UNUSED);
12810
+ if (!zend_jit_assign_to_variable_call(jit, opline, var_addr, var_addr, var_info, -1, (opline+1)->op1_type, op3_addr, val_info, res_addr, 0)) {
12811
+ return 0;
12812
+ }
12813
+ } else {
12814
+ if (!zend_jit_assign_to_variable(jit, opline, var_addr, var_addr, var_info, -1, (opline+1)->op1_type, op3_addr, val_info, res_addr, 0, 0)) {
12815
+ return 0;
12816
+ }
12815
12817
}
12816
12818
}
12817
12819
}
0 commit comments