Contact [email protected]

Explainer
https://github.com/WebAssembly/js-promise-integration/blob/main/proposals/js-promise-integration/Overview.md

Specification
https://github.com/WebAssembly/js-promise-integration/blob/main/proposals/js-promise-integration/Overview.md

Summary

Stack Switching denotes a technology that allows programs to suspend and
resume computation. This is an active area that is part of the WebAssembly
standards track. See https://github.com/WebAssembly/stack-switching and
https://github.com/WebAssembly/meetings/tree/main/stack. This particular
feature refers to the integration between JavaScript Promises and stack
switching. This is described in more detail in
https://docs.google.com/document/d/16Us-pyte2-9DECJDfGm5tnUpfngJJOc8jbj54HMqE9Y/edit#
<https://docs.google.com/document/d/16Us-pyte2-9DECJDfGm5tnUpfngJJOc8jbj54HMqE9Y/edit>


Blink componentBlink>JavaScript>WebAssembly
<https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EJavaScript%3EWebAssembly>

Motivation

In order to support responsive applications written using WebAssembly it is
necessary to provide functionality that allows WebAssembly programs to be
suspended and resumed. The primary initial use case is to allow WebAssembly
programs whose source relies on synchronous APIs to use asynchronous APIs
that are increasingly common on the Web platform. The Promise integration
proposal allows this to be done without changing the WebAssembly
specification itself and without allowing JavaScript programs to be
suspended (other than via existing async mechanisms).


Initial public proposal
https://github.com/WebAssembly/js-promise-integration/blob/main/proposals/js-promise-integration/Overview.md

Search tagsstack switching
<https://chromestatus.com/features#tags:stack%20switching>, Promise
<https://chromestatus.com/features#tags:Promise>

TAG review

TAG review statusPending

Risks


Interoperability and Compatibility



*Gecko*: No signal

*WebKit*: No signal

*Web developers*: No signals

*Other signals*:

WebView application risks

There is a potential that JavaScript applications could attempt to use this
API to introduce behaviors not governed by the ecmascript standard.
However, the API is designed to mitigate this risk by causing such
JavaScript programs to fail to execute (i.e., throw exceptions in such a
way as to prevent their use of the API).

There does not appear to be any specific existing API that would be
impacted by this proposal.



Debuggability



Is this feature fully tested by web-platform-tests
<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
?No

Flag name
enable-experimental-webassembly-stack-switching

Requires code in //chrome?False

Tracking bug
https://bugs.chromium.org/p/v8/issues/detail?id=12191&q=owner%3Ame&can=2

Estimated milestones

No milestones specified


Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5674874568704000

This intent message was generated by Chrome Platform Status
<https://chromestatus.com/>.

-- 
Francis McCabe
SWE

-- 
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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAAdKk6BGFseZ6pBO2qEW_xeovVw1_guVq26rcNM1nWY442Y5Ng%40mail.gmail.com.

Reply via email to