com php-src: New optimization pattern: ext/opcache/Optimizer/pass3.c

From: Date: Wed, 31 May 2017 06:53:10 +0000
Subject: com php-src: New optimization pattern: ext/opcache/Optimizer/pass3.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-97965@lists.php.net to get a copy of this message
Commit: a0cc6d426f709bf44741cd7254221bbc6e31c6a4 Author: Dmitry Stogov <dmitry@zend.com> Wed, 31 May 2017 09:53:10 +0300 Parents: bfd35512bb795f0b4f83c1c857acca7e6e552f6f Branches: master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=a0cc6d426f709bf44741cd7254221bbc6e31c6a4 Log: New optimization pattern Changed paths: M ext/opcache/Optimizer/pass3.c Diff: diff --git a/ext/opcache/Optimizer/pass3.c b/ext/opcache/Optimizer/pass3.c index e5d032c...dfb3e0d 100644 --- a/ext/opcache/Optimizer/pass3.c +++ b/ext/opcache/Optimizer/pass3.c @@ -299,6 +299,13 @@ void zend_optimizer_pass3(zend_op_array *op_array) JMPZ_EX(X,L1+1) */ ZEND_SET_OP_JMP_ADDR(opline, opline->op2, target + 1); break; + } else if (target->opcode == ZEND_BOOL && + SAME_VAR(opline->result, target->op1)) { + /* convert Y = JMPZ_EX(X,L1), L1: Z = BOOL(Y) to + Z = JMPZ_EX(X,L1+1) */ + opline->result.var = target->result.var; + ZEND_SET_OP_JMP_ADDR(opline, opline->op2, target + 1); + break; } else { break; }

« previous php.cvs (#97965) next »