diff options
Diffstat (limited to 'Source/JavaScriptCore/dfg/DFGPhase.cpp')
-rw-r--r-- | Source/JavaScriptCore/dfg/DFGPhase.cpp | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/Source/JavaScriptCore/dfg/DFGPhase.cpp b/Source/JavaScriptCore/dfg/DFGPhase.cpp index 32e039ec5..b225531a4 100644 --- a/Source/JavaScriptCore/dfg/DFGPhase.cpp +++ b/Source/JavaScriptCore/dfg/DFGPhase.cpp @@ -29,13 +29,26 @@ #if ENABLE(DFG_JIT) #include "DFGValidate.h" +#include "JSCInlines.h" namespace JSC { namespace DFG { +void Phase::validate() +{ + DFG::validate(m_graph, DumpGraph, m_graphDumpBeforePhase); +} + void Phase::beginPhase() { - if (!shouldDumpGraphAtEachPhase()) + if (Options::verboseValidationFailure()) { + StringPrintStream out; + m_graph.dump(out); + m_graphDumpBeforePhase = out.toCString(); + } + + if (!shouldDumpGraphAtEachPhase(m_graph.m_plan.mode)) return; + dataLog("Beginning DFG phase ", m_name, ".\n"); dataLog("Before ", m_name, ":\n"); m_graph.dump(); @@ -45,7 +58,7 @@ void Phase::endPhase() { if (!Options::validateGraphAtEachPhase()) return; - validate(m_graph, DumpGraph); + validate(); } } } // namespace JSC::DFG |