be sure to unlock the discardablememory before deleting it

BUG=

Review URL: https://codereview.chromium.org/114673002

git-svn-id: http://skia.googlecode.com/svn/trunk@12658 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/lazy/SkDiscardableMemoryPool.cpp b/src/lazy/SkDiscardableMemoryPool.cpp
index a1b2438..4709709 100644
--- a/src/lazy/SkDiscardableMemoryPool.cpp
+++ b/src/lazy/SkDiscardableMemoryPool.cpp
@@ -47,19 +47,23 @@
 }
 
 SkPoolDiscardableMemory::~SkPoolDiscardableMemory() {
+    SkASSERT(!fLocked); // contract for SkDiscardableMemory
     fPool->free(this);
     fPool->unref();
 }
 
 bool SkPoolDiscardableMemory::lock() {
+    SkASSERT(!fLocked); // contract for SkDiscardableMemory
     return fPool->lock(this);
 }
 
 void* SkPoolDiscardableMemory::data() {
-    return fLocked ? fPointer : NULL;
+    SkASSERT(fLocked); // contract for SkDiscardableMemory
+    return fPointer;
 }
 
 void SkPoolDiscardableMemory::unlock() {
+    SkASSERT(fLocked); // contract for SkDiscardableMemory
     fPool->unlock(this);
 }