db271750c3e3429a428ca1c37ebc1768b0759629
Linearscan placed the exit traces immediately after the branch to them. This meant that they could cause spills in the main trace. This diff re-orders things so that they come last, but saves the state at each exit point, and restores it before allocating each exit trace. I've not yet dealt with the "live across native calls" case, so this does cause more registers to fall into that category. I'll tackle that in a follow up diff. But this already seems to be on the good side of neutral.
HipHop VM for PHP
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.
Required Packages, and Installing and Running HipHop VM
The latest information is available on the wiki.
Contributing to HipHop VM
HipHop VM is licensed under the PHP and Zend licenses except as otherwise noted.
Before changes can be accepted a Contributors Licensing Agreement must be signed and returned.
Descrição
Linguagens
C++
59.4%
PHP
34.1%
C
4.1%
Hack
1.4%
CMake
0.3%
Outra
0.6%