Bug 1987780 - Add release asserts to mozilla::Queue. a=dmeehan DONTBUILD

Original Revision: https://phabricator.services.mozilla.com/D264319

Differential Revision: https://phabricator.services.mozilla.com/D265480
This commit is contained in:
Andrew McCreight
2025-09-22 14:06:57 +00:00
committed by dmeehan@mozilla.com
parent 92b634843b
commit b16b2d8711

View File

@@ -82,7 +82,7 @@ class Queue {
} }
T& Push(T&& aElement) { T& Push(T&& aElement) {
MOZ_ASSERT(mCount < std::numeric_limits<uint32_t>::max()); MOZ_RELEASE_ASSERT(mCount < std::numeric_limits<uint32_t>::max());
if (!mHead) { if (!mHead) {
// First page // First page
@@ -133,7 +133,7 @@ class Queue {
bool IsEmpty() const { return !mCount; } bool IsEmpty() const { return !mCount; }
T Pop() { T Pop() {
MOZ_ASSERT(!IsEmpty()); MOZ_RELEASE_ASSERT(!IsEmpty());
T result = std::move(mHead->mEvents[mOffsetHead]); T result = std::move(mHead->mEvents[mOffsetHead]);
mHead->mEvents[mOffsetHead].~T(); mHead->mEvents[mOffsetHead].~T();
@@ -158,12 +158,12 @@ class Queue {
} }
T& FirstElement() { T& FirstElement() {
MOZ_ASSERT(!IsEmpty()); MOZ_RELEASE_ASSERT(!IsEmpty());
return mHead->mEvents[mOffsetHead]; return mHead->mEvents[mOffsetHead];
} }
const T& FirstElement() const { const T& FirstElement() const {
MOZ_ASSERT(!IsEmpty()); MOZ_RELEASE_ASSERT(!IsEmpty());
return mHead->mEvents[mOffsetHead]; return mHead->mEvents[mOffsetHead];
} }