From: Xinchen Hui Date: Mon, 15 Feb 2016 05:46:27 +0000 (+0800) Subject: Restore to the first version fix(sorry, mis-read the codes) X-Git-Tag: php-7.1.0alpha1~617^2~22 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=49399359c6814a0437a7f1e3f6f881e565b0fddd;p=php Restore to the first version fix(sorry, mis-read the codes) --- diff --git a/ext/opcache/Optimizer/zend_optimizer.c b/ext/opcache/Optimizer/zend_optimizer.c index e16bef2def..f398a83927 100644 --- a/ext/opcache/Optimizer/zend_optimizer.c +++ b/ext/opcache/Optimizer/zend_optimizer.c @@ -368,18 +368,18 @@ void zend_optimizer_remove_live_range(zend_op_array *op_array, uint32_t var) i++; } while (i < op_array->last_live_range); if (i != j) { - zend_op *opline = op_array->opcodes; - zend_op *end = opline + op_array->last; - - op_array->last_live_range = j; - while (opline != end) { - if ((opline->opcode == ZEND_FREE || opline->opcode == ZEND_FE_FREE) && - opline->extended_value == ZEND_FREE_ON_RETURN) { - opline->op2.num = map[opline->op2.num]; + if ((op_array->last_live_range = j)) { + zend_op *opline = op_array->opcodes; + zend_op *end = opline + op_array->last; + + while (opline != end) { + if ((opline->opcode == ZEND_FREE || opline->opcode == ZEND_FE_FREE) && + opline->extended_value == ZEND_FREE_ON_RETURN) { + opline->op2.num = map[opline->op2.num]; + } + opline++; } - opline++; - } - if (j == 0) { + } else { efree(op_array->live_range); op_array->live_range = NULL; }