com php-src: Consider op1 literal of FETCH_OBJ_R: ext/o pcache/Optimizer/compact_literals.c

From: Date: Wed, 29 Jul 2020 15:04:23 +0000
Subject: com php-src: Consider op1 literal of FETCH_OBJ_R: ext/o pcache/Optimizer/compact_literals.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-112441@lists.php.net to get a copy of this message
Commit: 57ad5b34325db883726ec96c0683c7c1bd874cc4 Author: Nikita Popov <nikita.ppv@gmail.com> Wed, 29 Jul 2020 17:04:23 +0200 Parents: 99c48a24779dab32e004b2bc99441155e217c08f Branches: PHP-7.3 PHP-7.4 master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=57ad5b34325db883726ec96c0683c7c1bd874cc4 Log: Consider op1 literal of FETCH_OBJ_R FETCH_OBJ_R may have an op1 CONST operand, even though it will always error. We should take this into account when compacting literals. Changed paths: M ext/opcache/Optimizer/compact_literals.c Diff: diff --git a/ext/opcache/Optimizer/compact_literals.c b/ext/opcache/Optimizer/compact_literals.c index e4dab13b9c..f90b8175c3 100644 --- a/ext/opcache/Optimizer/compact_literals.c +++ b/ext/opcache/Optimizer/compact_literals.c @@ -223,6 +223,9 @@ void zend_optimizer_compact_literals(zend_op_array *op_array, zend_optimizer_ctx case ZEND_POST_INC_OBJ: case ZEND_POST_DEC_OBJ: case ZEND_ISSET_ISEMPTY_PROP_OBJ: + if (opline->op1_type == IS_CONST) { + LITERAL_INFO(opline->op1.constant, LITERAL_VALUE, 1); + } if (opline->op2_type == IS_CONST) { LITERAL_INFO(opline->op2.constant, LITERAL_PROPERTY, 1); }

« previous php.cvs (#112441) next »