diff options
-rw-r--r-- | ext/opcache/Optimizer/zend_cfg.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/ext/opcache/Optimizer/zend_cfg.c b/ext/opcache/Optimizer/zend_cfg.c index f39f9650ae..49bbe2419d 100644 --- a/ext/opcache/Optimizer/zend_cfg.c +++ b/ext/opcache/Optimizer/zend_cfg.c @@ -135,12 +135,11 @@ static void zend_mark_reachable_blocks(const zend_op_array *op_array, zend_cfg * b->flags |= ZEND_BB_GEN_VAR; b = blocks + block_map[live_range->end]; b->flags |= ZEND_BB_KILL_VAR; - if (!(b->flags & ZEND_BB_REACHABLE)) { + if (!(b->flags & (ZEND_BB_REACHABLE|ZEND_BB_UNREACHABLE_FREE))) { if (cfg->split_at_live_ranges) { changed = 1; zend_mark_reachable(op_array->opcodes, cfg, b); } else { - ZEND_ASSERT(!(b->flags & ZEND_BB_UNREACHABLE_FREE)); ZEND_ASSERT(b->start == live_range->end); b->flags |= ZEND_BB_UNREACHABLE_FREE; } |