← Back to all briefs
Performance55s read

WebAssembly GC Ships Everywhere, WASM Becomes a First-Class Application Platform

WebAssembly Garbage Collection (WasmGC) is now supported in all major browsers and Node.js. This removes the biggest barrier to running managed languages (Java, Kotlin, Dart, OCaml) directly in the browser at near-native speed.

WebAssembly GC (WasmGC) has reached cross-browser support, marking the moment WebAssembly transitions from a C/C++/Rust compilation target to a general-purpose application platform. Languages with managed runtimes, Java, Kotlin, Dart, Go, OCaml, can now compile to WASM without shipping their own garbage collector.

Why WasmGC matters

Before WasmGC, languages with garbage collection had to compile their entire runtime (GC, memory manager, standard library) to WASM and ship it alongside application code. That meant:

WasmGC gives WASM direct access to the browser's garbage collector. Managed language objects are now first-class citizens in the WASM heap.

What becomes practical

The performance picture

Approach Bundle Size Runtime Perf JS Interop
WASM (no GC) Small Near-native Marshaling cost
WASM (shipped GC) Large (runtime) Near-native Marshaling cost
WasmGC Small Near-native Direct reference sharing
JavaScript Native JIT-optimized Native

The bottom line

WasmGC removes the last architectural reason to avoid WebAssembly for managed languages. If your language of choice has a WasmGC backend, you can now ship it to the browser at near-native speed without the runtime tax. The browser is now a truly language-agnostic application platform.