Dynamically Adaptable Software with Metacomputations in a Staged Language

Bill Harrison and Tim Sheard

To appear at Workshop on the Semantics, Applications, and Implementation of Program Generation (SAIG01), Firenze, Italy, 6 September 2001


Abstract

Profile-driven compiler optimizations take advantage of information gathered at runtime to re-compile programs into more efficient code. Such optimizations appear to be more easily incorporated within a semantics-directed compiler structure than within traditional compiler structure. We present a case study in which a metacomputation-based reference compiler for a small imperative language converts easily into a compiler which performs a particular profile-driven optimization: local register allocation. Our reference compiler is implemented in the staged, functional language MetaML and takes full advantage of the synergy between metacomputation-style language definitions and the staging constructs of MetaML. We believe that the approach to implementing profile-driven optimizations presented here suggests a useful, formal model for dynamically adaptable software.


Server START Conference Manager
Update Time 16 Jun 2001 at 14:22:38
Maintainer saig@cs.yale.edu.
Start Conference Manager
Conference Systems