Set darray header values properly
commit16acd81ad84d4bae6813158c88fdde6db23fd211
authorRick Lavoie <rlavoie@fb.com>
Sun, 5 Nov 2017 23:32:32 +0000 (5 15:32 -0800)
committerHhvm Bot <hhvm-bot@users.noreply.github.com>
Mon, 6 Nov 2017 00:24:51 +0000 (5 16:24 -0800)
treeba4cd3260ccdcd2a941c616dd7a78779623ac0a2
parent91b7cbeb83c7daf8e36108064feb2c7a5b250e4a
Set darray header values properly

Summary:
Set the darray enum in mixed array headers where appropriate. This includes when
a varray promotes to a darray, or when creating a darray directly. Casts to
darrays are no longer just casts to PHP arrays, so add infrastructure for the
proper cast behavior.

Reviewed By: alexeyt

Differential Revision: D5958411

fbshipit-source-id: a41af8ee95080984c31f2b707073a802254329e8
39 files changed:
hphp/compiler/parser/parser.cpp
hphp/doc/ir.specification
hphp/hhbbc/interp.cpp
hphp/runtime/base/apc-local-array.h
hphp/runtime/base/array-common.cpp
hphp/runtime/base/array-common.h
hphp/runtime/base/array-data-defs.h
hphp/runtime/base/array-data-inl.h
hphp/runtime/base/array-data.cpp
hphp/runtime/base/array-data.h
hphp/runtime/base/array-init.cpp
hphp/runtime/base/array-init.h
hphp/runtime/base/empty-array.h
hphp/runtime/base/mixed-array-defs.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/proxy-array.cpp
hphp/runtime/base/proxy-array.h
hphp/runtime/base/set-array.cpp
hphp/runtime/base/set-array.h
hphp/runtime/base/tv-conversions.cpp
hphp/runtime/base/type-array.h
hphp/runtime/base/type-variant.h
hphp/runtime/ext/std/ext_std_variable.cpp
hphp/runtime/ext/std/ext_std_variable.php
hphp/runtime/vm/func.cpp
hphp/runtime/vm/globals-array.h
hphp/runtime/vm/jit/check.cpp
hphp/runtime/vm/jit/dce.cpp
hphp/runtime/vm/jit/ir-instruction.cpp
hphp/runtime/vm/jit/ir-opcode.cpp
hphp/runtime/vm/jit/ir-opcode.h
hphp/runtime/vm/jit/irgen-basic.cpp
hphp/runtime/vm/jit/irlower-conv.cpp
hphp/runtime/vm/jit/memory-effects.cpp
hphp/runtime/vm/jit/simplify.cpp
hphp/test/slow/dv_array/convert.php