@@ -10468,7 +10468,7 @@ static int zend_jit_fetch_obj_read(dasm_State **Dst, const zend_op *opline, cons
10468
10468
zval *member;
10469
10469
uint32_t offset;
10470
10470
zend_bool may_be_dynamic = 1;
10471
- zend_jit_addr op1_addr = 0;
10471
+ zend_jit_addr op1_addr = 0, orig_op1_addr = 0 ;
10472
10472
zend_jit_addr res_addr = ZEND_ADDR_MEM_ZVAL(ZREG_FP, opline->result.var);
10473
10473
zend_jit_addr this_addr = ZEND_ADDR_MEM_ZVAL(ZREG_FP, offsetof(zend_execute_data, This));
10474
10474
zend_jit_addr prop_addr;
@@ -10483,7 +10483,7 @@ static int zend_jit_fetch_obj_read(dasm_State **Dst, const zend_op *opline, cons
10483
10483
if (opline->op1_type == IS_UNUSED) {
10484
10484
| GET_ZVAL_PTR FCARG1a, this_addr
10485
10485
} else {
10486
- op1_addr = OP1_ADDR();
10486
+ op1_addr = orig_op1_addr = OP1_ADDR();
10487
10487
if (op1_info & MAY_BE_REF) {
10488
10488
| LOAD_ZVAL_ADDR r0, op1_addr
10489
10489
| ZVAL_DEREF r0, op1_info
@@ -10590,7 +10590,7 @@ static int zend_jit_fetch_obj_read(dasm_State **Dst, const zend_op *opline, cons
10590
10590
| EXT_CALL zend_jit_undefined_op_helper, r0
10591
10591
|1:
10592
10592
}
10593
- | LOAD_ZVAL_ADDR FCARG1a, op1_addr
10593
+ | LOAD_ZVAL_ADDR FCARG1a, orig_op1_addr
10594
10594
| LOAD_ADDR FCARG2a, Z_STRVAL_P(member)
10595
10595
| EXT_CALL zend_jit_invalid_property_read, r0
10596
10596
}
0 commit comments