Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Change callToJavaScript thunk into an offline assembled stub
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: Canonical link: https://commits.webkit.org/142547@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@159276 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- Loading branch information
Showing
with
425 additions
and 306 deletions.
- +45 −0 Source/JavaScriptCore/ChangeLog
- +0 −2 Source/JavaScriptCore/dfg/DFGDriver.cpp
- +13 −4 Source/JavaScriptCore/jit/GPRInfo.h
- +2 −2 Source/JavaScriptCore/jit/JITCode.cpp
- +3 −1 Source/JavaScriptCore/jit/JITExceptions.cpp
- +11 −0 Source/JavaScriptCore/jit/JITStubs.h
- +44 −0 Source/JavaScriptCore/jit/JITStubsMSVC64.asm
- +44 −0 Source/JavaScriptCore/jit/JITStubsX86.h
- +0 −271 Source/JavaScriptCore/jit/ThunkGenerators.cpp
- +0 −3 Source/JavaScriptCore/jit/ThunkGenerators.h
- +6 −0 Source/JavaScriptCore/llint/LLIntThunks.h
- +6 −0 Source/JavaScriptCore/llint/LowLevelInterpreter.asm
- +74 −0 Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm
- +55 −0 Source/JavaScriptCore/llint/LowLevelInterpreter64.asm
- +17 −3 Source/JavaScriptCore/offlineasm/arm.rb
- +28 −4 Source/JavaScriptCore/offlineasm/arm64.rb
- +2 −0 Source/JavaScriptCore/offlineasm/instructions.rb
- +18 −0 Source/JavaScriptCore/offlineasm/mips.rb
- +6 −4 Source/JavaScriptCore/offlineasm/registers.rb
- +23 −1 Source/JavaScriptCore/offlineasm/sh4.rb
- +28 −5 Source/JavaScriptCore/offlineasm/x86.rb
- +0 −2 Source/JavaScriptCore/runtime/VM.cpp
- +0 −4 Source/JavaScriptCore/runtime/VM.h
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.