Elements of a static array have type UncountedInit.
commited32d4ce3b082b33eaaeb56c82395dac98afca2d
authorBin Liu <binliu@fb.com>
Wed, 25 Mar 2015 15:30:30 +0000 (25 08:30 -0700)
committerhhvm-bot <hhvm-bot@fb.com>
Wed, 25 Mar 2015 16:00:30 +0000 (25 09:00 -0700)
tree8fb2f5cabc80baf8a1c8b1f3df58d1764e6e06e6
parentc087195e307d302a403eb3ae839a8944f4b45a73
Elements of a static array have type UncountedInit.

Summary: Avoid `unbox()` and `incref()` on elements in static arrays.
The way we determine the `Type` for instruction destinations is changed
slightly. In addition to the opcode, we also check if the array is
static. Potentially, similar things can be done for other instructions.

Reviewed By: @jdelong

Differential Revision: D1901198
hphp/doc/ir.specification
hphp/runtime/vm/jit/code-gen-arm.cpp
hphp/runtime/vm/jit/code-gen-minstr-x64.cpp
hphp/runtime/vm/jit/code-gen-x64.cpp
hphp/runtime/vm/jit/guard-relaxation.cpp
hphp/runtime/vm/jit/ir-instruction.cpp
hphp/runtime/vm/jit/minstr-helpers.h
hphp/runtime/vm/jit/vasm-llvm.cpp
hphp/runtime/vm/jit/vasm-x64.cpp