]> granicus.if.org Git - php/commitdiff
Allow SSA construction with source information about CV used as result (DFG fix)
authorDmitry Stogov <dmitry@zend.com>
Thu, 30 Mar 2017 18:24:29 +0000 (21:24 +0300)
committerDmitry Stogov <dmitry@zend.com>
Thu, 30 Mar 2017 18:24:29 +0000 (21:24 +0300)
ext/opcache/Optimizer/zend_dfg.c

index 374c8146c8ab0e38ef01efece8653c9a3e684bc7..6e6997b2a5a58d915bc64685f4a5937be8da0a75 100644 (file)
@@ -191,6 +191,10 @@ op2_use:
                                }
                                if (opline->result_type & (IS_CV|IS_VAR|IS_TMP_VAR)) {
                                        var_num = EX_VAR_TO_NUM(opline->result.var);
+                                       if ((build_flags & ZEND_SSA_USE_CV_RESULTS)
+                                        && opline->result_type == IS_CV) {
+                                               DFG_SET(use, set_size, j, var_num);
+                                       }
                                        DFG_SET(def, set_size, j, var_num);
                                }
                        }