web-platform-tests / interop

web-platform-tests Interop project
https://wpt.fyi/interop
280 stars 28 forks source link

WasmGC #548

Closed ThomasTheDane closed 7 months ago

ThomasTheDane commented 11 months ago

Description

WasmGC will enable garbage collected languages including Kotlin, Java, and Dart to run on WebAssembly.

We'd like to propose WasmGC as a focus area for interop.

Note that

Specification

https://github.com/WebAssembly/gc/tree/main/proposals/gc

Open Issues

https://github.com/WebAssembly/gc/issues

Tests

Note that wasm tests have previously not come with a test runner designed to work in the browser but we've opened up an Investigation Effort - see details here: https://github.com/web-platform-tests/interop/issues/545

Current Implementations

Standards Positions

Couldn't find a reference in Gecko or Webkit standards positions though. They've both indicated Positive in standards body. WasmGC has reached stage 4 in the W3C WG which includes support from Gecko, WebKit, and Blink.

Gecko also has the initial implementation already in place and Igalia is working on the implementation in WebKit (estimate 1-2 quarters of work).

Browser bug reports

No response

Developer discussions

https://twitter.com/search?q=wasmgc&src=typed_query&f=live

Polls & Surveys

https://2021.stateofjs.com/en-US/features/other-features/#wasm

Existing Usage

Chrome has an ongoing origin trial - signups #s are not public but can be shared as needed to specific individuals.

Workarounds

Many GC languages including Closure (Java variant) and Kotlin compile to JavaScript today. This provides worse performance and lack of future optimisation opportunity (wasm is designed as a compile target, JS is not)

Accessibility Impact

None

Privacy Impact

None

Other

No response

ajklein commented 11 months ago

Thanks, @ThomasTheDane, for filing. A few more links:

foolip commented 11 months ago

Initial experimentation suggests that getting Wasm tests running isn't very hard, and the quickest approach (checking in built tests) is achievable this year if needed.

nairnandu commented 7 months ago

Thank you for proposing WASM GC for inclusion in Interop 2024.

We wanted to let you know that this proposal was not selected to be part of Interop 2024. This is because we got many more proposals than we could include in this year's project. Note that individual vendors may nevertheless choose to advance work in this area during the forthcoming year. We would welcome this proposal being resubmitted again next year, if necessary.

For an overview of our process, see proposal selection. Thank you again for contributing to Interop 2024!

Posted on behalf of the Interop team.