[webkit-changes] [WebKit/WebKit] 3ebc10: [ARMv7] Return exceptions from operations using lo...

Justin Michaud noreply at github.com
Thu Sep 26 19:47:41 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 3ebc10609bfec7c5b8e1da3236e141d2eb0ae13e
      https://github.com/WebKit/WebKit/commit/3ebc10609bfec7c5b8e1da3236e141d2eb0ae13e
  Author: Justin Michaud <jmichaud at igalia.com>
  Date:   2024-09-26 (Thu, 26 Sep 2024)

  Changed paths:
    M Source/JavaScriptCore/jit/CCallHelpers.h
    M Source/JavaScriptCore/jit/OperationResult.h
    M Source/JavaScriptCore/llint/WebAssembly.asm
    M Source/JavaScriptCore/wasm/WasmCallee.h
    M Source/JavaScriptCore/wasm/WasmOperations.cpp
    M Source/JavaScriptCore/wasm/WasmOperations.h
    M Source/JavaScriptCore/wasm/js/JSToWasm.cpp

  Log Message:
  -----------
  [ARMv7] Return exceptions from operations using long long
https://bugs.webkit.org/show_bug.cgi?id=280196

Reviewed by Keith Miller.

In JSToWasm, we now return exceptions via a register to make the ARMv7
port match the 64-bit ports. Returning an EncodedJSValue + an exception
is still not supported, so we modify the signatures of these JSToWasm
operations to return pointers or void instead.

We also fix a little issue with the templating logic, and add a static_assert
preventing it from happening again.

* Source/JavaScriptCore/jit/CCallHelpers.h:
(JSC::CCallHelpers::operationExceptionRegister):
* Source/JavaScriptCore/jit/OperationResult.h:
(JSC::asExceptionResultBase):
(JSC::requires):
(JSC::ExceptionOperationImplicitResult::operator ExceptionOperationResultTag):
(JSC::ExceptionOperationImplicitResult::operator To):
(JSC::ExceptionOperationImplicitResult<void>::operator ExceptionOperationResultVoid):
(JSC::makeOperationResult):
* Source/JavaScriptCore/wasm/WasmOperations.cpp:
(JSC::Wasm::JSC_DEFINE_JIT_OPERATION):
* Source/JavaScriptCore/wasm/WasmOperations.h:
* Source/JavaScriptCore/wasm/js/JSToWasm.cpp:
(JSC::Wasm::marshallJSResult):
(JSC::Wasm::createJSToWasmJITShared):

Canonical link: https://commits.webkit.org/284329@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