|
@@ -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;
|
|
|
};
|