mirror of
https://github.com/rui314/mold.git
synced 2024-09-21 18:08:01 +03:00
Use compare_exchange_weak instead of strong version
I'm not sure if that makes any difference (at least on x86, it doesn't), but this change is harmless, so I'm making this change.
This commit is contained in:
parent
be4f2f52b2
commit
e4e618628f
@ -51,7 +51,7 @@ ConcurrentMap<T>::insert(std::string_view key, u64 hash, const T &val) {
|
||||
}
|
||||
|
||||
if (ptr == nullptr) {
|
||||
if (!keys[idx].compare_exchange_strong(ptr, locked))
|
||||
if (!keys[idx].compare_exchange_weak(ptr, locked))
|
||||
continue;
|
||||
new (values + idx) T(val);
|
||||
sizes[idx] = key.size();
|
||||
|
@ -833,7 +833,7 @@ void ObjectFile<E>::merge_visibility(Context<E> &ctx, Symbol<E> &sym,
|
||||
u8 val = sym.visibility;
|
||||
|
||||
while (priority(visibility) < priority(val))
|
||||
if (sym.visibility.compare_exchange_strong(val, visibility))
|
||||
if (sym.visibility.compare_exchange_weak(val, visibility))
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -1170,7 +1170,7 @@ MergedSection<E>::insert(std::string_view data, u64 hash, i64 alignment) {
|
||||
ASSERT(frag);
|
||||
|
||||
for (u16 cur = frag->alignment; cur < alignment;)
|
||||
if (frag->alignment.compare_exchange_strong(cur, alignment))
|
||||
if (frag->alignment.compare_exchange_weak(cur, alignment))
|
||||
break;
|
||||
return frag;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user