Efficient incremental run-time specialization for free

  • Authors:
  • Renaud Marlet;Charles Consel;Philippe Boinot

  • Affiliations:
  • IRISA/INRIA, Université de Rennes 1, Compose project, Campus universitaire de Beaulieu, 35042 Rennes cedex, France;IRISA/INRIA, Université de Rennes 1, Compose project, Campus universitaire de Beaulieu, 35042 Rennes cedex, France;IRISA/INRIA, Université de Rennes 1, Compose project, Campus universitaire de Beaulieu, 35042 Rennes cedex, France

  • Venue:
  • Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation
  • Year:
  • 1999

Quantified Score

Hi-index 0.00

Visualization

Abstract

Availability of data in a program determines computation stages. Incremental partial evaluation exploit these stages for optimization: it allows further specialization to be performed as data become available at later stages. The fundamental advantage of incremental specialization is to factorize the specialization process. As a result, specializing a program at a given stage costs considerably less than specializing it once all the data are available.We present a realistic and flexible approach to achieve efficient incremental run-time specialization. Rather than developing specific techniques, as previously proposed, we are able to re-use existing technology by iterating a specialization process. Moreover, in doing so, we do not lose any specialization opportunities. This approach makes it possible to exploit nested quasi-invariants and to speed up the run-time specialization process.This approach has been implemented in Tempo, a specializer for C programs that is publicly available. A preliminary experiment confirm that incremental that incremental specialization can greatly speed up the specialization process.