Inside the Wizard Research Engine
Talkat WasmCon 2023 · on Thursday, 2023-09-07· at 13:30· Grand Ballroom E, Hyatt Regency Bellevue, 900 Bellevue Way NE·
summary
A compact Wasm research engine called Wizard implements an in-place interpreter that overwrites bytes with an illegal opcode to install removable probes at instruction or basic-block granularity, plus a single-pass baseline JIT that shares the interpreter stack layout so execution can flip between modes. Implemented tools include coverage, branch and loop monitors, call profiler and a debugger; local probes cost ~5–10% in the interpreter, the JIT runs ~5–25× faster, and the codebase is ~18k LOC.
AI-written summary · about
chapters (10)
- 0:00Introduction to Wizard
- 1:20Research VM goals
- 4:08Design priorities
- 6:52Observability and analysis
- 10:37Implementation of probes
- 14:00Practical analysis tools
- 18:03High-level API abstraction
- 21:06JIT and performance
- 26:12Simplicity and code design
- 29:45Q&A and future directions
related talks
44mInside the Wizard Research Engine
44mInside the Wizard Research Engine
29mA Fast In-Place Interpreter for WebAssembly
16mDebugging WebAssembly? Put some Whamm on it!
23mWhamm: A Framework for Performant, Sandboxed Instrumentation.
40mWhamm! A WebAssembly Bytecode Instrumentation DSL
25mBehind the Scenes: Debugging Kotlin/Wasm
24mMeta-tracing Interpreters in WebAssembly
