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.

Reply via email to