[webkit-changes] [WebKit/WebKit] de08c2: [Wasm-GC] Implement packed types in struct fields
Asumu Takikawa
noreply at github.com
Fri Nov 10 03:01:35 PST 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: de08c24870816d242dc7d5daa9a2d24677384515
https://github.com/WebKit/WebKit/commit/de08c24870816d242dc7d5daa9a2d24677384515
Author: Asumu Takikawa <asumu at 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
More information about the webkit-changes
mailing list