A Uniform Approach for Compile-time and Run-time Specialization

Charles Consel 1 Luke Hornof 1 François Noël 1 Jacques Noyé 1 Eugen-Nicolae Volanschi 1
1 Lande - Logiciel : ANalyse et DEveloppement
IRISA - Institut de Recherche en Informatique et Systèmes Aléatoires, Inria Rennes – Bretagne Atlantique
Abstract : As partial evaluation gets more mature, it is now possible to use this program transformation technique to tackle realistic languages and real-size application programs. However, this evolution raises a number of critical issues that need to be addressed before the approach becomes truly practical. First of all, most existing partial evaluators have been developed based on the assumption that they could process any kind of application program. This attempt to develop {\em universal} partial evaluators does not address some critical needs of real-size application programs. Furthermore, as partial evaluators treat richer and richer languages, their size and complexity increase drastically. This increasing complexity revealed the need to enhance design principles. Finally, exclusively specializing programs at compile time seriously limits the applicability of partial evaluation since a large class of invariants in real-size programs are not known until run time and therefore cannot be taken into account. In this paper, we propose design principles and techniques to deal with each of these issues. By defining an architecture for a partial evaluator and its essential components, we are able to tackle a rich language like C without compromising the design and the structure of the resulting implementation. By designing a partial evaluator targeted towards a specific application area, namely system software, we have developed a system capable of treating realistic programs. Because our approach to designing a partial evaluator clearly separates preprocessing and processing aspects, we are able to introduce run-time specialization in our partial evaluation system as a new way of exploiting information produced by the preprocessing phase.
Type de document :
Rapport
[Research Report] RR-2775, INRIA. 1996
Liste complète des métadonnées

Littérature citée [2 références]  Voir  Masquer  Télécharger

https://hal.inria.fr/inria-00073917
Contributeur : Rapport de Recherche Inria <>
Soumis le : mercredi 24 mai 2006 - 14:04:59
Dernière modification le : vendredi 16 novembre 2018 - 01:25:30
Document(s) archivé(s) le : lundi 5 avril 2010 - 00:01:47

Fichiers

Identifiants

  • HAL Id : inria-00073917, version 1

Citation

Charles Consel, Luke Hornof, François Noël, Jacques Noyé, Eugen-Nicolae Volanschi. A Uniform Approach for Compile-time and Run-time Specialization. [Research Report] RR-2775, INRIA. 1996. 〈inria-00073917〉

Partager

Métriques

Consultations de la notice

290

Téléchargements de fichiers

426