Inside the Wizard Research Engine
summary
Claims a new research Wasm engine named Wizard with an in-place interpreter and probe-based instrumentation that supports inserting and removing probes at runtime. It demonstrates concrete tools: code coverage, branch profiling, a loop counter, a bytecode-level debugger and a hotness monitor, typically adding ~10–20% interpreter overhead versus ~2× overhead for bytecode rewriting, and a baseline compiler (20× speedup) that keeps interpreter/jit stack layouts compatible. The implementation is ~18,000 LOC in Virgil and shows end-to-end working prototypes and measurable performance.
AI-written summary · about
chapters (19)
- 0:00WebAssembly and research engines
- 3:56Building research VMs like Wizard
- 7:21What is the Wizard engine
- 9:05Design priorities for Wizard
- 11:12Observability in VM design
- 13:57Dynamic analysis with callbacks
- 17:48Probe mechanisms in Wizard
- 22:47Code coverage with probes
- 24:54Student analyses in Wizard
- 28:03Instrumentation capabilities
- 30:56Instrumentation overhead
- 31:40Baseline JIT in Wizard
- 34:29JIT and interpreter compatibility
- 35:31Single-pass baseline compiler
- 37:15Execution tier trade-offs
- 39:45Full instrumentation with JIT
- 40:28Approachability in Wizard
- 41:54Robustness and memory safety
- 42:38Self-explanatory code
related talks
44mInside the Wizard Research Engine
35mInside the Wizard Research Engine
29mA Fast In-Place Interpreter for WebAssembly
23mWhamm: A Framework for Performant, Sandboxed Instrumentation.
16mDebugging WebAssembly? Put some Whamm on it!
17mWasmRef-Isabelle: A Verified Monadic Interpreter and Industrial Fuzzing Oracle for(…)
40mWhamm! A WebAssembly Bytecode Instrumentation DSL
24mMeta-tracing Interpreters in WebAssembly
