Igalia Chats

Wingo on Wasm

Sep 2, 2025
Andy Wingo, a compiler engineer at Igalia, dives into the fascinating world of WebAssembly (Wasm), a game-changer in web and server environments. He explores Wasm's origins from Asm.js and highlights its design goals, making it a versatile compilation target. The discussion touches on Wasm's adoption, its compatibility with languages like C and Rust, and its advantages for performance in gaming and legacy applications. Wingo also addresses the importance of garbage collection and the potential of Wasm in edge computing, showcasing its role as a vital technology for the future.
Ask episode
AI Snips
Chapters
Transcript
Episode notes
INSIGHT

Wasm Originated From asm.js Needs

  • WebAssembly grew from asm.js as a purpose-built, reusable target for predictable, high-performance code on the web.
  • It was designed by compiler implementers to avoid asm.js's hacks and make compilation more robust.
INSIGHT

Wasm Is A Low-Level Compiler Target

  • WebAssembly is primarily a compiler target with linear memory and function imports/exports, suited for languages producing raw byte arrays.
  • That makes C, C++, and Rust natural fits while limiting some dynamic GC-heavy languages initially.
INSIGHT

Garbage Collection Shapes Language Fit

  • Garbage collection matters because some languages require automatic lifetime management rather than stack-based allocation.
  • WebAssembly lacked GC early on, favoring stack/linear-memory languages, but GC support is now evolving that landscape.
Get the Snipd Podcast app to discover more snips from this episode
Get the app