Rename ArrayOffset -> ArrayAccess
Summary:
The single hottest code path in HHVM is hash table lookups. We add profiling code around hash table lookups (MixedArray and SetArray), and use the result to emit optimized lookup paths during retranslateAll.
Currently, we only profile array offsets. That is, if all arrays passing through a certain code path have the same shape, and we're accessing with a constant string, we look up the known offset of that string in the array. This optimization is quite good for cases where a) the array has this "struct" shape and b) the key is present in the array. I've found that in other cases, we can save on dcache misses by scanning the array instead.
To use the same struct to track both types of optimizations, we should rename it from ArrayOffsetProfile to ArrayAccessProfile, along with the associated IR ops.
Reviewed By: jjgriego
Differential Revision:
D15830468
fbshipit-source-id:
7cc3919665bd6c6309162418221a712d62042e3f