| 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 b961e91a6863005459710176537ac1cf949b0bae..0d60ebc3da73d0ae7f40f3fdca1ab4f4db56057d 100644
|
| --- a/third_party/WebKit/Source/platform/heap/CallbackStack.h
|
| +++ b/third_party/WebKit/Source/platform/heap/CallbackStack.h
|
| @@ -41,7 +41,6 @@
|
| ~CallbackStack();
|
|
|
| void clear();
|
| - void decommit();
|
|
|
| Item* allocateEntry();
|
| Item* pop();
|
| @@ -55,15 +54,25 @@
|
| #endif
|
|
|
| private:
|
| - static const size_t blockSize = (1 << 13);
|
| + static const size_t blockSize = 8192;
|
|
|
| class Block {
|
| USING_FAST_MALLOC(Block);
|
| public:
|
| - explicit Block(Block* next);
|
| - ~Block();
|
| + explicit Block(Block* next)
|
| + : m_limit(&(m_buffer[blockSize]))
|
| + , m_current(&(m_buffer[0]))
|
| + , m_next(next)
|
| + {
|
| + clearUnused();
|
| + }
|
|
|
| - void decommit();
|
| + ~Block()
|
| + {
|
| + clearUnused();
|
| + }
|
| +
|
| + void clear();
|
|
|
| Block* next() const { return m_next; }
|
| void setNext(Block* next) { m_next = next; }
|
| @@ -71,6 +80,11 @@
|
| bool isEmptyBlock() const
|
| {
|
| return m_current == &(m_buffer[0]);
|
| + }
|
| +
|
| + size_t size() const
|
| + {
|
| + return blockSize - (m_limit - m_current);
|
| }
|
|
|
| Item* allocateEntry()
|
| @@ -93,7 +107,9 @@
|
| #endif
|
|
|
| private:
|
| - Item* m_buffer;
|
| + void clearUnused();
|
| +
|
| + Item m_buffer[blockSize];
|
| Item* m_limit;
|
| Item* m_current;
|
| Block* m_next;
|
|
|