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:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user