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.
@InProceedings{HarrisonSheard2001,
  author =       "Bill Harrison and Tim Sheard",
  title =        "Dynamically Adaptable Software with Metacomputations in a Staged Language",
  journal =      "Lecture Notes in Computer Science",
  booktitle =    "Proceedings of the Second International Workshop on
                  Semantics, Applications, and Implementation of Program Generation (SAIG)",
  address =      "Florence, Italy", 
  volume =       "2196",
  pages =        "163--182",
  publisher =    "Springer-Verlag",
  series =       "Lecture Notes in Computer Science",
  year =         "2001",
  hconf = "yes",
   url_Paper = "https://harrisonwl.github.io/assets/papers/saig01.pdf",
  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.",
}
Downloads: 0