Lines Matching defs:FactMan
143 handleRemovalFromIntersection(const FactSet &FSet, FactManager &FactMan,
146 virtual void handleLock(FactSet &FSet, FactManager &FactMan,
149 virtual void handleUnlock(FactSet &FSet, FactManager &FactMan,
203 bool isEmpty(FactManager &FactMan) const {
205 if (!FactMan[FID].negative())
868 handleRemovalFromIntersection(const FactSet &FSet, FactManager &FactMan,
877 void handleLock(FactSet &FSet, FactManager &FactMan, const FactEntry &entry,
883 void handleUnlock(FactSet &FSet, FactManager &FactMan,
887 FSet.removeLock(FactMan, Cp);
889 FSet.addLock(FactMan, std::make_unique<LockableFactEntry>(
939 handleRemovalFromIntersection(const FactSet &FSet, FactManager &FactMan,
946 const auto *Entry = FSet.findLock(FactMan, UnderlyingMutex.Cap);
958 void handleLock(FactSet &FSet, FactManager &FactMan, const FactEntry &entry,
962 lock(FSet, FactMan, UnderlyingMutex.Cap, entry.kind(), entry.loc(),
965 unlock(FSet, FactMan, UnderlyingMutex.Cap, entry.loc(), &Handler);
969 void handleUnlock(FactSet &FSet, FactManager &FactMan,
979 unlock(FSet, FactMan, UnderlyingMutex.Cap, UnlockLoc, TSHandler);
984 lock(FSet, FactMan, UnderlyingMutex.Cap, kind, UnlockLoc, TSHandler);
988 FSet.removeLock(FactMan, Cp);
996 void lock(FactSet &FSet, FactManager &FactMan, const CapabilityExpr &Cp,
999 if (const FactEntry *Fact = FSet.findLock(FactMan, Cp)) {
1004 FSet.removeLock(FactMan, !Cp);
1005 FSet.addLock(FactMan,
1010 void unlock(FactSet &FSet, FactManager &FactMan, const CapabilityExpr &Cp,
1012 if (FSet.findLock(FactMan, Cp)) {
1013 FSet.removeLock(FactMan, Cp);
1014 FSet.addLock(FactMan, std::make_unique<LockableFactEntry>(
1018 if (const FactEntry *Neg = FSet.findLock(FactMan, !Cp))
1039 FactManager FactMan;
1197 if (FSet.containsMutexDecl(Analyzer.FactMan, Vdb)) {
1291 const FactEntry *Nen = FSet.findLock(FactMan, NegC);
1293 FSet.removeLock(FactMan, NegC);
1310 if (const FactEntry *Cp = FSet.findLock(FactMan, *Entry)) {
1312 Cp->handleLock(FSet, FactMan, *Entry, Handler);
1314 FSet.addLock(FactMan, std::move(Entry));
1326 const FactEntry *LDat = FSet.findLock(FactMan, Cp);
1329 if (const FactEntry *Neg = FSet.findLock(FactMan, !Cp))
1343 LDat->handleUnlock(FSet, FactMan, Cp, UnlockLoc, FullyRemove, Handler);
1629 const FactEntry *LDat = FSet.findLock(FactMan, !Cp);
1642 LDat = FSet.findLock(FactMan, Cp);
1649 const FactEntry *LDat = FSet.findLockUniv(FactMan, Cp);
1653 LDat = FSet.findPartialMatch(FactMan, Cp);
1686 const FactEntry *LDat = FSet.findLock(FactMan, Cp);
1755 if (D->hasAttr<GuardedVarAttr>() && FSet.isEmpty(FactMan)) {
1796 if (D->hasAttr<PtGuardedVarAttr>() && FSet.isEmpty(FactMan))
2007 const FactEntry *Fact = FSet.findLock(Analyzer->FactMan, Cp);
2339 const FactEntry &ExitFact = FactMan[Fact];
2341 FactSet::iterator EntryIt = EntrySet.findLockIter(FactMan, ExitFact);
2343 if (join(FactMan[*EntryIt], ExitFact,
2347 ExitFact.handleRemovalFromIntersection(ExitSet, FactMan, JoinLoc,
2354 const FactEntry *EntryFact = &FactMan[Fact];
2355 const FactEntry *ExitFact = ExitSet.findLock(FactMan, *EntryFact);
2360 EntryFact->handleRemovalFromIntersection(EntrySetOrig, FactMan, JoinLoc,
2363 EntrySet.removeLock(FactMan, *EntryFact);
2544 FactMan, std::make_unique<LockableFactEntry>(Lock, LK_Exclusive,
2548 FactMan,
2551 ExpectedFunctionExitSet.removeLock(FactMan, Lock);