| Index: third_party/WebKit/Source/platform/heap/CallbackStack.h
|
| diff --git a/third_party/WebKit/Source/platform/heap/CallbackStack.h b/third_party/WebKit/Source/platform/heap/CallbackStack.h
|
| index 0d60ebc3da73d0ae7f40f3fdca1ab4f4db56057d..78256e82d4f3f51c17c1db0c6f26cc2ee8604212 100644
|
| --- a/third_party/WebKit/Source/platform/heap/CallbackStack.h
|
| +++ b/third_party/WebKit/Source/platform/heap/CallbackStack.h
|
| @@ -41,6 +41,7 @@ public:
|
| ~CallbackStack();
|
|
|
| void clear();
|
| + void decommit();
|
|
|
| Item* allocateEntry();
|
| Item* pop();
|
| @@ -54,25 +55,18 @@ public:
|
| #endif
|
|
|
| private:
|
| - static const size_t blockSize = 8192;
|
| + static const size_t blockSize = (1 << 13);
|
|
|
| class Block {
|
| USING_FAST_MALLOC(Block);
|
| public:
|
| - explicit Block(Block* next)
|
| - : m_limit(&(m_buffer[blockSize]))
|
| - , m_current(&(m_buffer[0]))
|
| - , m_next(next)
|
| - {
|
| - clearUnused();
|
| - }
|
| -
|
| - ~Block()
|
| - {
|
| - clearUnused();
|
| - }
|
| + explicit Block(Block* next);
|
| + ~Block();
|
|
|
| +#if ENABLE(ASSERT)
|
| void clear();
|
| +#endif
|
| + void decommit();
|
|
|
| Block* next() const { return m_next; }
|
| void setNext(Block* next) { m_next = next; }
|
| @@ -82,11 +76,6 @@ private:
|
| return m_current == &(m_buffer[0]);
|
| }
|
|
|
| - size_t size() const
|
| - {
|
| - return blockSize - (m_limit - m_current);
|
| - }
|
| -
|
| Item* allocateEntry()
|
| {
|
| if (LIKELY(m_current < m_limit))
|
| @@ -107,9 +96,7 @@ private:
|
| #endif
|
|
|
| private:
|
| - void clearUnused();
|
| -
|
| - Item m_buffer[blockSize];
|
| + Item* m_buffer;
|
| Item* m_limit;
|
| Item* m_current;
|
| Block* m_next;
|
|
|