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()
863 handleRemovalFromIntersection(const FactSet &FSet, FactManager &FactMan, in handleRemovalFromIntersection() argument
872 void handleLock(FactSet &FSet, FactManager &FactMan, const FactEntry &entry, in handleLock() argument
878 void handleUnlock(FactSet &FSet, FactManager &FactMan, in handleUnlock() argument
882 FSet.removeLock(FactMan, Cp); in handleUnlock()
884 FSet.addLock(FactMan, std::make_unique<LockableFactEntry>( in handleUnlock()
922 handleRemovalFromIntersection(const FactSet &FSet, FactManager &FactMan, in handleRemovalFromIntersection() argument
926 const auto *Entry = FSet.findLock(FactMan, UnderlyingMutex.Cap); in handleRemovalFromIntersection()
938 void handleLock(FactSet &FSet, FactManager &FactMan, const FactEntry &entry, in handleLock() argument
942 lock(FSet, FactMan, UnderlyingMutex.Cap, entry.kind(), entry.loc(), in handleLock()
945 unlock(FSet, FactMan, UnderlyingMutex.Cap, entry.loc(), &Handler); in handleLock()
949 void handleUnlock(FactSet &FSet, FactManager &FactMan, in handleUnlock() argument
959 unlock(FSet, FactMan, UnderlyingMutex.Cap, UnlockLoc, TSHandler); in handleUnlock()
964 lock(FSet, FactMan, UnderlyingMutex.Cap, kind, UnlockLoc, TSHandler); in handleUnlock()
968 FSet.removeLock(FactMan, Cp); in handleUnlock()
972 void lock(FactSet &FSet, FactManager &FactMan, const CapabilityExpr &Cp, in lock() argument
975 if (const FactEntry *Fact = FSet.findLock(FactMan, Cp)) { in lock()
980 FSet.removeLock(FactMan, !Cp); in lock()
981 FSet.addLock(FactMan, in lock()
986 void unlock(FactSet &FSet, FactManager &FactMan, const CapabilityExpr &Cp, in unlock() argument
988 if (FSet.findLock(FactMan, Cp)) { in unlock()
989 FSet.removeLock(FactMan, Cp); in unlock()
990 FSet.addLock(FactMan, std::make_unique<LockableFactEntry>( in unlock()
994 if (const FactEntry *Neg = FSet.findLock(FactMan, !Cp)) in unlock()
1015 FactManager FactMan; member in __anoneb5110e70a11::ThreadSafetyAnalyzer
1173 if (FSet.containsMutexDecl(Analyzer.FactMan, Vdb)) { in checkBeforeAfter()
1268 const FactEntry *Nen = FSet.findLock(FactMan, NegC); in addLock()
1270 FSet.removeLock(FactMan, NegC); in addLock()
1287 if (const FactEntry *Cp = FSet.findLock(FactMan, *Entry)) { in addLock()
1289 Cp->handleLock(FSet, FactMan, *Entry, Handler); in addLock()
1291 FSet.addLock(FactMan, std::move(Entry)); in addLock()
1303 const FactEntry *LDat = FSet.findLock(FactMan, Cp); in removeLock()
1306 if (const FactEntry *Neg = FSet.findLock(FactMan, !Cp)) in removeLock()
1320 LDat->handleUnlock(FSet, FactMan, Cp, UnlockLoc, FullyRemove, Handler); in removeLock()
1606 const FactEntry *LDat = FSet.findLock(FactMan, !Cp); in warnIfMutexNotHeld()
1619 LDat = FSet.findLock(FactMan, Cp); in warnIfMutexNotHeld()
1626 const FactEntry *LDat = FSet.findLockUniv(FactMan, Cp); in warnIfMutexNotHeld()
1630 LDat = FSet.findPartialMatch(FactMan, Cp); in warnIfMutexNotHeld()
1663 const FactEntry *LDat = FSet.findLock(FactMan, Cp); in warnIfMutexHeld()
1732 if (D->hasAttr<GuardedVarAttr>() && FSet.isEmpty(FactMan)) { in checkAccess()
1773 if (D->hasAttr<PtGuardedVarAttr>() && FSet.isEmpty(FactMan)) in checkPtAccess()
2220 const FactEntry &ExitFact = FactMan[Fact]; in intersectAndWarn()
2222 FactSet::iterator EntryIt = EntrySet.findLockIter(FactMan, ExitFact); in intersectAndWarn()
2224 if (join(FactMan[*EntryIt], ExitFact, in intersectAndWarn()
2228 ExitFact.handleRemovalFromIntersection(ExitSet, FactMan, JoinLoc, in intersectAndWarn()
2235 const FactEntry *EntryFact = &FactMan[Fact]; in intersectAndWarn()
2236 const FactEntry *ExitFact = ExitSet.findLock(FactMan, *EntryFact); in intersectAndWarn()
2240 EntryFact->handleRemovalFromIntersection(EntrySetOrig, FactMan, JoinLoc, in intersectAndWarn()
2243 EntrySet.removeLock(FactMan, *EntryFact); in intersectAndWarn()
2386 FactMan, std::make_unique<LockableFactEntry>(Lock, LK_Exclusive, in runAnalysis()
2390 FactMan, in runAnalysis()
2393 ExpectedFunctionExitSet.removeLock(FactMan, Lock); in runAnalysis()