Intent to Ship: WebAssembly Tail Call

355 views
Skip to first unread message

Thibaud Michaud

unread,
Feb 15, 2023, 6:17:02 AM2/15/23
to blin...@chromium.org

Contact emails

f...@chromium.orgthib...@chromium.org

Explainer

https://github.com/WebAssembly/tail-call/blob/main/proposals/tail-call/Overview.md

Specification

https://github.com/WebAssembly/tail-call

Design docs


https://github.com/WebAssembly/tail-call/blob/master/proposals/tail-call/Overview.md

Summary

Add an explicit tail call and indirect tail call opcodes to WebAssembly.



Blink component

Blink>JavaScript>WebAssembly

Search tags

wasmwebassemblytail call

TAG review

Not required for non cross-cutting WebAssembly features.

TAG review status

Not applicable

Risks



Interoperability and Compatibility



Gecko: Positive

WebKit: Positive

Web developers: No signals

Other signals:

WebView application risks

Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?



Debuggability

Yes, using DevTools. 

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

Yes

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

It is tested by WebAssembly spec tests

Flag name

V8: --experimental-wasm-return-call
Chrome: Features::kWebAssemblyTailCall

Requires code in //chrome?

False

Tracking bug

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

Launch bug

https://launch.corp.google.com/launch/4232322

Estimated milestones

112


Anticipated spec changes

N/A


Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5423405012615168

This intent message was generated by Chrome Platform Status.

Yoav Weiss

unread,
Feb 15, 2023, 10:04:55 AM2/15/23
to Thibaud Michaud, blin...@chromium.org
On Wed, Feb 15, 2023 at 12:17 PM 'Thibaud Michaud' via blink-dev <blin...@chromium.org> wrote:

Contact emails

f...@chromium.orgthib...@chromium.org

Explainer

https://github.com/WebAssembly/tail-call/blob/main/proposals/tail-call/Overview.md

Specification

https://github.com/WebAssembly/tail-call

Design docs


https://github.com/WebAssembly/tail-call/blob/master/proposals/tail-call/Overview.md

Summary

Add an explicit tail call and indirect tail call opcodes to WebAssembly.



Blink component

Blink>JavaScript>WebAssembly

Search tags

wasmwebassemblytail call

TAG review

Not required for non cross-cutting WebAssembly features.

TAG review status

Not applicable

Risks



Interoperability and Compatibility



Gecko: Positive

WebKit: Positive

The WASM proposals page suggests this is phase 4, which indeed counts as a positive signal. 


Web developers: No signals

Have you tried to gather signals? Are there developers involved in the WASM process? (if so, the phase can count as a signal for them as well).
 

Other signals:

WebView application risks

Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?


I'm guessing the answer here is "no"?
 



Debuggability

Yes, using DevTools. 

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

Yes

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

It is tested by WebAssembly spec tests

Flag name

V8: --experimental-wasm-return-call
Chrome: Features::kWebAssemblyTailCall

Requires code in //chrome?

False

Tracking bug

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

Launch bug

https://launch.corp.google.com/launch/4232322

Estimated milestones

112


Anticipated spec changes

N/A


Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5423405012615168

This intent message was generated by Chrome Platform Status.

--
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/CALowwNbxwBdi84BqEs59Fks7EX9mQdkwRfzqpNoJuC1-5qCejw%40mail.gmail.com.

Thibaud Michaud

unread,
Feb 15, 2023, 11:09:52 AM2/15/23
to Yoav Weiss, blin...@chromium.org

Web developers: No signals

Have you tried to gather signals? Are there developers involved in the WASM process? (if so, the phase can count as a signal for them as well).
 
Maybe Leaning Tech qualifies: they develop an x86 virtualization technology using wasm. They have written publicly about their use case for tail calls (here, here and here), and unblocked the move to phase 4 by implementing it in WebKit (here).


Other signals:

WebView application risks

Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?


I'm guessing the answer here is "no"?
 
Indeed. 

Chris Harrelson

unread,
Feb 15, 2023, 12:10:39 PM2/15/23
to Thibaud Michaud, Yoav Weiss, blin...@chromium.org
LGTM1

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

Yoav Weiss

unread,
Feb 15, 2023, 12:17:12 PM2/15/23
to Chris Harrelson, Thibaud Michaud, blin...@chromium.org
LGTM2

Manuel Rego Casasnovas

unread,
Feb 15, 2023, 4:16:49 PM2/15/23
to Yoav Weiss, Chris Harrelson, Thibaud Michaud, blin...@chromium.org
LGTM3

On 15/02/2023 18:16, Yoav Weiss wrote:
> LGTM2
>
> On Wed, Feb 15, 2023 at 6:10 PM Chris Harrelson <chri...@chromium.org
> <mailto:chri...@chromium.org>> wrote:
>
> LGTM1
>
> On Wed, Feb 15, 2023 at 8:09 AM 'Thibaud Michaud' via blink-dev
> <blin...@chromium.org <mailto:blin...@chromium.org>> wrote:
>
>
>
> /Web developers/: No signals
>
>
> Have you tried to gather signals? Are there developers
> involved in the WASM process? (if so, the phase can count as
> a signal for them as well).
>
>  
> Maybe Leaning Tech qualifies: they develop an x86 virtualization
> technology using wasm. They have written publicly about their
> use case for tail calls (here
> <https://leaningtech.com/extreme-webassembly-2-the-sad-state-of-webassembly-tail-calls/>, here <https://github.com/WebAssembly/tail-call/issues/12> and here <https://leaningtech.com/fantastic-tail-calls-and-how-to-implement-them/>), and unblocked the move to phase 4 by implementing it in WebKit (here <https://github.com/WebKit/WebKit/pull/2065>).
>
>
> /Other signals/:
>
>
> WebView application risks
>
> Does this intent deprecate or change behavior of
> existing APIs, such that it has potentially high risk
> for Android WebView-based applications?
>
>
> I'm guessing the answer here is "no"?
>
>  
> Indeed. 
>
> --
> 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
> <mailto:blink-dev+...@chromium.org>.
> To view this discussion on the web visit
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CALowwNYfhC78Juo%3DBg%2Bp8OD77A4%3Dha7nU%2BCcXFe58R%3DX%2BmrUHA%40mail.gmail.com <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CALowwNYfhC78Juo%3DBg%2Bp8OD77A4%3Dha7nU%2BCcXFe58R%3DX%2BmrUHA%40mail.gmail.com?utm_medium=email&utm_source=footer>.
>
> --
> 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
> <mailto:blink-dev+...@chromium.org>.
> To view this discussion on the web visit
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAL5BFfXXb6vc70PVuAfCe5adMxsRy0OPGrqBX8gqrun5iD8KvQ%40mail.gmail.com <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAL5BFfXXb6vc70PVuAfCe5adMxsRy0OPGrqBX8gqrun5iD8KvQ%40mail.gmail.com?utm_medium=email&utm_source=footer>.
Reply all
Reply to author
Forward
0 new messages