Improving Trace-based JIT Optimisation using Whole-Program Information
Trace-based just-in-time compilers use program analyses to optimise execution traces. These analyses are limited in scope to the parts of the program that have been traced. We conjecture that trace optimisations can benefit from extending the scope of their enabling analyses beyond these traces to the set of possible future execution states of the program. This by incorporating a static analysis which, however, necessarily over-approximates this set. We therefore propose to continuously refine the set of future states computed by an initial, ahead-of-time analysis using run-time information about the current execution state of the program. Additional static analyses launched at run time could further refine the information about the future of the current and all possible states. We expect that the resulting, hybrid program view of static and dynamic information may enable additional optimisations on collected traces and that these optimisations may overcome the computational overhead of keeping the view up-to-date.
Mon 31 Oct
|15:40 - 16:05|
|16:05 - 16:30|
|16:30 - 16:55|
Rebuilding an Airliner In Flight: A Retrospective on Refactoring IBM Testarossa production compiler for Eclipse OMR
|16:55 - 17:20|