Skip to content

Commit f4fe194

Browse files
committed
Add ARM support
1 parent 86376cf commit f4fe194

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

ext/opcache/jit/zend_jit_arm64.dasc

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12242,6 +12242,15 @@ static int zend_jit_fetch_obj(dasm_State **Dst,
1224212242
| SET_ZVAL_TYPE_INFO res_addr, IS_OBJECT_EX, TMP1w, TMP2
1224312243
| b >9
1224412244
|2:
12245+
| ldr TMP1w, [FCARG1x, #offsetof(zval, u2.extra)]
12246+
| TST_32_WITH_CONST TMP1w, IS_PROP_REINITABLE, TMP2w
12247+
| beq >6
12248+
| SET_ZVAL_PTR res_addr, FCARG1x, TMP1
12249+
| SET_ZVAL_TYPE_INFO res_addr, IS_INDIRECT, TMP1w, TMP2
12250+
| and TMP1w, TMP1w, #(~IS_PROP_REINITABLE)
12251+
| str TMP1w, [FCARG1x, #offsetof(zval, u2.extra)]
12252+
| b >9
12253+
|6:
1224512254
| mov FCARG1x, FCARG2x
1224612255
| SET_EX_OPLINE opline, REG0
1224712256
| EXT_CALL zend_readonly_property_modification_error, REG0
@@ -12295,6 +12304,16 @@ static int zend_jit_fetch_obj(dasm_State **Dst,
1229512304
| b >9
1229612305
|.cold_code
1229712306
|4:
12307+
| ldr TMP1w, [FCARG1x, #(prop_info->offset + offsetof(zval, u2.extra))]
12308+
| TST_32_WITH_CONST TMP1w, IS_PROP_REINITABLE, TMP2w
12309+
| beq >6
12310+
| LOAD_ZVAL_ADDR FCARG1x, prop_addr
12311+
| SET_ZVAL_PTR res_addr, FCARG1x, TMP1
12312+
| SET_ZVAL_TYPE_INFO res_addr, IS_INDIRECT, TMP1w, TMP2
12313+
| and TMP1w, TMP1w, #(~IS_PROP_REINITABLE)
12314+
| str TMP1w, [FCARG1x, #(prop_info->offset + offsetof(zval, u2.extra))]
12315+
| b >9
12316+
|6:
1229812317
| LOAD_ADDR FCARG1x, prop_info
1229912318
| SET_EX_OPLINE opline, REG0
1230012319
| EXT_CALL zend_readonly_property_modification_error, REG0

0 commit comments

Comments
 (0)