Small optimization
cpu/pc_event.cc: cpu/pc_event.hh: Do a quick check to see if there is anything to service before the function is called --HG-- extra : convert_revision : 16e9b6284ece8b7a53ccf0ca200fab9ba780c50c
This commit is contained in:
parent
f94ff9ace5
commit
481aaf03cf
|
@ -84,7 +84,7 @@ PCEventQueue::schedule(PCEvent *event)
|
|||
}
|
||||
|
||||
bool
|
||||
PCEventQueue::service(ExecContext *xc)
|
||||
PCEventQueue::doService(ExecContext *xc)
|
||||
{
|
||||
Addr pc = xc->regs.pc;
|
||||
int serviced = 0;
|
||||
|
|
|
@ -98,13 +98,21 @@ class PCEventQueue
|
|||
protected:
|
||||
map_t pc_map;
|
||||
|
||||
bool doService(ExecContext *xc);
|
||||
|
||||
public:
|
||||
PCEventQueue();
|
||||
~PCEventQueue();
|
||||
|
||||
bool remove(PCEvent *event);
|
||||
bool schedule(PCEvent *event);
|
||||
bool service(ExecContext *xc);
|
||||
bool service(ExecContext *xc)
|
||||
{
|
||||
if (pc_map.empty())
|
||||
return false;
|
||||
|
||||
return doService(xc);
|
||||
}
|
||||
|
||||
range_t equal_range(Addr pc);
|
||||
range_t equal_range(PCEvent *event) { return equal_range(event->pc()); }
|
||||
|
|
Loading…
Reference in a new issue