Extraction of Virtual Machine Execution Traces
summary
An open source tool consumes a VM execution trace and applies small, explicit transformation rules to emit a linked guest-program trace so navigation in the VM trace jumps to the corresponding guest events. Implementation plugs into Trace View, records full instruction and memory events, and shows that deriving the guest trace costs about 9.6% slowdown and increases memory use by 22% for a simple VM. 60 million traced instructions produce ~4 GB of trace and analysis can need ~32 GB, but interactive navigation is nearly instantaneous once loaded.
AI-written summary · about
chapters (8)
- 0:00VM debugging challenges
- 1:08Debugging guest and VM code
- 1:52Trace View execution traces
- 3:18Transforming to guest traces
- 4:43Practical VM example
- 6:29Limitations and challenges
- 7:53Future work and open-source
- 8:58Questions and answers session
related talks
40mJoy of Meta-Tracing Just-in-Time Compilation: More Than Just a VM Generator
48mOptimizing Performance using a VM and Go Plugins
29mGraalVM in a Nutshell
55mMaking CPython Fast Using Trace-based Optimisations
54mWhat Lies Beneath
47mWhat Lies Beneath
40mCreating efficient VM with JIT in Go
24mMeta-tracing Interpreters in WebAssembly
