Hi Mike,

We can limit it to 3 milestones then and request another extension once we
get further with our experimentation on string constants, because I don't
expect that this will be enough. Every change we make has a 2-3 months of
turnaround time because of the multitude of parties (proposal change → Wasm
Runtime + Wasm Tools implementation → Compiler toolchain implementation →
Application recompilation and redeployment) involved to implement the
feature end-to-end and their respective release schedules.

To summarize the progress along each dimension:

   - As mentioned, there was progress on the draft spec and we had a
   community group vote on it with very strong support.
   - We are planning on triggering a TAG review this week. But we don't
   intend to ship before reaching phase 4 of the proposal which would be
   covered in the exceptions anyway.
   - The status of the Chrome Status entry is still up-to-date in that we
   have a very positive signal from Firefox (Mozilla is actually championing
   this proposal) with an active implementation and regular updates and no
   signal from Safari yet.
   - The spec community is heavily involved through presentations to the
   community group and active discussions
   <https://github.com/WebAssembly/js-string-builtins/issues> on the
   proposal itself.
   - We don't have WPT tests yet, but they will be added before phase 3 as
   required by the proposal process.

Let me know if you have any further questions!

Best regards,
    Emanuel

On Tue, Mar 12, 2024 at 3:52 PM Mike Taylor <miketa...@chromium.org> wrote:

> Hi Emanuel,
>
> For OTs, we can approve extensions for 3 milestones at a time, depending
> on the criteria set at
> https://www.chromium.org/blink/launching-features/#origin-trials. Would
> you mind summarizing progress in the various areas? It sounds like there is
> good engagement from the "spec community" already.
>
> thx,
> Mike
> On 3/12/24 8:35 AM, Emanuel Ziegler wrote:
>
> Dear API owners,
>
> Our origin trial on supporting JS Strings in Wasm
> <https://developer.chrome.com/origintrials/#/view_trial/2142587522721513473>
> (JS String Builtins
> <https://github.com/WebAssembly/js-string-builtins/blob/main/proposals/js-string-builtins/Overview.md>
> for Wasm) has reached its final milestone and we would like to continue to
> experiment with it.
>
> The current status of the proposal and our experiments
> <https://docs.google.com/document/d/1zL9goDsawTQUFuuQ8ddI_pUcLY1_iFOsHaDZ374dnGw/edit?usp=sharing>
> is as follows:
>
>    - The proposal is progressing well and has *reached phase 2* on
>    January 16 with overwhelming support by the community group (17 votes
>    strongly in favor, 11 votes in favor, 4 neutral and no votes against).
>    - Performance of native support for JS strings in J2Wasm, Kotlin and
>    Dart continues to look highly promising, making this a top priority for us
>    to finalize the proposal and ship it in Chrome this year.
>    - There were a *series of changes
>    
> <https://docs.google.com/presentation/d/1gbyQz0nbLJJ07lbi8iuLHSchQ2-fH29UXS5ebLnG0ZU/edit#slide=id.g1ef40614c6f_0_0>
>    to the proposal* and its API leading up to the vote which since then
>    have all been implemented in V8.
>    - *Sheets and J2Wasm started experimentation on the proposal* and we
>    expect in-the-wild performance numbers of the new API within the next
>    weeks, comparing this with the previous proposal (StringRef)
>    
> <https://github.com/WebAssembly/stringref/blob/main/proposals/stringref/Overview.md>
>    that this one will replace.
>    - *More experimentation* *with respect to string constants *around
>    binary size, memory overhead and initialization performance is required. 
> Several
>    options
>    
> <https://docs.google.com/document/d/12Kxqfg56few1NNH0qcF0KsGh8L2QVGox0ldpEabJDOA/edit>
>    are available regarding their implementation in the current proposal.
>    - Rollout of Sheets experiments is currently at 20% of production
>    users offering us a wide number of real-world use cases.
>
> We would therefore like to *extend the origin trial by another 6
> milestones*, effectively ending it with M130. This is taking into account
> the long turnaround times required to test any API change between proposal
> changes, their implementation in Chrome, Binaryen, J2Wasm and Sheets until
> we can update the experiment and gather new data. We expect to reach phase
> 3 within the next months and want to use the data to inform the final shape
> of the proposal to be voted to phase 4, hopefully before the end of the
> year.
>
> Thank you,
>     Emanuel
>
>
> Contact emails ecmzieg...@chromium.org, jkumme...@chromium.org,
> ad...@chromium.org
>
> Explainer None
>
> Specification
> https://github.com/WebAssembly/js-string-builtins/blob/main/proposals/js-string-builtins/Overview.md
>
> Summary
>
> This feature exposes common JS string operations for easy import into
> WebAssembly and optimizations thereof. This allows creating and
> manipulating JS strings from WebAssembly without native support within
> WebAssembly while still allowing for a similar performance as native string
> references. The mechanism works by exposing suitably strict versions of JS
> string operations in the WebAssembly JS API. These can be imported by
> modules using externref as a generic data type for storing the strings. The
> engine can identify that these imports can be represented by native graph
> operators without the need for calling into JS. This leads to a comparable
> peak performance as native string operations while allowing quick
> interoperability with JS since no copying at the boundary is required when
> calling into arbitrary JS functions that consume strings.
>
>
> Blink component Blink>JavaScript>WebAssembly
> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EJavaScript%3EWebAssembly>
>
> TAG review None
>
> TAG review status Not applicable
>
> Chromium Trial Name WebAssemblyJSStringBuiltins
>
> Link to origin trial feedback summary
> https://docs.google.com/document/d/1zL9goDsawTQUFuuQ8ddI_pUcLY1_iFOsHaDZ374dnGw/edit?usp=sharing
>
> Origin Trial documentation link
> https://github.com/WebAssembly/js-string-builtins/blob/main/proposals/js-string-builtins/Overview.md
>
> Risks
>
>
> Interoperability and Compatibility
>
> None
>
>
> *Gecko*: Positive
>
> *WebKit*: No signal
>
> *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?
>
> None
>
>
> Goals for experimentation
>
> Ongoing technical constraints
>
> None
>
>
> Debuggability
>
> None
>
>
> 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 None
>
> Finch feature name None
>
> Non-finch justification None
>
> Requires code in //chrome? False
>
> Estimated milestones
> Origin trial desktop first 119
> Origin trial desktop last 124
>
> Link to entry on the Chrome Platform Status
> https://chromestatus.com/feature/6695587390423040
>
> Links to previous Intent discussions Intent to Experiment:
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPAU7RyzxKa0Pj6q7B_jyfT%3DH%2BSK264%3Dx8wn1ans%3D8UjHRhctQ%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/CAPAU7RyYPNTcmt1uHe279qW46ff3S%3DZ-M%3DHZjKn%3DK%2Bgp_0DyZw%40mail.gmail.com
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPAU7RyYPNTcmt1uHe279qW46ff3S%3DZ-M%3DHZjKn%3DK%2Bgp_0DyZw%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+unsubscr...@chromium.org.
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPAU7Rw8he3ERTQbCgFb5e3Bs-Wg%2B-hjhzufk9MrgGEJoTkK7A%40mail.gmail.com.

Reply via email to