com php-src: Fix live_range updates on ZEND(_FE) _FREE opcodes in block_pass: ext/opcache/Optimize r/block_pass.c
| From: | Bob Weinand | Date: | Mon, 14 Dec 2015 22:40:28 +0000 |
| Subject: | com php-src: Fix live_range updates on ZEND(_FE) _FREE opcodes in block_pass: ext/opcache/Optimize r/block_pass.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-90274@lists.php.net to get a copy of this message | ||
Commit: 6694ecdb9df37415b9fd32046eb5d3157f67c263
Author: Bob Weinand <bobwei9@hotmail.com> Mon, 14 Dec 2015 23:40:28 +0100
Parents: 56f1106162cdca2cdebfd9321545cc448da32d21
Branches: master
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=6694ecdb9df37415b9fd32046eb5d3157f67c263
Log:
Fix live_range updates on ZEND(_FE)_FREE opcodes in block_pass
Changed paths:
M ext/opcache/Optimizer/block_pass.c
Diff:
diff --git a/ext/opcache/Optimizer/block_pass.c b/ext/opcache/Optimizer/block_pass.c
index b240254..47d5166 100644
--- a/ext/opcache/Optimizer/block_pass.c
+++ b/ext/opcache/Optimizer/block_pass.c
@@ -955,8 +955,8 @@ static void assemble_code_blocks(zend_cfg *cfg, zend_op_array *op_array)
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 < (uint32_t)j) {
+ opline->extended_value == ZEND_FREE_ON_RETURN) {
+ ZEND_ASSERT(opline->op2.num < (uint32_t) i);
opline->op2.num = map[opline->op2.num];
}
opline++;
@@ -982,7 +982,7 @@ static void assemble_code_blocks(zend_cfg *cfg, zend_op_array *op_array)
*opline_num = -1;
}
- /* rebild map (judt for printing) */
+ /* rebild map (just for printing) */
memset(cfg->map, -1, sizeof(int) * op_array->last);
for (n = 0; n < cfg->blocks_count; n++) {
if (cfg->blocks[n].flags & ZEND_BB_REACHABLE) {