Dynamically Adaptable Software with Metacomputations in a Staged Language. Harrison, B. & Sheard, T. In Proceedings of the Second International Workshop on Semantics, Applications, and Implementation of Program Generation (SAIG), volume 2196, of Lecture Notes in Computer Science, pages 163–182, Florence, Italy, 2001. Springer-Verlag.
Dynamically Adaptable Software with Metacomputations in a Staged Language [pdf]Paper  abstract   bibtex   
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.

Downloads: 0