Skip to content

Commit 28cca5d

Browse files
committed
JIT: Fixed incorrect FETCH_OBJ_W code for typed property (ARM64 part)
1 parent afeadc6 commit 28cca5d

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

ext/opcache/jit/zend_jit_arm64.dasc

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12147,7 +12147,11 @@ static int zend_jit_fetch_obj(dasm_State **Dst,
1214712147
|1:
1214812148
| ldr TMP1w, [FCARG2x, #offsetof(zend_property_info, flags)]
1214912149
| tst TMP1w, #ZEND_ACC_READONLY
12150-
| beq >3
12150+
if (flags) {
12151+
| beq >3
12152+
} else {
12153+
| beq >4
12154+
}
1215112155
| IF_NOT_TYPE REG2w, IS_OBJECT_EX, >2
1215212156
| GET_Z_PTR REG2, FCARG1x
1215312157
| GC_ADDREF REG2, TMP1w
@@ -12173,6 +12177,7 @@ static int zend_jit_fetch_obj(dasm_State **Dst,
1217312177
ZEND_ASSERT(flags == 0);
1217412178
}
1217512179
|.code
12180+
|4:
1217612181
}
1217712182
} else {
1217812183
prop_addr = ZEND_ADDR_MEM_ZVAL(ZREG_FCARG1, prop_info->offset);

0 commit comments

Comments
 (0)