diff options
author | Dmitry Stogov <dmitry@zend.com> | 2017-09-18 14:56:55 +0300 |
---|---|---|
committer | Dmitry Stogov <dmitry@zend.com> | 2017-09-18 14:56:55 +0300 |
commit | f63bfea105cd2d1285a1189c197d8371cad5f403 (patch) | |
tree | 00a120cc44972825887c4404368623ad7a0c183f | |
parent | 8109ebbd053281f4cdb13960eac9bd9595442577 (diff) | |
download | php-git-f63bfea105cd2d1285a1189c197d8371cad5f403.tar.gz |
Optimize POST_INC_OBJ + FREE into PRE_INC_OBJ (in the same way as simple POST_INC)
-rw-r--r-- | ext/opcache/Optimizer/block_pass.c | 2 | ||||
-rw-r--r-- | ext/opcache/Optimizer/pass3.c | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/ext/opcache/Optimizer/block_pass.c b/ext/opcache/Optimizer/block_pass.c index 738e283806..8d99418efd 100644 --- a/ext/opcache/Optimizer/block_pass.c +++ b/ext/opcache/Optimizer/block_pass.c @@ -1750,6 +1750,8 @@ static void zend_t_usage(zend_cfg *cfg, zend_op_array *op_array, zend_bitset use switch (opline->opcode) { case ZEND_POST_INC: case ZEND_POST_DEC: + case ZEND_POST_INC_OBJ: + case ZEND_POST_DEC_OBJ: opline->opcode -= 2; opline->result_type = IS_UNUSED; break; diff --git a/ext/opcache/Optimizer/pass3.c b/ext/opcache/Optimizer/pass3.c index 975a9ebebb..0461ed9434 100644 --- a/ext/opcache/Optimizer/pass3.c +++ b/ext/opcache/Optimizer/pass3.c @@ -427,6 +427,8 @@ continue_jmpznz_optimization: } break; + case ZEND_POST_INC_OBJ: + case ZEND_POST_DEC_OBJ: case ZEND_POST_INC: case ZEND_POST_DEC: { /* POST_INC, FREE => PRE_INC */ |