Thanks for all of this. I'm comfortable with the continuation given the
breaking change.

LGTM

On Thu, Oct 17, 2024, 10:36 AM Francis McCabe <f...@chromium.org> wrote:

> Hi Alex
>   Some small responses:
>
> 1. We currently have around 120 OT registrants. We have had some informal
> feedback, including from Meet — who are planning to use JSPI as part of
> their effort to migrate to WebGPU.
> 2. Agreed that we can ping Webkit now. Will do soon.
> 3. The process for the CG hinges on a few things: getting the tests in
> good shape (done I hope), getting the spec in good shape (see below).
> Hopefully, we will be going to phase 4 before the end of the year.
> 4. Yes, there was a breaking change in 129. We retired the ‘old’ API and
> only supported the ’new’ API from that release. (The new API was actually
> live since 126.)
>
> Wrt spec: it turns out that specifying JSPI in a faithful way has been
> challenging. This is due to a semantic mismatch between how JS is specified
> and how Wasm is specified. (Actually, it is mostly an issue for JS).
> However, I believe that we are in a reasonable position now; but I’m not
> counting chickens at the moment.
>
> The documentation link should be correct. It has not changed for a while.
>
> Francis
>
>
> On Oct 16, 2024, at 9:54 PM, Alex Russell <slightly...@chromium.org>
> wrote:
>
> Hey Francis,
>
> A few small questions...:
>
>    - Is the OT documentation link correct?
>    - Have we requested a position from WebKit? Seems like we're far
>    enough along to start on that.
>
> ...and a few larger questions:
>
>    - If I understand this correctly, there was a *breaking* change in
>    129? If so, that's helpful for requesting an end-to-end this long, as it
>    would reset the "burn in" clock.
>    - Has there been feedback from the original OT that you can share?
>    - Why shouldn't we just ship this now? I understand the WASM WG
>    process arguments, but if we've got good confidence in the current API
>    shape and the developer feedback on the M129+ API shape is positive, we
>    might look to send I2S before this OT ends (with a gapless OT). How are
>    y'all thinking about that?
>
> Best,
>
> Alex
>
> On Thursday, October 17, 2024 at 3:30:33 AM UTC+5:30 Chromestatus wrote:
>
>> Contact emails f...@chromium.org
>>
>> 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
>>
>> Design docs
>>
>> https://docs.google.com/document/d/16Us-pyte2-9DECJDfGm5tnUpfngJJOc8jbj54HMqE9Y/edit#heading=h.n1atlriavj6v
>>
>> 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#
>>
>>
>> Blink component Blink>JavaScript>WebAssembly
>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EJavaScript%3EWebAssembly>
>>
>> Search tags stack switching <http://features/#tags:stack%20switching>,
>> Promise <http://features/#tags:Promise>, JSPI
>> <http://features/#tags:JSPI>
>>
>> TAG review https://github.com/w3ctag/design-reviews/issues/809 Review
>> was declined, deferring to W3C WebAssembly CG
>>
>> TAG review status Pending
>>
>> Chromium Trial Name WebAssemblyJSPromiseIntegration
>>
>> Origin Trial documentation link
>> https://github.com/WebAssembly/js-promise-integration
>>
>> WebFeature UseCounter name kV8WasmJavaScriptPromiseIntegration
>>
>> Risks
>>
>>
>> Interoperability and Compatibility
>>
>> This spec is backed by a standardization effort. We do not plan to ship
>> the JSPI until it has been standardized by the W3C Wasm WG. However, post
>> standardization, we will depend on all browsers implementing the standard.
>>
>>
>> *Gecko*: Positive (https://bugzilla.mozilla.org/show_bug.cgi?id=1850627)
>> Mozilla have started their own imlementation
>>
>> *WebKit*: No signal
>>
>> *Web developers*: No signals
>>
>> *Other signals*:
>>
>> Activation
>>
>> Making use of JSPI requires some changes by WebAssembly-based developers
>> (no impact on JavaScript developers). Depending on their toolchain usage a
>> developer will need to modify their code. For Emscripten users, this is
>> likely to be minimal as support for JSPI exists in Emscripten.
>>
>>
>> Security
>>
>> 1. Control flow integrity. 2. Ensuring that JavaScript programs cannot
>> suspend via JSPI.
>>
>>
>> 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?
>>
>>
>>
>> Goals for experimentation
>>
>>
>>
>> Reason this experiment is being extended
>>
>> JSPI is part of a standards track effort. We are currently in 'stage 3'
>> of a five stage process. The next stage (4) is when a specification is
>> deemed final. There was a change in the API which we soft launched in M126
>> but we would like to formally switch to this new API in M129. (We had
>> informed our users that we would be maintaining the old API through the end
>> of the OT.) So, in summary there are two reasons for extending the origin
>> trial: 1. We are not quite ready to move the spec to phase 4. This is for
>> non-implementation reasons: we need to draft and review the specification
>> text; which, for a feature like JSPI is not completely trivial. 2. We would
>> like to allow sufficient time for users to fully experiment with the new
>> API. We anticipate being able to fully ship JSPI before the end of 2024.
>>
>>
>> Reason this experiment is being extended
>>
>> We wish to extend the OT for JSPI for a second time. Hopefully, this will
>> be the last extension before shipping. We have recently implemented one of
>> the key technology improvements that we believed necessary for shipping:
>> growable stacks. However, performance remains a blocker for some partners
>> and we would like to be able to continue performance improvements. The
>> specification itself should be moving to phase 4 in the standards process;
>> hopefully in the next few months.
>>
>>
>> Ongoing technical constraints
>>
>> None.
>>
>>
>> Debuggability
>>
>> Developers can piggyback on existing DevTools support for Promises to
>> help with debugging JSPI applications. In particular the existing
>> mechanisms for constructing extended stack traces from so-called Promise
>> chains will also include stack traces from JSPI applications.
>>
>>
>> Will this feature be supported on all six Blink platforms (Windows, Mac,
>> Linux, ChromeOS, Android, and Android WebView)? Yes
>>
>> 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 on chrome://flags
>> enable-experimental-webassembly-stack-switching
>>
>> Finch feature name None
>>
>> Non-finch justification None
>>
>> Requires code in //chrome? False
>>
>> Tracking bug
>> https://bugs.chromium.org/p/v8/issues/detail?id=12191&q=owner%3Ame&can=2
>>
>> Estimated milestones
>> Origin trial desktop first 123
>> Origin trial desktop last 131
>> Origin trial extension 1 end milestone 131
>> Origin trial extension 2 end milestone 133
>> DevTrial on desktop 109
>> Origin trial Android first 123
>> Origin trial Android last 131
>> Origin trial WebView first 123
>> Origin trial WebView last 131
>>
>> Link to entry on the Chrome Platform Status
>> https://chromestatus.com/feature/5674874568704000?gate=5414230854205440
>>
>> Links to previous Intent discussions Intent to Prototype:
>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAAdKk6BGFseZ6pBO2qEW_xeovVw1_guVq26rcNM1nWY442Y5Ng%40mail.gmail.com
>> Intent to Experiment:
>> https://groups.google.com/a/chromium.org/g/blink-dev/c/Fu79zrp7MoE
>> Intent to Extend Experiment 1:
>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CALi9WK-JJNTYSeNdSuai827Qg5%3D2vZo-emYP2z-5vJOfE%2B8Nng%40mail.gmail.com
>>
>>
>> This intent message was generated by Chrome Platform Status
>> <https://chromestatus.com/>.
>>
>
>

-- 
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+unsubscr...@chromium.org.
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAA44PQgJrvsa_QAASKkQ9gxYqMqiqJY_pA_AnnSpGouN%3DzpMnA%40mail.gmail.com.

Reply via email to