Changeset 66150 in webkit for trunk/JavaScriptCore/assembler


Ignore:
Timestamp:
Aug 26, 2010, 4:21:24 PM (15 years ago)
Author:
[email protected]
Message:

Rolling out r64608, this regressed performance.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • assembler/ARMAssembler.cpp:

(JSC::ARMAssembler::executableCopy):

  • assembler/LinkBuffer.h:

(JSC::LinkBuffer::LinkBuffer):
(JSC::LinkBuffer::~LinkBuffer):
(JSC::LinkBuffer::performFinalization):

  • assembler/MIPSAssembler.h:

(JSC::MIPSAssembler::executableCopy):

  • assembler/X86Assembler.h:

(JSC::X86Assembler::executableCopy):

  • bytecode/StructureStubInfo.h:

(JSC::StructureStubInfo::initGetByIdProto):
(JSC::StructureStubInfo::initGetByIdChain):
(JSC::StructureStubInfo::initGetByIdSelfList):
(JSC::StructureStubInfo::initGetByIdProtoList):
(JSC::StructureStubInfo::initPutByIdTransition):

  • jit/ExecutableAllocator.cpp:

(JSC::ExecutablePool::systemAlloc):

  • jit/ExecutableAllocator.h:

(JSC::ExecutablePool::create):
(JSC::ExecutableAllocator::ExecutableAllocator):
(JSC::ExecutableAllocator::poolForSize):
(JSC::ExecutablePool::ExecutablePool):
(JSC::ExecutablePool::poolAllocate):

  • jit/ExecutableAllocatorFixedVMPool.cpp:

(JSC::FixedVMPoolAllocator::allocInternal):

  • jit/JIT.cpp:

(JSC::JIT::privateCompile):

  • jit/JIT.h:

(JSC::JIT::compileGetByIdProto):
(JSC::JIT::compileGetByIdSelfList):
(JSC::JIT::compileGetByIdProtoList):
(JSC::JIT::compileGetByIdChainList):
(JSC::JIT::compileGetByIdChain):
(JSC::JIT::compilePutByIdTransition):
(JSC::JIT::compilePatchGetArrayLength):

  • jit/JITOpcodes.cpp:

(JSC::JIT::privateCompileCTIMachineTrampolines):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::privateCompileCTIMachineTrampolines):
(JSC::JIT::privateCompileCTINativeCall):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::stringGetByValStubGenerator):
(JSC::JIT::privateCompilePutByIdTransition):
(JSC::JIT::privateCompilePatchGetArrayLength):
(JSC::JIT::privateCompileGetByIdProto):
(JSC::JIT::privateCompileGetByIdSelfList):
(JSC::JIT::privateCompileGetByIdProtoList):
(JSC::JIT::privateCompileGetByIdChainList):
(JSC::JIT::privateCompileGetByIdChain):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::stringGetByValStubGenerator):
(JSC::JIT::privateCompilePutByIdTransition):
(JSC::JIT::privateCompilePatchGetArrayLength):
(JSC::JIT::privateCompileGetByIdProto):
(JSC::JIT::privateCompileGetByIdSelfList):
(JSC::JIT::privateCompileGetByIdProtoList):
(JSC::JIT::privateCompileGetByIdChainList):
(JSC::JIT::privateCompileGetByIdChain):

  • jit/JITStubs.cpp:

(JSC::JITThunks::tryCachePutByID):
(JSC::JITThunks::tryCacheGetByID):
(JSC::DEFINE_STUB_FUNCTION):
(JSC::getPolymorphicAccessStructureListSlot):

  • jit/JITStubs.h:
  • jit/SpecializedThunkJIT.h:

(JSC::SpecializedThunkJIT::finalize):

  • runtime/ExceptionHelpers.cpp:
  • runtime/ExceptionHelpers.h:
  • runtime/Executable.cpp:

(JSC::EvalExecutable::compileInternal):
(JSC::ProgramExecutable::compileInternal):
(JSC::FunctionExecutable::compileForCallInternal):
(JSC::FunctionExecutable::compileForConstructInternal):
(JSC::FunctionExecutable::reparseExceptionInfo):
(JSC::EvalExecutable::reparseExceptionInfo):

  • yarr/RegexJIT.cpp:

(JSC::Yarr::RegexGenerator::compile):

Location:
trunk/JavaScriptCore/assembler
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/assembler/ARMAssembler.cpp

    r65311 r66150  
    352352
    353353    char* data = reinterpret_cast<char*>(m_buffer.executableCopy(allocator));
    354     if (!data)
    355         return 0;
    356354
    357355    for (Jumps::Iterator iter = m_jumps.begin(); iter != m_jumps.end(); ++iter) {
  • trunk/JavaScriptCore/assembler/LinkBuffer.h

    r65042 r66150  
    6363#endif
    6464
    65     enum LinkBufferState {
    66         StateInit,
    67         StateChecked,
    68         StateFinalized,
    69     };
    70 
    7165public:
    7266    // Note: Initialization sequence is significant, since executablePool is a PassRefPtr.
     
    8074        , m_assembler(masm)
    8175#ifndef NDEBUG
    82         , m_state(StateInit)
     76        , m_completed(false)
    8377#endif
    8478    {
     
    8882    ~LinkBuffer()
    8983    {
    90         ASSERT(m_state == StateFinalized);
    91     }
    92 
    93     // After constructing a link buffer, a client must call allocationSuccessful() to check alloc did not return 0.
    94     bool allocationSuccessful()
    95     {
    96 #ifndef NDEBUG
    97         ASSERT(m_state == StateInit);
    98         m_state = StateChecked;
    99 #endif
    100 
    101         return m_code;
     84        ASSERT(m_completed);
    10285    }
    10386
     
    285268    {
    286269#ifndef NDEBUG
    287         ASSERT(m_state == StateChecked);
    288         m_state = StateFinalized;
     270        ASSERT(!m_completed);
     271        m_completed = true;
    289272#endif
    290273
     
    298281    MacroAssembler* m_assembler;
    299282#ifndef NDEBUG
    300     LinkBufferState m_state;
     283    bool m_completed;
    301284#endif
    302285};
  • trunk/JavaScriptCore/assembler/MIPSAssembler.h

    r64608 r66150  
    690690    {
    691691        void *result = m_buffer.executableCopy(allocator);
    692         if (result)
    693             relocateJumps(m_buffer.data(), result);
     692        if (!result)
     693            return 0;
     694
     695        relocateJumps(m_buffer.data(), result);
    694696        return result;
    695697    }
  • trunk/JavaScriptCore/assembler/X86Assembler.h

    r64943 r66150  
    16271627    void* executableCopy(ExecutablePool* allocator)
    16281628    {
    1629         return m_formatter.executableCopy(allocator);
     1629        void* copy = m_formatter.executableCopy(allocator);
     1630        ASSERT(copy);
     1631        return copy;
    16301632    }
    16311633
Note: See TracChangeset for help on using the changeset viewer.