• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/contrib/llvm-project/compiler-rt/lib/tsan/rtl/

Lines Matching refs:ThreadState

337 // In C++ it is tied to an OS thread just like ThreadState, however ideally
340 // ThreadState's (which are tied to Gs).
341 // A ThreadState must be wired with a Processor to handle events.
343 ThreadState *thr; // currently wired thread, or nullptr
365 struct ThreadState {
374 // QUESTION: can we can squeeze this into ThreadState::Fast?
375 // E.g. ThreadState::Fast is a 44-bit, 32 are taken by synch_epoch and 12 are
381 ThreadState* current;
450 explicit ThreadState(Context *ctx, int tid, int unique_id, u64 epoch,
458 ThreadState *cur_thread();
459 void set_cur_thread(ThreadState *thr);
465 INLINE ThreadState *cur_thread() {
466 return reinterpret_cast<ThreadState *>(cur_thread_placeholder)->current;
469 ThreadState *thr = reinterpret_cast<ThreadState *>(cur_thread_placeholder);
473 INLINE void set_cur_thread(ThreadState *thr) {
474 reinterpret_cast<ThreadState *>(cur_thread_placeholder)->current = thr;
484 ThreadState *thr;
647 void ObtainCurrentStack(ThreadState *thr, uptr toppc, StackTraceTy *stack,
669 void ALWAYS_INLINE StatInc(ThreadState *thr, StatType typ, u64 n = 1) {
674 void ALWAYS_INLINE StatSet(ThreadState *thr, StatType typ, u64 n) {
683 void UnmapShadow(ThreadState *thr, uptr addr, uptr size);
689 void ForkBefore(ThreadState *thr, uptr pc);
690 void ForkParentAfter(ThreadState *thr, uptr pc);
691 void ForkChildAfter(ThreadState *thr, uptr pc);
693 void ReportRace(ThreadState *thr);
694 bool OutputReport(ThreadState *thr, const ScopedReport &srep);
711 u32 CurrentStackId(ThreadState *thr, uptr pc);
713 void PrintCurrentStack(ThreadState *thr, uptr pc);
716 void Initialize(ThreadState *thr);
718 int Finalize(ThreadState *thr);
720 void OnUserAlloc(ThreadState *thr, uptr pc, uptr p, uptr sz, bool write);
721 void OnUserFree(ThreadState *thr, uptr pc, uptr p, bool write);
723 void MemoryAccess(ThreadState *thr, uptr pc, uptr addr,
725 void MemoryAccessImpl(ThreadState *thr, uptr addr,
728 void MemoryAccessRange(ThreadState *thr, uptr pc, uptr addr,
730 void MemoryAccessRangeStep(ThreadState *thr, uptr pc, uptr addr,
732 void UnalignedMemoryAccess(ThreadState *thr, uptr pc, uptr addr,
740 void ALWAYS_INLINE MemoryRead(ThreadState *thr, uptr pc,
745 void ALWAYS_INLINE MemoryWrite(ThreadState *thr, uptr pc,
750 void ALWAYS_INLINE MemoryReadAtomic(ThreadState *thr, uptr pc,
755 void ALWAYS_INLINE MemoryWriteAtomic(ThreadState *thr, uptr pc,
760 void MemoryResetRange(ThreadState *thr, uptr pc, uptr addr, uptr size);
761 void MemoryRangeFreed(ThreadState *thr, uptr pc, uptr addr, uptr size);
762 void MemoryRangeImitateWrite(ThreadState *thr, uptr pc, uptr addr, uptr size);
763 void MemoryRangeImitateWriteOrResetRange(ThreadState *thr, uptr pc, uptr addr,
766 void ThreadIgnoreBegin(ThreadState *thr, uptr pc, bool save_stack = true);
767 void ThreadIgnoreEnd(ThreadState *thr, uptr pc);
768 void ThreadIgnoreSyncBegin(ThreadState *thr, uptr pc, bool save_stack = true);
769 void ThreadIgnoreSyncEnd(ThreadState *thr, uptr pc);
771 void FuncEntry(ThreadState *thr, uptr pc);
772 void FuncExit(ThreadState *thr);
774 int ThreadCreate(ThreadState *thr, uptr pc, uptr uid, bool detached);
775 void ThreadStart(ThreadState *thr, int tid, tid_t os_id,
777 void ThreadFinish(ThreadState *thr);
778 int ThreadConsumeTid(ThreadState *thr, uptr pc, uptr uid);
779 void ThreadJoin(ThreadState *thr, uptr pc, int tid);
780 void ThreadDetach(ThreadState *thr, uptr pc, int tid);
781 void ThreadFinalize(ThreadState *thr);
782 void ThreadSetName(ThreadState *thr, const char *name);
783 int ThreadCount(ThreadState *thr);
784 void ProcessPendingSignals(ThreadState *thr);
785 void ThreadNotJoined(ThreadState *thr, uptr pc, int tid, uptr uid);
789 void ProcWire(Processor *proc, ThreadState *thr);
790 void ProcUnwire(Processor *proc, ThreadState *thr);
794 void MutexCreate(ThreadState *thr, uptr pc, uptr addr, u32 flagz = 0);
795 void MutexDestroy(ThreadState *thr, uptr pc, uptr addr, u32 flagz = 0);
796 void MutexPreLock(ThreadState *thr, uptr pc, uptr addr, u32 flagz = 0);
797 void MutexPostLock(ThreadState *thr, uptr pc, uptr addr, u32 flagz = 0,
799 int MutexUnlock(ThreadState *thr, uptr pc, uptr addr, u32 flagz = 0);
800 void MutexPreReadLock(ThreadState *thr, uptr pc, uptr addr, u32 flagz = 0);
801 void MutexPostReadLock(ThreadState *thr, uptr pc, uptr addr, u32 flagz = 0);
802 void MutexReadUnlock(ThreadState *thr, uptr pc, uptr addr);
803 void MutexReadOrWriteUnlock(ThreadState *thr, uptr pc, uptr addr);
804 void MutexRepair(ThreadState *thr, uptr pc, uptr addr); // call on EOWNERDEAD
805 void MutexInvalidAccess(ThreadState *thr, uptr pc, uptr addr);
807 void Acquire(ThreadState *thr, uptr pc, uptr addr);
814 void AcquireGlobal(ThreadState *thr, uptr pc);
815 void Release(ThreadState *thr, uptr pc, uptr addr);
816 void ReleaseStoreAcquire(ThreadState *thr, uptr pc, uptr addr);
817 void ReleaseStore(ThreadState *thr, uptr pc, uptr addr);
818 void AfterSleep(ThreadState *thr, uptr pc);
819 void AcquireImpl(ThreadState *thr, uptr pc, SyncClock *c);
820 void ReleaseImpl(ThreadState *thr, uptr pc, SyncClock *c);
821 void ReleaseStoreAcquireImpl(ThreadState *thr, uptr pc, SyncClock *c);
822 void ReleaseStoreImpl(ThreadState *thr, uptr pc, SyncClock *c);
823 void AcquireReleaseImpl(ThreadState *thr, uptr pc, SyncClock *c);
846 void TraceSwitch(ThreadState *thr);
847 uptr TraceTopPC(ThreadState *thr);
853 void ALWAYS_INLINE TraceAddEvent(ThreadState *thr, FastState fs,
881 ThreadState *FiberCreate(ThreadState *thr, uptr pc, unsigned flags);
882 void FiberDestroy(ThreadState *thr, uptr pc, ThreadState *fiber);
883 void FiberSwitch(ThreadState *thr, uptr pc, ThreadState *fiber, unsigned flags);