I Wrote a WebAssembly VM in C

The author shares their journey of writing a WebAssembly VM in C as a productive learning experience. WebAssembly is a standardized instruction set for running untrusted client-side code in web browsers. The evolution of WebAssembly from Emscripten’s C/C++ to Javascript compiler to a standalone bytecode format is discussed. The author’s motivation for creating a WebAssembly interpreter, named Semblance, is explained as a way to specialize in a lower level of the computing stack. An overview of the interpreter’s implementation, including decoding the binary format, resolving imports, instantiating modules, and executing instructions, is provided. The author concludes that despite its imperfections, the project was successful in teaching them valuable skills and preparing them to contribute to larger runtimes like Wasmtime.

https://irreducible.io/blog/my-wasm-interpreter/

To top