9dc66f2f404524a16d492055892203e2bd5dbbf1
I think the only case where we currently don't spillstack as part of a vector translation is CGetM of a defined property. However, this can still raise exceptions in the unlikely case of an unset property. For now, just spill before any vector translation---a follow up diff relaxes this to not do it in cases where we know the property can't be undefined. Presumably later we'll push the spillstacks into the unlikely paths for these translations (or put them in unwind handlers)---currently we can't handle control flow where the join point has a different stack.
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%