Changeset 147326 in webkit


Ignore:
Timestamp:
Apr 1, 2013, 8:25:50 AM (12 years ago)
Author:
fpizlo@apple.com
Message:

fourthTier: FTL doesn't need virtual register allocation
https://bugs.webkit.org/show_bug.cgi?id=113679

Reviewed by Mark Hahnenberg.

  • dfg/DFGDriver.cpp:

(JSC::DFG::dumpAndVerifyGraph):
(DFG):
(JSC::DFG::compile):

Location:
branches/dfgFourthTier/Source/JavaScriptCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/dfgFourthTier/Source/JavaScriptCore/ChangeLog

    r147299 r147326  
     12013-03-31  Filip Pizlo  <fpizlo@apple.com>
     2
     3        fourthTier: FTL doesn't need virtual register allocation
     4        https://bugs.webkit.org/show_bug.cgi?id=113679
     5
     6        Reviewed by Mark Hahnenberg.
     7
     8        * dfg/DFGDriver.cpp:
     9        (JSC::DFG::dumpAndVerifyGraph):
     10        (DFG):
     11        (JSC::DFG::compile):
     12
    1132013-03-31  Filip Pizlo  <fpizlo@apple.com>
    214
  • branches/dfgFourthTier/Source/JavaScriptCore/dfg/DFGDriver.cpp

    r147259 r147326  
    6666}
    6767
     68static void dumpAndVerifyGraph(Graph& graph, const char* text)
     69{
     70    GraphDumpMode modeForFinalValidate = DumpGraph;
     71    if (verboseCompilationEnabled()) {
     72        dataLog(text, "\n");
     73        graph.dump();
     74        modeForFinalValidate = DontDumpGraph;
     75    }
     76    if (validationEnabled())
     77        validate(graph, modeForFinalValidate);
     78}
     79
    6880enum CompileMode { CompileFunction, CompileOther };
    69 inline bool compile(CompileMode compileMode, ExecState* exec, CodeBlock* codeBlock, RefPtr<JITCode>& jitCode, MacroAssemblerCodePtr* jitCodeWithArityCheck, unsigned osrEntryBytecodeIndex)
     81static bool compile(CompileMode compileMode, ExecState* exec, CodeBlock* codeBlock, RefPtr<JITCode>& jitCode, MacroAssemblerCodePtr* jitCodeWithArityCheck, unsigned osrEntryBytecodeIndex)
    7082{
    7183    SamplingRegion samplingRegion("DFG Compilation (Driver)");
     
    147159    performCPSRethreading(dfg);
    148160    performDCE(dfg);
    149     performVirtualRegisterAllocation(dfg);
    150 
    151     GraphDumpMode modeForFinalValidate = DumpGraph;
    152     if (verboseCompilationEnabled()) {
    153         dataLogF("Graph after optimization:\n");
    154         dfg.dump();
    155         modeForFinalValidate = DontDumpGraph;
    156     }
    157     if (validationEnabled())
    158         validate(dfg, modeForFinalValidate);
    159    
     161
    160162    if (Options::useExperimentalFTL()
    161163        && compileMode == CompileFunction
    162164        && FTL::canCompile(dfg)) {
    163165       
     166        dumpAndVerifyGraph(dfg, "Graph just before FTL lowering:");
     167       
    164168        // FIXME: Support OSR entry.
    165169        // https://bugs.webkit.org/show_bug.cgi?id=113625
     
    175179    }
    176180   
     181    performVirtualRegisterAllocation(dfg);
     182    dumpAndVerifyGraph(dfg, "Graph after optimization:");
     183
    177184    JITCompiler dataFlowJIT(dfg);
    178185    bool result;
Note: See TracChangeset for help on using the changeset viewer.