Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions llvm/lib/DWARFLinker/Parallel/ArrayList.h
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ template <typename T, size_t ItemsGroupSize = 512> class ArrayList {
if (!CurGroup->Next)
allocateNewGroup(CurGroup->Next);

LastGroup.compare_exchange_weak(CurGroup, CurGroup->Next);
LastGroup.compare_exchange_strong(CurGroup, CurGroup->Next);
} while (true);

// Store item into the current group.
Expand Down Expand Up @@ -137,15 +137,15 @@ template <typename T, size_t ItemsGroupSize = 512> class ArrayList {
NewGroup->Next = nullptr;

// Try to replace current group with allocated one.
if (AtomicGroup.compare_exchange_weak(CurGroup, NewGroup))
if (AtomicGroup.compare_exchange_strong(CurGroup, NewGroup))
return true;

// Put allocated group as last group.
while (CurGroup) {
ItemsGroup *NextGroup = CurGroup->Next;

if (!NextGroup) {
if (CurGroup->Next.compare_exchange_weak(NextGroup, NewGroup))
if (CurGroup->Next.compare_exchange_strong(NextGroup, NewGroup))
break;
}

Expand Down