| Index: Source/platform/heap/CallbackStack.cpp
|
| diff --git a/Source/platform/heap/CallbackStack.cpp b/Source/platform/heap/CallbackStack.cpp
|
| index d472cbd10a2317ee8e209966951cbd6f94c91579..799af9146c63529985f4b6b859a82e7afbc2ded1 100644
|
| --- a/Source/platform/heap/CallbackStack.cpp
|
| +++ b/Source/platform/heap/CallbackStack.cpp
|
| @@ -9,6 +9,18 @@
|
|
|
| namespace blink {
|
|
|
| +CallbackStack::Block::Block(Block* next, unsigned blockSize)
|
| +{
|
| + m_buffer = new Item[blockSize];
|
| + m_limit = &(m_buffer[blockSize]);
|
| + m_current = &(m_buffer[0]);
|
| + m_next = next;
|
| +#if ENABLE(ASSERT)
|
| + m_blockSize = blockSize;
|
| +#endif
|
| + clearUnused();
|
| +}
|
| +
|
| void CallbackStack::Block::clear()
|
| {
|
| m_current = &m_buffer[0];
|
| @@ -58,12 +70,15 @@ bool CallbackStack::Block::hasCallbackForObject(const void* object)
|
| void CallbackStack::Block::clearUnused()
|
| {
|
| #if ENABLE(ASSERT)
|
| - for (size_t i = 0; i < blockSize; i++)
|
| + for (unsigned i = 0; i < m_blockSize; ++i)
|
| m_buffer[i] = Item(0, 0);
|
| #endif
|
| }
|
|
|
| -CallbackStack::CallbackStack() : m_first(new Block(0)), m_last(m_first)
|
| +CallbackStack::CallbackStack(unsigned blockSize)
|
| + : m_first(new Block(nullptr, blockSize))
|
| + , m_last(m_first)
|
| + , m_blockSize(blockSize)
|
| {
|
| }
|
|
|
| @@ -94,7 +109,7 @@ bool CallbackStack::isEmpty() const
|
| CallbackStack::Item* CallbackStack::allocateEntrySlow()
|
| {
|
| ASSERT(!m_first->allocateEntry());
|
| - m_first = new Block(m_first);
|
| + m_first = new Block(m_first, m_blockSize);
|
| return m_first->allocateEntry();
|
| }
|
|
|
| @@ -150,16 +165,6 @@ bool CallbackStack::hasJustOneBlock() const
|
| return !m_first->next();
|
| }
|
|
|
| -void CallbackStack::swap(CallbackStack* other)
|
| -{
|
| - Block* tmp = m_first;
|
| - m_first = other->m_first;
|
| - other->m_first = tmp;
|
| - tmp = m_last;
|
| - m_last = other->m_last;
|
| - other->m_last = tmp;
|
| -}
|
| -
|
| #if ENABLE(ASSERT)
|
| bool CallbackStack::hasCallbackForObject(const void* object)
|
| {
|
|
|