Write a Blog >>
CC 2017
Sun 5 - Mon 6 February 2017 Austin, Texas, United States
Sun 5 Feb 2017 13:55 - 14:20 at 404 - Compilers

A multi-tier virtual machine (VM) deoptimizes and transfers last-tier execution to the first-tier execution when a speculative optimization is invalidated. The first-tier target of deoptimization is either an interpreter or code compiled by a baseline compiler. Because such a first-tier execution uses a fixed stack frame layout, this complicates all VM components that need to walk the stack. We propose to use the optimizing compiler also to compile deoptimization target code, i.e., the non-speculative first-tier code where execution continues after a deoptimization. Deoptimization entry points are described with the same scope descriptors used to describe the origin of the deoptimization, i.e., deoptimization is a two-way matching of two scope descriptors describing the same abstract frame at the same virtual program counter. We evaluate this deoptimization approach in a high-performance JavaScript VM. It strictly uses a one-compiler approach, i.e., all frames on the stack originate from the same compiler.

Sun 5 Feb

Displayed time zone: Saskatchewan, Central America change

13:30 - 15:10
CompilersResearch Papers at 404
13:30
25m
Talk
Compile-Time Function Memoization
Research Papers
Arjun Suresh Ohio State University, USA, Erven Rohou Inria, France, André Seznec Inria, France
DOI
13:55
25m
Talk
One Compiler: Deoptimization to Optimized Code
Research Papers
Christian Wimmer , Vojin Jovanovic Oracle Labs, Erik Eckstein Oracle Labs, USA, Thomas Wuerthinger Oracle Labs
DOI
14:20
25m
Talk
Static Optimization in PHP 7
Research Papers
Nikita Popov TU Berlin, Germany, Biagio Cosenza TU Berlin, Germany, Ben Juurlink TU Berlin, Germany, Dmitry Stogov Zend Technologies, Russia
DOI
14:45
25m
Talk
From Functional Programs to Pipelined Dataflow Circuits
Research Papers
Richard Townsend Columbia University, USA, Martha A. Kim Columbia University, Stephen Edwards
DOI