Skip to content

Commit 7193909

Browse files
committed
JIT: Cleanup dead and duplicate code
1 parent e22b305 commit 7193909

File tree

2 files changed

+11
-71
lines changed

2 files changed

+11
-71
lines changed

ext/opcache/jit/zend_jit_arm64.dasc

Lines changed: 6 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -9214,39 +9214,12 @@ static int zend_jit_do_fcall(dasm_State **Dst, const zend_op *opline, const zend
92149214
| str REG2, EX:RX->run_time_cache
92159215
}
92169216
} else {
9217-
// Always defined as ZEND_MAP_PTR_KIND_PTR_OR_OFFSET. See Zend/zend_map_ptr.h.
9218-
#if ZEND_MAP_PTR_KIND == ZEND_MAP_PTR_KIND_PTR
9219-
if (func) {
9220-
| ldr REG0, EX:RX->func
9221-
}
9222-
| ldr REG2, [REG0, #offsetof(zend_op_array, run_time_cache__ptr)]
9223-
| ldr REG2, [REG2]
9224-
#elif ZEND_MAP_PTR_KIND == ZEND_MAP_PTR_KIND_PTR_OR_OFFSET
9225-
if (func && !(func->op_array.fn_flags & ZEND_ACC_CLOSURE)) {
9226-
if (ZEND_MAP_PTR_IS_OFFSET(func->op_array.run_time_cache)) {
9227-
| MEM_LOAD_64_ZTS ldr, REG2, compiler_globals, map_ptr_base, TMP1
9228-
| ADD_SUB_64_WITH_CONST add, REG2, REG2, (uintptr_t)ZEND_MAP_PTR(func->op_array.run_time_cache), TMP1
9229-
| ldr REG2, [REG2]
9230-
} else if ((func->op_array.fn_flags & ZEND_ACC_IMMUTABLE)
9231-
&& (!func->op_array.scope || (func->op_array.scope->ce_flags & ZEND_ACC_LINKED))) {
9232-
if (func) {
9233-
| ldr REG0, EX:RX->func
9234-
}
9235-
| ldr REG2, [REG0, #offsetof(zend_op_array, run_time_cache__ptr)]
9236-
| MEM_LOAD_OP_ZTS add, ldr, REG2, compiler_globals, map_ptr_base, REG1, TMP1
9237-
| ldr REG2, [REG2]
9238-
} else {
9239-
/* the called op_array may be not persisted yet */
9240-
if (func) {
9241-
| ldr REG0, EX:RX->func
9242-
}
9243-
| ldr REG2, [REG0, #offsetof(zend_op_array, run_time_cache__ptr)]
9244-
| TST_64_WITH_ONE REG2
9245-
| beq >1
9246-
| MEM_LOAD_OP_ZTS add, ldr, REG2, compiler_globals, map_ptr_base, REG1, TMP1
9247-
| ldr REG2, [REG2]
9248-
|1:
9249-
}
9217+
if (func
9218+
&& !(func->op_array.fn_flags & ZEND_ACC_CLOSURE)
9219+
&& ZEND_MAP_PTR_IS_OFFSET(func->op_array.run_time_cache)) {
9220+
| MEM_LOAD_64_ZTS ldr, REG2, compiler_globals, map_ptr_base, TMP1
9221+
| ADD_SUB_64_WITH_CONST add, REG2, REG2, (uintptr_t)ZEND_MAP_PTR(func->op_array.run_time_cache), TMP1
9222+
| ldr REG2, [REG2]
92509223
} else {
92519224
if (func) {
92529225
| ldr REG0, EX:RX->func
@@ -9258,9 +9231,6 @@ static int zend_jit_do_fcall(dasm_State **Dst, const zend_op *opline, const zend
92589231
| ldr REG2, [REG2]
92599232
|1:
92609233
}
9261-
#else
9262-
# error "Unknown ZEND_MAP_PTR_KIND"
9263-
#endif
92649234
| str REG2, EX:RX->run_time_cache
92659235
}
92669236
}

ext/opcache/jit/zend_jit_x86.dasc

Lines changed: 5 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -9854,38 +9854,11 @@ static int zend_jit_do_fcall(dasm_State **Dst, const zend_op *opline, const zend
98549854
| mov EX:RX->run_time_cache, r2
98559855
}
98569856
} else {
9857-
// Always defined as ZEND_MAP_PTR_KIND_PTR_OR_OFFSET. See Zend/zend_map_ptr.h.
9858-
#if ZEND_MAP_PTR_KIND == ZEND_MAP_PTR_KIND_PTR
9859-
if (func) {
9860-
| mov r0, EX:RX->func
9861-
}
9862-
| mov r2, aword [r0 + offsetof(zend_op_array, run_time_cache__ptr)]
9863-
| mov r2, aword [r2]
9864-
#elif ZEND_MAP_PTR_KIND == ZEND_MAP_PTR_KIND_PTR_OR_OFFSET
9865-
if (func && !(func->op_array.fn_flags & ZEND_ACC_CLOSURE)) {
9866-
if (ZEND_MAP_PTR_IS_OFFSET(func->op_array.run_time_cache)) {
9867-
| MEM_LOAD_ZTS r2, aword, compiler_globals, map_ptr_base, r1
9868-
| mov r2, aword [r2 + (uintptr_t)ZEND_MAP_PTR(func->op_array.run_time_cache)]
9869-
} else if ((func->op_array.fn_flags & ZEND_ACC_IMMUTABLE)
9870-
&& (!func->op_array.scope || (func->op_array.scope->ce_flags & ZEND_ACC_LINKED))) {
9871-
if (func) {
9872-
| mov r0, EX:RX->func
9873-
}
9874-
| mov r2, aword [r0 + offsetof(zend_op_array, run_time_cache__ptr)]
9875-
| MEM_LOAD_OP_ZTS add, r2, aword, compiler_globals, map_ptr_base, r1
9876-
| mov r2, aword [r2]
9877-
} else {
9878-
/* the called op_array may be not persisted yet */
9879-
if (func) {
9880-
| mov r0, EX:RX->func
9881-
}
9882-
| mov r2, aword [r0 + offsetof(zend_op_array, run_time_cache__ptr)]
9883-
| test r2, 1
9884-
| jz >1
9885-
| MEM_LOAD_OP_ZTS add, r2, aword, compiler_globals, map_ptr_base, r1
9886-
| mov r2, aword [r2]
9887-
|1:
9888-
}
9857+
if (func
9858+
&& !(func->op_array.fn_flags & ZEND_ACC_CLOSURE)
9859+
&& ZEND_MAP_PTR_IS_OFFSET(func->op_array.run_time_cache)) {
9860+
| MEM_LOAD_ZTS r2, aword, compiler_globals, map_ptr_base, r1
9861+
| mov r2, aword [r2 + (uintptr_t)ZEND_MAP_PTR(func->op_array.run_time_cache)]
98899862
} else {
98909863
if (func) {
98919864
| mov r0, EX:RX->func
@@ -9897,9 +9870,6 @@ static int zend_jit_do_fcall(dasm_State **Dst, const zend_op *opline, const zend
98979870
| mov r2, aword [r2]
98989871
|1:
98999872
}
9900-
#else
9901-
# error "Unknown ZEND_MAP_PTR_KIND"
9902-
#endif
99039873
| mov EX:RX->run_time_cache, r2
99049874
}
99059875
}

0 commit comments

Comments
 (0)