Index: src/core/SkGlyphCache.cpp |
diff --git a/src/core/SkGlyphCache.cpp b/src/core/SkGlyphCache.cpp |
index d366e1257590f0e1f8e2d405e86fa9af6b986bf1..538c9682f529848f438ddc5a1e0f1c18af2cda14 100644 |
--- a/src/core/SkGlyphCache.cpp |
+++ b/src/core/SkGlyphCache.cpp |
@@ -16,7 +16,6 @@ |
#include "SkTypeface.h" |
//#define SPEW_PURGE_STATUS |
-//#define USE_CACHE_HASH |
//#define RECORD_HASH_EFFICIENCY |
bool gSkSuppressFontCachePurgeSpew; |
@@ -402,25 +401,6 @@ void SkGlyphCache::invokeAndRemoveAuxProcs() { |
#define SK_DEFAULT_FONT_CACHE_LIMIT (2 * 1024 * 1024) |
#endif |
-#ifdef USE_CACHE_HASH |
- #define HASH_BITCOUNT 6 |
- #define HASH_COUNT (1 << HASH_BITCOUNT) |
- #define HASH_MASK (HASH_COUNT - 1) |
- |
- static unsigned desc_to_hashindex(const SkDescriptor* desc) |
- { |
- SkASSERT(HASH_MASK < 256); // since our munging reduces to 8 bits |
- |
- uint32_t n = *(const uint32_t*)desc; //desc->getChecksum(); |
- SkASSERT(n == desc->getChecksum()); |
- |
- // don't trust that the low bits of checksum vary enough, so... |
- n ^= (n >> 24) ^ (n >> 16) ^ (n >> 8) ^ (n >> 30); |
- |
- return n & HASH_MASK; |
- } |
-#endif |
- |
#include "SkThread.h" |
class SkGlyphCache_Globals { |
@@ -435,10 +415,6 @@ public: |
fTotalMemoryUsed = 0; |
fFontCacheLimit = SK_DEFAULT_FONT_CACHE_LIMIT; |
fMutex = (kYes_UseMutex == um) ? SkNEW(SkMutex) : NULL; |
- |
-#ifdef USE_CACHE_HASH |
- sk_bzero(fHash, sizeof(fHash)); |
-#endif |
} |
~SkGlyphCache_Globals() { |
@@ -455,9 +431,6 @@ public: |
SkMutex* fMutex; |
SkGlyphCache* fHead; |
size_t fTotalMemoryUsed; |
-#ifdef USE_CACHE_HASH |
- SkGlyphCache* fHash[HASH_COUNT]; |
-#endif |
#ifdef SK_DEBUG |
void validate() const; |
@@ -567,16 +540,6 @@ SkGlyphCache* SkGlyphCache::VisitCache(SkTypeface* typeface, |
globals.validate(); |
-#ifdef USE_CACHE_HASH |
- SkGlyphCache** hash = globals.fHash; |
- unsigned index = desc_to_hashindex(desc); |
- cache = hash[index]; |
- if (cache && *cache->fDesc == *desc) { |
- cache->detach(&globals.fHead); |
- goto FOUND_IT; |
- } |
-#endif |
- |
for (cache = globals.fHead; cache != NULL; cache = cache->fNext) { |
if (cache->fDesc->equals(*desc)) { |
cache->detach(&globals.fHead); |
@@ -613,16 +576,10 @@ FOUND_IT: |
if (insideMutex) { |
SkASSERT(globals.fTotalMemoryUsed >= cache->fMemoryUsed); |
globals.fTotalMemoryUsed -= cache->fMemoryUsed; |
-#ifdef USE_CACHE_HASH |
- hash[index] = NULL; |
-#endif |
} |
} else { // reattach |
if (insideMutex) { |
cache->attachToHead(&globals.fHead); |
-#ifdef USE_CACHE_HASH |
- hash[index] = cache; |
-#endif |
} else { |
AttachCache(cache); |
} |
@@ -653,12 +610,6 @@ void SkGlyphCache::AttachCache(SkGlyphCache* cache) { |
cache->attachToHead(&globals.fHead); |
globals.fTotalMemoryUsed += cache->fMemoryUsed; |
-#ifdef USE_CACHE_HASH |
- unsigned index = desc_to_hashindex(cache->fDesc); |
- SkASSERT(globals.fHash[index] != cache); |
- globals.fHash[index] = cache; |
-#endif |
- |
globals.validate(); |
} |
@@ -707,13 +658,6 @@ size_t SkGlyphCache::InternalFreeCache(SkGlyphCache_Globals* globals, |
SkGlyphCache* prev = cache->fPrev; |
bytesFreed += cache->fMemoryUsed; |
-#ifdef USE_CACHE_HASH |
- unsigned index = desc_to_hashindex(cache->fDesc); |
- if (cache == globals->fHash[index]) { |
- globals->fHash[index] = NULL; |
- } |
-#endif |
- |
cache->detach(&globals->fHead); |
SkDELETE(cache); |
cache = prev; |