From 9bd3fc7fa9bb7cad050bd619aa93d4c48ebb5c02 Mon Sep 17 00:00:00 2001 From: mtklein Date: Wed, 4 May 2016 14:40:18 -0700 Subject: SkOncePtr -> SkOnce It's always nice to kill off a synchronization primitive. And while less terse, I think this new code reads more clearly. ... and, SkOncePtr's tests were the only thing now using sk_num_cores() outside of SkTaskGroup, so I've hidden it as static inside SkTaskGroup.cpp. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1953533002 CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot Review-Url: https://codereview.chromium.org/1953533002 --- src/lazy/SkDiscardableMemoryPool.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'src/lazy') diff --git a/src/lazy/SkDiscardableMemoryPool.cpp b/src/lazy/SkDiscardableMemoryPool.cpp index 2be4c755f1..d6753def9d 100644 --- a/src/lazy/SkDiscardableMemoryPool.cpp +++ b/src/lazy/SkDiscardableMemoryPool.cpp @@ -9,7 +9,7 @@ #include "SkDiscardableMemoryPool.h" #include "SkImageGenerator.h" #include "SkMutex.h" -#include "SkOncePtr.h" +#include "SkOnce.h" #include "SkTInternalLList.h" // Note: @@ -245,11 +245,13 @@ SkDiscardableMemoryPool* SkDiscardableMemoryPool::Create(size_t size, SkMutex* m } SK_DECLARE_STATIC_MUTEX(gMutex); -SK_DECLARE_STATIC_ONCE_PTR(SkDiscardableMemoryPool, global); SkDiscardableMemoryPool* SkGetGlobalDiscardableMemoryPool() { - return global.get([] { - return SkDiscardableMemoryPool::Create(SK_DEFAULT_GLOBAL_DISCARDABLE_MEMORY_POOL_SIZE, - &gMutex); + static SkOnce once; + static SkDiscardableMemoryPool* global; + once([]{ + global = SkDiscardableMemoryPool::Create(SK_DEFAULT_GLOBAL_DISCARDABLE_MEMORY_POOL_SIZE, + &gMutex); }); + return global; } -- cgit v1.2.3