Dear API owners,

We would like to request an extension of the origin trial for Wasm JS
String Builtins
<https://developer.chrome.com/origintrials/#/view_trial/2142587522721513473>.
There were recent changes to the initialization of string constants
(implicit imports) which improved startup time and binary size on local
measurements.

We would like to use the experiment to verify the viability of this change
in the wild (effect on load and startup times) and upcoming changes to it
(variable import namespace for greater flexibility). Sheets/J2Wasm already
implemented the first part and wants to roll it out to users in the next
weeks as part of the origin trial.

The proposal is progressing well along the requested dimensions

   - Draft spec (early draft is ok, but must be spec-like and associated
   with the appropriate standardization venue, or WICG)
      - The proposal continues to be actively maintained and changed with
      plenty of community engagement.
      - Recent changes mostly affected string constants and their
      initialization.
   - TAG review (see exceptions
   <https://www.chromium.org/blink/guidelines/api-owners/process-exceptions/>
   )
      - A TAG review has been requested
      <https://github.com/w3ctag/design-reviews/issues/940> and is
      scheduled for discussion.
   - bit.ly/blink-signals requests
      - Firefox/SpiderMonkey is actively working on their prototype and the
      champion behind this proposal.
      - Safari/JSC expressed openness to the proposal but no official
      confirmation yet.
   - Outreach for feedback from the spec community
      - The proposal (including string constant changes) was voted to phase
      3 at the on-site Wasm CG meeting on June 5 with unanimous consent.
   - WPT tests
      - WPTs will likely be added based on the already existing JS API
      tests in the proposal repository
      
<https://github.com/WebAssembly/js-string-builtins/tree/main/test/js-api/js-string>
      (see GitHub issue 33 on the proposal repository
      <https://github.com/WebAssembly/js-string-builtins/issues/33> on this
      question).

More details on some of these items can be found in the updated experiment
summary
<https://docs.google.com/document/d/1zL9goDsawTQUFuuQ8ddI_pUcLY1_iFOsHaDZ374dnGw/edit>
.

Thank you,
    Emanuel


Contact emailsecmzieg...@chromium.org, jkumme...@chromium.org,
ad...@chromium.org

ExplainerNone

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

TAG reviewNone

TAG review statusPending

Chromium Trial NameWebAssemblyJSStringBuiltins

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 (
https://github.com/WebKit/standards-positions/issues/343)

*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://flagsNone

Finch feature nameNone

Non-finch justificationNone

Requires code in //chrome?False

Estimated milestones
Origin trial desktop first 119
Origin trial desktop last 127
Origin trial extension 1 end milestone 127

Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/6695587390423040?gate=5106659883220992

Links to previous Intent discussionsIntent to Experiment:
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPAU7RyzxKa0Pj6q7B_jyfT%3DH%2BSK264%3Dx8wn1ans%3D8UjHRhctQ%40mail.gmail.com
Intent to Extend Experiment 1:
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
Intent to Ship:
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


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/CAPAU7RzGQhi3m4g_rTQt79LFFz6mdmT%3D8YRVomA4UwAVcZQtrA%40mail.gmail.com.

Reply via email to