5 #ifndef V8_BASE_PLATFORM_MUTEX_H_
6 #define V8_BASE_PLATFORM_MUTEX_H_
63 return native_handle_;
66 return native_handle_;
70 NativeHandle native_handle_;
89 friend class ConditionVariable;
107 #define LAZY_MUTEX_INITIALIZER LAZY_STATIC_INSTANCE_INITIALIZER
130 class RecursiveMutex
FINAL {
158 return native_handle_;
161 return native_handle_;
165 NativeHandle native_handle_;
188 #define LAZY_RECURSIVE_MUTEX_INITIALIZER LAZY_STATIC_INSTANCE_INITIALIZER
201 template <
typename Mutex>
202 class LockGuard
FINAL {
204 explicit LockGuard(Mutex* mutex) : mutex_(mutex) { mutex_->Lock(); }
Mutex::NativeHandle NativeHandle
DISALLOW_COPY_AND_ASSIGN(Mutex)
DISALLOW_COPY_AND_ASSIGN(RecursiveMutex)
const NativeHandle & native_handle() const
void AssertUnheldAndMark()
void AssertHeldAndUnmark()
DISALLOW_COPY_AND_ASSIGN(LockGuard)
bool TryLock() WARN_UNUSED_RESULT
NativeHandle & native_handle()
#define WARN_UNUSED_RESULT
#define DCHECK_EQ(v1, v2)
LazyStaticInstance< Mutex, DefaultConstructTrait< Mutex >, ThreadSafeInitOnceTrait >::type LazyMutex
LazyStaticInstance< RecursiveMutex, DefaultConstructTrait< RecursiveMutex >, ThreadSafeInitOnceTrait >::type LazyRecursiveMutex
Debugger support for the V8 JavaScript engine.