facebook/hhvm — pull request #2783 by tstarling (2014-05-28 04:15:56+00:00)
Title: EZC: fix proxying in zBoxAndProxy()

* Don't proxy arrays that are already proxies, that's inefficient
* Make a copy of the inner array prior to proxying it. It's necessary to
copy arrays to provide the necessary semantics, and it was previously
done in ZArrVal, but ZArrVal only has access to proxy arrays, and it
is difficult for an external caller to tell whether the inner array
has refs.
* Make copies of static arrays, as well as ones with multiple refs.
Modifying static arrays is not polite -- added test case which
previously failed.