Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 0c931c35ab1cb17db30e286a67c6e75fd625c8e0
https://github.com/WebKit/WebKit/commit/0c931c35ab1cb17db30e286a67c6e75fd625c8e0
Author: Yusuke Suzuki <[email protected]>
Date: 2023-02-17 (Fri, 17 Feb 2023)
Changed paths:
M Source/JavaScriptCore/wasm/WasmBBQJIT.cpp
Log Message:
-----------
[JSC] Fix wasm SetGlobal
https://bugs.webkit.org/show_bug.cgi?id=252513
rdar://105619803
Reviewed by Mark Lam.
Fix emitWriteBarrier code.
1. It is passing cellState to operation, this is not correct
2. Portable Global should pass JSWebAssemblyGlobal, not JSWebAssemblyInstance
3. emitWriteBarrier code was jumping over emitCCall. This is wrong since flush
can happen only one path.
To fix it, we introduce flushRegisters and DFG like semantics. So, we first
flush everything for this emitWriteBarrier,
and then just call a function with callOperation.
* Source/JavaScriptCore/wasm/WasmBBQJIT.cpp:
(JSC::Wasm::BBQJIT::emitWriteBarrier):
(JSC::Wasm::BBQJIT::setGlobal):
(JSC::Wasm::BBQJIT::emitWriteBarrierForJSWrapper): Deleted.
Canonical link: https://commits.webkit.org/260493@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes