Language and compiler support for dynamic code generation

Massimiliano Poletto, M. Frans Kaashoek · 1999

Dynamic code generation, also called run-time code generation or dynamic compilation, is the creation of executable code for an application while that application is running. Dynamic compilation can significantly improve the performance of software by giving the compiler access to run-time information that is not available to a traditional static compiler. A well-designed programming interface to dynamic compilation can also simplify the creation of important classes of computer programs. Until recently, however, no system combined efficient dynamic generation of high-performance code with a powerful and portable language interface. This thesis describes a system that meets these requirements, and discusses several applications of dynamic compilation. First, the thesis presents `C (pronounced "Tick-C"), an extension to ANSI C that allows the programmer to express and manipulate C code fragments that should be compiled at run time. `C is currently the only language to provide an impera...

Read the paper · More papers on PaperTik