Handle bespokes in APCArraynightly-2020.06.02
commit69691e58ee9bbd6d23a9660f5a46e1b77f1b5479
authorShaunak Kishore <[email protected]>
Tue, 2 Jun 2020 02:05:53 +0000 (1 19:05 -0700)
committerFacebook GitHub Bot <[email protected]>
Tue, 2 Jun 2020 02:08:32 +0000 (1 19:08 -0700)
treee27895be26f8839004b8f385fb7c15cc0245bf4b
parent9b59c6e6ca4c111e0bb576b59a2f30b4bb372b63
Handle bespokes in APCArray

Summary:
I still haven't decided how to handle persistent bespoke arrays. There are a few options, but the main question is that of "attribution" - we may reference the same static array from multiple units, but we need separate logging for those arrays to produce good bespoke layouts. (The static empty varray, darray, vec, and dict are extreme examples of this problem.)

In the meantime, handle bespoke arrays in APC by converting them to vanilla prior to storing them.

Reviewed By: ricklavoie, jjgriego

Differential Revision: D21825090

fbshipit-source-id: a3f1780de62c420b7af92ad24f44f48ff6c5ea8f
hphp/runtime/base/apc-array.cpp
hphp/runtime/base/apc-array.h