diff options
Diffstat (limited to 'Source/JavaScriptCore/dfg/DFGDriver.cpp')
-rw-r--r-- | Source/JavaScriptCore/dfg/DFGDriver.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/Source/JavaScriptCore/dfg/DFGDriver.cpp b/Source/JavaScriptCore/dfg/DFGDriver.cpp index 124d7e637..a0af3e6ad 100644 --- a/Source/JavaScriptCore/dfg/DFGDriver.cpp +++ b/Source/JavaScriptCore/dfg/DFGDriver.cpp @@ -34,6 +34,7 @@ #include "DFGCSEPhase.h" #include "DFGJITCompiler.h" #include "DFGPredictionPropagationPhase.h" +#include "DFGRedundantPhiEliminationPhase.h" #include "DFGVirtualRegisterAllocationPhase.h" namespace JSC { namespace DFG { @@ -58,6 +59,7 @@ inline bool compile(CompileMode compileMode, JSGlobalData& globalData, CodeBlock if (compileMode == CompileFunction) dfg.predictArgumentTypes(); + performRedundantPhiElimination(dfg); performArithNodeFlagsInference(dfg); performPredictionPropagation(dfg); performCSE(dfg); @@ -70,18 +72,19 @@ inline bool compile(CompileMode compileMode, JSGlobalData& globalData, CodeBlock #endif JITCompiler dataFlowJIT(dfg); + bool result; if (compileMode == CompileFunction) { ASSERT(jitCodeWithArityCheck); - dataFlowJIT.compileFunction(jitCode, *jitCodeWithArityCheck); + result = dataFlowJIT.compileFunction(jitCode, *jitCodeWithArityCheck); } else { ASSERT(compileMode == CompileOther); ASSERT(!jitCodeWithArityCheck); - dataFlowJIT.compile(jitCode); + result = dataFlowJIT.compile(jitCode); } - return true; + return result; } bool tryCompile(JSGlobalData& globalData, CodeBlock* codeBlock, JITCode& jitCode) |