• msaboff@apple.com's avatar
    Change callToJavaScript thunk into an offline assembled stub · 4655f790
    msaboff@apple.com authored
    https://bugs.webkit.org/show_bug.cgi?id=124251
    
    Reviewed by Geoffrey Garen.
    
    Changed callToJavaScript and throwNotCaught into stubs generated by the offline assembler.
    Added popCalleeSaves and pushCalleeSaves pseudo ops to the offline assembler to handle
    the saving and restoring of callee save registers.  Fixed callFrameRegister differences
    between arm traditional (r11) and arm Thumb2 (r7) in GPRInfo.h.  Also fixed implementation
    of pop & push in arm.rb.
    
    Since the offline assembler and therefore the LLInt don't work on Windows, the Windows stubs
    are handled as inline assembly in JITStubsX86.h and JITStubsMSVC64.asm.
    
    * dfg/DFGDriver.cpp:
    (JSC::DFG::compileImpl):
    * jit/GPRInfo.h:
    (JSC::GPRInfo::toIndex):
    (JSC::GPRInfo::debugName):
    * jit/JITCode.cpp:
    (JSC::JITCode::execute):
    * jit/JITExceptions.cpp:
    (JSC::genericUnwind):
    * jit/JITStubs.h:
    * jit/JITStubsMSVC64.asm:
    * jit/JITStubsX86.h:
    * jit/ThunkGenerators.cpp:
    * jit/ThunkGenerators.h:
    * llint/LLIntThunks.h:
    * llint/LowLevelInterpreter.asm:
    * llint/LowLevelInterpreter32_64.asm:
    * llint/LowLevelInterpreter64.asm:
    * offlineasm/arm.rb:
    * offlineasm/arm64.rb:
    * offlineasm/instructions.rb:
    * offlineasm/mips.rb:
    * offlineasm/registers.rb:
    * offlineasm/sh4.rb:
    * offlineasm/x86.rb:
    * runtime/VM.cpp:
    (JSC::VM::VM):
    * runtime/VM.h:
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159276 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    4655f790