Lines Matching defs:thr
337 ThreadState *thr; // currently wired thread, or nullptr
464 ThreadState *thr;
591 void ObtainCurrentStack(ThreadState *thr, uptr toppc, StackTraceTy *stack) {
592 uptr size = thr->shadow_stack_pos - thr->shadow_stack;
598 stack->Init(&thr->shadow_stack[start], size, toppc);
607 void ALWAYS_INLINE StatInc(ThreadState *thr, StatType typ, u64 n = 1) {
609 thr->stat[typ] += n;
612 void ALWAYS_INLINE StatSet(ThreadState *thr, StatType typ, u64 n) {
614 thr->stat[typ] = n;
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,
678 MemoryAccess(thr, pc, addr, kAccessSizeLog, false, false);
681 void ALWAYS_INLINE MemoryWrite(ThreadState *thr, uptr pc,
683 MemoryAccess(thr, pc, addr, kAccessSizeLog, true, false);
686 void ALWAYS_INLINE MemoryReadAtomic(ThreadState *thr, uptr pc,
688 MemoryAccess(thr, pc, addr, kAccessSizeLog, false, true);
691 void ALWAYS_INLINE MemoryWriteAtomic(ThreadState *thr, uptr pc,
693 MemoryAccess(thr, pc, addr, kAccessSizeLog, true, true);
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,
787 StatInc(thr, StatEvents);
793 TraceSwitch(thr);