| | |
Summary: Maintaining Consistency and Bounding Capacity
of Software Code Caches
Derek Bruening and Saman Amarasinghe
MIT Computer Science and Artificial Intelligence Laboratory
and Determina Corporation
{iye,saman}@csail.mit.edu
Abstract
Software code caches are becoming ubiquitous, in dy-
namic optimizers, runtime tool platforms, dynamic transla-
tors, fast simulators and emulators, and dynamic compil-
ers. Caching frequently executed fragments of code pro-
vides significant performance boosts, reducing the over-
head of translation and emulation and meeting or exceed-
ing native performance in dynamic optimizers. One dis-
advantage of caching, memory expansion, can sometimes
be ignored when executing a single application. However,
as optimizers and translators are applied more and more
in production systems, the memory expansion from running
multiple applications simultaneously becomes problematic.
A second drawback to caching is the added requirement of
|