Changeset 94922 in webkit


Ignore:
Timestamp:
Sep 11, 2011 12:08:25 AM (13 years ago)
Author:
Csaba Osztrogonác
Message:

ARM and MIPS assemblers still refer to executable pools.
https://bugs.webkit.org/show_bug.cgi?id=67903

Patch by Filip Pizlo <fpizlo@apple.com> on 2011-09-11
Reviewed by Csaba Osztrogonác.

  • assembler/ARMAssembler.cpp:

(JSC::ARMAssembler::executableCopy):

  • assembler/ARMAssembler.h:
  • assembler/AssemblerBufferWithConstantPool.h:
  • assembler/MIPSAssembler.h:

(JSC::MIPSAssembler::executableCopy):

Location:
trunk/Source/JavaScriptCore
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r94920 r94922  
     12011-09-11  Filip Pizlo  <fpizlo@apple.com>
     2
     3        ARM and MIPS assemblers still refer to executable pools.
     4        https://bugs.webkit.org/show_bug.cgi?id=67903
     5
     6        Reviewed by Csaba Osztrogonác.
     7
     8        * assembler/ARMAssembler.cpp:
     9        (JSC::ARMAssembler::executableCopy):
     10        * assembler/ARMAssembler.h:
     11        * assembler/AssemblerBufferWithConstantPool.h:
     12        * assembler/MIPSAssembler.h:
     13        (JSC::MIPSAssembler::executableCopy):
     14
    1152011-09-08  Filip Pizlo  <fpizlo@apple.com>
    216
  • trunk/Source/JavaScriptCore/assembler/ARMAssembler.cpp

    r90738 r94922  
    344344}
    345345
    346 void* ARMAssembler::executableCopy(JSGlobalData& globalData, ExecutablePool* allocator)
     346PassRefPtr<ExecutableMemoryHandle> ARMAssembler::executableCopy(JSGlobalData& globalData)
    347347{
    348348    // 64-bit alignment is required for next constant pool and JIT code as well
     
    351351        bkpt(0);
    352352
    353     char* data = reinterpret_cast<char*>(m_buffer.executableCopy(globalData, allocator));
     353    RefPtr<ExecutableMemoryHandle> result = m_buffer.executableCopy(globalData);
     354    char* data = reinterpret_cast<char*>(result->start());
    354355
    355356    for (Jumps::Iterator iter = m_jumps.begin(); iter != m_jumps.end(); ++iter) {
     
    371372    }
    372373
    373     return data;
     374    return result;
    374375}
    375376
  • trunk/Source/JavaScriptCore/assembler/ARMAssembler.h

    r94622 r94922  
    680680        }
    681681
    682         void* executableCopy(JSGlobalData&, ExecutablePool* allocator);
     682        PassRefPtr<ExecutableMemoryHandle> executableCopy(JSGlobalData&);
    683683
    684684#ifndef NDEBUG
  • trunk/Source/JavaScriptCore/assembler/AssemblerBufferWithConstantPool.h

    r87527 r94922  
    196196    }
    197197
    198     void* executableCopy(JSGlobalData& globalData, ExecutablePool* allocator)
     198    PassRefPtr<ExecutableMemoryHandle> executableCopy(JSGlobalData& globalData)
    199199    {
    200200        flushConstantPool(false);
    201         return AssemblerBuffer::executableCopy(globalData, allocator);
     201        return AssemblerBuffer::executableCopy(globalData);
    202202    }
    203203
  • trunk/Source/JavaScriptCore/assembler/MIPSAssembler.h

    r90687 r94922  
    646646    }
    647647
    648     void* executableCopy(JSGlobalData& globalData, ExecutablePool* allocator)
    649     {
    650         void *result = m_buffer.executableCopy(globalData, allocator);
     648    PassRefPtr<ExecutableMemoryHandle> executableCopy(JSGlobalData& globalData)
     649    {
     650        RefPtr<ExecutableMemoryHandle> result = m_buffer.executableCopy(globalData);
    651651        if (!result)
    652652            return 0;
    653653
    654         relocateJumps(m_buffer.data(), result);
    655         return result;
     654        relocateJumps(m_buffer.data(), result->start());
     655        return result.release();
    656656    }
    657657
Note: See TracChangeset for help on using the changeset viewer.