Commit 76ca3798 authored by Jun Qu's avatar Jun Qu Committed by Facebook Github Bot

Workaround for a gcc crash

Summary: I recently got a gcc crash when using `ConcurrentHashMap`

Reviewed By: djwatson

Differential Revision: D5994587

fbshipit-source-id: 412d48aa6da12c428bb9ab5ed7a317d89c9580b9
parent f09b0411
...@@ -464,9 +464,9 @@ class ConcurrentHashMap { ...@@ -464,9 +464,9 @@ class ConcurrentHashMap {
} }
SegmentT* ensureSegment(uint64_t i) const { SegmentT* ensureSegment(uint64_t i) const {
auto seg = segments_[i].load(std::memory_order_acquire); SegmentT* seg = segments_[i].load(std::memory_order_acquire);
if (!seg) { if (!seg) {
auto newseg = (SegmentT*)Allocator().allocate(sizeof(SegmentT)); SegmentT* newseg = (SegmentT*)Allocator().allocate(sizeof(SegmentT));
newseg = new (newseg) newseg = new (newseg)
SegmentT(size_ >> ShardBits, load_factor_, max_size_ >> ShardBits); SegmentT(size_ >> ShardBits, load_factor_, max_size_ >> ShardBits);
if (!segments_[i].compare_exchange_strong(seg, newseg)) { if (!segments_[i].compare_exchange_strong(seg, newseg)) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment