From 997ebc50654a80b8a81281611cbfd7f93be2139c Mon Sep 17 00:00:00 2001 From: Nathaniel Filardo Date: Tue, 14 May 2019 12:11:31 +0100 Subject: [PATCH] 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`. --- src/ds/aba.h | 17 +++++++++++------ src/ds/mpmcstack.h | 6 +++--- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/src/ds/aba.h b/src/ds/aba.h index 72c14ff..1c7cf76 100644 --- a/src/ds/aba.h +++ b/src/ds/aba.h @@ -41,7 +41,7 @@ namespace snmalloc Independent independent; }; #else - std::atomic ptr; + std::atomic raw; #endif public: @@ -57,13 +57,18 @@ namespace snmalloc independent.ptr.store(x, std::memory_order_relaxed); independent.aba.store(0, std::memory_order_relaxed); #else - ptr.store(x, std::memory_order_relaxed); + raw.store(x, std::memory_order_relaxed); #endif } 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() @@ -73,11 +78,11 @@ namespace snmalloc Cmp{independent.ptr.load(std::memory_order_relaxed), independent.aba.load(std::memory_order_relaxed)}; #else - ptr.load(std::memory_order_relaxed); + raw.load(std::memory_order_relaxed); #endif } - static T* load(Cmp& from) + static T* ptr(Cmp& from) { #ifdef PLATFORM_IS_X86 return from.ptr; @@ -105,7 +110,7 @@ namespace snmalloc expect, xchg, std::memory_order_relaxed, std::memory_order_relaxed); # endif #else - return ptr.compare_exchange_weak( + return raw.compare_exchange_weak( expect, value, std::memory_order_relaxed, std::memory_order_relaxed); #endif } diff --git a/src/ds/mpmcstack.h b/src/ds/mpmcstack.h index 76a2e7b..73e5fa7 100644 --- a/src/ds/mpmcstack.h +++ b/src/ds/mpmcstack.h @@ -29,7 +29,7 @@ namespace snmalloc do { - T* top = ABAT::load(cmp); + T* top = ABAT::ptr(cmp); last->next.store(top, std::memory_order_release); } while (!stack.compare_exchange(cmp, first)); } @@ -44,7 +44,7 @@ namespace snmalloc do { - top = ABAT::load(cmp); + top = ABAT::ptr(cmp); if (top == nullptr) break; @@ -63,7 +63,7 @@ namespace snmalloc do { - top = ABAT::load(cmp); + top = ABAT::ptr(cmp); if (top == nullptr) break;