1
0
mirror of https://github.com/php/php-src.git synced 2026-04-23 07:58:20 +02:00

Fix register save/restore around calls. (This fixes ext/opcache/tests/jit/fetch_dim_rw_001.phpt with -d opcache.jit=1202 without PROFITABILITY_CHECKS)

This commit is contained in:
Dmitry Stogov
2021-05-21 11:12:22 +03:00
parent e9d171805a
commit 0b4706819b
+3 -3
View File
@@ -11517,6 +11517,9 @@ static int zend_jit_fetch_dim(dasm_State **Dst,
| CMP_ZVAL_TYPE op1_addr, IS_FALSE, ZREG_TMP1
| bgt >7
}
if (Z_REG(op1_addr) != ZREG_FP) {
| str Rx(Z_REG(op1_addr)), T1 // save
}
if ((op1_info & MAY_BE_UNDEF)
&& opline->opcode == ZEND_FETCH_DIM_RW) {
if (op1_info & (MAY_BE_NULL|MAY_BE_FALSE)) {
@@ -11528,9 +11531,6 @@ static int zend_jit_fetch_dim(dasm_State **Dst,
|1:
}
| // ZVAL_ARR(container, zend_new_array(8));
if (Z_REG(op1_addr) != ZREG_FP) {
| str Rx(Z_REG(op1_addr)), T1 // save
}
| EXT_CALL _zend_new_array_0, REG0
| mov REG0, RETVALx
if (Z_REG(op1_addr) != ZREG_FP) {