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

Reply via email to