com php-src: Force type update if the previous value was in register only: ext/opcache/jit/zend_jit_x86.dasc

From: Date: Wed, 29 Jul 2020 22:32:23 +0000
Subject: com php-src: Force type update if the previous value was in register only: ext/opcache/jit/zend_jit_x86.dasc
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-112451@lists.php.net to get a copy of this message
Commit: bbbccf0811745c50cf9aca656104dab56bce5d32 Author: Dmitry Stogov <dmitry@zend.com> Thu, 30 Jul 2020 01:32:23 +0300 Parents: 713d3ea4e64b18ceddb6b6d88d2983bb7b977402 Branches: master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=bbbccf0811745c50cf9aca656104dab56bce5d32 Log: Force type update if the previous value was in register only 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 efb0b7f682..5c827f4b99 100644 --- a/ext/opcache/jit/zend_jit_x86.dasc +++ b/ext/opcache/jit/zend_jit_x86.dasc @@ -8003,6 +8003,13 @@ static int zend_jit_assign(dasm_State **Dst, const zend_op *opline, const zend_o } } + if (Z_MODE(op1_addr) != IS_REG + && Z_MODE(op1_use_addr) == IS_REG + && !Z_LOAD(op1_use_addr) + && !Z_STORE(op1_use_addr)) { + /* Force type update */ + op1_info |= MAY_BE_UNDEF; + } if (!zend_jit_assign_to_variable(Dst, opline, op_array, op1_addr, op1_info, op1_def_info, opline->op2_type, opline->op2, op2_addr, op2_info, res_addr, may_throw)) { return 0;

« previous php.cvs (#112451) next »