Add an array kind for the static empty array
The hope here is to reduce packed -> mixed transitions so we
can optimized packed better. I measured that many of the CopyPacked
calls are happening on the static empty array, and many packedToMixed
calls occur on arrays where m_size == 0, but I haven't measured yet
how many of the latter actually occured immediately after a
CopyPacked. (Also, it appeared that MakeReserve is still dynamically
a lot more frequent than MakePacked or MakeStruct, so there is
probably more to the story.) Anyway a side benefit here is that we
can also do more efficient creation of the initial arrays because we
know the new size statically.
Reviewed By: @dariorussi
Differential Revision:
D1235798