]> granicus.if.org Git - php/commitdiff
Avoid double live ranges recalculation.
authorDmitry Stogov <dmitry@zend.com>
Mon, 21 Jan 2019 15:17:10 +0000 (18:17 +0300)
committerDmitry Stogov <dmitry@zend.com>
Mon, 21 Jan 2019 15:17:10 +0000 (18:17 +0300)
ext/opcache/Optimizer/zend_optimizer.c

index 4a7d68acda4c652849d432a34d29a6faa498c9fc..096668ee0f1158f69a7dad098a0e183befd98704 100644 (file)
@@ -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);
        }
 }