aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar herb <herb@google.com>2015-10-23 11:31:38 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2015-10-23 11:31:38 -0700
commit043a75e234864161013863c0bf92002a165bb31b (patch)
tree19a2dda8b5b955085d13d14a54a7dda0ca2aa24c
parent9003d1e7384e174e26c37116b6105a63317d84a1 (diff)
Use SkAutoTExclusive in SkGlyphCache.
This replaces the local AutoAcquire class. Review URL: https://codereview.chromium.org/1424563002
-rw-r--r--src/core/SkGlyphCache.cpp21
1 files changed, 7 insertions, 14 deletions
diff --git a/src/core/SkGlyphCache.cpp b/src/core/SkGlyphCache.cpp
index 91e53c4df1..1512dbf0e5 100644
--- a/src/core/SkGlyphCache.cpp
+++ b/src/core/SkGlyphCache.cpp
@@ -293,14 +293,7 @@ void SkGlyphCache::invokeAndRemoveAuxProcs() {
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
-
-class AutoAcquire {
-public:
- AutoAcquire(SkSpinlock& lock) : fLock(lock) { fLock.acquire(); }
- ~AutoAcquire() { fLock.release(); }
-private:
- SkSpinlock& fLock;
-};
+typedef SkAutoTExclusive<SkSpinlock> Exclusive;
size_t SkGlyphCache_Globals::setCacheSizeLimit(size_t newLimit) {
static const size_t minLimit = 256 * 1024;
@@ -308,7 +301,7 @@ size_t SkGlyphCache_Globals::setCacheSizeLimit(size_t newLimit) {
newLimit = minLimit;
}
- AutoAcquire ac(fLock);
+ Exclusive ac(fLock);
size_t prevLimit = fCacheSizeLimit;
fCacheSizeLimit = newLimit;
@@ -321,7 +314,7 @@ int SkGlyphCache_Globals::setCacheCountLimit(int newCount) {
newCount = 0;
}
- AutoAcquire ac(fLock);
+ Exclusive ac(fLock);
int prevCount = fCacheCountLimit;
fCacheCountLimit = newCount;
@@ -330,7 +323,7 @@ int SkGlyphCache_Globals::setCacheCountLimit(int newCount) {
}
void SkGlyphCache_Globals::purgeAll() {
- AutoAcquire ac(fLock);
+ Exclusive ac(fLock);
this->internalPurge(fTotalMemoryUsed);
}
@@ -353,7 +346,7 @@ SkGlyphCache* SkGlyphCache::VisitCache(SkTypeface* typeface,
SkGlyphCache* cache;
{
- AutoAcquire ac(globals.fLock);
+ Exclusive ac(globals.fLock);
globals.validate();
@@ -466,7 +459,7 @@ void SkGlyphCache::DumpMemoryStatistics(SkTraceMemoryDump* dump) {
void SkGlyphCache::VisitAll(Visitor visitor, void* context) {
SkGlyphCache_Globals& globals = get_globals();
- AutoAcquire ac(globals.fLock);
+ Exclusive ac(globals.fLock);
SkGlyphCache* cache;
globals.validate();
@@ -479,7 +472,7 @@ void SkGlyphCache::VisitAll(Visitor visitor, void* context) {
///////////////////////////////////////////////////////////////////////////////
void SkGlyphCache_Globals::attachCacheToHead(SkGlyphCache* cache) {
- AutoAcquire ac(fLock);
+ Exclusive ac(fLock);
this->validate();
cache->validate();