com php-src: More accurate checks to eliminate reloading: ext/opcache/jit/zend_jit_x86.dasc

From: Date: Mon, 27 Jul 2020 14:22:03 +0000
Subject: com php-src: More accurate checks to eliminate reloading: ext/opcache/jit/zend_jit_x86.dasc
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-112384@lists.php.net to get a copy of this message
Commit: 04c3e3182a752d756a7d32973a52523d8ce4194d Author: Dmitry Stogov <dmitry@zend.com> Mon, 27 Jul 2020 17:22:03 +0300 Parents: f9f61239413aaacb78adc17946ac73d2f80bd382 Branches: master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=04c3e3182a752d756a7d32973a52523d8ce4194d Log: More accurate checks to eliminate reloading Changed paths: M ext/opcache/jit/zend_jit_x86.dasc Diff: diff --git a/ext/opcache/jit/zend_jit_x86.dasc b/ext/opcache/jit/zend_jit_x86.dasc index f4c011dbbf..50ef080035 100644 --- a/ext/opcache/jit/zend_jit_x86.dasc +++ b/ext/opcache/jit/zend_jit_x86.dasc @@ -5785,7 +5785,7 @@ static int zend_jit_assign_dim(dasm_State **Dst, const zend_op *opline, const ze if (op1_info & (MAY_BE_ANY-(MAY_BE_NULL|MAY_BE_FALSE|MAY_BE_ARRAY))) { | SAVE_VALID_OPLINE opline, r0 - if (Z_REG(op1_addr) != ZREG_FCARG1a) { + if (Z_REG(op1_addr) != ZREG_FCARG1a || Z_OFFSET(op1_addr) != 0) { | LOAD_ZVAL_ADDR FCARG1a, op1_addr } if (opline->op2_type == IS_UNUSED) { @@ -6039,7 +6039,7 @@ static int zend_jit_assign_dim_op(dasm_State **Dst, const zend_op *opline, const } | SAVE_VALID_OPLINE opline, r0 - if (Z_REG(op1_addr) != ZREG_FCARG1a) { + if (Z_REG(op1_addr) != ZREG_FCARG1a || Z_OFFSET(op1_addr) != 0) { | LOAD_ZVAL_ADDR FCARG1a, op1_addr } if (opline->op2_type == IS_UNUSED) { @@ -7872,7 +7872,7 @@ static int zend_jit_bool_jmpznz(dasm_State **Dst, const zend_op *opline, const z |.cold_code |2: } - if (Z_REG(op1_addr) != ZREG_FCARG1a) { + if (Z_REG(op1_addr) != ZREG_FCARG1a || Z_OFFSET(op1_addr) != 0) { | LOAD_ZVAL_ADDR FCARG1a, op1_addr } | SAVE_VALID_OPLINE opline, r0 @@ -10479,7 +10479,7 @@ static int zend_jit_fetch_dim_read(dasm_State **Dst, const zend_op *opline, cons } } | SAVE_VALID_OPLINE opline, r0 - if (Z_REG(op1_addr) != ZREG_FCARG1a) { + if (Z_REG(op1_addr) != ZREG_FCARG1a || Z_OFFSET(op1_addr) != 0) { | LOAD_ZVAL_ADDR FCARG1a, op1_addr } | LOAD_ZVAL_ADDR FCARG2a, op2_addr @@ -10513,7 +10513,7 @@ static int zend_jit_fetch_dim_read(dasm_State **Dst, const zend_op *opline, cons } } | SAVE_VALID_OPLINE opline, r0 - if (Z_REG(op1_addr) != ZREG_FCARG1a) { + if (Z_REG(op1_addr) != ZREG_FCARG1a || Z_OFFSET(op1_addr) != 0) { | LOAD_ZVAL_ADDR FCARG1a, op1_addr } if (opline->op2_type == IS_CONST && Z_EXTRA_P(RT_CONSTANT(opline, opline->op2)) == ZEND_EXTRA_VALUE) { @@ -10694,7 +10694,7 @@ static int zend_jit_isset_isempty_dim(dasm_State **Dst, const zend_op *opline, c if (op1_info & (MAY_BE_STRING|MAY_BE_OBJECT)) { | SAVE_VALID_OPLINE opline, r0 - if (Z_REG(op1_addr) != ZREG_FCARG1a) { + if (Z_REG(op1_addr) != ZREG_FCARG1a || Z_OFFSET(op1_addr) != 0) { | LOAD_ZVAL_ADDR FCARG1a, op1_addr } if (opline->op2_type == IS_CONST && Z_EXTRA_P(RT_CONSTANT(opline, opline->op2)) == ZEND_EXTRA_VALUE) {

« previous php.cvs (#112384) next »