Ignore:
Timestamp:
Sep 18, 2009, 1:18:27 PM (16 years ago)
Author:
[email protected]
Message:

2009-09-18 Gabor Loki <[email protected]>

Reviewed by Gavin Barraclough.

Defines two pseudo-platforms for ARM and Thumb-2 instruction set.
https://bugs.webkit.org/show_bug.cgi?id=29122

Introduces WTF_PLATFORM_ARM_TRADITIONAL and WTF_PLATFORM_ARM_THUMB2
macros on ARM platforms. The PLATFORM(ARM_THUMB2) should be used
when Thumb-2 instruction set is the required target. The
PLATFORM(ARM_TRADITIONAL) is for generic ARM instruction set. In
case where the code is common the PLATFORM(ARM) have to be used.

  • assembler/ARMAssembler.cpp:
  • assembler/ARMAssembler.h:
  • assembler/ARMv7Assembler.h:
  • assembler/MacroAssembler.h:
  • assembler/MacroAssemblerARM.cpp:
  • assembler/MacroAssemblerARM.h:
  • assembler/MacroAssemblerCodeRef.h: (JSC::MacroAssemblerCodePtr::MacroAssemblerCodePtr):
  • jit/ExecutableAllocator.h:
  • jit/JIT.h:
  • jit/JITInlineMethods.h: (JSC::JIT::beginUninterruptedSequence): (JSC::JIT::preserveReturnAddressAfterCall): (JSC::JIT::restoreReturnAddressBeforeReturn): (JSC::JIT::restoreArgumentReference): (JSC::JIT::restoreArgumentReferenceForTrampoline):
  • jit/JITOpcodes.cpp:
  • jit/JITStubs.cpp: (JSC::JITThunks::JITThunks):
  • jit/JITStubs.h:
  • wtf/Platform.h:
  • yarr/RegexJIT.cpp: (JSC::Yarr::RegexGenerator::generateEnter):
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/assembler/MacroAssemblerCodeRef.h

    r46247 r48525  
    3838// ASSERT_VALID_CODE_POINTER checks that ptr is a non-null pointer, and that it is a valid
    3939// instruction address on the platform (for example, check any alignment requirements).
    40 #if PLATFORM_ARM_ARCH(7)
     40#if PLATFORM(ARM_THUMB2)
    4141// ARM/thumb instructions must be 16-bit aligned, but all code pointers to be loaded
    4242// into the processor are decorated with the bottom bit set, indicating that this is
     
    125125
    126126    explicit MacroAssemblerCodePtr(void* value)
    127 #if PLATFORM_ARM_ARCH(7)
     127#if PLATFORM(ARM_THUMB2)
    128128        // Decorate the pointer as a thumb code pointer.
    129129        : m_value(reinterpret_cast<char*>(value) + 1)
     
    142142
    143143    void* executableAddress() const { return m_value; }
    144 #if PLATFORM_ARM_ARCH(7)
     144#if PLATFORM(ARM_THUMB2)
    145145    // To use this pointer as a data address remove the decoration.
    146146    void* dataLocation() const { ASSERT_VALID_CODE_POINTER(m_value); return reinterpret_cast<char*>(m_value) - 1; }
Note: See TracChangeset for help on using the changeset viewer.