LGTM3 On Sat, Sep 16, 2023 at 7:24 AM Mike Taylor <[email protected]> wrote:
> LGTM2 - thanks Adam. > On 9/16/23 7:39 AM, Yoav Weiss wrote: > > LGTM1 > > On Fri, Sep 15, 2023 at 11:13 PM Adam Klein <[email protected]> wrote: > >> Thanks for the reply, Mike. I'm going to fill in some of this to avoid >> blocking over the weekend. >> >> On Fri, Sep 15, 2023 at 1:26 PM Mike Taylor <[email protected]> >> wrote: >> >>> On 9/12/23 9:22 PM, 'Emanuel Ziegler' via blink-dev wrote: >>> >>> Dear API owners, >>> >>> >>> Following the continued experiment for Garbage Collected WebAssembly >>> (WasmGC), we plan to ship the feature in M119 after the positive vote to >>> phase 4 by the WebAssembly Community Group today. >>> >>> The feature has shown very good performance with reasonable compromises. >>> The findings from the origin trial are summarized in a public document >>> <https://docs.google.com/document/d/1KsbQLh_RzM9ixF6bzmJwyRMQLE-rSFlz_zNoGv-EITY/edit?usp=sharing> >>> . >>> >>> This feature is tied to the Function References >>> <https://github.com/WebAssembly/function-references> proposal which is >>> a de-facto part of WasmGC (no current use outside of the proposal, hard >>> requirement for WasmGC) and only listed as a separate proposal for historic >>> reasons. The Function References proposal has therefore also been voted to >>> phase 4 on the same day as WasmGC. >>> >>> We plan to launch the feature in the following manner: >>> >>> 1. >>> >>> End the current origin trial with M118 as its last milestone >>> 2. >>> >>> Refactor the binary instruction representation to match the final >>> spec (incompatible change) >>> 3. >>> >>> Ship the feature with M119 >>> >>> This plan sounds good. Thx. >>> >>> >>> Our data from the trial has shown that there is a need for fast string >>> interoperability with JS that this proposal does not address. We plan to >>> launch a new experiment investigating different approaches to this problem >>> (see separate I2E mail). >>> >>> >>> Contact emails [email protected], [email protected] >>> >>> Explainer >>> https://github.com/WebAssembly/gc/blob/master/proposals/gc/Overview.md >>> >>> https://github.com/WebAssembly/function-references/blob/main/proposals/function-references/Overview.md >>> >>> Specification https://github.com/WebAssembly/gc/tree/main/proposals/gc >>> >>> Summary >>> >>> The GC proposal adds efficient support for high-level managed languages >>> to WebAssembly, via struct and array types that enable language compilers >>> targeting Wasm to integrate with a garbage collector in the host VM. In >>> Chrome, enabling this feature implies enabling Typed Function References, >>> which allow function references to be stored in the aforementioned structs >>> and arrays. >>> >>> >>> Blink component Blink>JavaScript>WebAssembly >>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EJavaScript%3EWebAssembly> >>> >>> Search tags wasm <https://chromestatus.com/features#tags:wasm>, >>> webassembly <https://chromestatus.com/features#tags:webassembly>, gc >>> <https://chromestatus.com/features#tags:gc>, managed objects >>> <https://chromestatus.com/features#tags:managed%20objects>, wasmgc >>> <https://chromestatus.com/features#tags:wasmgc> >>> >>> TAG review https://github.com/w3ctag/design-reviews/issues/814 >>> >>> TAG review status Issues addressed >>> >>> Risks >>> >>> >>> Interoperability and Compatibility >>> >>> *Gecko*: Positive >>> >>> *WebKit*: No signal >>> >>> Can we request a signal? >>> https://github.com/WebKit/standards-positions/issues/new/choose >>> >> >> Since this is a Phase 4 proposal within the Wasm CG, the process does not >> normally require a signal, as documented in https://bit.ly/blink-signals. >> Are you requesting an exception-to-the-exception here? >> > > I don't think an exception to the exception is needed here. > > Nah, that's just me forgetting the exceptions. :) Thanks for reminding me. > > > >> >> FWIW an implementation is well underway, tracked at >> https://bugs.webkit.org/show_bug.cgi?id=247394. >> >> >>> >>> >>> *Web developers*: Positive Google Sheets, which is currently compiling >>> Java to JavaScript, is experimenting with using WasmGC to speed up their >>> calculation engine. JetBrains is working on a Kotlin -> WasmGC compiler. >>> Dart is working on a Dart -> WasmGC compiler, in collaboration with Flutter. >>> >>> *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? >>> >>> >>> Debuggability >>> >>> Can you say more about this? >>> >> >> Copying what I wrote in the original Intent to Experiment >> <https://groups.google.com/a/chromium.org/g/blink-dev/c/HDbvHCVFSW0/m/YKheArEAAgAJ> >> : >> >> Wasm GC is debuggable using devtools, including sourcemap support & >> profiling. We expect support to improve over time as toolchain implementers >> work on improving developer experience, analogous to what we currently have >> with DWARF-based C++ debugging in Emscripten + the Devtools DWARF extension. >> >> >>> >>> Will this feature be supported on all six Blink platforms (Windows, Mac, >>> Linux, Chrome OS, Android, and Android WebView)? No >>> >>> Can you say more about this? >>> >> >> This was a data entry error, the feature *is* supported on all Blink >> platforms. >> >>> >>> Is this feature fully tested by web-platform-tests >>> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md> >>> ? No >>> >>> In this case, is this new feature covered by existing wasm test suites? >>> >> >> Yes, like all Wasm proposals it's covered by spec tests that are part of >> the proposal. >> >>> >>> Flag name on chrome://flags >>> >>> Finch feature name None >>> >>> Presumably this is behind a feature, if an Origin Trial occured, right? >>> >> >> Yes. The Blink runtime enabled feature is called "WebAssemblyGC". >> >> >>> >>> Non-finch justification >>> >>> The feature does not enable any functionality without the module being >>> explicitly compiled for that feature. We therefore chose to use an origin >>> trial to evaluate its suitability and stability. This allowed websites that >>> want to try this feature to opt in and do their own A/B comparisons. >>> >>> >>> Requires code in //chrome? False >>> >>> Tracking bug https://bugs.chromium.org/p/v8/issues/detail?id=7748 >>> >>> Launch bug https://launch.corp.google.com/launch/4231622 >>> >>> Estimated milestones >>> OriginTrial desktop last 120 >>> OriginTrial desktop first 112 >>> OriginTrial Android last 120 >>> OriginTrial Android first 112 >>> >>> Anticipated spec changes >>> >>> Open questions about a feature may be a source of future web compat or >>> interop issues. Please list open issues (e.g. links to known github issues >>> in the project for the feature specification) whose resolution may >>> introduce web compat/interop risk (e.g., changing to naming or structure of >>> the API in a non-backward-compatible way). >>> >>> >>> Link to entry on the Chrome Platform Status >>> https://chromestatus.com/feature/6062715726462976 >>> >>> Links to previous Intent discussions Intent to Experiment: >>> https://groups.google.com/a/chromium.org/g/blink-dev/c/HDbvHCVFSW0 >>> Intent to Extend Experiment: >>> https://groups.google.com/a/chromium.org/g/blink-dev/c/7F_daEqGQAY >>> Intent to Ship: >>> https://groups.google.com/a/chromium.org/g/blink-dev/c/7F_daEqGQAY >>> >>> >>> 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 [email protected]. >>> To view this discussion on the web visit >>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPAU7RzPfx-CgUJbWOhiCpFkhr1myZNVS8c4N3YUcLT538dcJQ%40mail.gmail.com >>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPAU7RzPfx-CgUJbWOhiCpFkhr1myZNVS8c4N3YUcLT538dcJQ%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 [email protected]. >> To view this discussion on the web visit >> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAEvLGc%2B_PnX%3DTXosOwV%3DcpTOCr0w16Xi940o7Rc3%3DWiEm%2BnKoQ%40mail.gmail.com >> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAEvLGc%2B_PnX%3DTXosOwV%3DcpTOCr0w16Xi940o7Rc3%3DWiEm%2BnKoQ%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 [email protected]. > To view this discussion on the web visit > https://groups.google.com/a/chromium.org/d/msgid/blink-dev/221fb42e-d5f9-424b-97db-82b34b66bf86%40chromium.org > <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/221fb42e-d5f9-424b-97db-82b34b66bf86%40chromium.org?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 [email protected]. To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw9UpuDt6rP4bgiJa_p9dMc_t%3DR9m8Ei3mjNzuzyBkfaYg%40mail.gmail.com.
