com php-src: Fixed type inference rules.: ext/opcache/Optimizer /zend_inference.c

From: Date: Tue, 18 Oct 2016 09:39:33 +0000
Subject: com php-src: Fixed type inference rules.: ext/opcache/Optimizer /zend_inference.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-95187@lists.php.net to get a copy of this message
Commit: ac6134fb64f5aa89aa6ef7bda32c29079c86aea8 Author: Dmitry Stogov <dmitry@zend.com> Tue, 18 Oct 2016 12:39:33 +0300 Parents: 14beea9a36f0d2e1ce4617ff52101dc77fcc6fd1 Branches: PHP-7.1 master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=ac6134fb64f5aa89aa6ef7bda32c29079c86aea8 Log: Fixed type inference rules. Changed paths: M ext/opcache/Optimizer/zend_inference.c Diff: diff --git a/ext/opcache/Optimizer/zend_inference.c b/ext/opcache/Optimizer/zend_inference.c index 33bab0e..0635cc5 100644 --- a/ext/opcache/Optimizer/zend_inference.c +++ b/ext/opcache/Optimizer/zend_inference.c @@ -2964,15 +2964,17 @@ static void zend_update_type_info(const zend_op_array *op_array, } break; case ZEND_SEND_VAR_EX: - case ZEND_SEND_VAR_NO_REF: - case ZEND_SEND_VAR_NO_REF_EX: - case ZEND_SEND_REF: -// TODO: ??? if (ssa_ops[i].op1_def >= 0) { tmp = (t1 & MAY_BE_UNDEF)|MAY_BE_REF|MAY_BE_RC1|MAY_BE_RCN|MAY_BE_ANY|MAY_BE_ARRAY_KEY_ANY|MAY_BE_ARRAY_OF_ANY|MAY_BE_ARRAY_OF_REF; UPDATE_SSA_TYPE(tmp, ssa_ops[i].op1_def); } break; + case ZEND_SEND_REF: + if (ssa_ops[i].op1_def >= 0) { + tmp = MAY_BE_REF|MAY_BE_RC1|MAY_BE_RCN|MAY_BE_ANY|MAY_BE_ARRAY_KEY_ANY|MAY_BE_ARRAY_OF_ANY|MAY_BE_ARRAY_OF_REF; + UPDATE_SSA_TYPE(tmp, ssa_ops[i].op1_def); + } + break; case ZEND_SEND_UNPACK: if (ssa_ops[i].op1_def >= 0) { tmp = t1;

« previous php.cvs (#95187) next »