summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2019-01-21 18:17:10 +0300
committerDmitry Stogov <dmitry@zend.com>2019-01-21 18:17:10 +0300
commitabd0651020b39e35386d8ec438dea1562086d73c (patch)
treee40e58e6386a7f67b579251b6517a1cbb04b9afc
parent36c825575ed13c87efdd4d24b32f0cabaad89e0d (diff)
downloadphp-git-abd0651020b39e35386d8ec438dea1562086d73c.tar.gz
Avoid double live ranges recalculation.
-rw-r--r--ext/opcache/Optimizer/zend_optimizer.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/ext/opcache/Optimizer/zend_optimizer.c b/ext/opcache/Optimizer/zend_optimizer.c
index 4a7d68acda..096668ee0f 100644
--- a/ext/opcache/Optimizer/zend_optimizer.c
+++ b/ext/opcache/Optimizer/zend_optimizer.c
@@ -1328,6 +1328,12 @@ static void zend_optimize_op_array(zend_op_array *op_array,
zend_redo_pass_two(op_array);
if (op_array->live_range) {
+#if HAVE_DFA_PASS
+ if ((ZEND_OPTIMIZER_PASS_6 & ctx->optimization_level) &&
+ (ZEND_OPTIMIZER_PASS_7 & ctx->optimization_level)) {
+ return;
+ }
+#endif
zend_recalc_live_ranges(op_array, NULL);
}
}