X-Git-Url: https://git.webkit.org/?p=WebKit-https.git;a=blobdiff_plain;f=JavaScriptCore%2Fwtf%2FDeque.h;h=f8cf4fedbbc0e1ff85b59190f6b264640905a062;hp=01bf40c64b3813c66237594a164f5d66e3054d7d;hb=6d5c7e88f261742da57f59f3744e7d207ee8c3ff;hpb=c208a4ced18affec658fcce64be6241e34e3fa83;ds=inline diff --git a/JavaScriptCore/wtf/Deque.h b/JavaScriptCore/wtf/Deque.h index 01bf40c64b38..f8cf4fedbbc0 100644 --- a/JavaScriptCore/wtf/Deque.h +++ b/JavaScriptCore/wtf/Deque.h @@ -369,10 +369,12 @@ namespace WTF { if (m_start) { if (m_end + 1 != m_start) return; - } else { - if (m_end && m_end != m_buffer.capacity() - 1) + } else if (m_end) { + if (m_end != m_buffer.capacity() - 1) return; - } + } else if (m_buffer.capacity()) + return; + expandCapacity(); } @@ -412,12 +414,14 @@ namespace WTF { template template inline void Deque::prepend(const U& value) { + checkValidity(); expandCapacityIfNeeded(); if (!m_start) m_start = m_buffer.capacity() - 1; else --m_start; new (&m_buffer.buffer()[m_start]) T(value); + checkValidity(); } template