exception-handling icon indicating copy to clipboard operation
exception-handling copied to clipboard

Plan for Phase 4

Open aheejin opened this issue 4 years ago • 14 comments

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.

aheejin avatar Sep 07 '21 03:09 aheejin

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.

aheejin avatar Sep 07 '21 03:09 aheejin

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.

lars-t-hansen avatar Sep 07 '21 08:09 lars-t-hansen

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 avatar Sep 07 '21 08:09 rossberg

@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.

ioannad avatar Sep 07 '21 20:09 ioannad

@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.

aheejin avatar Sep 15 '21 05:09 aheejin

I think I heard FireFox and Safari have implemented the proposal. Is that correct? @kmiller68 @takikawa @ioannad

aheejin avatar Sep 29 '22 06:09 aheejin

Firefox shipped support in version 100, and Safari in version 15.2.

ajklein avatar Sep 29 '22 16:09 ajklein

Is there a timeline to know how many month left for this to finished ?

calvin2021y avatar Oct 23 '22 09:10 calvin2021y

@calvin2021y We are planning to advance the proposal to Phase 4 within Q4 2022.

aheejin avatar Oct 24 '22 21:10 aheejin

Was this advanced to Phase 4?

Aaron1011 avatar Jan 23 '23 18:01 Aaron1011

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).

dschuff avatar Jan 23 '23 22:01 dschuff

Almose half a quarter passed since 2023, any scheche on the remain work ? any one responsible for the rest work ?

calvin2021y avatar Feb 05 '23 07:02 calvin2021y

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.

ioannad avatar Feb 09 '23 11:02 ioannad

50% of 2023 has passed. If there are any updates on the remaining work, please share them with us.

calvin2021y avatar May 26 '23 15:05 calvin2021y