diff options
author | ck <qt-info@nokia.com> | 2009-10-26 15:53:33 +0100 |
---|---|---|
committer | ck <qt-info@nokia.com> | 2009-10-26 15:53:33 +0100 |
commit | 11706165a24fd74672f088636055518591cf7f77 (patch) | |
tree | c5fd1e1ecc71398429d699aaec12105eff122ad7 /src/shared/cplusplus/MemoryPool.cpp | |
parent | 0edf1b48a6ea3e2271c21f97d573b649b4ca9a12 (diff) | |
parent | bac9c64f938d25788f5cdebf39aa5342788a5087 (diff) | |
download | qt-creator-11706165a24fd74672f088636055518591cf7f77.tar.gz |
Merge branch 'master' of scm.dev.nokia.troll.no:creator/mainline
Diffstat (limited to 'src/shared/cplusplus/MemoryPool.cpp')
-rw-r--r-- | src/shared/cplusplus/MemoryPool.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/shared/cplusplus/MemoryPool.cpp b/src/shared/cplusplus/MemoryPool.cpp index 2002a65435..1453c62cd6 100644 --- a/src/shared/cplusplus/MemoryPool.cpp +++ b/src/shared/cplusplus/MemoryPool.cpp @@ -110,6 +110,19 @@ void *MemoryPool::allocate_helper(size_t size) return addr; } +MemoryPool::State MemoryPool::state() const +{ return State(ptr, _blockCount); } + +void MemoryPool::rewind(const State &state) +{ + if (_blockCount == state.blockCount && state.ptr < ptr) { + if (_initializeAllocatedMemory) + memset(state.ptr, '\0', ptr - state.ptr); + + ptr = state.ptr; + } +} + Managed::Managed() { } |