| 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;
|
|
|
|
|
|
|