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.
Original languageEnglish
Title of host publicationProceedings of the Virtual Machines and Intermediate Languages Workshop 2016 (VMIL'16)
Number of pages8
ISBN (Electronic)978-1-4503-4645-0
StatePublished - 31 Oct 2016
EventVirtual Machines and Intermediate Languages Workshop 2016 - Amsterdam, Netherlands


WorkshopVirtual Machines and Intermediate Languages Workshop 2016
Abbreviated titleVMIL 2016
Internet address

    Research areas

  • JIT Compilation, Static Analysis, Incremental Analysis, Hybrid Analysis

ID: 26047566