Ignore:
Timestamp:
Oct 26, 2009, 3:49:23 PM (16 years ago)
Author:
[email protected]
Message:

2009-10-26 Gabor Loki <[email protected]>

Reviewed by Gavin Barraclough.

The thunkReturnAddress is on JITStackFrame on ARM JIT as well
https://bugs.webkit.org/show_bug.cgi?id=30782

Move the thunkReturnAddress from top of the stack into the JITStackFrame
structure. This is a requirement for JSValue32_64 support on ARM.

  • assembler/MacroAssemblerARM.h: (JSC::MacroAssemblerARM::ret): Return with link register (JSC::MacroAssemblerARM::prepareCall): Store the return address in link register
  • jit/JIT.h: Remove unused ctiReturnRegister
  • jit/JITInlineMethods.h: Same as ARMv7 (JSC::JIT::restoreArgumentReference): Ditto. (JSC::JIT::restoreArgumentReferenceForTrampoline): Ditto.
  • jit/JITOpcodes.cpp: Remove ctiReturnRegister related instruction
  • jit/JITStubs.cpp: Store thunkReturnAddress on JITStackFrame. Use small trampoline functions which handle return addresses for each CTI_STUB_FUNCTION.
  • jit/JITStubs.h: Store thunkReturnAddress on JITStackFrame (JSC::JITStackFrame::returnAddressSlot): Return with the address of thunkReturnAddress
  • yarr/RegexJIT.cpp: (JSC::Yarr::RegexGenerator::generateEnter): Remove the unnecessary instruction
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/jit/JITOpcodes.cpp

    r49888 r50109  
    17931793    move(stackPointerRegister, ARMRegisters::S0);
    17941794
    1795     move(ctiReturnRegister, ARMRegisters::lr);
    17961795    call(Address(regT1, OBJECT_OFFSETOF(JSFunction, m_data)));
    17971796
Note: See TracChangeset for help on using the changeset viewer.