From fad953e257d2e653fd482df234f4aacb383e013f Mon Sep 17 00:00:00 2001 From: profezzorn Date: Sat, 25 May 2024 15:43:10 -0500 Subject: [PATCH] top fixes --- common/scoped_cycle_counter.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/common/scoped_cycle_counter.h b/common/scoped_cycle_counter.h index e674ff96a..2b932e35b 100644 --- a/common/scoped_cycle_counter.h +++ b/common/scoped_cycle_counter.h @@ -17,25 +17,27 @@ class ScopedCycleCounter { ScopedCycleCounter(uint64_t& dest) : dest_(dest) { #ifndef DISABLE_DIAGNOSTIC_COMMANDS + noInterrupts(); cycles_ = getCycles(); + interrupts(); #endif } ~ScopedCycleCounter() { #ifndef DISABLE_DIAGNOSTIC_COMMANDS + noInterrupts(); uint32_t cycles; cycles = getCycles() - cycles_; - noInterrupts(); counted_cycles_ += cycles; interrupts(); dest_ += cycles; #endif } private: - static uint32_t counted_cycles_; + static volatile uint32_t counted_cycles_; uint32_t cycles_; uint64_t& dest_; }; -uint32_t ScopedCycleCounter::counted_cycles_ = 0; +volatile uint32_t ScopedCycleCounter::counted_cycles_ = 0; #endif