Is Wasm Becoming Garbage? (Keynote)
summary
Wasm now includes a new garbage‑collection extension that preserves a low‑level, language‑neutral design while adding typed reference types, structs, arrays, an i31 scalar, opaque references stored in tables, and a separate GC heap; compilers for Java, Dart, Kotlin, OCaml and Scheme already target it and Google Sheets shows 1% chance in Chrome running GC in production. The proposal is GC extension finalized after six–seven years; runtime casts appear frequently and cost about 2–4% cast overhead; interior pointers and weak‑finalizer semantics remain unresolved.
AI-written summary · about
chapters (12)
- 0:00Introduction
- 1:30WebAssembly beyond web and design
- 8:17Safety versus low-level goals
- 11:29Why WebAssembly needs garbage collection
- 16:08Wasm GC proposal principles
- 27:32Compiling classes and OOP
- 37:16Closures and generics handling
- 40:25Algebraic data types and pattern matching
- 45:06Polymorphic languages representation
- 49:42Wasm GC limitations and future
- 52:52Summary
- 53:13Q&A
related talks
31mWasm GC: What Exactly Is It (and Why I Should Care)
57mWasm 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 (…)
10mMobile app development with WebAssembly GC
38mWasm_of_ocaml
33mKeeping the asm in Wasm – Running high-level languages on a low-level VM
22mThe state of WebAssembly
