فهرست منبع

AK: Prefix CACHE_ALIGNED & SYSTEM_CACHE_ALIGNMENT_SIZE

Brian Gianforcaro 3 سال پیش
والد
کامیت
ea9ef33a7f
2فایلهای تغییر یافته به همراه10 افزوده شده و 10 حذف شده
  1. 7 7
      AK/Platform.h
  2. 3 3
      Userland/Libraries/LibCore/SharedCircularQueue.h

+ 7 - 7
AK/Platform.h

@@ -126,15 +126,15 @@ extern "C" {
 #    define CLOCK_REALTIME_COARSE CLOCK_REALTIME
 #endif
 
-#ifndef SYSTEM_CACHE_ALIGNMENT_SIZE
+#ifndef AK_SYSTEM_CACHE_ALIGNMENT_SIZE
 #    if ARCH(AARCH64) || ARCH(x86_64)
-#        define SYSTEM_CACHE_ALIGNMENT_SIZE 64
+#        define AK_SYSTEM_CACHE_ALIGNMENT_SIZE 64
 #    else
-#        define SYSTEM_CACHE_ALIGNMENT_SIZE 128
+#        define AK_SYSTEM_CACHE_ALIGNMENT_SIZE 128
 #    endif
-#endif /* SYSTEM_CACHE_ALIGNMENT_SIZE */
+#endif /* AK_SYSTEM_CACHE_ALIGNMENT_SIZE */
 
-#ifdef CACHE_ALIGNED
-#    undef CACHE_ALIGNED
+#ifdef AK_CACHE_ALIGNED
+#    undef AK_CACHE_ALIGNED
 #endif
-#define CACHE_ALIGNED alignas(SYSTEM_CACHE_ALIGNMENT_SIZE)
+#define AK_CACHE_ALIGNED alignas(AK_SYSTEM_CACHE_ALIGNMENT_SIZE)

+ 3 - 3
Userland/Libraries/LibCore/SharedCircularQueue.h

@@ -168,9 +168,9 @@ private:
         // A full queue is signalled with:  head - 1 mod size = tail mod size  (i.e. head and tail point to the same index in the data array)
         // FIXME: These invariants aren't proven to be correct after each successful completion of each operation where it is relevant.
         //        The work could be put in but for now I think the algorithmic correctness proofs of the functions are enough.
-        CACHE_ALIGNED Atomic<size_t, AK::MemoryOrder::memory_order_seq_cst> m_tail { 0 };
-        CACHE_ALIGNED Atomic<size_t, AK::MemoryOrder::memory_order_seq_cst> m_head { 0 };
-        CACHE_ALIGNED Atomic<size_t, AK::MemoryOrder::memory_order_seq_cst> m_head_protector { NumericLimits<size_t>::max() };
+        AK_CACHE_ALIGNED Atomic<size_t, AK::MemoryOrder::memory_order_seq_cst> m_tail { 0 };
+        AK_CACHE_ALIGNED Atomic<size_t, AK::MemoryOrder::memory_order_seq_cst> m_head { 0 };
+        AK_CACHE_ALIGNED Atomic<size_t, AK::MemoryOrder::memory_order_seq_cst> m_head_protector { NumericLimits<size_t>::max() };
 
         alignas(ValueType) Array<ValueType, Size> m_data;
     };