Skip to main navigation Skip to search Skip to main content

Accelerating object-oriented applications using method lookup caches and register windowing1

Research output: Contribution to journalArticlepeer-review

Abstract

Architectural support for accelerating applications written in alternate programming paradigms have been well explored in the past. We focus on architectural support for object-oriented languages. We first describe the various run-time structures required by a typical implementation of an object-oriented language and identify areas that can benefit from dedicated architectural support. The ability to quickly bind a logical reference to a method and to quickly allocate a context for the invoked method is critical to the performance of dynamically bound object-oriented applications. In this paper we examine how a method lookup cache (MLC) and a register windowing mechanism can be easily incorporated in a contemporary scalar pipeline (the "base machine") to speed up method binding and context allocation. Our study departs from previous studies along similar lines in its use of a more contemporary pipeline and the consideration of efficient pipelining with the inclusion of these artifacts for acceleration. A detailed register level simulation of the proposed scheme, for a range of parameters for the MLC and the register windowing mechanism, driven by a set of fairly intensive object-oriented applications was done. The simulation results indicate that a relatively small method lookup cache with only 64 or 128 entries reduces the average execution time of the applications by about 50%. The inclusion of a register windowing mechanism with four register windows in the register file also accelerates method invocation as expected. The use of register windowing without a MLC results in a 72% reduction in the execution time with respect to the base machine. Together, the register windowing and the MLC, results in the reduction of execution time by 76%-87% with respect to the base machine for the programs we have used.

Original languageEnglish
Pages (from-to)1023-1046
Number of pages24
JournalJournal of Systems Architecture
Volume45
Issue number12-13
DOIs
StatePublished - Jun 1999

Keywords

  • Dynamic binding
  • Method lookup caches
  • Pipelining
  • Register windowing

Fingerprint

Dive into the research topics of 'Accelerating object-oriented applications using method lookup caches and register windowing1'. Together they form a unique fingerprint.

Cite this