Avoid copying a hash table bucket when inserting causes a rehash
Avoid copying a hash table bucket when inserting causes a rehash

Re-land Blink r158626.

Initial patch is from WebKit r155571 by Anders Carlsson <andersca@apple.com>

Allow rehashing to track a hash bucket and return the new pointer
to it, thus avoiding having to do a copy of a hash table bucket as
well as an extra hash lookup.

The patch had been reverted because of a layout test crash
on ASAN build: http://code.google.com/p/chromium/issues/detail?id=310975

The actual crash root cause is fixed now with r170150, so the patch can be re-landed.

Review URL: https://codereview.chromium.org/203413003

git-svn-id: bf5cd6ccde378db821296732a091cfbcf5285fbd@170544 bbb929c8-8fbe-4397-9dbb-9b2b20218538

axinging/chromium-crosswalk,axinging/chromium-crosswalk,axinging/chromium-crosswalk,axinging/chromium-crosswalk,axinging/chromium-crosswalk,axinging/chromium-crosswalk,axinging/chromium-crosswalk,axinging/chromium-crosswalk,axinging/chromium-crosswalk,axinging/chromium-crosswalk,axinging/chromium-crosswalk