[webkit-changes] [WebKit/WebKit] 3e28bd: [WASM-Function-References] Fix block signature par...
Asumu Takikawa
noreply at github.com
Thu Jan 26 06:31:12 PST 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 3e28bdb07aa262a34c5c9becfee6f9d36d0a1cf9
https://github.com/WebKit/WebKit/commit/3e28bdb07aa262a34c5c9becfee6f9d36d0a1cf9
Author: Asumu Takikawa <asumu at 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
More information about the webkit-changes
mailing list