Previous: An Example Up: Deferred Compilation: The Automation of Run-Time Code Generation Next: Implementation

Strategies for Deferred Compilation

The example above, though unrealistically simple, illustrates the basic elements of deferred compilation. First, a staging analysis is used to determine the stage at which each subexpression of a program is computed. In essence, this identifies data and control dependencies in the program and reveals in which stages run-time optimization may be of benefit. Second, no general-purpose compilation occurs at run time. Instead, parts of the source program are compiled into special-purpose code generators ( e.g., powgen), each customized to optimizing and generating code based on run-time values.

mleone@cs.cmu.edu