#include "base/misc.hh"
#include "base/types.hh"
+#include "debug/Cache.hh"
#include "mem/cache/cache.hh"
#include "mem/cache/mshr.hh"
#include "sim/core.hh"
for (ConstIterator i = begin(); i != end_i; ++i) {
const char *s;
switch (i->source) {
- case Target::FromCPU: s = "FromCPU";
- case Target::FromSnoop: s = "FromSnoop";
- case Target::FromPrefetcher: s = "FromPrefetcher";
- default: s = "";
+ case Target::FromCPU:
+ s = "FromCPU";
+ break;
+ case Target::FromSnoop:
+ s = "FromSnoop";
+ break;
+ case Target::FromPrefetcher:
+ s = "FromPrefetcher";
+ break;
+ default:
+ s = "";
+ break;
}
ccprintf(os, "%s%s: ", prefix, s);
i->pkt->print(os, verbosity, "");
// to forward the snoop up the hierarchy after the current
// transaction completes.
- // Actual target device (typ. PhysicalMemory) will delete the
+ // Actual target device (typ. a memory) will delete the
// packet on reception, so we need to save a copy here.
PacketPtr cp_pkt = new Packet(pkt, true);
- targets->add(cp_pkt, curTick, _order, Target::FromSnoop,
+ targets->add(cp_pkt, curTick(), _order, Target::FromSnoop,
downstreamPending && targets->needsExclusive);
++ntargets;
deferredTargets->resetFlags();
order = targets->front().order;
- readyTime = std::max(curTick, targets->front().readyTime);
+ readyTime = std::max(curTick(), targets->front().readyTime);
return true;
}
MSHR::~MSHR()
{
+ delete[] targets;
+ delete[] deferredTargets;
}