Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: f0388f70f563951a25ab16cf8bf1860a5a97de34
      
https://github.com/WebKit/WebKit/commit/f0388f70f563951a25ab16cf8bf1860a5a97de34
  Author: Keith Miller <keith_mil...@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
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to