Wasm GC: What Exactly Is It (and Why I Should Care)
Talkat WasmCon 2023 · on Wednesday, 2023-09-06· at 15:00· Grand Ballroom F, Hyatt Regency Bellevue, 900 Bellevue Way NE·
summary
Wasm GC adds Heap types (structs, arrays, i31ref) and reference types and about ~30 new instructions to WebAssembly, enabling languages that need managed heaps to target Wasm without specifying a garbage collector. The proposal is MVP (reference/heap/subtyping/recursive types) with post‑MVP items like generics and weak refs, has a Chromium prototype and runtime work underway, and expects compilers for GC languages (Java/Python/Ruby/Go) to appear soon — it is not a GC specification.
AI-written summary · about
chapters (22)
- 0:00Introduction and speaker background
- 3:14Why garbage collection matters for Wasm
- 4:39What is garbage collection and Wasm GC
- 6:25Wasm GC specification and types overview
- 7:27Heap types and memory in Wasm
- 8:51Disjoint hierarchies of Heap types
- 9:34Index types and structs in Wasm GC
- 10:21Reference types and their usage
- 11:45Unboxed scalars and subtyping
- 13:10Recursive type groups explained
- 14:12New instructions in Wasm GC
- 15:21Predictions for GC-supported compilers
- 16:46Resources and contribution guide
- 18:32Q&A session begins
- 19:14Component model and garbage collection
- 20:18Heap memory and garbage collection mechanics
- 21:21Unboxed references and i31 type
- 23:19Garbage collection in Rust vs managed languages
- 25:30Linear memory vs Heap for different languages
- 27:24Compiler support and timeline for Wasm GC
- 29:34Future of Wasm GC and Kotlin support
- 30:02Closing remarks and thanks
related talks
57mWasm GC
57mIs Wasm Becoming Garbage? (Keynote)
30mA Compiler Author’s Guide to WebAssembly GC
10mMobile app development with WebAssembly GC
22m[Keynote] Wasm GC and the Future of High-Level Language Compilation
17mImplementing and Evaluating a High-Level Language with WasmGC and the Wasm (…)
33mKeeping the asm in Wasm – Running high-level languages on a low-level VM
22mThe state of WebAssembly
