Reduce the amount of validation in GrResourceCache2

BUG=chromium:433711

Review URL: https://codereview.chromium.org/737533002
diff --git a/src/gpu/GrResourceCache2.cpp b/src/gpu/GrResourceCache2.cpp
index 9764e62..d3039733 100644
--- a/src/gpu/GrResourceCache2.cpp
+++ b/src/gpu/GrResourceCache2.cpp
@@ -90,8 +90,6 @@
 }
 
 void GrResourceCache2::insertResource(GrGpuResource* resource) {
-    AutoValidate av(this);
-
     SkASSERT(resource);
     SkASSERT(!resource->wasDestroyed());
     SkASSERT(!this->isInCache(resource));
@@ -122,8 +120,6 @@
 }
 
 void GrResourceCache2::removeResource(GrGpuResource* resource) {
-    AutoValidate av(this);
-
     SkASSERT(this->isInCache(resource));
 
     size_t size = resource->gpuMemorySize();
@@ -141,6 +137,7 @@
     if (const GrResourceKey* contentKey = resource->cacheAccess().getContentKey()) {
         fContentHash.remove(*contentKey);
     }
+    this->validate();
 }
 
 void GrResourceCache2::abandonAll() {
@@ -195,8 +192,6 @@
 
 GrGpuResource* GrResourceCache2::findAndRefScratchResource(const GrResourceKey& scratchKey,
                                                            uint32_t flags) {
-    AutoValidate av(this);
-
     SkASSERT(!fPurging);
     SkASSERT(scratchKey.isScratch());
 
@@ -204,8 +199,10 @@
     if (flags & (kPreferNoPendingIO_ScratchFlag | kRequireNoPendingIO_ScratchFlag)) {
         resource = fScratchMap.find(scratchKey, AvailableForScratchUse(true));
         if (resource) {
+            resource->ref();
             this->makeResourceMRU(resource);
-            return SkRef(resource);
+            this->validate();
+            return resource;
         } else if (flags & kRequireNoPendingIO_ScratchFlag) {
             return NULL;
         }
@@ -216,6 +213,7 @@
     if (resource) {
         resource->ref();
         this->makeResourceMRU(resource);
+        this->validate();
     }
     return resource;
 }
@@ -238,13 +236,11 @@
 }
 
 void GrResourceCache2::makeResourceMRU(GrGpuResource* resource) {
-    AutoValidate av(this);
-
     SkASSERT(!fPurging);
     SkASSERT(resource);
     SkASSERT(this->isInCache(resource));
     fResources.remove(resource);    
-    fResources.addToHead(resource);    
+    fResources.addToHead(resource);
 }
 
 void GrResourceCache2::notifyPurgable(GrGpuResource* resource) {
@@ -329,8 +325,6 @@
 
     fPurging = true;
 
-    AutoValidate av(this); // Put this after setting fPurging so we're allowed to be over budget.
-
     bool overBudget = true;
     do {
         fNewlyPurgableResourceWhilePurging = false;
@@ -358,6 +352,7 @@
 
     fNewlyPurgableResourceWhilePurging = false;
     fPurging = false;
+    this->validate();
 }
 
 void GrResourceCache2::purgeAllUnlocked() {
@@ -366,8 +361,6 @@
 
     fPurging = true;
 
-    AutoValidate av(this); // Put this after setting fPurging so we're allowed to be over budget.
-
     do {
         fNewlyPurgableResourceWhilePurging = false;
         ResourceList::Iter resourceIter;
@@ -387,6 +380,7 @@
         }
     } while (fNewlyPurgableResourceWhilePurging);
     fPurging = false;
+    this->validate();
 }
 
 #ifdef SK_DEBUG