Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 30b2907267b216913a9e14bfa65ab27d6b1a5b4b https://github.com/WebKit/WebKit/commit/30b2907267b216913a9e14bfa65ab27d6b1a5b4b Author: Yusuke Suzuki <ysuz...@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 _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes