Advertisement

Reducing Exit Stub Memory Consumption in Code Caches

  • Apala Guha
  • Kim Hazelwood
  • Mary Lou Soffa
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4367)

Abstract

The interest in translation-based virtual execution environments (VEEs) is growing with the recognition of their importance in a variety of applications. However, due to constrained memory and energy resources, developing a VEE for an embedded system presents a number of challenges. In this paper we focus on the VEE’s memory overhead, and in particular, the code cache. Both code traces and exit stubs are stored in a code cache. Exit stubs keep track of the branches off a trace, and we show they consume up to 66.7% of the code cache. We present four techniques for reducing the space occupied by exit stubs, two of which assume unbounded code caches and the absence of code cache invalidations, and two without these restrictions. These techniques reduce space by 43.5% and also improve performance by 1.5%. After applying our techniques, the percentage of space consumed by exit stubs in the resulting code cache was reduced to 41.4%.

Keywords

Code Unit Application Code Program Counter Target Address Cache Block 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer Berlin Heidelberg 2007

Authors and Affiliations

  • Apala Guha
    • 1
  • Kim Hazelwood
    • 1
  • Mary Lou Soffa
    • 1
  1. 1.Department of Computer Science, University of Virginia 

Personalised recommendations