bool remove(PCEvent *e) override { return false; }
Tick nextInstEventCount() override { return MaxTick; }
- void serviceInstCountEvents(Tick count) override {}
void scheduleInstCountEvent(Event *event, Tick count) override {}
void descheduleInstCountEvent(Event *event) override {}
Tick getCurrentInstCount() override;
return actualTC->nextInstEventCount();
}
void
- serviceInstCountEvents(Tick count) override
- {
- actualTC->serviceInstCountEvents(count);
- }
- void
scheduleInstCountEvent(Event *event, Tick count) override
{
actualTC->scheduleInstCountEvent(event, count);
// Service any pending instruction events. The vCPU should
// have exited in time for the event using the instruction
// counter configured by setupInstStop().
- tc->serviceInstCountEvents(ctrInsts);
+ thread->comInstEventQueue.serviceEvents(ctrInsts);
if (tryDrain())
_status = Idle;
cpu.system->totalNumInsts++;
/* Act on events related to instruction counts */
- cpu.getContext(inst->id.threadId)->
- serviceInstCountEvents(thread->numInst);
+ thread->comInstEventQueue.serviceEvents(thread->numInst);
}
thread->numOp++;
thread->numOps++;
system->totalNumInsts++;
// Check for instruction-count-based events.
- thread[tid]->tc->serviceInstCountEvents(thread[tid]->numInst);
+ thread[tid]->comInstEventQueue.serviceEvents(thread[tid]->numInst);
}
thread[tid]->numOp++;
thread[tid]->numOps++;
MaxTick : thread->comInstEventQueue.nextTick();
}
void
- serviceInstCountEvents(Tick count) override
- {
- thread->comInstEventQueue.serviceEvents(count);
- }
- void
scheduleInstCountEvent(Event *event, Tick count) override
{
thread->comInstEventQueue.schedule(event, count);
t_info.setMemAccPredicate(true);
// check for instruction-count-based events
- thread->getTC()->serviceInstCountEvents(t_info.numInst);
+ thread->comInstEventQueue.serviceEvents(t_info.numInst);
// decode the instruction
inst = gtoh(inst);
MaxTick : comInstEventQueue.nextTick();
}
void
- serviceInstCountEvents(Tick count) override
- {
- comInstEventQueue.serviceEvents(count);
- }
- void
scheduleInstCountEvent(Event *event, Tick count) override
{
comInstEventQueue.schedule(event, count);
virtual EndQuiesceEvent *getQuiesceEvent() = 0;
virtual Tick nextInstEventCount() = 0;
- virtual void serviceInstCountEvents(Tick count) = 0;
virtual void scheduleInstCountEvent(Event *event, Tick count) = 0;
virtual void descheduleInstCountEvent(Event *event) = 0;
virtual Tick getCurrentInstCount() = 0;