Calpa: A Tool for Automating Dynamic Compilation

M. Mock, M. Berryman, C. Chambers, and S. Eggers

Department of Computer Science and Engineering
University of Washington

In the proceedings of the 2nd ACM Workshop on Feedback-Directed Optimization (FDO) , November 1999, pp. 100-109.

ACM's Copyright Policy.

`
  • PostScript (595kB)
  • Compressed PostScript (compress, 324kB)
  • Compressed PostScript (gzip, 271kB)
  • PDF (129kB)
  • To save the paper to a file using Netscape Navigator, right click on one of the links at the left and select "Save Link As..."

    Abstract

    Declarative dynamic compilation systems are driven by user annotations that identify runtime constants. Although manually inserting annotations can achieve significant program speedups, it is a tedious and time-consuming process that requires careful inspection of a program's static characteristics and runtime behavior and much trial and error in order to craft beneficial annotations. Calpa is a system that generates annotations automatically for the DyC dynamic compiler. Calpa utilizes execution frequency and value profile information to drive a program analysis based on a (dynamic compilation) cost/ (dynamically generated code) benefit model to choose runtime constants and DyC's specialization policies. Although only a subset of Calpa's eventual capabilities has been implemented, for the programs tested so far, it generates annotations of the same or better quality as those found by a human, but in a fraction of the time. The result was equal or better program speedups from dynamic compilation.


    Last updated December 10, 2001.
    Markus Mock (mock@cs.washington.edu)