6e7b02933cfe090ae378ac28c60b4d4414681bb1
The 'r' encoding for unserialization was broken for collections because the code was calling Variant::unserialize() on a temporary Variant, which is a no-no. unserialize() must be called directly on the value where it resides in the collection. Second, there was an inconsistency between serialize and unserialize with how id numbers worked for the 'r' and 'R' encodings. This diff fixes serialize and unserialize to count collection keys when assigning id numbers. I also took the opportunity to tighten up enforcement to prevent collections keys and values from being taken by reference when during unserialization.
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%