Revert of SK_DECLARE_STATIC_MUTEX -> static SkMutex (patchset #1 id:1 of https://codereview.chromium.org/1948193002/ )

Reason for revert:
broken the Mac and Linux builders, e.g.:

https://build.chromium.org/p/chromium/builders/Mac/builds/15151
https://build.chromium.org/p/chromium/builders/Linux%20x64/builds/19052

Original issue's description:
> 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
>
> Committed: https://skia.googlesource.com/skia/+/5e56cfd3fa1041dbb83899844fb92fa9a2ef1009

TBR=mtklein@google.com,mtklein@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review-Url: https://codereview.chromium.org/1945353003
This commit is contained in:
reed 2016-05-04 17:12:46 -07:00 committed by Commit bot
parent 5e56cfd3fa
commit 086eea93b1
23 changed files with 36 additions and 33 deletions

View File

@ -104,7 +104,7 @@ static void info(const char* fmt) {
}
}
static SkMutex gFailuresMutex;
SK_DECLARE_STATIC_MUTEX(gFailuresMutex);
static SkTArray<SkString> gFailures;
static void fail(const SkString& err) {

View File

@ -19,7 +19,7 @@
namespace DM {
SkTArray<JsonWriter::BitmapResult> gBitmapResults;
static SkMutex gBitmapResultLock;
SK_DECLARE_STATIC_MUTEX(gBitmapResultLock);
void JsonWriter::AddBitmapResult(const BitmapResult& result) {
SkAutoMutexAcquire lock(&gBitmapResultLock);
@ -27,7 +27,7 @@ void JsonWriter::AddBitmapResult(const BitmapResult& result) {
}
SkTArray<skiatest::Failure> gFailures;
static SkMutex gFailureLock;
SK_DECLARE_STATIC_MUTEX(gFailureLock);
void JsonWriter::AddTestFailure(const skiatest::Failure& failure) {
SkAutoMutexAcquire lock(gFailureLock);

View File

@ -12,6 +12,9 @@
#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;

View File

@ -44,7 +44,7 @@ SkDeviceProfile* SkDeviceProfile::Create(float gammaExp,
return new SkDeviceProfile(gammaExp, contrast, config, level);
}
static SkMutex gMutex;
SK_DECLARE_STATIC_MUTEX(gMutex);
static SkDeviceProfile* gDefaultProfile;
static SkDeviceProfile* gGlobalProfile;

View File

@ -1457,7 +1457,7 @@ void SkScalerContext::MakeRec(const SkPaint& paint,
* cachedMaskGamma the caller must hold the gMaskGammaCacheMutex and continue
* to hold it until the returned pointer is refed or forgotten.
*/
static SkMutex gMaskGammaCacheMutex;
SK_DECLARE_STATIC_MUTEX(gMaskGammaCacheMutex);
static SkMaskGamma* gLinearMaskGamma = nullptr;
static SkMaskGamma* gMaskGamma = nullptr;

View File

@ -542,7 +542,7 @@ void SkResourceCache::checkMessages() {
///////////////////////////////////////////////////////////////////////////////
static SkMutex gMutex;
SK_DECLARE_STATIC_MUTEX(gMutex);
static SkResourceCache* gResourceCache = nullptr;
/** Must hold gMutex when calling. */

View File

@ -78,7 +78,7 @@ protected:
}
static SkMutex gCreateDefaultMutex;
SK_DECLARE_STATIC_MUTEX(gCreateDefaultMutex);
SkTypeface* SkTypeface::GetDefaultTypeface(Style style) {
static SkOnce once[4];

View File

@ -64,7 +64,7 @@ SkFontID SkTypefaceCache::NewFontID() {
return sk_atomic_inc(&gFontID) + 1;
}
static SkMutex gMutex;
SK_DECLARE_STATIC_MUTEX(gMutex);
void SkTypefaceCache::Add(SkTypeface* face) {
SkAutoMutexAcquire ama(gMutex);

View File

@ -625,7 +625,7 @@ SkGradientShaderBase::GradientShaderCache* SkGradientShaderBase::refCache(U8CPU
return fCache;
}
static SkMutex gGradientCacheMutex;
SK_DECLARE_STATIC_MUTEX(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,

View File

@ -43,7 +43,7 @@ SkTestFont::~SkTestFont() {
#ifdef SK_DEBUG
#include "SkMutex.h"
static SkMutex gUsedCharsMutex;
SK_DECLARE_STATIC_MUTEX(gUsedCharsMutex);
#endif

View File

@ -244,7 +244,7 @@ SkDiscardableMemoryPool* SkDiscardableMemoryPool::Create(size_t size, SkMutex* m
return new DiscardableMemoryPool(size, mutex);
}
static SkMutex gMutex;
SK_DECLARE_STATIC_MUTEX(gMutex);
SkDiscardableMemoryPool* SkGetGlobalDiscardableMemoryPool() {
static SkOnce once;

View File

@ -267,7 +267,7 @@ static void show_op(SkPathOp op, const char* pathOne, const char* pathTwo) {
SkDebugf("}\n");
}
static SkMutex gTestMutex;
SK_DECLARE_STATIC_MUTEX(gTestMutex);
void SkPathOpsDebug::ShowPath(const SkPath& a, const SkPath& b, SkPathOp shapeOp,
const char* testName) {
@ -646,7 +646,7 @@ void SkOpSegment::debugMissingCoincidence(const char* id, SkPathOpsDebug::Glitch
}
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 @@ void SkOpSegment::debugMoveMultiples(const char* id, SkPathOpsDebug::GlitchLog*
}
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 @@ void SkOpSegment::debugShowNewWinding(const char* fun, const SkOpSpan* span, int
// 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 @@ void SkOpAngle::debugCheckNearCoincidence() const {
SkDebugf("\n");
}
test = test->fNext;
} while (test->fNext != this);
} while (test->fNext != this);
}
#endif

View File

@ -223,7 +223,7 @@ static void dump_op(const SkPath& one, const SkPath& two, SkPathOp op) {
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 @@ static void dump_op(const SkPath& one, const SkPath& two, SkPathOp op) {
#include "SkMutex.h"
static SkMutex debugWorstLoop;
SK_DECLARE_STATIC_MUTEX(debugWorstLoop);
SkOpGlobalState debugWorstState(nullptr, nullptr SkDEBUGPARAMS(nullptr));
@ -254,7 +254,7 @@ bool OpDebug(const SkPath& one, const SkPath& two, SkPathOp op, SkPath* result,
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]) {

View File

@ -32,7 +32,7 @@ namespace {
// Fontconfig is not threadsafe before 2.10.91. Before that, we lock with a global mutex.
// See https://bug.skia.org/1497 for background.
static SkMutex gFCMutex;
SK_DECLARE_STATIC_MUTEX(gFCMutex);
#ifdef SK_DEBUG
void* CreateThreadFcLocked() { return new bool(false); }

View File

@ -145,7 +145,7 @@ private:
struct SkFaceRec;
static SkMutex gFTMutex;
SK_DECLARE_STATIC_MUTEX(gFTMutex);
static FreeTypeLibrary* gFTLibrary;
static SkFaceRec* gFaceRecHead;

View File

@ -10,7 +10,7 @@
#include "SkMutex.h"
#include "SkRefCnt.h"
static SkMutex gFontConfigInterfaceMutex;
SK_DECLARE_STATIC_MUTEX(gFontConfigInterfaceMutex);
static SkFontConfigInterface* gFontConfigInterface;
SkFontConfigInterface* SkFontConfigInterface::RefGlobal() {

View File

@ -54,7 +54,7 @@
#define USE_GLOBAL_MUTEX_FOR_CG_ACCESS
#ifdef USE_GLOBAL_MUTEX_FOR_CG_ACCESS
static SkMutex gCGMutex;
SK_DECLARE_STATIC_MUTEX(gCGMutex);
#define AUTO_CG_LOCK() SkAutoMutexAcquire amc(gCGMutex)
#else
#define AUTO_CG_LOCK()
@ -550,7 +550,7 @@ static SkTypeface* NewFromName(const char familyName[], const SkFontStyle& theSt
return face;
}
static SkMutex gGetDefaultFaceMutex;
SK_DECLARE_STATIC_MUTEX(gGetDefaultFaceMutex);
static SkTypeface* GetDefaultFace() {
SkAutoMutexAcquire ma(gGetDefaultFaceMutex);

View File

@ -62,7 +62,7 @@ namespace {
// Fontconfig is not threadsafe before 2.10.91. Before that, we lock with a global mutex.
// See https://bug.skia.org/1497 for background.
static SkMutex gFCMutex;
SK_DECLARE_STATIC_MUTEX(gFCMutex);
#ifdef SK_DEBUG
void* CreateThreadFcLocked() { return new bool(false); }

View File

@ -12,7 +12,7 @@
static bool gOnce = false;
static DWORD gTlsIndex;
static SkMutex gMutex;
SK_DECLARE_STATIC_MUTEX(gMutex);
void* SkTLS::PlatformGetSpecific(bool forceCreateTheSlot) {
if (!forceCreateTheSlot && !gOnce) {

View File

@ -257,7 +257,7 @@ SkEventSink* SkEventSink::FindSink(SkEventSinkID sinkID)
#include "SkTDict.h"
#define kMinStringBufferSize 128
static SkMutex gNamedSinkMutex;
SK_DECLARE_STATIC_MUTEX(gNamedSinkMutex);
static SkTDict<SkEventSinkID> gNamedSinkIDs(kMinStringBufferSize);
/** Register a name/id pair with the system. If the name already exists,

View File

@ -331,7 +331,7 @@ void ShowTestArray(const char* testName) {
}
}
static SkMutex compareDebugOut3;
SK_DECLARE_STATIC_MUTEX(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 @@ static void outputToStream(const char* pathStr, const char* pathPrefix, const ch
outFile.flush();
}
static SkMutex simplifyDebugOut;
SK_DECLARE_STATIC_MUTEX(simplifyDebugOut);
bool testSimplify(SkPath& path, bool useXor, SkPath& out, PathOpsThreadState& state,
const char* pathStr) {
@ -578,7 +578,7 @@ bool testPathFailOp(skiatest::Reporter* reporter, const SkPath& a, const SkPath&
return true;
}
static SkMutex gMutex;
SK_DECLARE_STATIC_MUTEX(gMutex);
void initializeTests(skiatest::Reporter* reporter, const char* test) {
#if 0 // doesn't work yet

View File

@ -142,7 +142,7 @@ static const GrGLInterface* create_command_buffer_interface() {
// 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
static SkMutex gDisplayMutex;
SK_DECLARE_STATIC_MUTEX(gDisplayMutex);
static int gActiveDisplayCnt;
SkTArray<EGLDisplay> gRetiredDisplays;

View File

@ -27,7 +27,7 @@ void release_portable_typefaces() {
}
}
static SkMutex gTestFontMutex;
SK_DECLARE_STATIC_MUTEX(gTestFontMutex);
SkTypeface* create_font(const char* name, SkTypeface::Style style) {
SkTestFontData* fontData = nullptr;