Feedback-Directed Optimistic Optimizations in Virtual Machines

61
Следующее
Популярные
Опубликовано 17 августа 2016, 22:28
The execution model of virtual machine-based languages are ideally suited for dynamic optimizations at run time. The VM is allowed to perform any sort of optimizations at run time, as long as the executed application behaves like it was executed without optimizations. In the case of feedback-directed optimistic optimizations, the VM optimizes based on preconditions that are likely to hold in the future, but that are not guaranteed. In case a precondition no longer holds, the optimization is simply undone (deoptimization). One example for such an optimization is automatic object inlining, which changes the order of objects on the heap so that objects that are accessed together are placed next to each other in memory. This allows field loads to be replaced with address arithmetic. We present an implementation that utilizes profile information, the garbage collector, and the just-in-time compiler to perform this optimization fully automatically at run time. The switching between interpreted and compiled code, i.e., optimization and deoptimization, blurs the traditional method granularity of just-in-time compilation. A consequent next step in this direction is trace-based compilation: The compiler no longer operates on the bytecodes of methods, but instead on execution traces recorded at run time. The second part of this talk presents our recent advances of trace compilation, and presents optimizations that are based on this compilation approach.
Случайные видео
110 дней – 2932:03
Touroll E-bike Factory Visiting
313 дней – 6 7500:48
DOOGEE N50 Pro | Official Introduction
11.03.17 – 391 2726:31
Dell XPS 15 (9560) Unboxing
автотехномузыкадетское