Lines Matching refs:FactMan

138   handleRemovalFromIntersection(const FactSet &FSet, FactManager &FactMan,
141 virtual void handleLock(FactSet &FSet, FactManager &FactMan,
144 virtual void handleUnlock(FactSet &FSet, FactManager &FactMan,
198 bool isEmpty(FactManager &FactMan) const { in isEmpty()
200 if (!FactMan[FID].negative()) in isEmpty()
864 handleRemovalFromIntersection(const FactSet &FSet, FactManager &FactMan, in handleRemovalFromIntersection() argument
873 void handleLock(FactSet &FSet, FactManager &FactMan, const FactEntry &entry, in handleLock() argument
879 void handleUnlock(FactSet &FSet, FactManager &FactMan, in handleUnlock() argument
883 FSet.removeLock(FactMan, Cp); in handleUnlock()
885 FSet.addLock(FactMan, std::make_unique<LockableFactEntry>( in handleUnlock()
923 handleRemovalFromIntersection(const FactSet &FSet, FactManager &FactMan, in handleRemovalFromIntersection() argument
927 const auto *Entry = FSet.findLock(FactMan, UnderlyingMutex.Cap); in handleRemovalFromIntersection()
939 void handleLock(FactSet &FSet, FactManager &FactMan, const FactEntry &entry, in handleLock() argument
943 lock(FSet, FactMan, UnderlyingMutex.Cap, entry.kind(), entry.loc(), in handleLock()
946 unlock(FSet, FactMan, UnderlyingMutex.Cap, entry.loc(), &Handler); in handleLock()
950 void handleUnlock(FactSet &FSet, FactManager &FactMan, in handleUnlock() argument
960 unlock(FSet, FactMan, UnderlyingMutex.Cap, UnlockLoc, TSHandler); in handleUnlock()
965 lock(FSet, FactMan, UnderlyingMutex.Cap, kind, UnlockLoc, TSHandler); in handleUnlock()
969 FSet.removeLock(FactMan, Cp); in handleUnlock()
973 void lock(FactSet &FSet, FactManager &FactMan, const CapabilityExpr &Cp, in lock() argument
976 if (const FactEntry *Fact = FSet.findLock(FactMan, Cp)) { in lock()
981 FSet.removeLock(FactMan, !Cp); in lock()
982 FSet.addLock(FactMan, in lock()
987 void unlock(FactSet &FSet, FactManager &FactMan, const CapabilityExpr &Cp, in unlock() argument
989 if (FSet.findLock(FactMan, Cp)) { in unlock()
990 FSet.removeLock(FactMan, Cp); in unlock()
991 FSet.addLock(FactMan, std::make_unique<LockableFactEntry>( in unlock()
995 if (const FactEntry *Neg = FSet.findLock(FactMan, !Cp)) in unlock()
1014 FactManager FactMan; member in __anon6254f0e10a11::ThreadSafetyAnalyzer
1159 if (FSet.containsMutexDecl(Analyzer.FactMan, Vdb)) { in checkBeforeAfter()
1254 const FactEntry *Nen = FSet.findLock(FactMan, NegC); in addLock()
1256 FSet.removeLock(FactMan, NegC); in addLock()
1273 if (const FactEntry *Cp = FSet.findLock(FactMan, *Entry)) { in addLock()
1275 Cp->handleLock(FSet, FactMan, *Entry, Handler); in addLock()
1277 FSet.addLock(FactMan, std::move(Entry)); in addLock()
1289 const FactEntry *LDat = FSet.findLock(FactMan, Cp); in removeLock()
1292 if (const FactEntry *Neg = FSet.findLock(FactMan, !Cp)) in removeLock()
1306 LDat->handleUnlock(FSet, FactMan, Cp, UnlockLoc, FullyRemove, Handler); in removeLock()
1585 const FactEntry *LDat = FSet.findLock(Analyzer->FactMan, !Cp); in warnIfMutexNotHeld()
1598 LDat = FSet.findLock(Analyzer->FactMan, Cp); in warnIfMutexNotHeld()
1605 const FactEntry *LDat = FSet.findLockUniv(Analyzer->FactMan, Cp); in warnIfMutexNotHeld()
1609 LDat = FSet.findPartialMatch(Analyzer->FactMan, Cp); in warnIfMutexNotHeld()
1641 const FactEntry *LDat = FSet.findLock(Analyzer->FactMan, Cp); in warnIfMutexHeld()
1709 if (D->hasAttr<GuardedVarAttr>() && FSet.isEmpty(Analyzer->FactMan)) { in checkAccess()
1747 if (D->hasAttr<PtGuardedVarAttr>() && FSet.isEmpty(Analyzer->FactMan)) in checkPtAccess()
2184 const FactEntry &ExitFact = FactMan[Fact]; in intersectAndWarn()
2186 FactSet::iterator EntryIt = EntrySet.findLockIter(FactMan, ExitFact); in intersectAndWarn()
2188 if (join(FactMan[*EntryIt], ExitFact, in intersectAndWarn()
2192 ExitFact.handleRemovalFromIntersection(ExitSet, FactMan, JoinLoc, in intersectAndWarn()
2199 const FactEntry *EntryFact = &FactMan[Fact]; in intersectAndWarn()
2200 const FactEntry *ExitFact = ExitSet.findLock(FactMan, *EntryFact); in intersectAndWarn()
2204 EntryFact->handleRemovalFromIntersection(EntrySetOrig, FactMan, JoinLoc, in intersectAndWarn()
2207 EntrySet.removeLock(FactMan, *EntryFact); in intersectAndWarn()
2461 ExpectedExitSet.addLock(FactMan, std::make_unique<LockableFactEntry>( in runAnalysis()
2464 ExpectedExitSet.addLock(FactMan, std::make_unique<LockableFactEntry>( in runAnalysis()
2467 ExpectedExitSet.removeLock(FactMan, Lock); in runAnalysis()