Camil Demetrescu edited abstract.tex  over 8 years ago

Commit id: b21a23d84b756fc389c184760a584eb779beb499

deletions | additions      

       

On-Stack Replacement (OSR) is a technique that makes it possible to suspend consists of suspending  the execution of a function and continue continuing  from the same program state with a different version of the function. OSR is often used in virtual machines to interrupt a long-running function and recompile it at a higher optimization level, or to replace it with a different one when a speculative assumption made during its compilation no longer holds. In this paper we present a novel framework to perform OSR transitions. Compared to extant OSR techniques, our approach is platform-independent as transitions are encoded entirely at the Intermediate Representation (IR) level; it supports OSR-point insertion at arbitrary locations in a function, and it allows a function version reached via OSR to fire an OSR itself, either to a more optimized version or to a less optimized one from which it was derived.