Index: src/platform-win32.cc |
diff --git a/src/platform-win32.cc b/src/platform-win32.cc |
index e9e99246cb7924bbc7316aedf6701f8b88be96b6..166db0ac19d882ec6809305f58394498799ab948 100644 |
--- a/src/platform-win32.cc |
+++ b/src/platform-win32.cc |
@@ -143,14 +143,14 @@ static Mutex* limit_mutex = NULL; |
#if defined(V8_TARGET_ARCH_IA32) |
static OS::MemCopyFunction memcopy_function = NULL; |
-static Mutex* memcopy_function_mutex = OS::CreateMutex(); |
+static LazyMutex memcopy_function_mutex = LAZY_MUTEX_INITIALIZER; |
// Defined in codegen-ia32.cc. |
OS::MemCopyFunction CreateMemCopyFunction(); |
// Copy memory area to disjoint memory area. |
void OS::MemCopy(void* dest, const void* src, size_t size) { |
if (memcopy_function == NULL) { |
- ScopedLock lock(memcopy_function_mutex); |
+ ScopedLock lock(memcopy_function_mutex.Pointer()); |
if (memcopy_function == NULL) { |
OS::MemCopyFunction temp = CreateMemCopyFunction(); |
MemoryBarrier(); |
@@ -169,13 +169,13 @@ void OS::MemCopy(void* dest, const void* src, size_t size) { |
#ifdef _WIN64 |
typedef double (*ModuloFunction)(double, double); |
static ModuloFunction modulo_function = NULL; |
-static Mutex* modulo_function_mutex = OS::CreateMutex(); |
+static LazyMutex modulo_function_mutex = LAZY_MUTEX_INITIALIZER; |
// Defined in codegen-x64.cc. |
ModuloFunction CreateModuloFunction(); |
double modulo(double x, double y) { |
if (modulo_function == NULL) { |
- ScopedLock lock(modulo_function_mutex); |
+ ScopedLock lock(modulo_function_mutex.Pointer()); |
if (modulo_function == NULL) { |
ModuloFunction temp = CreateModuloFunction(); |
MemoryBarrier(); |
@@ -2033,7 +2033,7 @@ class SamplerThread : public Thread { |
RuntimeProfilerRateLimiter rate_limiter_; |
// Protects the process wide state below. |
- static Mutex* mutex_; |
+ static LazyMutex mutex_; |
static SamplerThread* instance_; |
private: |
@@ -2041,7 +2041,7 @@ class SamplerThread : public Thread { |
}; |
-Mutex* SamplerThread::mutex_ = OS::CreateMutex(); |
+LazyMutex SamplerThread::mutex_ = LAZY_MUTEX_INITIALIZER; |
SamplerThread* SamplerThread::instance_ = NULL; |