Intent to Experiment: WebAssembly Exception Handling

155 views
Skip to first unread message

Lutz Vahl

unread,
Feb 2, 2021, 11:24:10 AMFeb 2
to blink-dev

Contact emails

thib...@chromium.org, ah...@chromium.org, va...@chromium.org, ahe...@chromium.org


Explainer

Current spec explainer


Specification

Details: https://github.com/WebAssembly/exception-handling


Design docs

https://github.com/WebAssembly/exception-handling/blob/master/proposals/Exceptions.md


Summary

This feature is adding exception support to WebAssembly. Exception handling allows code to break control flow when an exception is thrown. The exception can be any exception known by the WebAssembly module, or it may be an unknown exception that was thrown by a called imported function.


Blink component

Blink>JavaScript>WebAssembly


Search tags

wasm, webassembly, exceptions


TAG review

Not required for WebAssembly feature launches


TAG review status

Not applicable


Risks

Interoperability and Compatibility


Gecko: Positive (https://bugzilla.mozilla.org/show_bug.cgi?id=1335652)


Edge: Positive (https://github.com/Microsoft/ChakraCore/issues/3483)


WebKit: No signal


Web developers: Positive (https://github.com/WebAssembly/exception-handling) This feature is one of the last bits missing to port legacy c++ apps to the web



Goals for experimentation

Need to verify if the scope of the current spec is sufficient for WebAssembly users and if the handling is comparable to the native environment.


Reason this experiment is being extended

N/A


Debuggability

Liftoff support will ensure debuggability via DevTools in general. Additional work is planned for M91 to allow inspection of a thrown exception, break on throw, break on catch etc.



Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?

No (only Windows, Linux, Mac, Chrome)


Is this feature fully tested by web-platform-tests?

No.

Currently only internal tests are implemented.  

Fuzzer support is planned to land before the M90 branch cut.


Tracking bug

https://bugs.chromium.org/p/v8/issues/detail?id=8091


Launch bug

https://bugs.chromium.org/p/chromium/issues/detail?id=1173515



Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/4756734233018368


yo...@yoav.ws

unread,
Feb 4, 2021, 3:43:42 AMFeb 4
to blink-dev, va...@chromium.org
On Tuesday, February 2, 2021 at 5:24:10 PM UTC+1 va...@chromium.org wrote:

Contact emails

thib...@chromium.org, ah...@chromium.org, va...@chromium.org, ahe...@chromium.org


Explainer

Current spec explainer


Specification

Details: https://github.com/WebAssembly/exception-handling


Design docs

https://github.com/WebAssembly/exception-handling/blob/master/proposals/Exceptions.md


Summary

This feature is adding exception support to WebAssembly. Exception handling allows code to break control flow when an exception is thrown. The exception can be any exception known by the WebAssembly module, or it may be an unknown exception that was thrown by a called imported function.


Blink component

Blink>JavaScript>WebAssembly


Search tags

wasm, webassembly, exceptions


TAG review

Not required for WebAssembly feature launches


TAG review status

Not applicable


Risks

Interoperability and Compatibility


Gecko: Positive (https://bugzilla.mozilla.org/show_bug.cgi?id=1335652)


Edge: Positive (https://github.com/Microsoft/ChakraCore/issues/3483)


WebKit: No signal


Would be good to reach out: https://bit.ly/blink-signals 

yo...@yoav.ws

unread,
Feb 4, 2021, 3:44:37 AMFeb 4
to blink-dev, yo...@yoav.ws, va...@chromium.org
What's would be the experiment's timeline? Do you have partners lined up to try the API?

Lutz Vahl

unread,
Feb 4, 2021, 4:18:36 AMFeb 4
to yo...@yoav.ws, blink-dev
Hi Yoav,

Thanks for the feedback, see my comments below.

On Thu, Feb 4, 2021 at 9:44 AM yo...@yoav.ws <yo...@yoav.ws> wrote:
What's would be the experiment's timeline? Do you have partners lined up to try the API?
We're planning to run the OT for 4x milestones (90-94) to give partners enough time to verify their use cases and prepare for the stable launch. 
Yes partners (incl. one WebPlatform top partner) requested this OT to verify the current scope of the spec. We're confident to receive sufficient feedback based on the OT.
Will do! 
 


Web developers: Positive (https://github.com/WebAssembly/exception-handling) This feature is one of the last bits missing to port legacy c++ apps to the web



Goals for experimentation

Need to verify if the scope of the current spec is sufficient for WebAssembly users and if the handling is comparable to the native environment.


Reason this experiment is being extended

N/A


Debuggability

Liftoff support will ensure debuggability via DevTools in general. Additional work is planned for M91 to allow inspection of a thrown exception, break on throw, break on catch etc.



Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?

No (only Windows, Linux, Mac, Chrome)


Is this feature fully tested by web-platform-tests?

No.

Currently only internal tests are implemented.  

Fuzzer support is planned to land before the M90 branch cut.


Tracking bug

https://bugs.chromium.org/p/v8/issues/detail?id=8091


Launch bug

https://bugs.chromium.org/p/chromium/issues/detail?id=1173515



Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/4756734233018368


--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/ed5b81ba-aa2d-420f-a47f-6e68705a1953n%40chromium.org.

Yoav Weiss

unread,
Feb 4, 2021, 4:26:35 AMFeb 4
to Lutz Vahl, blink-dev
LGTM to experiment M90-94

Joe Medley

unread,
Feb 22, 2021, 10:24:05 AMFeb 22
to Lutz Vahl, blink-dev
Lutz,

Is this really only on desktop?

Joe
Joe Medley | Technical Writer, Chrome DevRel | jme...@google.com | 816-678-7195
If an API's not documented it doesn't exist.


--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.

Lutz Vahl

unread,
Feb 22, 2021, 10:28:42 AMFeb 22
to Joe Medley, blink-dev
Hi Joe,

it's available as well on Android (as the code base is the same) but the partners are looking into the Desktop implementation explicitly during the OT.

Reply all
Reply to author
Forward
0 new messages