Ignore:
Timestamp:
May 2, 2012, 12:18:28 PM (13 years ago)
Author:
[email protected]
Message:

Unreviewed, rolling out r115388.
http://trac.webkit.org/changeset/115388
https://bugs.webkit.org/show_bug.cgi?id=85011

This caused many weird performance problems, and needs to be
landed in pieces.

Source/JavaScriptCore:

  • dfg/DFGOperations.cpp:
  • heap/Heap.cpp:

(JSC::Heap::getConservativeRegisterRoots):
(JSC::Heap::markRoots):

  • interpreter/CallFrame.cpp:

(JSC::CallFrame::dumpCaller):
(JSC):

  • interpreter/CallFrame.h:

(JSC::ExecState::init):
(ExecState):

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::execute):
(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):
(JSC::Interpreter::prepareForRepeatCall):
(JSC::Interpreter::privateExecute):

  • interpreter/Interpreter.h:

(JSC::Interpreter::execute):

  • interpreter/RegisterFile.cpp:

(JSC::RegisterFile::growSlowCase):
(JSC::RegisterFile::gatherConservativeRoots):

  • interpreter/RegisterFile.h:

(JSC::RegisterFile::end):
(JSC::RegisterFile::size):
(JSC::RegisterFile::addressOfEnd):
(RegisterFile):
(JSC::RegisterFile::RegisterFile):
(JSC::RegisterFile::shrink):
(JSC::RegisterFile::grow):

  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION):
(JSC::jitCompileFor):
(JSC::lazyLinkFor):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):
(JSC::LLInt::handleHostCall):

  • llint/LowLevelInterpreter.asm:
  • runtime/CommonSlowPaths.h:

(JSC::CommonSlowPaths::arityCheckFor):

LayoutTests:

  • fast/js/global-recursion-on-full-stack-expected.txt:
  • fast/js/stack-trace-expected.txt:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/interpreter/CallFrame.h

    r115388 r115861  
    172172        {
    173173            ASSERT(callerFrame); // Use noCaller() rather than 0 for the outer host call frame caller.
    174             ASSERT(callerFrame == noCaller() || callerFrame->removeHostCallFrameFlag()->registerFile()->commitEnd() >= this);
     174            ASSERT(callerFrame == noCaller() || callerFrame->removeHostCallFrameFlag()->registerFile()->end() >= this);
    175175
    176176            setCodeBlock(codeBlock);
     
    255255        CallFrame* trueCallFrameFromVMCode() { return trueCallFrame(AbstractPC()); }
    256256
    257         Register* startOfReusableRegisterFile()
    258         {
    259             CallFrame* result = globalData().topCallFrame;
    260             if (result == noCaller() || result == registerFile()->begin())
    261                 return registerFile()->begin();
    262             return result->frameExtent();
    263         }
    264        
    265257    private:
    266258        static const intptr_t HostCallFrameFlag = 1;
     
    268260        static const int s_firstArgumentOffset = s_thisArgumentOffset - 1;
    269261
     262#ifndef NDEBUG
    270263        RegisterFile* registerFile();
    271 
     264#endif
    272265#if ENABLE(DFG_JIT)
    273266        bool isInlineCallFrameSlow();
Note: See TracChangeset for help on using the changeset viewer.