[webkit-changes] [WebKit/WebKit] 31ae64: [JSC] Use SlowPathFrameTracer and fix most of wasm...
Yusuke Suzuki
noreply at github.com
Thu Jan 12 04:08:39 PST 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 31ae64f178ab4378cd7eacf3976990fee13e0874
https://github.com/WebKit/WebKit/commit/31ae64f178ab4378cd7eacf3976990fee13e0874
Author: Yusuke Suzuki <ysuzuki at apple.com>
Date: 2023-01-12 (Thu, 12 Jan 2023)
Changed paths:
M Source/JavaScriptCore/wasm/WasmInstance.h
M Source/JavaScriptCore/wasm/WasmOperations.cpp
M Source/JavaScriptCore/wasm/WasmSlowPaths.cpp
Log Message:
-----------
[JSC] Use SlowPathFrameTracer and fix most of wasm GC operations
https://bugs.webkit.org/show_bug.cgi?id=250502
rdar://104156324
Reviewed by Mark Lam.
Use SlowPathFrameTracer to configure topCallFrame in Wasm LLInt SlowPathes.
And remove storeTopCallFrame since it is no longer used: it was originally
introduced to make VM separate from Wasm::Instance etc. while keeping the
functionality of setting a CallFrame* to VM. But now we wiped this abstraction,
so this SlowPathFrameTracer change cleans up things.
We also fix bugs of wasm GC operations where they do not set topCallFrame correctly.
They need to set it since they do GC allocation, which can cause ShadowChicken processing,
and it requires topCallFrame. This patch fixes them.
* Source/JavaScriptCore/wasm/WasmInstance.h:
(JSC::Wasm::Instance::storeTopCallFrame): Deleted.
* Source/JavaScriptCore/wasm/WasmSlowPaths.cpp:
(JSC::LLInt::WASM_SLOW_PATH_DECL):
(JSC::LLInt::slow_path_wasm_throw_exception):
Canonical link: https://commits.webkit.org/258824@main
More information about the webkit-changes
mailing list