Ignore:
Timestamp:
Oct 30, 2011, 3:47:31 PM (14 years ago)
Author:
[email protected]
Message:

The DFG inliner should not flush the callee
https://bugs.webkit.org/show_bug.cgi?id=71191

Reviewed by Oliver Hunt.

0.6% speed-up on V8.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::visitAggregate):

  • bytecode/CodeOrigin.h:
  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::flush):
(JSC::DFG::ByteCodeParser::handleInlining):
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):
(JSC::DFG::ByteCodeParser::parse):

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::exitSpeculativeWithOSR):

  • dfg/DFGJITCompiler32_64.cpp:

(JSC::DFG::JITCompiler::exitSpeculativeWithOSR):

  • interpreter/CallFrame.cpp:

(JSC::CallFrame::trueCallerFrameSlow):

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/bytecode/CodeOrigin.h

    r98179 r98831  
    3535struct InlineCallFrame;
    3636class ExecutableBase;
     37class JSFunction;
    3738
    3839struct CodeOrigin {
     
    7677struct InlineCallFrame {
    7778    WriteBarrier<ExecutableBase> executable;
     79    WriteBarrier<JSFunction> callee;
     80    CodeOrigin caller;
    7881    unsigned stackOffset;
    79     unsigned calleeVR;
    80     CodeOrigin caller;
    8182    unsigned numArgumentsIncludingThis : 31;
    8283    bool isCall : 1;
Note: See TracChangeset for help on using the changeset viewer.