Feedback-Directed Optimistic Optimizations in Virtual Machines
- Christian Wimmer | University of California
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.
Speaker Details
Christian Wimmer is a postdoctoral researcher at the University of California, Irvine. Currently he works on novel compilation techniques and optimizations for just-in-time compilers, information flow analysis, and secure execution of code. He received a Dr. techn. degree and a Dipl.-Ing. degree in Computer Science, both from the Johannes Kepler University Linz, Austria. He implemented the linear scan register allocator for the Java HotSpot client compiler of Java 6, and worked on several research projects that are based on Java and JavaScript VMs. His research interests span from compilers, virtual machines, and language based security to component-based software architectures.
-
-
Jeff Running
-
Watch Next
-
-
Accelerating MRI image reconstruction with Tyger
- Karen Easterbrook,
- Ilyana Rosenberg
-
-
-
-
-
-
-
-