Streamline findForNewInsert and copy/grow loops.
commitabfb1b0684ee9f354ba70429351f428bc35ce72e
authorEdwin Smith <smith@fb.com>
Mon, 4 Nov 2013 20:27:03 +0000 (4 12:27 -0800)
committerSara Golemon <sgolemon@fb.com>
Tue, 12 Nov 2013 18:23:38 +0000 (12 10:23 -0800)
tree0abec03dcbb5324a12cf69b63d5964f9eb38fa33
parent3c4ba6d1e68d5767725bd37317beac47e4eefee5
Streamline findForNewInsert and copy/grow loops.

Remove the inline restrictions from findForNewInsert(), and
pass in table & mask so the loads from m_tableMask and m_hash
can be hoisted out of the hashtable init loops in Grow & Copy.
Also, replace memcpy/memset with loops that operate on words
at a time. (no alignment checks, even #s of words).

Reviewed By: @jdelong

Differential Revision: D1047021
hphp/runtime/base/hphp-array-defs.h
hphp/runtime/base/hphp-array-sort.cpp
hphp/runtime/base/hphp-array.cpp
hphp/runtime/base/hphp-array.h
hphp/runtime/base/memory-profile.cpp
hphp/runtime/base/string-data.h
hphp/util/word-mem.h [moved from hphp/util/word-same.h with 78% similarity]