Lines Matching refs:ThreadState

348   ThreadState *thr; // currently wired thread, or nullptr
370 struct ThreadState { struct
452 explicit ThreadState(Context *ctx, int tid, int unique_id, u64 epoch, argument
460 ThreadState *cur_thread();
465 INLINE ThreadState *cur_thread() { in cur_thread()
466 return reinterpret_cast<ThreadState *>(&cur_thread_placeholder); in cur_thread()
476 ThreadState *thr;
639 void ObtainCurrentStack(ThreadState *thr, uptr toppc, StackTraceTy *stack,
661 void ALWAYS_INLINE StatInc(ThreadState *thr, StatType typ, u64 n = 1) {
666 void ALWAYS_INLINE StatSet(ThreadState *thr, StatType typ, u64 n) { in StatSet()
680 void ForkBefore(ThreadState *thr, uptr pc);
681 void ForkParentAfter(ThreadState *thr, uptr pc);
682 void ForkChildAfter(ThreadState *thr, uptr pc);
684 void ReportRace(ThreadState *thr);
685 bool OutputReport(ThreadState *thr, const ScopedReport &srep);
702 u32 CurrentStackId(ThreadState *thr, uptr pc);
704 void PrintCurrentStack(ThreadState *thr, uptr pc);
707 void Initialize(ThreadState *thr);
709 int Finalize(ThreadState *thr);
711 void OnUserAlloc(ThreadState *thr, uptr pc, uptr p, uptr sz, bool write);
712 void OnUserFree(ThreadState *thr, uptr pc, uptr p, bool write);
714 void MemoryAccess(ThreadState *thr, uptr pc, uptr addr,
716 void MemoryAccessImpl(ThreadState *thr, uptr addr,
719 void MemoryAccessRange(ThreadState *thr, uptr pc, uptr addr,
721 void MemoryAccessRangeStep(ThreadState *thr, uptr pc, uptr addr,
723 void UnalignedMemoryAccess(ThreadState *thr, uptr pc, uptr addr,
731 void ALWAYS_INLINE MemoryRead(ThreadState *thr, uptr pc, in MemoryRead()
736 void ALWAYS_INLINE MemoryWrite(ThreadState *thr, uptr pc, in MemoryWrite()
741 void ALWAYS_INLINE MemoryReadAtomic(ThreadState *thr, uptr pc, in MemoryReadAtomic()
746 void ALWAYS_INLINE MemoryWriteAtomic(ThreadState *thr, uptr pc, in MemoryWriteAtomic()
751 void MemoryResetRange(ThreadState *thr, uptr pc, uptr addr, uptr size);
752 void MemoryRangeFreed(ThreadState *thr, uptr pc, uptr addr, uptr size);
753 void MemoryRangeImitateWrite(ThreadState *thr, uptr pc, uptr addr, uptr size);
755 void ThreadIgnoreBegin(ThreadState *thr, uptr pc, bool save_stack = true);
756 void ThreadIgnoreEnd(ThreadState *thr, uptr pc);
757 void ThreadIgnoreSyncBegin(ThreadState *thr, uptr pc, bool save_stack = true);
758 void ThreadIgnoreSyncEnd(ThreadState *thr, uptr pc);
760 void FuncEntry(ThreadState *thr, uptr pc);
761 void FuncExit(ThreadState *thr);
763 int ThreadCreate(ThreadState *thr, uptr pc, uptr uid, bool detached);
764 void ThreadStart(ThreadState *thr, int tid, tid_t os_id, bool workerthread);
765 void ThreadFinish(ThreadState *thr);
766 int ThreadTid(ThreadState *thr, uptr pc, uptr uid);
767 void ThreadJoin(ThreadState *thr, uptr pc, int tid);
768 void ThreadDetach(ThreadState *thr, uptr pc, int tid);
769 void ThreadFinalize(ThreadState *thr);
770 void ThreadSetName(ThreadState *thr, const char *name);
771 int ThreadCount(ThreadState *thr);
772 void ProcessPendingSignals(ThreadState *thr);
776 void ProcWire(Processor *proc, ThreadState *thr);
777 void ProcUnwire(Processor *proc, ThreadState *thr);
781 void MutexCreate(ThreadState *thr, uptr pc, uptr addr, u32 flagz = 0);
782 void MutexDestroy(ThreadState *thr, uptr pc, uptr addr, u32 flagz = 0);
783 void MutexPreLock(ThreadState *thr, uptr pc, uptr addr, u32 flagz = 0);
784 void MutexPostLock(ThreadState *thr, uptr pc, uptr addr, u32 flagz = 0,
786 int MutexUnlock(ThreadState *thr, uptr pc, uptr addr, u32 flagz = 0);
787 void MutexPreReadLock(ThreadState *thr, uptr pc, uptr addr, u32 flagz = 0);
788 void MutexPostReadLock(ThreadState *thr, uptr pc, uptr addr, u32 flagz = 0);
789 void MutexReadUnlock(ThreadState *thr, uptr pc, uptr addr);
790 void MutexReadOrWriteUnlock(ThreadState *thr, uptr pc, uptr addr);
791 void MutexRepair(ThreadState *thr, uptr pc, uptr addr); // call on EOWNERDEAD
792 void MutexInvalidAccess(ThreadState *thr, uptr pc, uptr addr);
794 void Acquire(ThreadState *thr, uptr pc, uptr addr);
801 void AcquireGlobal(ThreadState *thr, uptr pc);
802 void Release(ThreadState *thr, uptr pc, uptr addr);
803 void ReleaseStore(ThreadState *thr, uptr pc, uptr addr);
804 void AfterSleep(ThreadState *thr, uptr pc);
805 void AcquireImpl(ThreadState *thr, uptr pc, SyncClock *c);
806 void ReleaseImpl(ThreadState *thr, uptr pc, SyncClock *c);
807 void ReleaseStoreImpl(ThreadState *thr, uptr pc, SyncClock *c);
808 void AcquireReleaseImpl(ThreadState *thr, uptr pc, SyncClock *c);
831 void TraceSwitch(ThreadState *thr);
832 uptr TraceTopPC(ThreadState *thr);
838 void ALWAYS_INLINE TraceAddEvent(ThreadState *thr, FastState fs, in TraceAddEvent()