The paper describes the design and implementation of an adaptive recompilation framework for Rotor, a shared source implementation of the common language infrastructure (CLI) that can increase program performance through intelligent recompilation decisions and optimisations based on the program’s past behaviour. Our extensions to Rotor include a low overhead run-time-stack based sampling profiler that identifies program hotspots. At the first level of optimisation, the compiler uses a fast yet effective linear scan algorithm for register allocation. Hot methods can be instrumented to collect basic-block, edge and call-graph profile information. Profile-guided optimisations driven by online profile information are used to further optimize he...
Although dynamic languages are becoming widely used due to the flexibility needs of specific softwar...
Compile-time optimization is often limited by a lack of target machine and input data set knowledge....
When interprocedural analysis and optimization are employed in an optimizing compiler based in a sof...
The paper describes the design and implementation of an adaptive recompilation framework for Rotor, ...
This paper describes the design and implementation of a dynamic recompilation framework for ROTOR, a...
Microsoft ResearchAlthough runtime systems and the dynamic compilation model have revolutionized the...
Just-in-Time (JIT) compilers for Java can be augmented by making use of runtime profile information ...
Traditional compilers rely on static information about programs to perform optimizations. While such...
Modern JIT compilers often employ multi-level recompila-tion strategies as a means of ensuring the m...
. We present a technique to measure and detect changes in the behavioral patterns of applications. I...
This paper describes the design and implementation of an optimizing compiler that automatically gene...
Dynamic languages are becoming widely used in software engineering due to the flexibility needs of s...
Abstract Profile-based optimizations can be used for instruction scheduling, loop scheduling, data p...
. We present a technique to measure and detect changes in the behavioral patterns of applications. I...
Phase selection is the process of customizing the applied set of compiler optimization phases for in...
Although dynamic languages are becoming widely used due to the flexibility needs of specific softwar...
Compile-time optimization is often limited by a lack of target machine and input data set knowledge....
When interprocedural analysis and optimization are employed in an optimizing compiler based in a sof...
The paper describes the design and implementation of an adaptive recompilation framework for Rotor, ...
This paper describes the design and implementation of a dynamic recompilation framework for ROTOR, a...
Microsoft ResearchAlthough runtime systems and the dynamic compilation model have revolutionized the...
Just-in-Time (JIT) compilers for Java can be augmented by making use of runtime profile information ...
Traditional compilers rely on static information about programs to perform optimizations. While such...
Modern JIT compilers often employ multi-level recompila-tion strategies as a means of ensuring the m...
. We present a technique to measure and detect changes in the behavioral patterns of applications. I...
This paper describes the design and implementation of an optimizing compiler that automatically gene...
Dynamic languages are becoming widely used in software engineering due to the flexibility needs of s...
Abstract Profile-based optimizations can be used for instruction scheduling, loop scheduling, data p...
. We present a technique to measure and detect changes in the behavioral patterns of applications. I...
Phase selection is the process of customizing the applied set of compiler optimization phases for in...
Although dynamic languages are becoming widely used due to the flexibility needs of specific softwar...
Compile-time optimization is often limited by a lack of target machine and input data set knowledge....
When interprocedural analysis and optimization are employed in an optimizing compiler based in a sof...