SK_DECLARE_STATIC_MUTEX -> static SkMutex

There's no need to use a macro to declare static SkMutexes any more
(and there's likewise no need to restrict them to global scope).

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1948193002

Review-Url: https://codereview.chromium.org/1948193002
diff --git a/dm/DM.cpp b/dm/DM.cpp
index 9dbd43a..0cf649e 100644
--- a/dm/DM.cpp
+++ b/dm/DM.cpp
@@ -104,7 +104,7 @@
     }
 }
 
-SK_DECLARE_STATIC_MUTEX(gFailuresMutex);
+static SkMutex gFailuresMutex;
 static SkTArray<SkString> gFailures;
 
 static void fail(const SkString& err) {
diff --git a/dm/DMJsonWriter.cpp b/dm/DMJsonWriter.cpp
index 7bd8acd..652c70b 100644
--- a/dm/DMJsonWriter.cpp
+++ b/dm/DMJsonWriter.cpp
@@ -19,7 +19,7 @@
 namespace DM {
 
 SkTArray<JsonWriter::BitmapResult> gBitmapResults;
-SK_DECLARE_STATIC_MUTEX(gBitmapResultLock);
+static SkMutex gBitmapResultLock;
 
 void JsonWriter::AddBitmapResult(const BitmapResult& result) {
     SkAutoMutexAcquire lock(&gBitmapResultLock);
@@ -27,7 +27,7 @@
 }
 
 SkTArray<skiatest::Failure> gFailures;
-SK_DECLARE_STATIC_MUTEX(gFailureLock);
+static SkMutex gFailureLock;
 
 void JsonWriter::AddTestFailure(const skiatest::Failure& failure) {
     SkAutoMutexAcquire lock(gFailureLock);
diff --git a/include/private/SkMutex.h b/include/private/SkMutex.h
index b9af00f..503b1e8 100644
--- a/include/private/SkMutex.h
+++ b/include/private/SkMutex.h
@@ -12,9 +12,6 @@
 #include "../private/SkThreadID.h"
 #include "SkTypes.h"
 
-// TODO: no need for this anymore.
-#define SK_DECLARE_STATIC_MUTEX(name) static SkMutex name;
-
 class SkMutex {
 public:
     constexpr SkMutex() = default;
diff --git a/src/core/SkDeviceProfile.cpp b/src/core/SkDeviceProfile.cpp
index e1c10c8..272a710 100644
--- a/src/core/SkDeviceProfile.cpp
+++ b/src/core/SkDeviceProfile.cpp
@@ -44,7 +44,7 @@
     return new SkDeviceProfile(gammaExp, contrast, config, level);
 }
 
-SK_DECLARE_STATIC_MUTEX(gMutex);
+static SkMutex gMutex;
 static SkDeviceProfile* gDefaultProfile;
 static SkDeviceProfile* gGlobalProfile;
 
diff --git a/src/core/SkPaint.cpp b/src/core/SkPaint.cpp
index 67bbda1..c9fff0d 100644
--- a/src/core/SkPaint.cpp
+++ b/src/core/SkPaint.cpp
@@ -1457,7 +1457,7 @@
  * cachedMaskGamma the caller must hold the gMaskGammaCacheMutex and continue
  * to hold it until the returned pointer is refed or forgotten.
  */
-SK_DECLARE_STATIC_MUTEX(gMaskGammaCacheMutex);
+static SkMutex gMaskGammaCacheMutex;
 
 static SkMaskGamma* gLinearMaskGamma = nullptr;
 static SkMaskGamma* gMaskGamma = nullptr;
diff --git a/src/core/SkResourceCache.cpp b/src/core/SkResourceCache.cpp
index e465132..bab3dd7 100644
--- a/src/core/SkResourceCache.cpp
+++ b/src/core/SkResourceCache.cpp
@@ -542,7 +542,7 @@
 
 ///////////////////////////////////////////////////////////////////////////////
 
-SK_DECLARE_STATIC_MUTEX(gMutex);
+static SkMutex gMutex;
 static SkResourceCache* gResourceCache = nullptr;
 
 /** Must hold gMutex when calling. */
diff --git a/src/core/SkTypeface.cpp b/src/core/SkTypeface.cpp
index 75bb05c..1788759 100644
--- a/src/core/SkTypeface.cpp
+++ b/src/core/SkTypeface.cpp
@@ -78,7 +78,7 @@
 
 }
 
-SK_DECLARE_STATIC_MUTEX(gCreateDefaultMutex);
+static SkMutex gCreateDefaultMutex;
 
 SkTypeface* SkTypeface::GetDefaultTypeface(Style style) {
     static SkOnce once[4];
diff --git a/src/core/SkTypefaceCache.cpp b/src/core/SkTypefaceCache.cpp
index 05a7a8e..8c53b7f 100644
--- a/src/core/SkTypefaceCache.cpp
+++ b/src/core/SkTypefaceCache.cpp
@@ -64,7 +64,7 @@
     return sk_atomic_inc(&gFontID) + 1;
 }
 
-SK_DECLARE_STATIC_MUTEX(gMutex);
+static SkMutex gMutex;
 
 void SkTypefaceCache::Add(SkTypeface* face) {
     SkAutoMutexAcquire ama(gMutex);
diff --git a/src/effects/gradients/SkGradientShader.cpp b/src/effects/gradients/SkGradientShader.cpp
index fdb6e59..ffcbfdd 100644
--- a/src/effects/gradients/SkGradientShader.cpp
+++ b/src/effects/gradients/SkGradientShader.cpp
@@ -625,7 +625,7 @@
     return fCache;
 }
 
-SK_DECLARE_STATIC_MUTEX(gGradientCacheMutex);
+static SkMutex gGradientCacheMutex;
 /*
  *  Because our caller might rebuild the same (logically the same) gradient
  *  over and over, we'd like to return exactly the same "bitmap" if possible,
diff --git a/src/fonts/SkTestScalerContext.cpp b/src/fonts/SkTestScalerContext.cpp
index a274856..f59bb0f 100644
--- a/src/fonts/SkTestScalerContext.cpp
+++ b/src/fonts/SkTestScalerContext.cpp
@@ -43,7 +43,7 @@
 #ifdef SK_DEBUG
 
 #include "SkMutex.h"
-SK_DECLARE_STATIC_MUTEX(gUsedCharsMutex);
+static SkMutex gUsedCharsMutex;
 
 #endif
 
diff --git a/src/lazy/SkDiscardableMemoryPool.cpp b/src/lazy/SkDiscardableMemoryPool.cpp
index d6753de..da7db52 100644
--- a/src/lazy/SkDiscardableMemoryPool.cpp
+++ b/src/lazy/SkDiscardableMemoryPool.cpp
@@ -244,7 +244,7 @@
     return new DiscardableMemoryPool(size, mutex);
 }
 
-SK_DECLARE_STATIC_MUTEX(gMutex);
+static SkMutex gMutex;
 
 SkDiscardableMemoryPool* SkGetGlobalDiscardableMemoryPool() {
     static SkOnce once;
diff --git a/src/pathops/SkPathOpsDebug.cpp b/src/pathops/SkPathOpsDebug.cpp
index 546771e..1ee7b38 100644
--- a/src/pathops/SkPathOpsDebug.cpp
+++ b/src/pathops/SkPathOpsDebug.cpp
@@ -267,7 +267,7 @@
     SkDebugf("}\n");
 }
 
-SK_DECLARE_STATIC_MUTEX(gTestMutex);
+static SkMutex gTestMutex;
 
 void SkPathOpsDebug::ShowPath(const SkPath& a, const SkPath& b, SkPathOp shapeOp,
         const char* testName) {
@@ -646,7 +646,7 @@
             }
             if (spanBase->segment() != opp && spanBase->containsCoinEnd(opp)) {
                 continue;
-            } 
+            }
             const SkOpPtT* priorPtT = nullptr, * priorStopPtT;
             // find prior span containing opp segment
             const SkOpSegment* priorOpp = nullptr;
@@ -786,11 +786,11 @@
                     }
                     goto checkNextSpan;
                 }
-        tryNextSpan: 
+        tryNextSpan:
                 ;
             } while (oppTest != oppLast && (oppTest = oppTest->upCast()->next()));
         } while ((testPtT = testPtT->next()) != startPtT);
-checkNextSpan: 
+checkNextSpan:
         ;
     } while ((test = test->final() ? nullptr : test->upCast()->next()));
 }
@@ -958,7 +958,7 @@
 // loop looking for a pair of angle parts that are too close to be sorted
 /* This is called after other more simple intersection and angle sorting tests have been exhausted.
    This should be rarely called -- the test below is thorough and time consuming.
-   This checks the distance between start points; the distance between 
+   This checks the distance between start points; the distance between
 */
 #if DEBUG_ANGLE
 void SkOpAngle::debugCheckNearCoincidence() const {
@@ -996,7 +996,7 @@
             SkDebugf("\n");
         }
         test = test->fNext;
-    } while (test->fNext != this); 
+    } while (test->fNext != this);
 }
 #endif
 
diff --git a/src/pathops/SkPathOpsOp.cpp b/src/pathops/SkPathOpsOp.cpp
index 257cb8e..545d696 100644
--- a/src/pathops/SkPathOpsOp.cpp
+++ b/src/pathops/SkPathOpsOp.cpp
@@ -223,7 +223,7 @@
     dump_path(file, two, false, true);
     fprintf(file, "    SkPath path2(path);\n");
     fprintf(file, "    testPathOp(reporter, path1, path2, (SkPathOp) %d, filename);\n", op);
-    fprintf(file, "}\n");    
+    fprintf(file, "}\n");
     fclose(file);
 }
 #endif
@@ -233,7 +233,7 @@
 
 #include "SkMutex.h"
 
-SK_DECLARE_STATIC_MUTEX(debugWorstLoop);
+static SkMutex debugWorstLoop;
 
 SkOpGlobalState debugWorstState(nullptr, nullptr  SkDEBUGPARAMS(nullptr));
 
@@ -254,7 +254,7 @@
     SkOpGlobalState globalState(&coincidence, contourList  SkDEBUGPARAMS(testName));
 #if DEBUGGING_PATHOPS_FROM_HOST
     dump_op(one, two, op);
-#endif    
+#endif
 #if 0 && DEBUG_SHOW_TEST_NAME
     char* debugName = DEBUG_FILENAME_STRING;
     if (debugName && debugName[0]) {
diff --git a/src/ports/SkFontConfigInterface_direct.cpp b/src/ports/SkFontConfigInterface_direct.cpp
index d6fa96a..f236002 100644
--- a/src/ports/SkFontConfigInterface_direct.cpp
+++ b/src/ports/SkFontConfigInterface_direct.cpp
@@ -32,7 +32,7 @@
 
 // Fontconfig is not threadsafe before 2.10.91. Before that, we lock with a global mutex.
 // See https://bug.skia.org/1497 for background.
-SK_DECLARE_STATIC_MUTEX(gFCMutex);
+static SkMutex gFCMutex;
 
 #ifdef SK_DEBUG
 void* CreateThreadFcLocked() { return new bool(false); }
diff --git a/src/ports/SkFontHost_FreeType.cpp b/src/ports/SkFontHost_FreeType.cpp
index b53364e..1cde6cb 100644
--- a/src/ports/SkFontHost_FreeType.cpp
+++ b/src/ports/SkFontHost_FreeType.cpp
@@ -145,7 +145,7 @@
 
 struct SkFaceRec;
 
-SK_DECLARE_STATIC_MUTEX(gFTMutex);
+static SkMutex gFTMutex;
 static FreeTypeLibrary* gFTLibrary;
 static SkFaceRec* gFaceRecHead;
 
diff --git a/src/ports/SkFontHost_fontconfig.cpp b/src/ports/SkFontHost_fontconfig.cpp
index 0ffc261..416173a 100644
--- a/src/ports/SkFontHost_fontconfig.cpp
+++ b/src/ports/SkFontHost_fontconfig.cpp
@@ -10,7 +10,7 @@
 #include "SkMutex.h"
 #include "SkRefCnt.h"
 
-SK_DECLARE_STATIC_MUTEX(gFontConfigInterfaceMutex);
+static SkMutex gFontConfigInterfaceMutex;
 static SkFontConfigInterface* gFontConfigInterface;
 
 SkFontConfigInterface* SkFontConfigInterface::RefGlobal() {
diff --git a/src/ports/SkFontHost_mac.cpp b/src/ports/SkFontHost_mac.cpp
index 8593b39..6f0bbad 100644
--- a/src/ports/SkFontHost_mac.cpp
+++ b/src/ports/SkFontHost_mac.cpp
@@ -54,7 +54,7 @@
 #define USE_GLOBAL_MUTEX_FOR_CG_ACCESS
 
 #ifdef USE_GLOBAL_MUTEX_FOR_CG_ACCESS
-    SK_DECLARE_STATIC_MUTEX(gCGMutex);
+    static SkMutex gCGMutex;
     #define AUTO_CG_LOCK()  SkAutoMutexAcquire amc(gCGMutex)
 #else
     #define AUTO_CG_LOCK()
@@ -550,7 +550,7 @@
     return face;
 }
 
-SK_DECLARE_STATIC_MUTEX(gGetDefaultFaceMutex);
+static SkMutex gGetDefaultFaceMutex;
 static SkTypeface* GetDefaultFace() {
     SkAutoMutexAcquire ma(gGetDefaultFaceMutex);
 
diff --git a/src/ports/SkFontMgr_fontconfig.cpp b/src/ports/SkFontMgr_fontconfig.cpp
index 610a300..32f10a4 100644
--- a/src/ports/SkFontMgr_fontconfig.cpp
+++ b/src/ports/SkFontMgr_fontconfig.cpp
@@ -62,7 +62,7 @@
 
 // Fontconfig is not threadsafe before 2.10.91. Before that, we lock with a global mutex.
 // See https://bug.skia.org/1497 for background.
-SK_DECLARE_STATIC_MUTEX(gFCMutex);
+static SkMutex gFCMutex;
 
 #ifdef SK_DEBUG
 void* CreateThreadFcLocked() { return new bool(false); }
diff --git a/src/ports/SkTLS_win.cpp b/src/ports/SkTLS_win.cpp
index 8bc55a0..3f00842 100644
--- a/src/ports/SkTLS_win.cpp
+++ b/src/ports/SkTLS_win.cpp
@@ -12,7 +12,7 @@
 
 static bool gOnce = false;
 static DWORD gTlsIndex;
-SK_DECLARE_STATIC_MUTEX(gMutex);
+static SkMutex gMutex;
 
 void* SkTLS::PlatformGetSpecific(bool forceCreateTheSlot) {
     if (!forceCreateTheSlot && !gOnce) {
diff --git a/src/views/SkEventSink.cpp b/src/views/SkEventSink.cpp
index 1464fa0..5345608 100644
--- a/src/views/SkEventSink.cpp
+++ b/src/views/SkEventSink.cpp
@@ -257,7 +257,7 @@
 #include "SkTDict.h"
 
 #define kMinStringBufferSize    128
-SK_DECLARE_STATIC_MUTEX(gNamedSinkMutex);
+static SkMutex gNamedSinkMutex;
 static SkTDict<SkEventSinkID>   gNamedSinkIDs(kMinStringBufferSize);
 
 /** Register a name/id pair with the system. If the name already exists,
diff --git a/tests/PathOpsExtendedTest.cpp b/tests/PathOpsExtendedTest.cpp
index c96cbcd..27baa8c 100644
--- a/tests/PathOpsExtendedTest.cpp
+++ b/tests/PathOpsExtendedTest.cpp
@@ -331,7 +331,7 @@
     }
 }
 
-SK_DECLARE_STATIC_MUTEX(compareDebugOut3);
+static SkMutex compareDebugOut3;
 
 static int comparePaths(skiatest::Reporter* reporter, const char* testName, const SkPath& one,
         const SkPath& scaledOne, const SkPath& two, const SkPath& scaledTwo, SkBitmap& bitmap,
@@ -419,7 +419,7 @@
     outFile.flush();
 }
 
-SK_DECLARE_STATIC_MUTEX(simplifyDebugOut);
+static SkMutex simplifyDebugOut;
 
 bool testSimplify(SkPath& path, bool useXor, SkPath& out, PathOpsThreadState& state,
                   const char* pathStr) {
@@ -578,7 +578,7 @@
     return true;
 }
 
-SK_DECLARE_STATIC_MUTEX(gMutex);
+static SkMutex gMutex;
 
 void initializeTests(skiatest::Reporter* reporter, const char* test) {
 #if 0  // doesn't work yet
diff --git a/tools/gpu/gl/command_buffer/GLTestContext_command_buffer.cpp b/tools/gpu/gl/command_buffer/GLTestContext_command_buffer.cpp
index 850adaa..a6f62f0 100644
--- a/tools/gpu/gl/command_buffer/GLTestContext_command_buffer.cpp
+++ b/tools/gpu/gl/command_buffer/GLTestContext_command_buffer.cpp
@@ -142,7 +142,7 @@
 
 // We use a poor man's garbage collector of EGLDisplays. They are only
 // terminated when there are no more EGLDisplays in use. See crbug.com/603223
-SK_DECLARE_STATIC_MUTEX(gDisplayMutex);
+static SkMutex gDisplayMutex;
 static int gActiveDisplayCnt;
 SkTArray<EGLDisplay> gRetiredDisplays;
 
diff --git a/tools/sk_tool_utils_font.cpp b/tools/sk_tool_utils_font.cpp
index adbfa16..67f86d1 100644
--- a/tools/sk_tool_utils_font.cpp
+++ b/tools/sk_tool_utils_font.cpp
@@ -27,7 +27,7 @@
     }
 }
 
-SK_DECLARE_STATIC_MUTEX(gTestFontMutex);
+static SkMutex gTestFontMutex;
 
 SkTypeface* create_font(const char* name, SkTypeface::Style style) {
     SkTestFontData* fontData = nullptr;