changeset 791e4619919d in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=791e4619919d
description:
mem: Use emplace front/back for deferred packets
Embrace C++11 for the deferred packets as we actually store the
objects in the data structure, and not just pointers.
diffstat:
src/mem/bridge.cc | 4 ++--
src/mem/cache/prefetch/queued.cc | 2 +-
src/mem/packet_queue.cc | 8 ++++----
src/mem/simple_mem.cc | 2 +-
4 files changed, 8 insertions(+), 8 deletions(-)
diffs (84 lines):
diff -r 116c6cd45fff -r 791e4619919d src/mem/bridge.cc
--- a/src/mem/bridge.cc Thu Mar 19 04:06:10 2015 -0400
+++ b/src/mem/bridge.cc Thu Mar 19 04:06:11 2015 -0400
@@ -217,7 +217,7 @@
assert(transmitList.size() != reqQueueLimit);
- transmitList.push_back(DeferredPacket(pkt, when));
+ transmitList.emplace_back(DeferredPacket(pkt, when));
}
@@ -232,7 +232,7 @@
bridge.schedule(sendEvent, when);
}
- transmitList.push_back(DeferredPacket(pkt, when));
+ transmitList.emplace_back(DeferredPacket(pkt, when));
}
void
diff -r 116c6cd45fff -r 791e4619919d src/mem/cache/prefetch/queued.cc
--- a/src/mem/cache/prefetch/queued.cc Thu Mar 19 04:06:10 2015 -0400
+++ b/src/mem/cache/prefetch/queued.cc Thu Mar 19 04:06:11 2015 -0400
@@ -149,7 +149,7 @@
DPRINTF(HWPrefetch, "Prefetch queued. "
"addr:%#x tick:%lld.\n", pf_addr, pf_time);
- pfq.push_back(DeferredPacket(pf_time, pf_pkt));
+ pfq.emplace_back(DeferredPacket(pf_time, pf_pkt));
}
}
diff -r 116c6cd45fff -r 791e4619919d src/mem/packet_queue.cc
--- a/src/mem/packet_queue.cc Thu Mar 19 04:06:10 2015 -0400
+++ b/src/mem/packet_queue.cc Thu Mar 19 04:06:11 2015 -0400
@@ -142,7 +142,7 @@
// note that currently we ignore a potentially outstanding retry
// and could in theory put a new packet at the head of the
// transmit list before retrying the existing packet
- transmitList.push_front(DeferredPacket(when, pkt));
+ transmitList.emplace_front(DeferredPacket(when, pkt));
schedSendEvent(when);
return;
}
@@ -157,7 +157,7 @@
// list is non-empty and this belongs at the end
if (when >= transmitList.back().tick) {
- transmitList.push_back(DeferredPacket(when, pkt));
+ transmitList.emplace_back(DeferredPacket(when, pkt));
return;
}
@@ -169,7 +169,7 @@
++i; // already checked for insertion at front
while (i != transmitList.end() && when >= i->tick)
++i;
- transmitList.insert(i, DeferredPacket(when, pkt));
+ transmitList.emplace(i, DeferredPacket(when, pkt));
}
void
@@ -233,7 +233,7 @@
schedSendEvent(deferredPacketReadyTime());
} else {
// put the packet back at the front of the list
- transmitList.push_front(dp);
+ transmitList.emplace_front(dp);
}
}
diff -r 116c6cd45fff -r 791e4619919d src/mem/simple_mem.cc
--- a/src/mem/simple_mem.cc Thu Mar 19 04:06:10 2015 -0400
+++ b/src/mem/simple_mem.cc Thu Mar 19 04:06:11 2015 -0400
@@ -161,7 +161,7 @@
// to keep things simple (and in order), we put the packet at
// the end even if the latency suggests it should be sent
// before the packet(s) before it
- packetQueue.push_back(DeferredPacket(pkt, curTick() + getLatency()));
+ packetQueue.emplace_back(DeferredPacket(pkt, curTick() +
getLatency()));
if (!retryResp && !dequeueEvent.scheduled())
schedule(dequeueEvent, packetQueue.back().tick);
} else {
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev