exception-handling
exception-handling copied to clipboard
Plan for Phase 4
This is a tracking issue for the requirements for Phase 4. The text will be edited as we progress. Checkbox will be checked after the relevant PRs land. We also list Phase 2 & 3 requirements because some of them have not landed and need to change according to the recent spec discussions.
Phase 2 requirements
- [x] Full proposed English spec text available in a forked repo around which a reasonably high level of consensus exists
Phase 3 requirements
- [x] Test suite has been updated to cover the feature in its forked repo
- [x] The test suite should run against some implementation, though it need not be the reference interpreter
Phase 4 requirements
- [ ] Two or more Web VMs implement the feature
- [x] V8
- [x] Firefox
- [x] At least one toolchain implements the feature
- [x] Emscripten (which includes LLVM and Binaryen)
- [ ] The formalized spec is updated
- #143 (Draft in markdown format)
- #180
- [ ] Community Group has reached consensus in support of the feature
Etc
- [ ] Outstanding discussions are resolved
- JS API: https://github.com/WebAssembly/exception-handling/issues/183
- JS API: https://github.com/WebAssembly/exception-handling/issues/184
- JS API: https://github.com/WebAssembly/exception-handling/issues/189
- JS API: https://github.com/WebAssembly/exception-handling/issues/201
I plan to propose the advancement to Phase 4 after we meet these requirements. Also please let me know if you have any remaining concerns for the phase advancement that are not listed here.
I don't know about the implementation status of FireFox so I didn't check it. FF implementors: Please check it if it's done.
I don't know about the implementation status of FireFox so I didn't check it. FF implementors: Please check it if it's done.
The Firefox implementation is not finished; it's in active development but it may be a few weeks still.
I know it's not a formal requirement for advancement, but we're not in a hurry to support advancement until something has been done about #20.
Just want to clarify that it naturally is a phase 4 requirement to have the spec document fully completed, which is quite a bit more than just the formal bits. AFAIK, work hasn't yet started on this.
@rossberg I just made PR #180 with the current stand of the spec document implementing the formal-overview #143, but without try-labels or relevant restrictions to try-delegate. I will look at and update the formal-overview tomorrow, also taking into account @aheejin 's comments and suggestions (thank you!). The commit message/PR description of #180 lists the changes, and also what is still missing and needs to be added, for the spec document to be fully completed. (These are also marked as TODO in the spec text). I hope you can agree that completing this should not take too long.
@lars-t-hansen I added some data on code size in https://github.com/WebAssembly/exception-handling/issues/20#issuecomment-919716209. We don't yet have a complete benchmark suite or something yet, but I think what we currently have is sufficient to show the advantage of using the new proposal over the old Emscripten-style EH.
I think I heard FireFox and Safari have implemented the proposal. Is that correct? @kmiller68 @takikawa @ioannad
Firefox shipped support in version 100, and Safari in version 15.2.
Is there a timeline to know how many month left for this to finished ?
@calvin2021y We are planning to advance the proposal to Phase 4 within Q4 2022.
Was this advanced to Phase 4?
Not quite. There aren't any issues left to address but there is still a small amount of work happening on the spec text itself (you can see these PRs on the repo).
Almose half a quarter passed since 2023, any scheche on the remain work ? any one responsible for the rest work ?
Almose half a quarter passed since 2023, any scheche on the remain work ? any one responsible for the rest work ?
I wanted to get this done by the end of last year but, as it is sometimes with open source development, there were other unexpected priorities I had to take care of first. I am now resuming work on the formal document, hoping to get things ready for another round of reviews as soon as possible.
50% of 2023 has passed. If there are any updates on the remaining work, please share them with us.