Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 3304a1879844f73735f3109b2a3f71a75d6ee9a0 https://github.com/WebKit/WebKit/commit/3304a1879844f73735f3109b2a3f71a75d6ee9a0 Author: Asumu Takikawa <as...@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 _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes