[webkit-changes] [WebKit/WebKit] 3304a1: [Wasm-GC] Add missing type expansion for arrays, s...

Asumu Takikawa noreply at github.com
Wed Jan 18 12:02:14 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 3304a1879844f73735f3109b2a3f71a75d6ee9a0
      https://github.com/WebKit/WebKit/commit/3304a1879844f73735f3109b2a3f71a75d6ee9a0
  Author: Asumu Takikawa <asumu at igalia.com>
  Date:   2023-01-18 (Wed, 18 Jan 2023)

  Changed paths:
    M JSTests/wasm/gc/arrays.js
    M JSTests/wasm/gc/structs.js
    M Source/JavaScriptCore/wasm/WasmAirIRGeneratorBase.h
    M Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp
    M Source/JavaScriptCore/wasm/WasmFunctionParser.h
    M Source/JavaScriptCore/wasm/WasmOperationsInlines.h
    M Source/JavaScriptCore/wasm/WasmSlowPaths.cpp
    M Source/JavaScriptCore/wasm/js/JSWebAssemblyStruct.cpp
    M Source/JavaScriptCore/wasm/js/JSWebAssemblyStruct.h

  Log Message:
  -----------
  [Wasm-GC] Add missing type expansion for arrays, structs
https://bugs.webkit.org/show_bug.cgi?id=250489

Reviewed by Justin Michaud.

Adds `expand()` calls where necessary to ensure that recursive/subtype
types work with array and struct operations. Also add tests to exercise
these cases.

* JSTests/wasm/gc/arrays.js:
(testArrayNewDefault):
(testArrayGet):
* JSTests/wasm/gc/structs.js:
(testStructNewDefault):
* Source/JavaScriptCore/wasm/WasmAirIRGeneratorBase.h:
(JSC::Wasm::ExpressionType>::addArrayNew):
(JSC::Wasm::ExpressionType>::addArrayNewDefault):
(JSC::Wasm::ExpressionType>::addArrayGet):
(JSC::Wasm::ExpressionType>::addStructNew):
(JSC::Wasm::ExpressionType>::addStructNewDefault):
* Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp:
(JSC::Wasm::B3IRGenerator::addArrayNew):
(JSC::Wasm::B3IRGenerator::addArrayNewDefault):
(JSC::Wasm::B3IRGenerator::addArrayGet):
(JSC::Wasm::B3IRGenerator::addArraySet):
(JSC::Wasm::B3IRGenerator::addStructNew):
(JSC::Wasm::B3IRGenerator::addStructNewDefault):
* Source/JavaScriptCore/wasm/WasmFunctionParser.h:
(JSC::Wasm::FunctionParser<Context>::parseStructTypeIndex):
(JSC::Wasm::FunctionParser<Context>::parseStructTypeIndexAndFieldIndex):
(JSC::Wasm::FunctionParser<Context>::parseStructFieldManipulation):
(JSC::Wasm::FunctionParser<Context>::parseExpression):
* Source/JavaScriptCore/wasm/WasmOperationsInlines.h:
(JSC::Wasm::arrayNew):
(JSC::Wasm::arrayGet):
(JSC::Wasm::arraySet):
(JSC::Wasm::structNew):
* Source/JavaScriptCore/wasm/WasmSlowPaths.cpp:
(JSC::LLInt::WASM_SLOW_PATH_DECL):
* Source/JavaScriptCore/wasm/js/JSWebAssemblyStruct.cpp:
(JSC::JSWebAssemblyStruct::JSWebAssemblyStruct):
(JSC::JSWebAssemblyStruct::tryCreate):
* Source/JavaScriptCore/wasm/js/JSWebAssemblyStruct.h:

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




More information about the webkit-changes mailing list