Ignore:
Timestamp:
Aug 14, 2013, 2:49:45 PM (12 years ago)
Author:
[email protected]
Message:

Fixed jit on Win64.
https://bugs.webkit.org/show_bug.cgi?id=119601

Reviewed by Oliver Hunt.

  • jit/JITStubsMSVC64.asm: Added ctiVMThrowTrampolineSlowpath implementation.
  • jit/JSInterfaceJIT.h: Added thirdArgumentRegister.
  • jit/SlowPathCall.h:

(JSC::JITSlowPathCall::call): Added correct calling convention for Win64.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/jit/SlowPathCall.h

    r153222 r154075  
    5454        m_jit->push(JIT::TrustedImm32(JIT::TrustedImmPtr(m_pc)));
    5555        m_jit->push(JIT::callFrameRegister);
     56#elif CPU(X86_64) && OS(WINDOWS)
     57        m_jit->addPtr(MacroAssembler::TrustedImm32(-16), MacroAssembler::stackPointerRegister);
     58        m_jit->move(MacroAssembler::stackPointerRegister, JIT::firstArgumentRegister);
     59        m_jit->move(JIT::callFrameRegister, JIT::secondArgumentRegister);
     60        m_jit->move(JIT::TrustedImmPtr(m_pc), JIT::thirdArgumentRegister);
    5661#else
    5762        m_jit->move(JIT::callFrameRegister, JIT::firstArgumentRegister);
     
    6368#if CPU(X86) && USE(JSVALUE32_64)
    6469        m_jit->addPtr(MacroAssembler::TrustedImm32(16), MacroAssembler::stackPointerRegister);
     70#elif CPU(X86_64) && OS(WINDOWS)
     71        m_jit->pop(JIT::regT0); // vPC
     72        m_jit->pop(JIT::regT1); // callFrame register
    6573#endif
    6674
Note: See TracChangeset for help on using the changeset viewer.