Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 3e28bdb07aa262a34c5c9becfee6f9d36d0a1cf9 https://github.com/WebKit/WebKit/commit/3e28bdb07aa262a34c5c9becfee6f9d36d0a1cf9 Author: Asumu Takikawa <as...@igalia.com> Date: 2023-01-26 (Thu, 26 Jan 2023)
Changed paths: A JSTests/wasm/function-references/block_signature.js M JSTests/wasm/gc-spec-tests/type-equivalence.wast.js M Source/JavaScriptCore/wasm/WasmFormat.h M Source/JavaScriptCore/wasm/WasmFunctionParser.h M Source/JavaScriptCore/wasm/WasmParser.h Log Message: ----------- [WASM-Function-References] Fix block signature parsing for reftypes https://bugs.webkit.org/show_bug.cgi?id=247383 Reviewed by Justin Michaud. With the typed function reference proposal, block signatures can also have indexed reference types (and non-externref/funcref signatures in general). This patch adds support for parsing these cases. While for reftypes with non-index heap types it is possible to pre-populate the block signatures in TypeInformation, for indexed types the block signatures have to be created after the type section is read. This patch also makes BlockSignature a RefPtr type so that the type signature is kept live while the block signatures are in use in the validator (even if the signature is not in the ModuleInformation's type signature list). * JSTests/wasm/function-references/block_signature.js: Added. (module): (async blockSignatureTest): * JSTests/wasm/gc-spec-tests/type-equivalence.wast.js: * Source/JavaScriptCore/wasm/WasmFormat.h: * Source/JavaScriptCore/wasm/WasmFunctionParser.h: (JSC::Wasm::FunctionParser<Context>::unify): * Source/JavaScriptCore/wasm/WasmParser.h: (JSC::Wasm::Parser<SuccessType>::parseBlockSignature): Canonical link: https://commits.webkit.org/259421@main _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes