A fast in-place interpreter for WebAssembly
Ben L. Titzer

TL;DR
This paper introduces a fast in-place interpreter for WebAssembly that enables quicker startup times and lower memory usage by interpreting Wasm code directly without rewriting or separate formats.
Contribution
We present a novel in-place interpretation method for WebAssembly that improves startup speed and memory efficiency over traditional compilation and interpretation approaches.
Findings
In-place interpretation achieves performance comparable to custom internal formats.
The approach reduces startup time significantly compared to baseline compilers.
Memory footprint is lowered due to no need for code rewriting or separate formats.
Abstract
WebAssembly (Wasm) is a compact, well-specified bytecode format that offers a portable compilation target with near-native execution speed. The bytecode format was specifically designed to be fast to parse, validate, and compile, positioning itself as a portable alternative to native code. It was pointedly not designed to be interpreted directly. Instead, design considerations at the time focused on competing with native code, utilizing optimizing compilers as the primary execution tier. Yet, in JIT scenarios, compilation time and memory consumption critically impact application startup, leading many Wasm engines to later deploy baseline (single-pass) compilers. Though faster, baseline compilers still take time and waste code space for infrequently executed code. A typical interpreter being infeasible, some engines resort to compiling Wasm not to machine code, but to a more compact, but…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvancements in Photolithography Techniques · Advancements in Semiconductor Devices and Circuit Design · Software Engineering Research
