Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: de08c24870816d242dc7d5daa9a2d24677384515
      
https://github.com/WebKit/WebKit/commit/de08c24870816d242dc7d5daa9a2d24677384515
  Author: Asumu Takikawa <as...@igalia.com>
  Date:   2023-11-10 (Fri, 10 Nov 2023)

  Changed paths:
    A JSTests/wasm/gc-spec-tests/struct.wast.js
    M JSTests/wasm/gc/structs.js
    M JSTests/wasm/wasm.json
    M Source/JavaScriptCore/bytecode/BytecodeList.rb
    M Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp
    M Source/JavaScriptCore/wasm/WasmBBQJIT.cpp
    M Source/JavaScriptCore/wasm/WasmConstExprGenerator.cpp
    M Source/JavaScriptCore/wasm/WasmFunctionParser.h
    M Source/JavaScriptCore/wasm/WasmIPIntGenerator.cpp
    M Source/JavaScriptCore/wasm/WasmLLIntGenerator.cpp
    M Source/JavaScriptCore/wasm/WasmOperationsInlines.h
    M Source/JavaScriptCore/wasm/WasmSectionParser.cpp
    M Source/JavaScriptCore/wasm/WasmSlowPaths.cpp
    M Source/JavaScriptCore/wasm/js/JSWebAssemblyStruct.cpp
    M Source/JavaScriptCore/wasm/wasm.json

  Log Message:
  -----------
  [Wasm-GC] Implement packed types in struct fields
https://bugs.webkit.org/show_bug.cgi?id=246981

Reviewed by Justin Michaud.

Adds support for packed types (i8, i16) to Wasm GC struct types.
The implementation is similar to packed array support.

This enables struct.js tests from the GC proposal spec testsuite to run
(from commit e5d10bafbbeec8227de40314edd8f26f0bb69130).

Also updates the test version of wasm.json, which was overlooked in
previous patches.

* JSTests/wasm/gc-spec-tests/struct.wast.js: Added.
* JSTests/wasm/gc/structs.js:
(testStructPacked):
* JSTests/wasm/wasm.json:
* Source/JavaScriptCore/bytecode/BytecodeList.rb:
* Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp:
(JSC::Wasm::B3IRGenerator::emitStructSet):
(JSC::Wasm::B3IRGenerator::addStructGet):
* Source/JavaScriptCore/wasm/WasmBBQJIT.cpp:
(JSC::Wasm::BBQJIT::emitStructSet):
(JSC::Wasm::BBQJIT::addStructGet):
* Source/JavaScriptCore/wasm/WasmConstExprGenerator.cpp:
* Source/JavaScriptCore/wasm/WasmFunctionParser.h:
(JSC::Wasm::FunctionParser<Context>::parseExpression):
* Source/JavaScriptCore/wasm/WasmIPIntGenerator.cpp:
(JSC::Wasm::IPIntGenerator::addStructGet):
* Source/JavaScriptCore/wasm/WasmLLIntGenerator.cpp:
(JSC::Wasm::LLIntGenerator::addStructGet):
* Source/JavaScriptCore/wasm/WasmOperationsInlines.h:
(JSC::Wasm::structNew):
(JSC::Wasm::structSet):
* Source/JavaScriptCore/wasm/WasmSectionParser.cpp:
(JSC::Wasm::SectionParser::parseStructType):
* Source/JavaScriptCore/wasm/WasmSlowPaths.cpp:
(JSC::LLInt::WASM_SLOW_PATH_DECL):
* Source/JavaScriptCore/wasm/js/JSWebAssemblyStruct.cpp:
(JSC::JSWebAssemblyStruct::get const):
(JSC::JSWebAssemblyStruct::set):
* Source/JavaScriptCore/wasm/wasm.json:

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


_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to