Dynamic specialization in the Fabius system

Mark P. Leone, Peter Lee · ACM Computing Surveys · 1998

Opportunities for specialization abound during program execution. Dynamic specialization exploits run-time values that are not available at compile time, yielding code that is often superior to statically optimal code. This paper surveys the design of the FABIUS compiler, which achieves dynamic speculation with low overhead through the use of generating extensions that create native residual code. One novel aspect of dynamically specialized code yields values that can be used in successive rounds of specialization. We demonstrate that decoupling binding times at procedure call boundaries allows multi-stage specialization to be expressed in a two-level language.

Read the paper · More papers on PaperTik