| Index: src/gpu/GrProcessor.cpp | 
| diff --git a/src/gpu/GrProcessor.cpp b/src/gpu/GrProcessor.cpp | 
| index 3b8cb679fd47b887897be5bb27262c5c9d935dbe..4bda2e18b6dd93c4fcc32f92515daf75386036d6 100644 | 
| --- a/src/gpu/GrProcessor.cpp | 
| +++ b/src/gpu/GrProcessor.cpp | 
| @@ -12,7 +12,7 @@ | 
| #include "GrInvariantOutput.h" | 
| #include "GrMemoryPool.h" | 
| #include "GrXferProcessor.h" | 
| -#include "SkMutex.h" | 
| +#include "SkSpinlock.h" | 
|  | 
| #if SK_ALLOW_STATIC_GLOBAL_INITIALIZERS | 
|  | 
| @@ -97,17 +97,17 @@ const SkMatrix& TestMatrix(SkRandom* random) { | 
| } | 
|  | 
|  | 
| -// We use a global pool protected by a mutex. Chrome may use the same GrContext on different | 
| -// threads. The GrContext is not used concurrently on different threads and there is a memory | 
| -// barrier between accesses of a context on different threads. Also, there may be multiple | 
| +// We use a global pool protected by a mutex(spinlock). Chrome may use the same GrContext on | 
| +// different threads. The GrContext is not used concurrently on different threads and there is a | 
| +// memory barrier between accesses of a context on different threads. Also, there may be multiple | 
| // GrContexts and those contexts may be in use concurrently on different threads. | 
| namespace { | 
| -SK_DECLARE_STATIC_MUTEX(gProcessorPoolMutex); | 
| +SK_DECLARE_STATIC_SPINLOCK(gProcessorSpinlock); | 
| class MemoryPoolAccessor { | 
| public: | 
| -    MemoryPoolAccessor() { gProcessorPoolMutex.acquire(); } | 
| +    MemoryPoolAccessor() { gProcessorSpinlock.acquire(); } | 
|  | 
| -    ~MemoryPoolAccessor() { gProcessorPoolMutex.release(); } | 
| +    ~MemoryPoolAccessor() { gProcessorSpinlock.release(); } | 
|  | 
| GrMemoryPool* pool() const { | 
| static GrMemoryPool gPool(4096, 4096); | 
|  |