997 |
997 |
998 // Constructor |
998 // Constructor |
999 template <typename VALUE, typename CONFIG, MEMFLAGS F> |
999 template <typename VALUE, typename CONFIG, MEMFLAGS F> |
1000 inline ConcurrentHashTable<VALUE, CONFIG, F>:: |
1000 inline ConcurrentHashTable<VALUE, CONFIG, F>:: |
1001 ConcurrentHashTable(size_t log2size, size_t log2size_limit, size_t grow_hint) |
1001 ConcurrentHashTable(size_t log2size, size_t log2size_limit, size_t grow_hint) |
1002 : _new_table(NULL), _log2_start_size(log2size), |
1002 : _new_table(NULL), _log2_size_limit(log2size_limit), |
1003 _log2_size_limit(log2size_limit), _grow_hint(grow_hint), |
1003 _log2_start_size(log2size), _grow_hint(grow_hint), |
1004 _size_limit_reached(false), _resize_lock_owner(NULL), |
1004 _size_limit_reached(false), _resize_lock_owner(NULL), |
1005 _invisible_epoch(0) |
1005 _invisible_epoch(0) |
1006 { |
1006 { |
1007 _resize_lock = |
1007 _resize_lock = |
1008 new Mutex(Mutex::leaf, "ConcurrentHashTable", false, |
1008 new Mutex(Mutex::leaf, "ConcurrentHashTable", false, |