Use std::atomic

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


[ROCm/clr commit: 5d4b6f74d3]
这个提交包含在:
Laurent Morichetti 编写, Saleel Kudchadker 于 2020-09-09 14:55:29 -04:00 提交
1 父节点 92cf96e1d0
当前提交 c863b2074b
22 个文件已更改
+46 -495

没有与搜索条件相匹配的文件

+4 -2
查看文件
@@ -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;