private void SetRuntimeCacheMissAnalyzerAndStartProcessing(RuntimeCacheMissAnalyzer analyzer) { lock (m_setRuntimeCacheMissAnalyzerAndStartProcessingLock) { // If the analyzer has already been initialized (potentially with null), abandon the results of this initialization if (!m_runtimeCacheMissAnalyzerInitialized) { m_runtimeCacheMissAnalyzer = analyzer; m_runtimeCacheMissAnalyzerInitialized = true; // The first one to initialize also needs to start the processor, regardless of whether it is initialized to null or not m_fingerprintStoreEventProcessor.StartProcessing(); } } }
public CacheMissTimer(PipId pipId, RuntimeCacheMissAnalyzer analyzer) { m_analyzer = analyzer; m_pipId = pipId; m_watch = m_analyzer.Counters.StartStopwatch(FingerprintStoreCounters.CacheMissAnalysisTime); }