Incremental Runtime Specialization
Renaud Marlet · 2012
This chapter shows how to carry out incremental specialization during execution. The chapter first describes data availability staging in a program and justifies the advantage of incremental specialization. Then, it reviews various suggested incremental specialization models, notably the concept of iterated bi-level specialization. The chapter also explains the matter of binding-time analysis for incremental specialization and compares an intrinsically multilevel analysis to an iterated bi-level analysis. Later on, it describes implementation from incremental specialization to the execution implemented in Tempo on the principle of a bi-level iterated specialization, as well as a means to optimize it, when several different specializations do not have to coexist. Finally, the chapter compares the respective advantages of multilevel and bi-level iterated specializations and concludes that developing a multilevel specialization is not profitable when a bi-level specialization is already available. The chapter also mentions a few ideas to improve the process of incremental runtime specialization.