Abstract
Dynamic languages such as PHP, JavaScript, Python, and Ruby have been gaining popularity over the last two decades. A very popular domain for these languages is web development, including server-side development of large-scale websites. As a result, improving the performance of these languages has become more important. Efficiently compiling programs in these languages is challenging, and many popular dynamic languages still lack efficient production-quality implementations. This paper describes the design of the second generation of the HHVM JIT and how it addresses the challenges to efficiently execute PHP and Hack programs. This new design uses profiling to build an aggressive region-based JIT compiler. We discuss the benefits of this approach compared to the more popular method-based and trace-based approaches to compile dynamic languages. Our evaluation running a very large PHP-based code base, the Facebook website, demonstrates the effectiveness of the new JIT design.
Author supplied keywords
Cite
CITATION STYLE
Ottoni, G. (2018). HHVM JIT: A profile-guided, region-based compiler for PHP and Hack. ACM SIGPLAN Notices, 53(4), 151–165. https://doi.org/10.1145/3192366.3192374
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.