unrestrict-layout part 5: Eliminate set in place
commit5ecb4407d5439a1a8a26fb7a646a1613379c7396
authorShaunak Kishore <kshaunak@fb.com>
Wed, 18 Mar 2020 04:35:18 +0000 (17 21:35 -0700)
committerFacebook GitHub Bot <facebook-github-bot@users.noreply.github.com>
Wed, 18 Mar 2020 04:38:49 +0000 (17 21:38 -0700)
tree7c161bcb44a0997495cf8c86a6f6fba878b80f4a
parent708ff1bb109d89488a235124a285dc91fdd1f8d3
unrestrict-layout part 5: Eliminate set in place

Summary:
...and here's the follow-up to delete SetInPlace. Again, the only significant user is ArrayInit, which always knows that the array is a mixed array.

This diff is a bit more involved than the previous one because we were calling the generic setInPlace in ArrayInit in a bunch of places that I had to switch to the MixedArray one. But that's also a good sign: if this change has any perf effect, it should be a small win, because we're de-virtualizing those calls.

Reviewed By: ricklavoie

Differential Revision: D20476851

fbshipit-source-id: 61798dc1534c061c143ba3f61c3538b7d95a8398
17 files changed:
hphp/runtime/base/apc-local-array.cpp
hphp/runtime/base/apc-local-array.h
hphp/runtime/base/array-data-defs.h
hphp/runtime/base/array-data.cpp
hphp/runtime/base/array-data.h
hphp/runtime/base/array-init.h
hphp/runtime/base/empty-array.h
hphp/runtime/base/mixed-array.cpp
hphp/runtime/base/mixed-array.h
hphp/runtime/base/packed-array.cpp
hphp/runtime/base/packed-array.h
hphp/runtime/base/record-array.cpp
hphp/runtime/base/record-array.h
hphp/runtime/base/set-array.h
hphp/runtime/ext/vsdebug/set_variable_command.cpp
hphp/runtime/vm/globals-array.cpp
hphp/runtime/vm/globals-array.h