Replace amd::Atomic with std::atomic. Remove make_atomic uses by
converting the variable to std::atomic and making sure the memory
order is relaxed when synchronizes-with is not needed.

Delete utils/atomic.hpp.

Change-Id: I0b36db8d604a8510ac6e36b32885fd16a1b8ccfa
Tento commit je obsažen v:
Laurent Morichetti
2020-08-28 21:38:05 -07:00
odevzdal Saleel Kudchadker
rodič cef70aa8d3
revize 5d4b6f74d3
22 změnil soubory, kde provedl 46 přidání a 495 odebrání
+4 -2
Zobrazit soubor
@@ -102,10 +102,12 @@ public:
~RuntimeTearDown() { /*Runtime::tearDown();*/ }
} runtime_tear_down;
uint ReferenceCountedObject::retain() { return ++make_atomic(referenceCount_); }
uint ReferenceCountedObject::retain() {
return referenceCount_.fetch_add(1, std::memory_order_relaxed) + 1;
}
uint ReferenceCountedObject::release() {
uint newCount = --make_atomic(referenceCount_);
uint newCount = referenceCount_.fetch_sub(1, std::memory_order_relaxed) - 1;
if (newCount == 0) {
if (terminate()) {
delete this;