# GC and Exception Support in Wasmtime 47

High-level language support expands in WebAssembly ecosystem.

- **Source:** [Hacker News (news.ycombinator.com)](https://brifing.si/source/13c923cd-6d99-442b-9b8b-1181f4d8cd91)
- **Published:** 2026-07-20
- **Topic:** [Software & Engineering](https://brifing.si/c/engineering)
- **Original article:** <https://bytecodealliance.org/articles/wasmtime-gc>
- **On Brifing:** https://brifing.si/s/876e21dd-2ff4-4800-a603-a55b1efdfa01

## Key Features of Wasmtime 47

Wasmtime 47 release enables WebAssembly's garbage collection (GC) and exception handling proposals by default. This advancement paves the way for more efficient compilation of high-level languages to WebAssembly. Supporting these features represents years of engineering effort in the runtime.

## Significance of GC Support

Early WebAssembly versions required object-and-reference languages to embed their own garbage collectors, resulting in bloated binaries. The GC proposal allows using the runtime's collector instead, reducing binary sizes and improving performance for these languages.

## Exception Handling Simplified

The exceptions proposal eliminates the need for custom calling conventions in exception-using languages. Previous implementations increased binary sizes. The new system natively supports try/catch constructs with zero overhead on the common execution path.

## Wasmtime's GC Implementation

Wasmtime employs a Cheney-style semi-space copying collector. The GC heap divides into two semi-spaces with live objects copied between them. Reusing linear memories provides security, performance, and portability benefits for the GC implementation.

## Security and Performance Benefits

Implementing GC heap on linear memory prevents malicious Wasm programs from accessing host memory. 32-bit references are more cache-efficient than 64-bit pointers. Virtual memory guard pages eliminate explicit bounds checks, boosting performance.

## Testing and Validation

The team extended fuzzing infrastructure to verify GC correctness. They enhanced wasm-smith to support GC proposals and added two specialized fuzzers: one for complex object graphs and another to detect heap corruption issues.

## Future Expectations

Wasmtime developers initially focused on collector correctness. More work remains for performance optimizations. These improvements will solidify WebAssembly's position as an ideal target platform for diverse programming languages.

## Sources covering this story

- https://bytecodealliance.org/articles/wasmtime-gc — 

---

_Summary written by Brifing from the original reporting. Copyright in the original article belongs to its publisher; read the full piece at the link above._
