diff options
author | mtklein <mtklein@chromium.org> | 2014-06-02 08:44:27 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-06-02 08:44:27 -0700 |
commit | 78358bf624c7e7c09ffccf638c50870808d884d6 (patch) | |
tree | 71a7dfbae1429f457cd5c31eb4469925991cf245 /src/lazy | |
parent | 309e86912445879651d52ebbedb67b4ff3f1516c (diff) |
Port most uses of SkOnce to SkLazyPtr.
BUG=skia:
Committed: http://code.google.com/p/skia/source/detail?r=15006
Committed: http://code.google.com/p/skia/source/detail?r=15014
R=reed@google.com, mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/304383005
Diffstat (limited to 'src/lazy')
-rw-r--r-- | src/lazy/SkDiscardableMemoryPool.cpp | 23 |
1 files changed, 8 insertions, 15 deletions
diff --git a/src/lazy/SkDiscardableMemoryPool.cpp b/src/lazy/SkDiscardableMemoryPool.cpp index 4fb8ae4fe1..1d63a0bad7 100644 --- a/src/lazy/SkDiscardableMemoryPool.cpp +++ b/src/lazy/SkDiscardableMemoryPool.cpp @@ -7,7 +7,7 @@ #include "SkDiscardableMemory.h" #include "SkDiscardableMemoryPool.h" -#include "SkOnce.h" +#include "SkLazyPtr.h" #include "SkTInternalLList.h" #include "SkThread.h" @@ -248,27 +248,20 @@ void DiscardableMemoryPool::dumpPool() { //////////////////////////////////////////////////////////////////////////////// SK_DECLARE_STATIC_MUTEX(gMutex); -SkDiscardableMemoryPool* gPool = NULL; -void create_global_pool(int) { - SkASSERT(NULL == gPool); - gPool = SkDiscardableMemoryPool::Create( - SK_DEFAULT_GLOBAL_DISCARDABLE_MEMORY_POOL_SIZE, &gMutex); -} -void cleanup_global_pool() { - gPool->unref(); +SkDiscardableMemoryPool* create_global_pool() { + return SkDiscardableMemoryPool::Create(SK_DEFAULT_GLOBAL_DISCARDABLE_MEMORY_POOL_SIZE, + &gMutex); } + } // namespace -SkDiscardableMemoryPool* SkDiscardableMemoryPool::Create( - size_t size, SkBaseMutex* mutex) { +SkDiscardableMemoryPool* SkDiscardableMemoryPool::Create(size_t size, SkBaseMutex* mutex) { return SkNEW_ARGS(DiscardableMemoryPool, (size, mutex)); } SkDiscardableMemoryPool* SkGetGlobalDiscardableMemoryPool() { - SK_DECLARE_STATIC_ONCE(create_pool_once); - SkOnce(&create_pool_once, create_global_pool, 0, &cleanup_global_pool); - SkASSERT(NULL != gPool); - return gPool; + SK_DECLARE_STATIC_LAZY_PTR(SkDiscardableMemoryPool, global, create_global_pool); + return global.get(); } // defined in SkImageGenerator.h |