HHVM JIT: A profile-guided, region-based compiler for PHP and Hack

10Citations
Citations of this article
35Readers
Mendeley users who have this article in their library.
Get full text

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.

Cite

CITATION STYLE

APA

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.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free