Lines Matching refs:FactMan
141 handleRemovalFromIntersection(const FactSet &FSet, FactManager &FactMan,
144 virtual void handleLock(FactSet &FSet, FactManager &FactMan,
147 virtual void handleUnlock(FactSet &FSet, FactManager &FactMan,
201 bool isEmpty(FactManager &FactMan) const { in isEmpty()
203 if (!FactMan[FID].negative()) in isEmpty()
865 handleRemovalFromIntersection(const FactSet &FSet, FactManager &FactMan, in handleRemovalFromIntersection() argument
874 void handleLock(FactSet &FSet, FactManager &FactMan, const FactEntry &entry, in handleLock() argument
880 void handleUnlock(FactSet &FSet, FactManager &FactMan, in handleUnlock() argument
884 FSet.removeLock(FactMan, Cp); in handleUnlock()
886 FSet.addLock(FactMan, std::make_unique<LockableFactEntry>( in handleUnlock()
922 handleRemovalFromIntersection(const FactSet &FSet, FactManager &FactMan, in handleRemovalFromIntersection() argument
927 FactMan, CapabilityExpr(UnderlyingMutex.getPointer(), false)); in handleRemovalFromIntersection()
939 void handleLock(FactSet &FSet, FactManager &FactMan, const FactEntry &entry, in handleLock() argument
946 lock(FSet, FactMan, UnderCp, entry.kind(), entry.loc(), &Handler, in handleLock()
949 unlock(FSet, FactMan, UnderCp, entry.loc(), &Handler, DiagKind); in handleLock()
953 void handleUnlock(FactSet &FSet, FactManager &FactMan, in handleUnlock() argument
965 unlock(FSet, FactMan, UnderCp, UnlockLoc, TSHandler, DiagKind); in handleUnlock()
970 lock(FSet, FactMan, UnderCp, kind, UnlockLoc, TSHandler, DiagKind); in handleUnlock()
974 FSet.removeLock(FactMan, Cp); in handleUnlock()
978 void lock(FactSet &FSet, FactManager &FactMan, const CapabilityExpr &Cp, in lock() argument
981 if (const FactEntry *Fact = FSet.findLock(FactMan, Cp)) { in lock()
985 FSet.removeLock(FactMan, !Cp); in lock()
986 FSet.addLock(FactMan, in lock()
991 void unlock(FactSet &FSet, FactManager &FactMan, const CapabilityExpr &Cp, in unlock() argument
994 if (FSet.findLock(FactMan, Cp)) { in unlock()
995 FSet.removeLock(FactMan, Cp); in unlock()
996 FSet.addLock(FactMan, std::make_unique<LockableFactEntry>( in unlock()
1000 if (const FactEntry *Neg = FSet.findLock(FactMan, !Cp)) in unlock()
1019 FactManager FactMan; member in __anon3cf8d6650a11::ThreadSafetyAnalyzer
1165 if (FSet.containsMutexDecl(Analyzer.FactMan, Vdb)) { in checkBeforeAfter()
1307 const FactEntry *Nen = FSet.findLock(FactMan, NegC); in addLock()
1309 FSet.removeLock(FactMan, NegC); in addLock()
1326 if (const FactEntry *Cp = FSet.findLock(FactMan, *Entry)) { in addLock()
1328 Cp->handleLock(FSet, FactMan, *Entry, Handler, DiagKind); in addLock()
1330 FSet.addLock(FactMan, std::move(Entry)); in addLock()
1343 const FactEntry *LDat = FSet.findLock(FactMan, Cp); in removeLock()
1346 if (const FactEntry *Neg = FSet.findLock(FactMan, !Cp)) in removeLock()
1359 LDat->handleUnlock(FSet, FactMan, Cp, UnlockLoc, FullyRemove, Handler, in removeLock()
1646 const FactEntry *LDat = FSet.findLock(Analyzer->FactMan, !Cp); in warnIfMutexNotHeld()
1659 LDat = FSet.findLock(Analyzer->FactMan, Cp); in warnIfMutexNotHeld()
1666 const FactEntry *LDat = FSet.findLockUniv(Analyzer->FactMan, Cp); in warnIfMutexNotHeld()
1670 LDat = FSet.findPartialMatch(Analyzer->FactMan, Cp); in warnIfMutexNotHeld()
1702 const FactEntry *LDat = FSet.findLock(Analyzer->FactMan, Cp); in warnIfMutexHeld()
1759 if (D->hasAttr<GuardedVarAttr>() && FSet.isEmpty(Analyzer->FactMan)) { in checkAccess()
1798 if (D->hasAttr<PtGuardedVarAttr>() && FSet.isEmpty(Analyzer->FactMan)) in checkPtAccess()
2239 const FactEntry &ExitFact = FactMan[Fact]; in intersectAndWarn()
2241 FactSet::iterator EntryIt = EntrySet.findLockIter(FactMan, ExitFact); in intersectAndWarn()
2243 if (join(FactMan[*EntryIt], ExitFact, in intersectAndWarn()
2247 ExitFact.handleRemovalFromIntersection(ExitSet, FactMan, JoinLoc, in intersectAndWarn()
2254 const FactEntry *EntryFact = &FactMan[Fact]; in intersectAndWarn()
2255 const FactEntry *ExitFact = ExitSet.findLock(FactMan, *EntryFact); in intersectAndWarn()
2259 EntryFact->handleRemovalFromIntersection(EntrySetOrig, FactMan, JoinLoc, in intersectAndWarn()
2262 EntrySet.removeLock(FactMan, *EntryFact); in intersectAndWarn()
2556 ExpectedExitSet.addLock(FactMan, std::make_unique<LockableFactEntry>( in runAnalysis()
2559 ExpectedExitSet.addLock(FactMan, std::make_unique<LockableFactEntry>( in runAnalysis()
2562 ExpectedExitSet.removeLock(FactMan, Lock); in runAnalysis()