#814: WebAssembly Garbage Collection extensions

Visit on Github.

Opened Feb 3, 2023

Wotcher TAG!

I'm requesting a TAG review of the WebAssembly Garbage Collection (Wasm GC) proposal.

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.

Further details:

  • I have reviewed the TAG's Web Platform Design Principles
  • The group where the work on this specification is currently being done: WebAssembly Community Group, CG Subgroup
  • The group where standardization of this work is intended to be done (if current group is a community group or other incubation venue): WebAssembly Working Group
  • Major unresolved issues with or opposition to this specification: None; there is a high level of consensus for the current proposal, as evidenced by its state at Phase 3 of the Wasm CG process

You should also know that:

  • VM implementations are under way in V8 (Chromium), JSC (WebKit), and SpiderMonkey (Firefox)
  • Language toolchain implementations targeting Wasm GC are underway, including Java, Dart, Kotlin, and OCaml
  • In web browsers, integration with the host VM means that Wasm and JS objects can participate in object graphs without creating uncollectible cycles
  • Because the GC proposal has been under development for several years, some material in the repo may be out of date (e.g., the "MVP-JS.md" document is no longer part of the proposal)

We'd prefer the TAG provide feedback as:

💬 leave review feedback as a comment in this issue and @-notify ajklein

Discussions

2023-02-27

Minutes

Yves: looks like doing a VM inside a VM... no opinion yet. Would be good to have Sangwhan looking into it as well.

bump

2023-03-27

Minutes

Yves: seems like they want to create a VM on top of a VM... So a bit weird but seems OK. Would be good to have Sangwhan's input.

Dan: so why would you want to create

Max: in the last paragraph - VM implementers - webkit and v8 and firefox

Yves: drafts comment

2023-05-22

Minutes

Max: Yves said we can close this.

Dan: will mark as proposed closed and we can close at the plenary.

2023-06-12

Minutes

Yves: we should close it as "satisfied" - it got multi-stakeholder support and they documented user needs.

Sangwhan: yes I'm OK with this.

Dan: Yves can you leave a closing comment?

Yves: sure.

closed