HHVM

process virtual machine developed by Facebook

HipHop Virtual Machine (HHVM) is an open-source virtual machine based on just-in-time (JIT) compilation that serves as an execution engine for the Hack programming language and used to support PHP execution before the release of HHVM version 4.[6] By using the principle of JIT compilation, Hack code is first transformed into intermediate HipHop bytecode (HHBC), which is then dynamically translated into x86-64 machine code, optimized, and natively executed.[7][8] This contrasts with PHP's usual interpreted execution, in which the Zend Engine transforms PHP source code into opcodes that serve as a form of bytecode, and executes the opcodes directly on the Zend Engine's virtual CPU.[9]

HHVM
Developer(s)Facebook, Inc.
Initial releaseDecember 9, 2011; 12 years ago (2011-12-09)[1]
Repository
Written inPHP, C++,[2] OCaml[3][a] and Rust[4]
LicensePHP License and Zend License[5]
Websitehhvm.com Edit this at Wikidata

HHVM is developed by Facebook, with the project's source code hosted on GitHub;[10] it is licensed under the terms of the PHP License and Zend License.[1][5]

  1. Only the Hack's type-checking (hh_server and hh_client) and code-formatting (hh_format) command-line utilities and daemons bundled together with the HipHop Virtual Machine are written in OCaml.

References

change
  1. 1.0 1.1 Jason Evans (December 9, 2011). "The HipHop Virtual Machine". Facebook. Retrieved August 2, 2014.
  2. "Building and installing HHVM on CentOS 7.x". github.com. Facebook. May 26, 2015. Retrieved June 12, 2015.
  3. "Building the Hack typechecker". github.com. Facebook. September 10, 2014. Retrieved June 12, 2015.
  4. "Facebook's HHVM Begins Seeing Rust Rewrite - Phoronix". Retrieved 29 August 2019.
  5. 5.0 5.1 "facebook/hhvm: License". github.com. Facebook, Inc. Retrieved August 2, 2014.
  6. "HHVM 4.0.0".
  7. Ottoni, Guilherme (June 20, 2018). "HHVM JIT: A Profile-Guided, Region-Based Compiler for PHP and Hack". Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI). ACM. pp. 151–165.
  8. "facebook/hhvm". github.com. Facebook. Retrieved August 2, 2014.
  9. Kaushik Pal (April 28, 2014). "PHP and Zend Engine Internals". phpbuilder.com. Archived from the original on September 15, 2014. Retrieved September 23, 2014.
  10. HHVM source code on GitHub