49 DPRINTF(InstTracker,
"Start listening to RetiredInsts\n");
65 DPRINTF(InstTracker,
"Stop listening to RetiredInsts\n");
73 for (
const auto &threshold :
params.inst_thresholds) {
74 instThresholdSet.insert(threshold);
75 DPRINTF(InstTracker,
"adding the instruction threshold\n"
76 "instThreshold = %lu\n", threshold);
78 DPRINTF(InstTracker,
"instThresholdSet size = %lu\n",
87 DPRINTF(InstTracker,
"Instruction count reached the threshold\n"
std::unordered_set< uint64_t > instThresholdSet
a set of thresholds for the number of instructions that should be executed before the simulation exit...
GlobalInstTracker(const GlobalInstTrackerParams ¶ms)
uint64_t instCount
the number of instructions that have been executed across all the cores
void updateAndCheckInstCount(const uint64_t &inst)
this function is called by the LocalInstTracker object to update the instruction count and check if t...
virtual void regProbeListeners()
setup the probelistener
bool ifListening
a boolean variable that determines if the LocalInstTracker is listening to the ProbePoints or not
GlobalInstTracker * globalInstTracker
the pointer to the GlobalInstTracker object.
void stopListening()
stop listening to the ProbePoints
LocalInstTracker(const LocalInstTrackerParams ¶ms)
void retiredInstsHandler(const uint64_t &inst)
this function is called when the ProbePoint "RetiredInsts" is notified
std::vector< ProbeListenerPtr<> > listeners
ProbeListenerObject(const ProbeListenerObjectParams ¶ms)
void connectListener(Args &&...args)
const Params & params() const
SimObject(const Params &p)
Copyright (c) 2024 Arm Limited All rights reserved.
void exitSimLoopNow(const std::string &message, int exit_code, Tick repeat, bool serialize)
Schedule an event as above, but make it high priority so it runs before any normal events which are s...