Bug 247396

Summary: [WASM-Function-References] Add support for local initialization tracking
Product: WebKit Reporter: Asumu Takikawa <asumu>
Component: WebAssemblyAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 247393    

Asumu Takikawa
Reported 2022-11-02 17:28:18 PDT
The typed function references proposal introduces non-defaultable types such as `(ref $t)`. References that inhabit those types must be initialized, and can't be used in an uninitialized state (like null). As a result, it's necessary to track local initialization state somehow so that `local.get` can be disallowed on uninitialized references, and have a defined result on initialized locals. The issue tracking the spec algorithm: https://github.com/WebAssembly/function-references/pull/63 The chosen algorithm for this is "1a" from here: https://github.com/WebAssembly/function-references/issues/44#issuecomment-1136373660 (initialization state is reset after each block)
Attachments
Radar WebKit Bug Importer
Comment 1 2022-11-09 16:29:17 PST
Asumu Takikawa
Comment 2 2023-08-15 11:37:29 PDT
EWS
Comment 3 2023-08-25 17:54:22 PDT
Committed 267309@main (83c1c1073f0f): <https://commits.webkit.org/267309@main> Reviewed commits have been landed. Closing PR #16713 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.