From da8e6ec4a5063d9f60f83f43c55bc17d015cac8b Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Wed, 28 Oct 2015 23:10:33 +0300 Subject: [PATCH] Fixed incorrect instruction cleanup --- ext/opcache/Optimizer/pass1_5.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ext/opcache/Optimizer/pass1_5.c b/ext/opcache/Optimizer/pass1_5.c index 0e4136032d..2aba4db3e5 100644 --- a/ext/opcache/Optimizer/pass1_5.c +++ b/ext/opcache/Optimizer/pass1_5.c @@ -341,12 +341,12 @@ void zend_optimizer_pass1(zend_op_array *op_array, zend_optimizer_ctx *ctx) zval_copy_ctor(&t); } - if (ZEND_OP1_TYPE(opline) == IS_CONST) { - literal_dtor(&ZEND_OP1_LITERAL(opline)); - } else { - MAKE_NOP((opline - 1)); - } if (zend_optimizer_replace_by_const(op_array, opline, IS_TMP_VAR, tv, &t)) { + if (ZEND_OP1_TYPE(opline) == IS_CONST) { + literal_dtor(&ZEND_OP1_LITERAL(opline)); + } else if (ZEND_OP1_TYPE(opline) == IS_VAR) { + MAKE_NOP((opline - 1)); + } literal_dtor(&ZEND_OP2_LITERAL(opline)); MAKE_NOP(opline); } -- 2.50.1