-
Notifications
You must be signed in to change notification settings - Fork 40
Reference types for phase 4? #61
Comments
I'm afraid #31 is still open in terms of incorporating it into the proposal, see my latest comment there. |
Chrome/V8 is passing all spec tests at the moment. |
The Rust and WebAssembly toolchain, specifically That being said though it is well tested (against Node) and should be ready to ship and/or promote to a stable feature of the toolchain! A lot of the surrounding tooling has support for it too such as |
I'm hoping to land the final PRs in |
I’m working on Binaryen support. |
Binaryen support alone is enough to get AssemblyScript working, but I'm not sure what their roadmap is for supporting reference types. cc @dcodeIO who can supply more AssemblyScript information. |
AssemblyScript supports the opaque anyref type as implemented in Binaryen behind |
Similar to the MVP, a 0-byte access at the end of the region is legal.
I rebased this proposal on the bulk proposal and filled the gaps between the two. Also implemented declarative element segments (#31) and addressed remaining todos in core spec and interpreter. Remaining technical tasks for phase 4:
Other than that, the main open issue is #69, which is recent and awaiting more feedback from @lukewagner. |
Toolchain support is not complete yet. Emscripten (including LLVM + Binaryen) has a partial support:
|
The two major issues blocking this, #69 and #76, are now resolved. Spidermonkey has updated our implementation for the latest changes. At least one toolchain, wasm-bindgen, implements the spec and is up to date with the latest changes. I believe the reference interpreter is up to date with all agreed upon changes. Are there any other issues that should block us from moving this feature to phase 4 now? I see WebAssembly/design#1343 mentioned an impact on this proposal, but appears to have reached a conclusion that it doesn't need to block this proposal. Is that accurate @RossTate? |
Yep! |
I created a PR to add it tomorrow's agenda. |
🎉 Reference types advanced to phase 4 in the June 23rd CG meeting! 🎉 |
After going through the open issues, there appear to be two substantive core language issues (#55, #60), both of which can probably be postponed if we want to or if we can't find agreement quickly. There is one corner case (#40) that should probably be resolved in favor of current behavior, because sentiment in the discussion is tilting in that direction. The JS API also has a small number of mop-up issues that may or may not already be done (#9, #20, #22, #51); investigating. The remaining open issues are discussion items or feature requests that have been postponed.
The process document requires these for phase 4 (with my comments about status):
We may need to ship bulk memory at the same time, as the two proposals touch in various ways, but if anything that proposal is even closer to a shipping state.
The text was updated successfully, but these errors were encountered: