| Index: src/gpu/GrMemoryPool.cpp
|
| diff --git a/src/gpu/GrMemoryPool.cpp b/src/gpu/GrMemoryPool.cpp
|
| index 0fd7e90f6671dca1be2e95f5f28a98be2ffe7a5f..adf46846c889fc476ee8a7ef3b5fd99c9ee5e889 100644
|
| --- a/src/gpu/GrMemoryPool.cpp
|
| +++ b/src/gpu/GrMemoryPool.cpp
|
| @@ -55,6 +55,7 @@ void* GrMemoryPool::allocate(size_t size) {
|
| fSize += block->fSize;
|
| SkDEBUGCODE(++fAllocBlockCnt);
|
| }
|
| + SkASSERT(kAssignedMarker == fTail->fBlockSentinal);
|
| SkASSERT(fTail->fFreeSize >= size);
|
| intptr_t ptr = fTail->fCurrPtr;
|
| // We stash a pointer to the block header, just before the allocated space,
|
| @@ -80,6 +81,7 @@ void GrMemoryPool::release(void* p) {
|
| SkASSERT(kAssignedMarker == allocData->fSentinal);
|
| SkDEBUGCODE(allocData->fSentinal = kFreedMarker);
|
| BlockHeader* block = allocData->fHeader;
|
| + SkASSERT(kAssignedMarker == block->fBlockSentinal);
|
| if (1 == block->fLiveCount) {
|
| // the head block is special, it is reset rather than deleted
|
| if (fHead == block) {
|
| @@ -119,6 +121,7 @@ GrMemoryPool::BlockHeader* GrMemoryPool::CreateBlock(size_t size) {
|
| reinterpret_cast<BlockHeader*>(sk_malloc_throw(paddedSize));
|
| // we assume malloc gives us aligned memory
|
| SkASSERT(!(reinterpret_cast<intptr_t>(block) % kAlignment));
|
| + SkDEBUGCODE(block->fBlockSentinal = kAssignedMarker);
|
| block->fLiveCount = 0;
|
| block->fFreeSize = size;
|
| block->fCurrPtr = reinterpret_cast<intptr_t>(block) + kHeaderSize;
|
| @@ -128,6 +131,8 @@ GrMemoryPool::BlockHeader* GrMemoryPool::CreateBlock(size_t size) {
|
| }
|
|
|
| void GrMemoryPool::DeleteBlock(BlockHeader* block) {
|
| + SkASSERT(kAssignedMarker == block->fBlockSentinal);
|
| + SkDEBUGCODE(block->fBlockSentinal = kFreedMarker); // FWIW
|
| sk_free(block);
|
| }
|
|
|
| @@ -138,6 +143,7 @@ void GrMemoryPool::validate() {
|
| SkASSERT(block);
|
| int allocCount = 0;
|
| do {
|
| + SkASSERT(kAssignedMarker == block->fBlockSentinal);
|
| allocCount += block->fLiveCount;
|
| SkASSERT(prev == block->fPrev);
|
| if (prev) {
|
|
|