The HipHop Virtual Machine (HHVM) is a JIT compiler and runtime for PHP. While PHP values are dynamically typed, real programs often have latent types that are useful for optimization once discovered. Some types can be proven through static analysis, but limitations in the ahead-of-time approach leave some types to be discovered at run time. Although many values have latent types, PHP programs can also contain polymorphic variables and expressions, which must be handled without catastrophic slowdown.
HHVM discovers latent types by structuring its JIT around the concept of a tracelet. A tracelet is approximately a basic block specialized for a particular set of run time types for its input values. Tracelets allow HHVM to exactly and efficiently learn the types used by the program, while using a simple compiler. We find HHVM provides high levels of performance, without sacrificing compatibility or interactivity.
Fri 24 OctDisplayed time zone: Tijuana, Baja California change
10:30 - 12:00 | |||
10:30 22mTalk | Accelerating Iterators in Optimizing AST Interpreters OOPSLA Wei Zhang University of California, Irvine, Per Larsen University of California, Irvine, Stefan Brunthaler University of California, Irvine, Michael Franz University of California, Irvine Link to publication | ||
10:52 22mTalk | Call Sequence Prediction through Probabilistic Calling Automata OOPSLA Zhijia Zhao College of William and Mary / North Carolina State University, Bo Wu College of William and Mary, Mingzhou Zhou College of William and Mary, Yufei Ding College of William and Mary, Jianhua Sun College of William and Mary, Xipeng Shen North Carolina State University, Youfeng Wu Intel Corporation Link to publication | ||
11:15 22mTalk | Space-Efficient Multi-Versioning for Input-Adaptive Feedback-Driven Program Optimizations OOPSLA Mingzhou Zhou College of William and Mary, Xipeng Shen North Carolina State University, Yaoqing Gao IBM Toronto Labs, Graham Yiu IBM Toronto Labs Link to publication | ||
11:37 22mTalk | The HipHop Virtual Machine OOPSLA Keith Adams Facebook, Jason Evans Facebook, Bertrand Maher Facebook, Guilherme Ottoni Facebook, Drew Paroski Facebook, Brett Simmers Facebook, Edwin Smith Facebook, Owen Yamauchi Facebook Link to publication |