Deferred Compilation: The Automation of Run-Time Code Generation

Abstract

This paper describes deferred compilation, an alternative and complement to compile-time program analysis and optimization. By deferring aspects of compilation to run time, exact information about programs can be exploited, leading to greater opportunities for code improvement. This is in contrast to the use of static analyses, which are inherently conservative. Deferred compilation automates the translation of ordinary programs into native machine code that performs fast optimization and native-code generation at run time. Automation is obtained through the use of a compile-time staging analysis, which determines the portions of a program that may be safely and profitably compiled at run time. Fast run-time optimization is obtained by trading space for time: compile-time specialization yields numerous run-time code generators, each customized to optimize a small portion of the source program based on run- time information. Implementation strategies developed for a prototype compiler are discussed, and the results of preliminary experiments demonstrating significant overall speedup are presented.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Dec 01, 1993
Accession Number
ADA274124

Entities

People

  • Mark Leone
  • Peter P Lee

Organizations

  • Carnegie Mellon University

Tags

Communities of Interest

  • Energy and Power Technologies

DTIC Thesaurus Topics

  • Abstracts
  • Algorithms
  • Compilers
  • Computations
  • Computer Languages
  • Computer Programming
  • Computer Programs
  • Computer Science
  • Computers
  • High Level Languages
  • Instruction Set Architecture
  • Language
  • Machine Languages
  • Operating Systems
  • Optimization
  • Programming Languages
  • Prototypes

Fields of Study

  • Computer science
  • Engineering

Readers

  • Computer Science.
  • Database Systems and Applications
  • Operations Research

Technology Areas

  • Space