[webkit-changes] [WebKit/WebKit] 30b290: [JSC] Implement atomic operations in new wasm base...
Yusuke Suzuki
noreply at github.com
Fri Feb 17 12:08:26 PST 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 30b2907267b216913a9e14bfa65ab27d6b1a5b4b
https://github.com/WebKit/WebKit/commit/30b2907267b216913a9e14bfa65ab27d6b1a5b4b
Author: Yusuke Suzuki <ysuzuki at apple.com>
Date: 2023-02-17 (Fri, 17 Feb 2023)
Changed paths:
M Source/JavaScriptCore/assembler/AssemblyComments.h
M Source/JavaScriptCore/wasm/WasmBBQJIT.cpp
M Source/JavaScriptCore/wasm/WasmBBQPlan.cpp
M Source/JavaScriptCore/wasm/generateWasmOpsHeader.py
Log Message:
-----------
[JSC] Implement atomic operations in new wasm baseline JIT
https://bugs.webkit.org/show_bug.cgi?id=252457
rdar://105581013
Reviewed by Justin Michaud.
This patch implements atomics in new wasm baseline JIT. And it also fixes some issues.
1. Implement all wasm atomics in new wasm baseline JIT.
2. We found that new baseline's emitCCall's results are wrong since C-Call and Wasm-Call have difference in calling convention,
in particular, return values. We, for now, fix the return values. We should decouple Wasm-Call calling convention things from
emitCCall since this is C-Call.
3. Fix disassembly conditions.
4. Show AssemblyComments when needDisassemblySupport is true.
* Source/JavaScriptCore/assembler/AssemblyComments.h:
(JSC::AssemblyCommentRegistry::registerCodeRange):
(JSC::AssemblyCommentRegistry::unregisterCodeRange):
(JSC::AssemblyCommentRegistry::comment):
* Source/JavaScriptCore/wasm/WasmBBQJIT.cpp:
(JSC::Wasm::BBQJIT::sizeOfLoadOp):
(JSC::Wasm::BBQJIT::typeOfLoadOp):
(JSC::Wasm::BBQJIT::accessWidth):
(JSC::Wasm::BBQJIT::sizeOfAtomicOpMemoryAccess):
(JSC::Wasm::BBQJIT::emitSanitizeAtomicResult):
(JSC::Wasm::BBQJIT::emitAtomicOpGeneric):
(JSC::Wasm::BBQJIT::emitAtomicLoadOp):
(JSC::Wasm::BBQJIT::atomicLoad):
(JSC::Wasm::BBQJIT::emitAtomicStoreOp):
(JSC::Wasm::BBQJIT::atomicStore):
(JSC::Wasm::BBQJIT::emitAtomicBinaryRMWOp):
(JSC::Wasm::BBQJIT::atomicBinaryRMW):
(JSC::Wasm::BBQJIT::emitAtomicCompareExchange):
(JSC::Wasm::BBQJIT::atomicCompareExchange):
(JSC::Wasm::BBQJIT::atomicWait):
(JSC::Wasm::BBQJIT::atomicNotify):
(JSC::Wasm::BBQJIT::atomicFence):
(JSC::Wasm::BBQJIT::emitCCall):
* Source/JavaScriptCore/wasm/WasmBBQPlan.cpp:
(JSC::Wasm::BBQPlan::work):
(JSC::Wasm::BBQPlan::didCompleteCompilation):
Canonical link: https://commits.webkit.org/260460@main
More information about the webkit-changes
mailing list