Lines Matching refs:Thread
54 class Thread; variable
105 void RegisterAsLocked(Thread* self);
106 void RegisterAsUnlocked(Thread* self);
107 void CheckSafeToWait(Thread* self);
170 void ExclusiveLock(Thread* self) ACQUIRE();
171 void Lock(Thread* self) ACQUIRE() { ExclusiveLock(self); } in Lock()
174 bool ExclusiveTryLock(Thread* self) TRY_ACQUIRE(true);
175 bool TryLock(Thread* self) TRY_ACQUIRE(true) { return ExclusiveTryLock(self); } in TryLock()
178 void ExclusiveUnlock(Thread* self) RELEASE();
179 void Unlock(Thread* self) RELEASE() { ExclusiveUnlock(self); } in Unlock()
182 ALWAYS_INLINE bool IsExclusiveHeld(const Thread* self) const;
185 ALWAYS_INLINE void AssertExclusiveHeld(const Thread* self) const ASSERT_CAPABILITY(this);
186 ALWAYS_INLINE void AssertHeld(const Thread* self) const ASSERT_CAPABILITY(this);
189 void AssertNotHeldExclusive(const Thread* self) ASSERT_CAPABILITY(!*this) { in AssertNotHeldExclusive()
194 void AssertNotHeld(const Thread* self) ASSERT_CAPABILITY(!*this) { in AssertNotHeld()
281 void ExclusiveLock(Thread* self) ACQUIRE();
282 void WriterLock(Thread* self) ACQUIRE() { ExclusiveLock(self); } in WriterLock()
285 void ExclusiveUnlock(Thread* self) RELEASE();
286 void WriterUnlock(Thread* self) RELEASE() { ExclusiveUnlock(self); } in WriterUnlock()
291 bool ExclusiveLockWithTimeout(Thread* self, int64_t ms, int32_t ns)
296 void SharedLock(Thread* self) ACQUIRE_SHARED() ALWAYS_INLINE;
297 void ReaderLock(Thread* self) ACQUIRE_SHARED() { SharedLock(self); } in ReaderLock()
300 bool SharedTryLock(Thread* self) SHARED_TRYLOCK_FUNCTION(true);
303 void SharedUnlock(Thread* self) RELEASE_SHARED() ALWAYS_INLINE;
304 void ReaderUnlock(Thread* self) RELEASE_SHARED() { SharedUnlock(self); } in ReaderUnlock()
307 ALWAYS_INLINE bool IsExclusiveHeld(const Thread* self) const;
310 ALWAYS_INLINE void AssertExclusiveHeld(const Thread* self) const ASSERT_CAPABILITY(this);
311 ALWAYS_INLINE void AssertWriterHeld(const Thread* self) const ASSERT_CAPABILITY(this);
314 void AssertNotExclusiveHeld(const Thread* self) ASSERT_CAPABILITY(!this) { in AssertNotExclusiveHeld()
319 void AssertNotWriterHeld(const Thread* self) ASSERT_CAPABILITY(!this) { in AssertNotWriterHeld()
324 bool IsSharedHeld(const Thread* self) const;
327 ALWAYS_INLINE void AssertSharedHeld(const Thread* self) ASSERT_SHARED_CAPABILITY(this) { in AssertSharedHeld()
333 ALWAYS_INLINE void AssertReaderHeld(const Thread* self) ASSERT_SHARED_CAPABILITY(this) { in AssertReaderHeld()
339 ALWAYS_INLINE void AssertNotHeld(const Thread* self) ASSERT_SHARED_CAPABILITY(!this) { in AssertNotHeld()
360 void HandleSharedLockContention(Thread* self, int32_t cur_state);
403 friend class Thread;
404 void TransitionFromRunnableToSuspended(Thread* self) UNLOCK_FUNCTION() ALWAYS_INLINE;
405 void TransitionFromSuspendedToRunnable(Thread* self) SHARED_LOCK_FUNCTION() ALWAYS_INLINE;
418 void Broadcast(Thread* self);
420 void Signal(Thread* self);
423 void Wait(Thread* self) NO_THREAD_SAFETY_ANALYSIS;
424 bool TimedWait(Thread* self, int64_t ms, int32_t ns) NO_THREAD_SAFETY_ANALYSIS;
428 void WaitHoldingLocks(Thread* self) NO_THREAD_SAFETY_ANALYSIS;
430 void CheckSafeToWait(Thread* self) NO_THREAD_SAFETY_ANALYSIS { in CheckSafeToWait()
462 MutexLock(Thread* self, Mutex& mu) ACQUIRE(mu) : self_(self), mu_(mu) { in MutexLock()
471 Thread* const self_;
480 ALWAYS_INLINE ReaderMutexLock(Thread* self, ReaderWriterMutex& mu) ACQUIRE(mu);
485 Thread* const self_;
494 WriterMutexLock(Thread* self, ReaderWriterMutex& mu) EXCLUSIVE_LOCK_FUNCTION(mu) : in WriterMutexLock()
504 Thread* const self_;