Work

Stack caching for interpreters

Year: 1995
Type: conference-paper
Abstract: An interpreter can spend a significant part of its execution time on accessing arguments of virtual machine instructions. This paper explores two methods to reduce this overhead for virtual stack machines by caching top-of-stack values in (real machine) registers. The dynamic method is based on having, for every possible state of the cache, one specialized version of the whole interpreter; the execution of an instruction usually changes the state of the cache and the next instruction is executed in the version corresponding to the new state. In the static method a state machine that keeps track of the cache state is added to the compiler. Common instructions exist in specialized versions for several states, but it is not necessary to have a version of every instruction for every cache state. Stack manipulation instructions are optimized away.
Institution: TU Wien
Language: English
Open Access status: bronze
OpenAlex ID: W2108978604
FWCI: 0.765
Cites: 14
Cited by: 72
Related to: 10