private bool IsCacheMissEligible(PipId pipId)
        {
            if (m_numCacheMissPerformed >= s_maxCacheMissCanPerform)
            {
                return(false);
            }

            if (!m_pipCacheMissesDict.ContainsKey(pipId))
            {
                return(false);
            }

            if (m_changedPips.WasVisited(pipId.ToNodeId()))
            {
                return(false);
            }

            return(true);
        }
Exemple #2
0
        private bool IsCacheMissEligible(PipId pipId)
        {
            if (m_numCacheMissPerformed >= s_maxCacheMissCanPerform)
            {
                return(false);
            }

            if (!m_pipCacheMissesDict.ContainsKey(pipId))
            {
                return(false);
            }

            if (!EngineEnvironmentSettings.RuntimeCacheMissAllPips &&
                m_changedPips.WasVisited(pipId.ToNodeId()))
            {
                return(false);
            }

            return(true);
        }
Exemple #3
0
        private bool IsCacheMissEligible(PipId pipId)
        {
            if (Interlocked.Increment(ref m_numCacheMissPerformed) >= m_maxCacheMissCanPerform)
            {
                Counters.IncrementCounter(FingerprintStoreCounters.CacheMissAnalysisExceedMaxNumAndCannotPerformCount);
                return(false);
            }

            if (!m_pipCacheMissesDict.ContainsKey(pipId))
            {
                return(false);
            }

            if (!EngineEnvironmentSettings.RuntimeCacheMissAllPips &&
                m_changedPips.WasVisited(pipId.ToNodeId()))
            {
                return(false);
            }

            return(true);
        }
Exemple #4
0
 private void MarkPipAsChanged(PipId pipId)
 {
     m_visitor.VisitTransitiveDependents(pipId.ToNodeId(), m_changedPips, n => true);
 }
Exemple #5
0
 private bool IsCached(PipId pipId)
 {
     return(m_cachedPips.WasVisited(pipId.ToNodeId()));
 }
Exemple #6
0
 private bool IsFailedPipOrDependency(PipId pipId)
 {
     return(m_failedPipsClosure.WasVisited(pipId.ToNodeId()));
 }