com php-src: Add support for **= in opcache optimizer : ext/opcache/Optimizer/block_pass.c ext/opcache/Opti mizer/compact_literals.c
ext/opcache/Optimizer/pass2. c ext/opcache/Optimizer/zend_optimizer.c

From: Date: Sun, 13 Sep 2015 10:35:35 +0000
Subject: com php-src: Add support for **= in opcache optimizer : ext/opcache/Optimizer/block_pass.c ext/opcache/Opti mizer/compact_literals.c
ext/opcache/Optimizer/pass2. c ext/opcache/Optimizer/zend_optimizer.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-89010@lists.php.net to get a copy of this message
Commit: fe08b933e4ab380d4b07275384226b688f82eeac Author: Bob Weinand <bobwei9@hotmail.com> Sun, 13 Sep 2015 12:35:35 +0200 Parents: 969dcf7b61b1570a8dec1c41e9b967643bb19085 Branches: master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=fe08b933e4ab380d4b07275384226b688f82eeac Log: Add support for **= in opcache optimizer Changed paths: M ext/opcache/Optimizer/block_pass.c M ext/opcache/Optimizer/compact_literals.c M ext/opcache/Optimizer/pass2..c M ext/opcache/Optimizer/zend_optimizer.c Diff: diff --git a/ext/opcache/Optimizer/block_pass.c b/ext/opcache/Optimizer/block_pass.c index c723440..b7e1682 100644 --- a/ext/opcache/Optimizer/block_pass.c +++ b/ext/opcache/Optimizer/block_pass.c @@ -1866,6 +1866,7 @@ static void zend_t_usage(zend_code_block *block, zend_op_array *op_array, zend_b case ZEND_ASSIGN_SUB: case ZEND_ASSIGN_MUL: case ZEND_ASSIGN_DIV: + case ZEND_ASSIGN_POW: case ZEND_ASSIGN_MOD: case ZEND_ASSIGN_SL: case ZEND_ASSIGN_SR: diff --git a/ext/opcache/Optimizer/compact_literals.c b/ext/opcache/Optimizer/compact_literals..c index 1b7e1d9..7650ae1 100644 --- a/ext/opcache/Optimizer/compact_literals.c +++ b/ext/opcache/Optimizer/compact_literals.c @@ -263,6 +263,7 @@ void zend_optimizer_compact_literals(zend_op_array *op_array, zend_optimizer_ctx case ZEND_ASSIGN_SUB: case ZEND_ASSIGN_MUL: case ZEND_ASSIGN_DIV: + case ZEND_ASSIGN_POW: case ZEND_ASSIGN_MOD: case ZEND_ASSIGN_SL: case ZEND_ASSIGN_SR: diff --git a/ext/opcache/Optimizer/pass2.c b/ext/opcache/Optimizer/pass2.c index a9d85da..143167f 100644 --- a/ext/opcache/Optimizer/pass2.c +++ b/ext/opcache/Optimizer/pass2..c @@ -45,6 +45,7 @@ void zend_optimizer_pass2(zend_op_array *op_array) case ZEND_SUB: case ZEND_MUL: case ZEND_DIV: + case ZEND_POW: if (ZEND_OP1_TYPE(opline) == IS_CONST) { if (Z_TYPE(ZEND_OP1_LITERAL(opline)) == IS_STRING) { convert_scalar_to_number(&ZEND_OP1_LITERAL(opline)); @@ -55,6 +56,7 @@ void zend_optimizer_pass2(zend_op_array *op_array) case ZEND_ASSIGN_SUB: case ZEND_ASSIGN_MUL: case ZEND_ASSIGN_DIV: + case ZEND_ASSIGN_POW: if (opline->extended_value != 0) { /* object tristate op - don't attempt to optimize it! */ break; diff --git a/ext/opcache/Optimizer/zend_optimizer.c b/ext/opcache/Optimizer/zend_optimizer.c index fe258ad..22bb806 100644 --- a/ext/opcache/Optimizer/zend_optimizer.c +++ b/ext/opcache/Optimizer/zend_optimizer.c @@ -234,6 +234,7 @@ void zend_optimizer_update_op2_const(zend_op_array *op_array, case ZEND_ASSIGN_SUB: case ZEND_ASSIGN_MUL: case ZEND_ASSIGN_DIV: + case ZEND_ASSIGN_POW: case ZEND_ASSIGN_MOD: case ZEND_ASSIGN_SL: case ZEND_ASSIGN_SR: @@ -253,6 +254,7 @@ void zend_optimizer_update_op2_const(zend_op_array *op_array, (opline-1)->opcode == ZEND_ASSIGN_SUB || (opline-1)->opcode == ZEND_ASSIGN_MUL || (opline-1)->opcode == ZEND_ASSIGN_DIV || + (opline-1)->opcode == ZEND_ASSIGN_POW || (opline-1)->opcode == ZEND_ASSIGN_MOD || (opline-1)->opcode == ZEND_ASSIGN_SL || (opline-1)->opcode == ZEND_ASSIGN_SR ||

« previous php.cvs (#89010) next »