[webkit-changes] [WebKit/WebKit] 2fab0f: Add IPInt SIMD entrypoint, dispatch logic, and stu...

Daniel Liu noreply at github.com
Fri Aug 25 14:27:14 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 2fab0f560099d5a09b3e7cd3bdf40782af7fa312
      https://github.com/WebKit/WebKit/commit/2fab0f560099d5a09b3e7cd3bdf40782af7fa312
  Author: Daniel Liu <danlliu at umich.edu>
  Date:   2023-08-25 (Fri, 25 Aug 2023)

  Changed paths:
    A JSTests/wasm/ipint-tests/ipint-test-simd.js
    M Source/JavaScriptCore/llint/InPlaceInterpreter.asm
    M Source/JavaScriptCore/llint/InPlaceInterpreter.cpp
    M Source/JavaScriptCore/llint/InPlaceInterpreter.h
    M Source/JavaScriptCore/llint/LLIntThunks.cpp
    M Source/JavaScriptCore/llint/LLIntThunks.h
    M Source/JavaScriptCore/wasm/WasmFunctionIPIntMetadataGenerator.cpp
    M Source/JavaScriptCore/wasm/WasmFunctionIPIntMetadataGenerator.h
    M Source/JavaScriptCore/wasm/WasmIPIntGenerator.cpp
    M Source/JavaScriptCore/wasm/WasmIPIntPlan.cpp
    M Source/WTF/wtf/Compiler.h

  Log Message:
  -----------
  Add IPInt SIMD entrypoint, dispatch logic, and stub implementations
https://bugs.webkit.org/show_bug.cgi?id=260492
rdar://114223350

Reviewed by Yusuke Suzuki.

Added support to IPInt for a SIMD entrypoint that is used if a function uses SIMD.
Enabled SIMD support in IPInt.
Added dispatch logic to support SIMD instructions.
Added unimplementedInstruction labels for all SIMD instructions (not including relaxed SIMD).

* JSTests/wasm/ipint-tests/ipint-test-simd.js: Added.
(from.string_appeared_here.import.as.assert.from.string_appeared_here.let.wat.module.func.export.string_appeared_here.result.i32.v128.const.i32x4.0.1.2.3.i32x4.extract_lane.0.return.async test):
* Source/JavaScriptCore/llint/InPlaceInterpreter.asm:
* Source/JavaScriptCore/llint/InPlaceInterpreter.h:
* Source/JavaScriptCore/llint/LLIntThunks.cpp:
(JSC::LLInt::inPlaceInterpreterEntryThunk):
(JSC::LLInt::inPlaceInterpreterEntryThunkSIMD):
* Source/JavaScriptCore/llint/LLIntThunks.h:
* Source/JavaScriptCore/wasm/WasmFunctionIPIntMetadataGenerator.cpp:
(JSC::Wasm::FunctionIPIntMetadataGenerator::addLEB128ConstantAndLengthForType):
(JSC::Wasm::FunctionIPIntMetadataGenerator::addLEB128V128Constant):
* Source/JavaScriptCore/wasm/WasmFunctionIPIntMetadataGenerator.h:
* Source/JavaScriptCore/wasm/WasmIPIntGenerator.cpp:
(JSC::Wasm::IPIntGenerator::addConstant):
(JSC::Wasm::IPIntGenerator::addExtractLane):
(JSC::Wasm::IPIntGenerator::addSIMDRelaxedFMA):
* Source/JavaScriptCore/wasm/WasmIPIntPlan.cpp:
(JSC::Wasm::IPIntPlan::didCompleteCompilation):

Canonical link: https://commits.webkit.org/267299@main




More information about the webkit-changes mailing list