Skip to content

Commit 51f8067

Browse files
committed
JIT ARM64: Move property load into right place
1 parent e046ff4 commit 51f8067

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

ext/opcache/jit/zend_jit_arm64.dasc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12701,10 +12701,6 @@ static int zend_jit_incdec_obj(dasm_State **Dst,
1270112701
if (var_info & (MAY_BE_ANY - MAY_BE_LONG)) {
1270212702
| IF_NOT_ZVAL_TYPE var_addr, IS_LONG, >2, ZREG_TMP1
1270312703
}
12704-
if (Z_REG(var_addr) != ZREG_FCARG1 || Z_OFFSET(var_addr) != 0) {
12705-
var_addr = ZEND_ADDR_MEM_ZVAL(ZREG_FCARG1, 0);
12706-
| LOAD_ZVAL_ADDR FCARG1x, prop_addr
12707-
}
1270812704
if (opline->opcode == ZEND_POST_INC_OBJ || opline->opcode == ZEND_POST_DEC_OBJ) {
1270912705
if (opline->result_type != IS_UNUSED) {
1271012706
| ZVAL_COPY_VALUE res_addr, -1, var_addr, MAY_BE_LONG, ZREG_REG1, ZREG_REG2, ZREG_TMP1, ZREG_TMP2, ZREG_FPR0
@@ -12730,6 +12726,10 @@ static int zend_jit_incdec_obj(dasm_State **Dst,
1273012726
if (var_info & MAY_BE_LONG) {
1273112727
|2:
1273212728
}
12729+
if (Z_REG(var_addr) != ZREG_FCARG1 || Z_OFFSET(var_addr) != 0) {
12730+
var_addr = ZEND_ADDR_MEM_ZVAL(ZREG_FCARG1, 0);
12731+
| LOAD_ZVAL_ADDR FCARG1x, prop_addr
12732+
}
1273312733
if (opline->opcode == ZEND_POST_INC_OBJ || opline->opcode == ZEND_POST_DEC_OBJ) {
1273412734
| ZVAL_COPY_VALUE res_addr, -1, var_addr, MAY_BE_ANY, ZREG_REG0, ZREG_REG2, ZREG_TMP1, ZREG_TMP2, ZREG_FPR0
1273512735
| TRY_ADDREF MAY_BE_ANY, REG0w, REG2, TMP1w

0 commit comments

Comments
 (0)