From: Vitaly Buka Date: Wed, 24 May 2023 23:19:30 +0000 (-0700) Subject: [sanitizer] Use atomic_fetch_add instead of load/store X-Git-Tag: upstream/17.0.6~7308 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f5808fc19711bddcb25918ed3224cdcaad4f9865;p=platform%2Fupstream%2Fllvm.git [sanitizer] Use atomic_fetch_add instead of load/store --- diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_allocator_stats.h b/compiler-rt/lib/sanitizer_common/sanitizer_allocator_stats.h index 5b671fb..ae4dac9 100644 --- a/compiler-rt/lib/sanitizer_common/sanitizer_allocator_stats.h +++ b/compiler-rt/lib/sanitizer_common/sanitizer_allocator_stats.h @@ -25,17 +25,13 @@ typedef uptr AllocatorStatCounters[AllocatorStatCount]; // Per-thread stats, live in per-thread cache. class AllocatorStats { public: - void Init() { - internal_memset(this, 0, sizeof(*this)); - } + void Init() { internal_memset(this, 0, sizeof(*this)); } void Add(AllocatorStat i, uptr v) { - v += atomic_load(&stats_[i], memory_order_relaxed); - atomic_store(&stats_[i], v, memory_order_relaxed); + atomic_fetch_add(&stats_[i], v, memory_order_relaxed); } void Sub(AllocatorStat i, uptr v) { - v = atomic_load(&stats_[i], memory_order_relaxed) - v; - atomic_store(&stats_[i], v, memory_order_relaxed); + atomic_fetch_sub(&stats_[i], v, memory_order_relaxed); } void Set(AllocatorStat i, uptr v) {