SPLASH 2014
Mon 20 - Fri 24 October 2014 Portland, Oregon, United States
Fri 24 Oct 2014 11:37 - 12:00 at Salon F - Dynamic Optimization Chair(s): Zachary Tatlock

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 Oct

oopsla2014
10:30 - 12:00: OOPSLA - Dynamic Optimization at Salon F
Chair(s): Zachary TatlockUniversity of Washington
oopsla2014141413940000010:30 - 10:52
Talk
Wei ZhangUniversity of California, Irvine, Per LarsenUniversity of California, Irvine, Stefan BrunthalerUniversity of California, Irvine, Michael FranzUniversity of California, Irvine
Link to publication
oopsla2014141414075000010:52 - 11:15
Talk
Zhijia ZhaoCollege of William and Mary / North Carolina State University, Bo WuCollege of William and Mary, Mingzhou ZhouCollege of William and Mary, Yufei DingCollege of William and Mary, Jianhua SunCollege of William and Mary, Xipeng ShenNorth Carolina State University, Youfeng WuIntel Corporation
Link to publication
oopsla2014141414210000011:15 - 11:37
Talk
Mingzhou ZhouCollege of William and Mary, Xipeng ShenNorth Carolina State University, Yaoqing GaoIBM Toronto Labs, Graham YiuIBM Toronto Labs
Link to publication
oopsla2014141414345000011:37 - 12:00
Talk
Keith AdamsFacebook, Jason EvansFacebook, Bertrand MaherFacebook, Guilherme OttoniFacebook, Drew ParoskiFacebook, Brett SimmersFacebook, Edwin SmithFacebook, Owen YamauchiFacebook
Link to publication