co-allocate APCTypedValue with uncounted MixedArray
Summary:
Co-allocate APCTypedValue with uncounted MixedArray to improve data locality and enable further optimizations that avoid dereferencing the handle.
Currently, the APCTypedValue/Handle is often allocated far away from the uncounted array it references. Co-allocating them by itself improves locality.
Furthermore, having the APCHandle at a known offset from the ArrayData will enable type-aware code to store just an ArrayData* and avoid dereferencing the handle altogether, e.g. when initializing a Variant for the result of an apc_fetch.
Reviewed By: edwinsmith
Differential Revision:
D3183709
fbshipit-source-id:
d942b9f820ea45a45d52f6d35fd0c2535e8a7a3c