On Thu, Mar 14, 2024 at 8:45 AM Emanuel Ziegler <ecmzieg...@chromium.org> wrote:
> 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. > > Filed as https://github.com/w3ctag/design-reviews/issues/940 > > - 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/CAEvLGcJ0%3DCTbXuF014cJjzOwG6JgrFTUJsOQWyCZ%2Bccbpgdvyw%40mail.gmail.com.