Lines Matching refs:ThreadState
337 ThreadState *thr; // currently wired thread, or nullptr
359 struct ThreadState { struct
440 explicit ThreadState(Context *ctx, int tid, int unique_id, u64 epoch, argument
448 ThreadState *cur_thread();
453 INLINE ThreadState *cur_thread() { in cur_thread()
454 return reinterpret_cast<ThreadState *>(&cur_thread_placeholder); in cur_thread()
464 ThreadState *thr;
591 void ObtainCurrentStack(ThreadState *thr, uptr toppc, StackTraceTy *stack) { in ObtainCurrentStack()
607 void ALWAYS_INLINE StatInc(ThreadState *thr, StatType typ, u64 n = 1) {
612 void ALWAYS_INLINE StatSet(ThreadState *thr, StatType typ, u64 n) { in StatSet()
626 void ForkBefore(ThreadState *thr, uptr pc);
627 void ForkParentAfter(ThreadState *thr, uptr pc);
628 void ForkChildAfter(ThreadState *thr, uptr pc);
630 void ReportRace(ThreadState *thr);
631 bool OutputReport(ThreadState *thr, const ScopedReport &srep);
648 u32 CurrentStackId(ThreadState *thr, uptr pc);
650 void PrintCurrentStack(ThreadState *thr, uptr pc);
653 void Initialize(ThreadState *thr);
654 int Finalize(ThreadState *thr);
656 void OnUserAlloc(ThreadState *thr, uptr pc, uptr p, uptr sz, bool write);
657 void OnUserFree(ThreadState *thr, uptr pc, uptr p, bool write);
659 void MemoryAccess(ThreadState *thr, uptr pc, uptr addr,
661 void MemoryAccessImpl(ThreadState *thr, uptr addr,
664 void MemoryAccessRange(ThreadState *thr, uptr pc, uptr addr,
666 void MemoryAccessRangeStep(ThreadState *thr, uptr pc, uptr addr,
668 void UnalignedMemoryAccess(ThreadState *thr, uptr pc, uptr addr,
676 void ALWAYS_INLINE MemoryRead(ThreadState *thr, uptr pc, in MemoryRead()
681 void ALWAYS_INLINE MemoryWrite(ThreadState *thr, uptr pc, in MemoryWrite()
686 void ALWAYS_INLINE MemoryReadAtomic(ThreadState *thr, uptr pc, in MemoryReadAtomic()
691 void ALWAYS_INLINE MemoryWriteAtomic(ThreadState *thr, uptr pc, in MemoryWriteAtomic()
696 void MemoryResetRange(ThreadState *thr, uptr pc, uptr addr, uptr size);
697 void MemoryRangeFreed(ThreadState *thr, uptr pc, uptr addr, uptr size);
698 void MemoryRangeImitateWrite(ThreadState *thr, uptr pc, uptr addr, uptr size);
700 void ThreadIgnoreBegin(ThreadState *thr, uptr pc);
701 void ThreadIgnoreEnd(ThreadState *thr, uptr pc);
702 void ThreadIgnoreSyncBegin(ThreadState *thr, uptr pc);
703 void ThreadIgnoreSyncEnd(ThreadState *thr, uptr pc);
705 void FuncEntry(ThreadState *thr, uptr pc);
706 void FuncExit(ThreadState *thr);
708 int ThreadCreate(ThreadState *thr, uptr pc, uptr uid, bool detached);
709 void ThreadStart(ThreadState *thr, int tid, uptr os_id);
710 void ThreadFinish(ThreadState *thr);
711 int ThreadTid(ThreadState *thr, uptr pc, uptr uid);
712 void ThreadJoin(ThreadState *thr, uptr pc, int tid);
713 void ThreadDetach(ThreadState *thr, uptr pc, int tid);
714 void ThreadFinalize(ThreadState *thr);
715 void ThreadSetName(ThreadState *thr, const char *name);
716 int ThreadCount(ThreadState *thr);
717 void ProcessPendingSignals(ThreadState *thr);
721 void ProcWire(Processor *proc, ThreadState *thr);
722 void ProcUnwire(Processor *proc, ThreadState *thr);
724 void MutexCreate(ThreadState *thr, uptr pc, uptr addr,
726 void MutexDestroy(ThreadState *thr, uptr pc, uptr addr);
727 void MutexLock(ThreadState *thr, uptr pc, uptr addr, int rec = 1,
729 int MutexUnlock(ThreadState *thr, uptr pc, uptr addr, bool all = false);
730 void MutexReadLock(ThreadState *thr, uptr pc, uptr addr, bool try_lock = false);
731 void MutexReadUnlock(ThreadState *thr, uptr pc, uptr addr);
732 void MutexReadOrWriteUnlock(ThreadState *thr, uptr pc, uptr addr);
733 void MutexRepair(ThreadState *thr, uptr pc, uptr addr); // call on EOWNERDEAD
734 void MutexInvalidAccess(ThreadState *thr, uptr pc, uptr addr);
736 void Acquire(ThreadState *thr, uptr pc, uptr addr);
743 void AcquireGlobal(ThreadState *thr, uptr pc);
744 void Release(ThreadState *thr, uptr pc, uptr addr);
745 void ReleaseStore(ThreadState *thr, uptr pc, uptr addr);
746 void AfterSleep(ThreadState *thr, uptr pc);
747 void AcquireImpl(ThreadState *thr, uptr pc, SyncClock *c);
748 void ReleaseImpl(ThreadState *thr, uptr pc, SyncClock *c);
749 void ReleaseStoreImpl(ThreadState *thr, uptr pc, SyncClock *c);
750 void AcquireReleaseImpl(ThreadState *thr, uptr pc, SyncClock *c);
773 void TraceSwitch(ThreadState *thr);
774 uptr TraceTopPC(ThreadState *thr);
780 void ALWAYS_INLINE TraceAddEvent(ThreadState *thr, FastState fs, in TraceAddEvent()