
Overview of Processing of Some Languages 347
VM code tracing: Useful for debugging the front-end and the VM interpreter. You will typically
provide other means for debugging the user’s programs at the source level.
VM code profiling: Useful for optimizing the VM interpreter with super instructions, which are a
combination of basic instructions.
To create parts of the interpretive system that do not deal with VM instructions, you have to use
other tools (e.g., bison) and/or hand-code them. Vmgen supports efficient interpreters through various
optimizations, in particular:
c
Threaded code,
c
Caching the top-of-stack in a register,
c
Combining VM ...