Lines Matching refs:ThreadState

343   ThreadState *thr; // currently wired thread, or nullptr
365 struct ThreadState { struct
381 ThreadState* current; argument
450 explicit ThreadState(Context *ctx, int tid, int unique_id, u64 epoch, argument
458 ThreadState *cur_thread();
459 void set_cur_thread(ThreadState *thr);
465 inline ThreadState *cur_thread() { in cur_thread()
466 return reinterpret_cast<ThreadState *>(cur_thread_placeholder)->current; in cur_thread()
469 ThreadState *thr = reinterpret_cast<ThreadState *>(cur_thread_placeholder); in cur_thread_init()
473 inline void set_cur_thread(ThreadState *thr) { in set_cur_thread()
474 reinterpret_cast<ThreadState *>(cur_thread_placeholder)->current = thr; in set_cur_thread()
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) { in StatSet()
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, in MemoryRead()
745 void ALWAYS_INLINE MemoryWrite(ThreadState *thr, uptr pc, in MemoryWrite()
750 void ALWAYS_INLINE MemoryReadAtomic(ThreadState *thr, uptr pc, in MemoryReadAtomic()
755 void ALWAYS_INLINE MemoryWriteAtomic(ThreadState *thr, uptr pc, in MemoryWriteAtomic()
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, in TraceAddEvent()
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);