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 <ad...@chromium.org> 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
    <miketa...@chromium.org> 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

        ad...@chromium.org, jkumme...@chromium.org


                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 blink-dev+unsubscr...@chromium.org.
        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 blink-dev+unsubscr...@chromium.org.
    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 blink-dev+unsubscr...@chromium.org.
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.

Reply via email to