changeset 5ee72f4b2931 in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=5ee72f4b2931
description:
        mem: Fix (ab)use of emplace to avoid temporary object creation

diffstat:

 src/mem/bridge.cc                |  4 ++--
 src/mem/cache/mshr.cc            |  2 +-
 src/mem/cache/prefetch/queued.cc |  2 +-
 src/mem/packet_queue.cc          |  6 +++---
 src/mem/simple_mem.cc            |  2 +-
 5 files changed, 8 insertions(+), 8 deletions(-)

diffs (87 lines):

diff -r 07811efc0fde -r 5ee72f4b2931 src/mem/bridge.cc
--- a/src/mem/bridge.cc Mon Jul 13 08:46:16 2015 -0400
+++ b/src/mem/bridge.cc Mon Jul 13 08:46:28 2015 -0400
@@ -217,7 +217,7 @@
 
     assert(transmitList.size() != reqQueueLimit);
 
-    transmitList.emplace_back(DeferredPacket(pkt, when));
+    transmitList.emplace_back(pkt, when);
 }
 
 
@@ -232,7 +232,7 @@
         bridge.schedule(sendEvent, when);
     }
 
-    transmitList.emplace_back(DeferredPacket(pkt, when));
+    transmitList.emplace_back(pkt, when);
 }
 
 void
diff -r 07811efc0fde -r 5ee72f4b2931 src/mem/cache/mshr.cc
--- a/src/mem/cache/mshr.cc     Mon Jul 13 08:46:16 2015 -0400
+++ b/src/mem/cache/mshr.cc     Mon Jul 13 08:46:28 2015 -0400
@@ -104,7 +104,7 @@
         }
     }
 
-    emplace_back(Target(pkt, readyTime, order, source, markPending));
+    emplace_back(pkt, readyTime, order, source, markPending);
 }
 
 
diff -r 07811efc0fde -r 5ee72f4b2931 src/mem/cache/prefetch/queued.cc
--- a/src/mem/cache/prefetch/queued.cc  Mon Jul 13 08:46:16 2015 -0400
+++ b/src/mem/cache/prefetch/queued.cc  Mon Jul 13 08:46:28 2015 -0400
@@ -149,7 +149,7 @@
             DPRINTF(HWPrefetch, "Prefetch queued. "
                     "addr:%#x tick:%lld.\n", pf_addr, pf_time);
 
-            pfq.emplace_back(DeferredPacket(pf_time, pf_pkt));
+            pfq.emplace_back(pf_time, pf_pkt);
         }
     }
 
diff -r 07811efc0fde -r 5ee72f4b2931 src/mem/packet_queue.cc
--- a/src/mem/packet_queue.cc   Mon Jul 13 08:46:16 2015 -0400
+++ b/src/mem/packet_queue.cc   Mon Jul 13 08:46:28 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.emplace_front(DeferredPacket(when, pkt));
+        transmitList.emplace_front(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.emplace_back(DeferredPacket(when, pkt));
+        transmitList.emplace_back(when, pkt);
         return;
     }
 
@@ -169,7 +169,7 @@
     ++i; // already checked for insertion at front
     while (i != transmitList.end() && when >= i->tick)
         ++i;
-    transmitList.emplace(i, DeferredPacket(when, pkt));
+    transmitList.emplace(i, when, pkt);
 }
 
 void
diff -r 07811efc0fde -r 5ee72f4b2931 src/mem/simple_mem.cc
--- a/src/mem/simple_mem.cc     Mon Jul 13 08:46:16 2015 -0400
+++ b/src/mem/simple_mem.cc     Mon Jul 13 08:46:28 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.emplace_back(DeferredPacket(pkt, curTick() + 
getLatency()));
+        packetQueue.emplace_back(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

Reply via email to