Jordan DeLong 30667b7fe5 Basic support for inlining functions with parameters, inline some setters
Adds support for some functions with parameters.  Parameters
work by doing StLocs to the inlined frame, which can be eliminated if
the frame can be eliminated.  (Non-parameter locals will eventually
work similarly.)  This diff also moves all the state tracking to
updateTrackedState instead of beginInlining/endInlining functions on
TraceBuilder---the second TraceBuilder pass currently tracks state
incorrectly if the inlined frame wasn't eliminated.

This diff doesn't inline setters that have parameter type hints
because they could hold on to the frame.  Seems to be in the noise in
perflab, although contrived setter microbenchmarks definitely reflect
the change.
2013-05-20 13:52:30 -07:00
2013-05-18 20:23:28 -07:00
2013-05-18 20:23:28 -07:00
2010-02-19 18:02:34 -08:00
2010-02-19 18:02:34 -08:00
2013-05-20 14:53:50 -06:00

HipHop VM for PHP Build Status

HipHop VM (HHVM) is a new open-source virtual machine designed for executing programs written in PHP. HHVM uses a just-in-time compilation approach to achieve superior performance while maintaining the flexibility that PHP developers are accustomed to. HipHop VM (and before it HPHPc) has realized > 5x increase in throughput for Facebook compared with Zend PHP 5.2.

HipHop is most commonly run as a standalone server, replacing both Apache and modphp.

Installing

You can install a prebuilt package or compile from source.

Running

You can run standalone programs just by passing them to hhvm: hhvm my_script.php.

HipHop bundles in a webserver. So if you want to run on port 80 with document root /var/www:

sudo hhvm -m server /var/www

For anything more complicated, you'll want to make a config.hdf and run sudo hhvm -m server -c config.hdf.

Contributing

We'd love to have your help in making HipHop better. If you run into problems, please open an issue, or better yet, fork us and send a pull request.

If you want to help but don't know where to start, try fixing some of the Zend tests that don't pass. You can run them with hphp/test/run. When they work, move them to zend/good and send a pull request.

Before changes can be accepted a Contributors Licensing Agreement must be signed.

Licence

HipHop VM is licensed under the PHP and Zend licenses except as otherwise noted.

S
Descrição
Descrição não fornecida
Readme 99 MiB
Linguagens
C++ 59.4%
PHP 34.1%
C 4.1%
Hack 1.4%
CMake 0.3%
Outra 0.6%