[webkit-changes] [WebKit/WebKit] f0388f: Wasm calls should consistently use WasmEntryPtrTag
Keith Miller
noreply at github.com
Fri Sep 27 10:55:43 PDT 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: f0388f70f563951a25ab16cf8bf1860a5a97de34
https://github.com/WebKit/WebKit/commit/f0388f70f563951a25ab16cf8bf1860a5a97de34
Author: Keith Miller <keith_miller at apple.com>
Date: 2024-09-27 (Fri, 27 Sep 2024)
Changed paths:
M Source/JavaScriptCore/llint/InPlaceInterpreter64.asm
M Source/JavaScriptCore/llint/LLIntData.cpp
M Source/JavaScriptCore/llint/WebAssembly.asm
M Source/JavaScriptCore/llint/WebAssembly64.asm
M Source/JavaScriptCore/runtime/Gate.h
M Source/JavaScriptCore/wasm/WasmIPIntSlowPaths.cpp
M Source/JavaScriptCore/wasm/WasmSlowPaths.cpp
M Source/WTF/wtf/CodePtr.h
Log Message:
-----------
Wasm calls should consistently use WasmEntryPtrTag
https://bugs.webkit.org/show_bug.cgi?id=280521
rdar://136834969
Reviewed by Mark Lam.
Right now we mostly use JSEntrySlowPathPtrTag when doing wasm calls from
LLInt/IPInt but we should really just use WasmEntryPtrTag. Since that's
what the JIT uses and that way we don't have to retag our pointer.
This also makes it harder to get e.g. JS to call wasm with the wrong
calling convention as we no longer ever have a wasm code pointer tagged
with JSEntrySlowPathPtrTag.
Also, fix a bug where `useJIT=0` wasmTailCallJSEntrySlowPathTrampoline
was using JSEntryPtrTag instead of JSEntrySlowPathPtrTag. Although, per
the above it's now WasmEntryPtrTag.
* Source/JavaScriptCore/llint/InPlaceInterpreter64.asm:
* Source/JavaScriptCore/llint/LLIntData.cpp:
(JSC::LLInt::initialize):
* Source/JavaScriptCore/llint/WebAssembly.asm:
* Source/JavaScriptCore/llint/WebAssembly64.asm:
* Source/JavaScriptCore/runtime/Gate.h:
* Source/JavaScriptCore/wasm/WasmIPIntSlowPaths.cpp:
(JSC::IPInt::doWasmCall):
(JSC::IPInt::WASM_IPINT_EXTERN_CPP_DECL):
* Source/JavaScriptCore/wasm/WasmSlowPaths.cpp:
(JSC::LLInt::doWasmCall):
(JSC::LLInt::doWasmCallIndirect):
(JSC::LLInt::doWasmCallRef):
* Source/WTF/wtf/CodePtr.h:
(WTF::CodePtr::getTag):
(WTF::CodePtr::validate const):
Canonical link: https://commits.webkit.org/284369@main
To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications
More information about the webkit-changes
mailing list