diff options
author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2016-04-10 09:28:39 +0000 |
---|---|---|
committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2016-04-10 09:28:39 +0000 |
commit | 32761a6cee1d0dee366b885b7b9c777e67885688 (patch) | |
tree | d6bec92bebfb216f4126356e55518842c2f476a1 /Source/JavaScriptCore/dfg/DFGNaturalLoops.cpp | |
parent | a4e969f4965059196ca948db781e52f7cfebf19e (diff) | |
download | WebKitGtk-tarball-32761a6cee1d0dee366b885b7b9c777e67885688.tar.gz |
webkitgtk-2.4.11webkitgtk-2.4.11
Diffstat (limited to 'Source/JavaScriptCore/dfg/DFGNaturalLoops.cpp')
-rw-r--r-- | Source/JavaScriptCore/dfg/DFGNaturalLoops.cpp | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/Source/JavaScriptCore/dfg/DFGNaturalLoops.cpp b/Source/JavaScriptCore/dfg/DFGNaturalLoops.cpp index 89ca68b9c..848917f70 100644 --- a/Source/JavaScriptCore/dfg/DFGNaturalLoops.cpp +++ b/Source/JavaScriptCore/dfg/DFGNaturalLoops.cpp @@ -29,7 +29,6 @@ #if ENABLE(DFG_JIT) #include "DFGGraph.h" -#include "JSCInlines.h" #include <wtf/CommaPrinter.h> namespace JSC { namespace DFG { @@ -42,10 +41,11 @@ void NaturalLoop::dump(PrintStream& out) const out.print("]"); } -NaturalLoops::NaturalLoops(Graph& graph) -{ - ASSERT(graph.m_dominators); +NaturalLoops::NaturalLoops() { } +NaturalLoops::~NaturalLoops() { } +void NaturalLoops::compute(Graph& graph) +{ // Implement the classic dominator-based natural loop finder. The first // step is to find all control flow edges A -> B where B dominates A. // Then B is a loop header and A is a backward branching block. We will @@ -56,9 +56,11 @@ NaturalLoops::NaturalLoops(Graph& graph) static const bool verbose = false; + graph.m_dominators.computeIfNecessary(graph); + if (verbose) { dataLog("Dominators:\n"); - graph.m_dominators->dump(WTF::dataFile()); + graph.m_dominators.dump(graph, WTF::dataFile()); } m_loops.resize(0); @@ -70,7 +72,7 @@ NaturalLoops::NaturalLoops(Graph& graph) for (unsigned i = block->numSuccessors(); i--;) { BasicBlock* successor = block->successor(i); - if (!graph.m_dominators->dominates(successor, block)) + if (!graph.m_dominators.dominates(successor, block)) continue; bool found = false; for (unsigned j = m_loops.size(); j--;) { @@ -193,8 +195,6 @@ NaturalLoops::NaturalLoops(Graph& graph) dataLog("Results: ", *this, "\n"); } -NaturalLoops::~NaturalLoops() { } - Vector<const NaturalLoop*> NaturalLoops::loopsOf(BasicBlock* block) const { Vector<const NaturalLoop*> result; |