clean up caches at thread exit

Change-Id: I9012a2769eb92d0d393e0eeb684a8bee8519323d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266522
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
diff --git a/src/core/SkVMBlitter.cpp b/src/core/SkVMBlitter.cpp
index 37755d2..80fe731 100644
--- a/src/core/SkVMBlitter.cpp
+++ b/src/core/SkVMBlitter.cpp
@@ -94,8 +94,8 @@
         // and tryAcquire()/release(), or...
         return nullptr;  // ... we could just not cache programs on those platforms.
     #else
-        thread_local static auto* cache = new SkLRUCache<Key, skvm::Program>{8};
-        return cache;
+        thread_local static SkLRUCache<Key, skvm::Program> cache{8};
+        return &cache;
     #endif
     }