Dynamically adaptable software with metacomputations in a staged language

  • Authors:
  • Bill Harrison;Tim Sheard

  • Affiliations:
  • Pacific Software Research Center, OGI School of Science and Engineering, Oregon Health & Science University;Pacific Software Research Center, OGI School of Science and Engineering, Oregon Health & Science University

  • Venue:
  • SAIG'01 Proceedings of the 2nd international conference on Semantics, applications, and implementation of program generation
  • Year:
  • 2001

Quantified Score

Hi-index 0.00

Visualization

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.