Changeset 39325 in webkit for trunk/JavaScriptCore/jit/JIT.cpp


Ignore:
Timestamp:
Dec 15, 2008, 8:48:16 PM (17 years ago)
Author:
[email protected]
Message:

2008-12-15 Gavin Barraclough <[email protected]>

Rubber stamped by Mark Rowe.

Revert r39226 / Bug 22818: Unify JIT callback argument access OS X / Windows
This causes Acid3 failures – reverting for now & will revisit later.
https://bugs.webkit.org/show_bug.cgi?id=22873

  • interpreter/Interpreter.h:
  • jit/JIT.cpp: (JSC::JIT::privateCompileCTIMachineTrampolines):
  • jit/JIT.h:
  • jit/JITInlineMethods.h: (JSC::JIT::restoreArgumentReference): (JSC::JIT::restoreArgumentReferenceForTrampoline): (JSC::JIT::emitCTICall_internal):
  • jit/JITPropertyAccess.cpp: (JSC::JIT::privateCompilePutByIdTransition):
  • wtf/Platform.h:
File:
1 edited

Legend:

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

    r39316 r39325  
    7878".globl " SYMBOL_STRING(ctiVMThrowTrampoline) "\n"
    7979SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n"
     80#if USE(CTI_ARGUMENT)
     81#if USE(FAST_CALL_CTI_ARGUMENT)
     82    "movl %esp, %ecx" "\n"
     83#else
     84    "movl %esp, 0(%esp)" "\n"
     85#endif
     86    "call " SYMBOL_STRING(_ZN3JSC11Interpreter12cti_vm_throwEPPv) "\n"
     87#else
    8088    "call " SYMBOL_STRING(_ZN3JSC11Interpreter12cti_vm_throwEPvz) "\n"
     89#endif
    8190    "addl $0x20, %esp" "\n"
    8291    "popl %ebx" "\n"
     
    18761885    X86Assembler::JmpSrc hasCodeBlock1 = __ jne();
    18771886    __ pop_r(X86::ebx);
     1887    restoreArgumentReference();
    18781888    emitPutCTIParam(callFrameRegister, CTI_ARGS_callFrame);
    18791889    X86Assembler::JmpSrc callJSFunction1 = __ call();
     
    18891899    emitPutJITStubArg(X86::ebx, 2);
    18901900    emitPutJITStubArg(X86::eax, 4);
     1901    restoreArgumentReference();
    18911902    emitPutCTIParam(callFrameRegister, CTI_ARGS_callFrame);
    18921903    X86Assembler::JmpSrc callArityCheck1 = __ call();
     
    19011912    __ pop_r(X86::ebx);
    19021913    emitPutJITStubArg(X86::ebx, 2);
     1914    restoreArgumentReference();
    19031915    emitPutCTIParam(callFrameRegister, CTI_ARGS_callFrame);
    19041916    X86Assembler::JmpSrc callDontLazyLinkCall = __ call();
     
    19151927    X86Assembler::JmpSrc hasCodeBlock2 = __ jne();
    19161928    __ pop_r(X86::ebx);
     1929    restoreArgumentReference();
    19171930    emitPutCTIParam(callFrameRegister, CTI_ARGS_callFrame);
    19181931    X86Assembler::JmpSrc callJSFunction2 = __ call();
     
    19281941    emitPutJITStubArg(X86::ebx, 2);
    19291942    emitPutJITStubArg(X86::eax, 4);
     1943    restoreArgumentReference();
    19301944    emitPutCTIParam(callFrameRegister, CTI_ARGS_callFrame);
    19311945    X86Assembler::JmpSrc callArityCheck2 = __ call();
     
    19401954    __ pop_r(X86::ebx);
    19411955    emitPutJITStubArg(X86::ebx, 2);
     1956    restoreArgumentReference();
    19421957    emitPutCTIParam(callFrameRegister, CTI_ARGS_callFrame);
    19431958    X86Assembler::JmpSrc callLazyLinkCall = __ call();
     
    19541969    X86Assembler::JmpSrc hasCodeBlock3 = __ jne();
    19551970    __ pop_r(X86::ebx);
     1971    restoreArgumentReference();
    19561972    emitPutCTIParam(callFrameRegister, CTI_ARGS_callFrame);
    19571973    X86Assembler::JmpSrc callJSFunction3 = __ call();
     
    19671983    emitPutJITStubArg(X86::ebx, 2);
    19681984    emitPutJITStubArg(X86::eax, 4);
     1985    restoreArgumentReference();
    19691986    emitPutCTIParam(callFrameRegister, CTI_ARGS_callFrame);
    19701987    X86Assembler::JmpSrc callArityCheck3 = __ call();
Note: See TracChangeset for help on using the changeset viewer.