diff --git a/src/platform-posix.cc b/src/platform-posix.cc index 422180806a..34b19d732b 100644 --- a/src/platform-posix.cc +++ b/src/platform-posix.cc @@ -127,13 +127,13 @@ double modulo(double x, double y) { } -static Mutex* math_function_mutex = OS::CreateMutex(); +static LazyMutex math_function_mutex = LAZY_MUTEX_INITIALIZER; #define UNARY_MATH_FUNCTION(name, generator) \ static UnaryMathFunction fast_##name##_function = NULL; \ double fast_##name(double x) { \ if (fast_##name##_function == NULL) { \ - ScopedLock lock(math_function_mutex); \ + ScopedLock lock(math_function_mutex.Pointer()); \ UnaryMathFunction temp = generator; \ MemoryBarrier(); \ fast_##name##_function = temp; \ diff --git a/src/platform-win32.cc b/src/platform-win32.cc index 2a25f044ef..16a5b0bc8a 100644 --- a/src/platform-win32.cc +++ b/src/platform-win32.cc @@ -208,13 +208,13 @@ double modulo(double x, double y) { #endif // _WIN64 -static Mutex* math_function_mutex = OS::CreateMutex(); +static LazyMutex math_function_mutex = LAZY_MUTEX_INITIALIZER; #define UNARY_MATH_FUNCTION(name, generator) \ static UnaryMathFunction fast_##name##_function = NULL; \ double fast_##name(double x) { \ if (fast_##name##_function == NULL) { \ - ScopedLock lock(math_function_mutex); \ + ScopedLock lock(math_function_mutex.Pointer()); \ UnaryMathFunction temp = generator; \ MemoryBarrier(); \ fast_##name##_function = temp; \