| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  * Copyright 2013 Google Inc. | 2  * Copyright 2013 Google Inc. | 
| 3  * | 3  * | 
| 4  * Use of this source code is governed by a BSD-style license that can be | 4  * Use of this source code is governed by a BSD-style license that can be | 
| 5  * found in the LICENSE file. | 5  * found in the LICENSE file. | 
| 6  */ | 6  */ | 
| 7 | 7 | 
| 8 #include "SkDiscardableMemoryPool.h" | 8 #include "SkDiscardableMemoryPool.h" | 
| 9 #include "SkOnce.h" | 9 #include "SkOnce.h" | 
| 10 | 10 | 
| (...skipping 29 matching lines...) Expand all  Loading... | 
| 40     , fLocked(true) | 40     , fLocked(true) | 
| 41     , fPointer(pointer) | 41     , fPointer(pointer) | 
| 42     , fBytes(bytes) { | 42     , fBytes(bytes) { | 
| 43     SkASSERT(fPool != NULL); | 43     SkASSERT(fPool != NULL); | 
| 44     SkASSERT(fPointer != NULL); | 44     SkASSERT(fPointer != NULL); | 
| 45     SkASSERT(fBytes > 0); | 45     SkASSERT(fBytes > 0); | 
| 46     fPool->ref(); | 46     fPool->ref(); | 
| 47 } | 47 } | 
| 48 | 48 | 
| 49 SkPoolDiscardableMemory::~SkPoolDiscardableMemory() { | 49 SkPoolDiscardableMemory::~SkPoolDiscardableMemory() { | 
|  | 50     SkASSERT(!fLocked); // contract for SkDiscardableMemory | 
| 50     fPool->free(this); | 51     fPool->free(this); | 
| 51     fPool->unref(); | 52     fPool->unref(); | 
| 52 } | 53 } | 
| 53 | 54 | 
| 54 bool SkPoolDiscardableMemory::lock() { | 55 bool SkPoolDiscardableMemory::lock() { | 
|  | 56     SkASSERT(!fLocked); // contract for SkDiscardableMemory | 
| 55     return fPool->lock(this); | 57     return fPool->lock(this); | 
| 56 } | 58 } | 
| 57 | 59 | 
| 58 void* SkPoolDiscardableMemory::data() { | 60 void* SkPoolDiscardableMemory::data() { | 
| 59     return fLocked ? fPointer : NULL; | 61     SkASSERT(fLocked); // contract for SkDiscardableMemory | 
|  | 62     return fPointer; | 
| 60 } | 63 } | 
| 61 | 64 | 
| 62 void SkPoolDiscardableMemory::unlock() { | 65 void SkPoolDiscardableMemory::unlock() { | 
|  | 66     SkASSERT(fLocked); // contract for SkDiscardableMemory | 
| 63     fPool->unlock(this); | 67     fPool->unlock(this); | 
| 64 } | 68 } | 
| 65 | 69 | 
| 66 //////////////////////////////////////////////////////////////////////////////// | 70 //////////////////////////////////////////////////////////////////////////////// | 
| 67 | 71 | 
| 68 SkDiscardableMemoryPool::SkDiscardableMemoryPool(size_t budget, | 72 SkDiscardableMemoryPool::SkDiscardableMemoryPool(size_t budget, | 
| 69                                                  SkBaseMutex* mutex) | 73                                                  SkBaseMutex* mutex) | 
| 70     : fMutex(mutex) | 74     : fMutex(mutex) | 
| 71     , fBudget(budget) | 75     , fBudget(budget) | 
| 72     , fUsed(0) { | 76     , fUsed(0) { | 
| (...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 194 } | 198 } | 
| 195 SkDiscardableMemoryPool* SkGetGlobalDiscardableMemoryPool() { | 199 SkDiscardableMemoryPool* SkGetGlobalDiscardableMemoryPool() { | 
| 196     static SkDiscardableMemoryPool* gPool(NULL); | 200     static SkDiscardableMemoryPool* gPool(NULL); | 
| 197     SK_DECLARE_STATIC_ONCE(create_pool_once); | 201     SK_DECLARE_STATIC_ONCE(create_pool_once); | 
| 198     SkOnce(&create_pool_once, create_pool, &gPool); | 202     SkOnce(&create_pool_once, create_pool, &gPool); | 
| 199     SkASSERT(NULL != gPool); | 203     SkASSERT(NULL != gPool); | 
| 200     return gPool; | 204     return gPool; | 
| 201 } | 205 } | 
| 202 | 206 | 
| 203 //////////////////////////////////////////////////////////////////////////////// | 207 //////////////////////////////////////////////////////////////////////////////// | 
| OLD | NEW | 
|---|