templatize AtomicUnorderedInsertMap's internals to allow big maps
authorNathan Bronson <ngbronson@fb.com>
Fri, 23 Oct 2015 14:23:37 +0000 (07:23 -0700)
committerfacebook-github-bot-4 <folly-bot@fb.com>
Fri, 23 Oct 2015 15:20:18 +0000 (08:20 -0700)
commitd0889c8c36f0aa4a2773c0d9e95a2ff3eace6b89
tree09f665461d3228aad4fd1975eff6a589b2ab0cdc
parent69f3c942bea36d07e832af38e3aa36c326491c30
templatize AtomicUnorderedInsertMap's internals to allow big maps

Summary: AtomicUnorderedInsertMap used 32 bit index values internally.  2 bits
were stolen, limiting the capacity to 2^30.  This diff makes the internal
index type a template parameter, so you can make really big maps if you
want (at the expense of bigger map overhead).  The easiest way is to
substitute AtomicUnorderedInsertMap64.

Reviewed By: yfeldblum

Differential Revision: D2574338

fb-gh-sync-id: a74994b6da1046a149c2e7763c3dc19e35d9840b
folly/AtomicUnorderedMap.h
folly/test/AtomicUnorderedMapTest.cpp