ad30d03b8c4115905e465aba45a86299ea75ec9d
eg (new X) == (new X); Was converted to something like: (new X); (new X); Which calls the destructor for the first X before constructing the second. I tried a fix where we used an ExpressionList with ListKindLeft, which would preserve both expressions until after both objects are created; but that ends up calling the second object's destructor first. Thats much better; its not clear to me that there's any guarantee about which object's destructor is called first when they both go out of scope at the same point; but currently hhvm and zend seem to aggree, so Im going with a solution that preserves the left-to-right order.
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%