Lines Matching refs:self
108 void RegisterAsLocked(Thread* self);
110 void RegisterAsUnlocked(Thread* self);
111 void CheckSafeToWait(Thread* self);
180 void ExclusiveLock(Thread* self) ACQUIRE();
181 void Lock(Thread* self) ACQUIRE() { ExclusiveLock(self); } in Lock() argument
184 bool ExclusiveTryLock(Thread* self) TRY_ACQUIRE(true);
185 bool TryLock(Thread* self) TRY_ACQUIRE(true) { return ExclusiveTryLock(self); } in TryLock() argument
187 bool ExclusiveTryLockWithSpinning(Thread* self) TRY_ACQUIRE(true);
190 void ExclusiveUnlock(Thread* self) RELEASE();
191 void Unlock(Thread* self) RELEASE() { ExclusiveUnlock(self); } in Unlock() argument
194 ALWAYS_INLINE bool IsExclusiveHeld(const Thread* self) const;
197 ALWAYS_INLINE void AssertExclusiveHeld(const Thread* self) const ASSERT_CAPABILITY(this);
198 ALWAYS_INLINE void AssertHeld(const Thread* self) const ASSERT_CAPABILITY(this);
201 void AssertNotHeldExclusive(const Thread* self) ASSERT_CAPABILITY(!*this) { in AssertNotHeldExclusive() argument
203 CHECK(!IsExclusiveHeld(self)) << *this; in AssertNotHeldExclusive()
206 void AssertNotHeld(const Thread* self) ASSERT_CAPABILITY(!*this) { in AssertNotHeld() argument
207 AssertNotHeldExclusive(self); in AssertNotHeld()
224 void DumpStack(Thread *self, uint64_t wait_start_ms, uint64_t try_times = 1);
226 static bool IsDumpFrequent(Thread *self, uint64_t try_times = 1);
323 void ExclusiveLock(Thread* self) ACQUIRE();
324 void WriterLock(Thread* self) ACQUIRE() { ExclusiveLock(self); } in WriterLock() argument
327 void ExclusiveUnlock(Thread* self) RELEASE();
328 void WriterUnlock(Thread* self) RELEASE() { ExclusiveUnlock(self); } in WriterUnlock() argument
333 bool ExclusiveLockWithTimeout(Thread* self, int64_t ms, int32_t ns)
338 void SharedLock(Thread* self) ACQUIRE_SHARED() ALWAYS_INLINE;
339 void ReaderLock(Thread* self) ACQUIRE_SHARED() { SharedLock(self); } in ReaderLock() argument
342 bool SharedTryLock(Thread* self) SHARED_TRYLOCK_FUNCTION(true);
345 void SharedUnlock(Thread* self) RELEASE_SHARED() ALWAYS_INLINE;
346 void ReaderUnlock(Thread* self) RELEASE_SHARED() { SharedUnlock(self); } in ReaderUnlock() argument
349 ALWAYS_INLINE bool IsExclusiveHeld(const Thread* self) const;
352 ALWAYS_INLINE void AssertExclusiveHeld(const Thread* self) const ASSERT_CAPABILITY(this);
353 ALWAYS_INLINE void AssertWriterHeld(const Thread* self) const ASSERT_CAPABILITY(this);
356 void AssertNotExclusiveHeld(const Thread* self) ASSERT_CAPABILITY(!this) { in AssertNotExclusiveHeld() argument
358 CHECK(!IsExclusiveHeld(self)) << *this; in AssertNotExclusiveHeld()
361 void AssertNotWriterHeld(const Thread* self) ASSERT_CAPABILITY(!this) { in AssertNotWriterHeld() argument
362 AssertNotExclusiveHeld(self); in AssertNotWriterHeld()
366 bool IsSharedHeld(const Thread* self) const;
369 ALWAYS_INLINE void AssertSharedHeld(const Thread* self) ASSERT_SHARED_CAPABILITY(this) { in AssertSharedHeld() argument
372 CHECK(IsSharedHeld(self) || self == nullptr) << *this; in AssertSharedHeld()
375 ALWAYS_INLINE void AssertReaderHeld(const Thread* self) ASSERT_SHARED_CAPABILITY(this) { in AssertReaderHeld() argument
376 AssertSharedHeld(self); in AssertReaderHeld()
381 ALWAYS_INLINE void AssertNotHeld(const Thread* self) ASSERT_CAPABILITY(!this) { in AssertNotHeld() argument
383 CHECK(!IsExclusiveHeld(self)) << *this; in AssertNotHeld()
384 CHECK(!IsSharedHeld(self)) << *this; in AssertNotHeld()
403 void HandleSharedLockContention(Thread* self, int32_t cur_state);
448 void TransitionFromRunnableToSuspended(Thread* self) UNLOCK_FUNCTION() ALWAYS_INLINE;
449 void TransitionFromSuspendedToRunnable(Thread* self) SHARED_LOCK_FUNCTION() ALWAYS_INLINE;
462 void Broadcast(Thread* self);
464 void Signal(Thread* self);
467 void Wait(Thread* self) NO_THREAD_SAFETY_ANALYSIS;
468 bool TimedWait(Thread* self, int64_t ms, int32_t ns) NO_THREAD_SAFETY_ANALYSIS;
472 void WaitHoldingLocks(Thread* self) NO_THREAD_SAFETY_ANALYSIS;
474 void CheckSafeToWait(Thread* self) NO_THREAD_SAFETY_ANALYSIS { in CheckSafeToWait() argument
476 guard_.CheckSafeToWait(self); in CheckSafeToWait()
506 MutexLock(Thread* self, Mutex& mu) ACQUIRE(mu) : self_(self), mu_(mu) { in MutexLock() argument
524 ALWAYS_INLINE ReaderMutexLock(Thread* self, ReaderWriterMutex& mu) ACQUIRE(mu);
538 WriterMutexLock(Thread* self, ReaderWriterMutex& mu) EXCLUSIVE_LOCK_FUNCTION(mu) : in WriterMutexLock() argument
539 self_(self), mu_(mu) { in WriterMutexLock()