Using method lookup caches and register windowing to speed up dynamically-bound object-oriented applications
Kanad Ghose, Kiran Desai, Peter Michael Kogge · 2002
The implementation of dynamically bound object oriented programming languages require the ability to quickly bind a logical reference to a method and to quickly allocate a context for the invoked method. In this paper we examine how a method lookup cache (MLC) and a register windowing mechanism can speed up method binding and context allocation. We also show how the MLC can be incorporated into a contemporary pipelined datapath. A detailed register level simulation of the proposed scheme, driven by a set of fairly intensive object-oriented applications, show that a relatively small method lookup cache with only 64 or 128 entries reduces the average execution time of the applications by about 50%. With register windowing and the MLC, execution time reduces by 76% to 87% with respect to the base machine.