Skip to content
  • fpizlo@apple.com's avatar
    DFG does not support compiling functions as constructors · bb159ec2
    fpizlo@apple.com authored
    https://bugs.webkit.org/show_bug.cgi?id=68500
    
    Reviewed by Oliver Hunt.
            
    This adds support for compiling constructors to the DFG. It's a
    1% speed-up on V8, mostly due to a 6% speed-up on early-boyer.
    It's also a 13% win on access-binary-trees, but it's neutral in
    the SunSpider and Kraken averages.
    
    * dfg/DFGByteCodeParser.cpp:
    (JSC::DFG::ByteCodeParser::parseBlock):
    * dfg/DFGCapabilities.h:
    (JSC::DFG::mightCompileFunctionForConstruct):
    (JSC::DFG::canCompileOpcode):
    * dfg/DFGNode.h:
    * dfg/DFGOperations.cpp:
    * dfg/DFGOperations.h:
    * dfg/DFGPropagator.cpp:
    (JSC::DFG::Propagator::propagateNodePredictions):
    (JSC::DFG::Propagator::performNodeCSE):
    * dfg/DFGSpeculativeJIT.cpp:
    (JSC::DFG::SpeculativeJIT::compile):
    * runtime/Executable.cpp:
    (JSC::FunctionExecutable::compileOptimizedForConstruct):
    (JSC::FunctionExecutable::compileForConstructInternal):
    * runtime/Executable.h:
    (JSC::FunctionExecutable::compileForConstruct):
    (JSC::FunctionExecutable::compileFor):
    (JSC::FunctionExecutable::compileOptimizedFor):
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95672 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    bb159ec2