On-stack replacement (OSR) is essential technology for adaptive optimization, allowing changes to code actively executing in a managed runtime. The engineering aspects of OSR are well-known among VM architects, with several implementations available to date. However, OSR is yet to be explored as a general means to transfer execution between related program versions, which can pave the road to unprecedented applications that stretch beyond VMs. We aim at filling this gap with a constructive and provably correct OSR framework, allowing a class of general-purpose transformation functions to yield a special-purpose replacement. We describe and evaluate an implementation of our technique in LLVM. As a novel application of OSR, we present a feasi...
Modern architectures have made program behavior brittle and un-predictable, making software performa...
Modern compilers perform extensive transformation of code in order to optimize run- ning time and bi...
International audienceHigh-performance dynamic language implementations make heavy use of speculativ...
On-Stack Replacement (OSR) is a technique for dynamically transferring execution between different v...
Efficient invalidation and dynamic replacement of executing code – on-stack replacement (OSR), is ne...
Adaptive optimization technology is a key ingredient in modern runtime systems. This technology aims...
As part of the Platform-Aware Compilation Environment (PACE) Project1, Operator Strength Reduction (...
We are interested in implementing dynamic language run-times on top of language-level virtual machin...
In dynamic object-oriented languages, low-level mechanisms such as just-in-time compilation, object ...
Dynamic compilers perform a wealth of optimizations to improve the performance of the generated mach...
To achieve the best performance, most computer languages are compiled, either ahead of time and s...
In the past few years, code optimization has become a major field of research. Many efforts have bee...
New non-volatile memory (NVM) technologies enable direct, durable storage of data in an application'...
Dynamic program optimization o ers performance improvements far beyond those possible with tradition...
As transistors sizes shrink and architects put more and more cores on chip, computer systems become ...
Modern architectures have made program behavior brittle and un-predictable, making software performa...
Modern compilers perform extensive transformation of code in order to optimize run- ning time and bi...
International audienceHigh-performance dynamic language implementations make heavy use of speculativ...
On-Stack Replacement (OSR) is a technique for dynamically transferring execution between different v...
Efficient invalidation and dynamic replacement of executing code – on-stack replacement (OSR), is ne...
Adaptive optimization technology is a key ingredient in modern runtime systems. This technology aims...
As part of the Platform-Aware Compilation Environment (PACE) Project1, Operator Strength Reduction (...
We are interested in implementing dynamic language run-times on top of language-level virtual machin...
In dynamic object-oriented languages, low-level mechanisms such as just-in-time compilation, object ...
Dynamic compilers perform a wealth of optimizations to improve the performance of the generated mach...
To achieve the best performance, most computer languages are compiled, either ahead of time and s...
In the past few years, code optimization has become a major field of research. Many efforts have bee...
New non-volatile memory (NVM) technologies enable direct, durable storage of data in an application'...
Dynamic program optimization o ers performance improvements far beyond those possible with tradition...
As transistors sizes shrink and architects put more and more cores on chip, computer systems become ...
Modern architectures have made program behavior brittle and un-predictable, making software performa...
Modern compilers perform extensive transformation of code in order to optimize run- ning time and bi...
International audienceHigh-performance dynamic language implementations make heavy use of speculativ...