ds/aba: rename ::load to ::ptr
`load` does not load (`read` and `compare_exchange` do) so give it a different name. For the cases where `ptr` was previously the pointer we were guarding, rename it to `raw`.
This commit is contained in:
17
src/ds/aba.h
17
src/ds/aba.h
@@ -41,7 +41,7 @@ namespace snmalloc
|
|||||||
Independent independent;
|
Independent independent;
|
||||||
};
|
};
|
||||||
#else
|
#else
|
||||||
std::atomic<T*> ptr;
|
std::atomic<T*> raw;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
public:
|
public:
|
||||||
@@ -57,13 +57,18 @@ namespace snmalloc
|
|||||||
independent.ptr.store(x, std::memory_order_relaxed);
|
independent.ptr.store(x, std::memory_order_relaxed);
|
||||||
independent.aba.store(0, std::memory_order_relaxed);
|
independent.aba.store(0, std::memory_order_relaxed);
|
||||||
#else
|
#else
|
||||||
ptr.store(x, std::memory_order_relaxed);
|
raw.store(x, std::memory_order_relaxed);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
T* peek()
|
T* peek()
|
||||||
{
|
{
|
||||||
return independent.ptr.load(std::memory_order_relaxed);
|
return
|
||||||
|
#ifdef PLATFORM_IS_X86
|
||||||
|
independent.ptr.load(std::memory_order_relaxed);
|
||||||
|
#else
|
||||||
|
raw.load(std::memory_order_relaxed);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
Cmp read()
|
Cmp read()
|
||||||
@@ -73,11 +78,11 @@ namespace snmalloc
|
|||||||
Cmp{independent.ptr.load(std::memory_order_relaxed),
|
Cmp{independent.ptr.load(std::memory_order_relaxed),
|
||||||
independent.aba.load(std::memory_order_relaxed)};
|
independent.aba.load(std::memory_order_relaxed)};
|
||||||
#else
|
#else
|
||||||
ptr.load(std::memory_order_relaxed);
|
raw.load(std::memory_order_relaxed);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static T* load(Cmp& from)
|
static T* ptr(Cmp& from)
|
||||||
{
|
{
|
||||||
#ifdef PLATFORM_IS_X86
|
#ifdef PLATFORM_IS_X86
|
||||||
return from.ptr;
|
return from.ptr;
|
||||||
@@ -105,7 +110,7 @@ namespace snmalloc
|
|||||||
expect, xchg, std::memory_order_relaxed, std::memory_order_relaxed);
|
expect, xchg, std::memory_order_relaxed, std::memory_order_relaxed);
|
||||||
# endif
|
# endif
|
||||||
#else
|
#else
|
||||||
return ptr.compare_exchange_weak(
|
return raw.compare_exchange_weak(
|
||||||
expect, value, std::memory_order_relaxed, std::memory_order_relaxed);
|
expect, value, std::memory_order_relaxed, std::memory_order_relaxed);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ namespace snmalloc
|
|||||||
|
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
T* top = ABAT::load(cmp);
|
T* top = ABAT::ptr(cmp);
|
||||||
last->next.store(top, std::memory_order_release);
|
last->next.store(top, std::memory_order_release);
|
||||||
} while (!stack.compare_exchange(cmp, first));
|
} while (!stack.compare_exchange(cmp, first));
|
||||||
}
|
}
|
||||||
@@ -44,7 +44,7 @@ namespace snmalloc
|
|||||||
|
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
top = ABAT::load(cmp);
|
top = ABAT::ptr(cmp);
|
||||||
|
|
||||||
if (top == nullptr)
|
if (top == nullptr)
|
||||||
break;
|
break;
|
||||||
@@ -63,7 +63,7 @@ namespace snmalloc
|
|||||||
|
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
top = ABAT::load(cmp);
|
top = ABAT::ptr(cmp);
|
||||||
|
|
||||||
if (top == nullptr)
|
if (top == nullptr)
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user