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.
This commit is contained in:
parent
1d403960af
commit
5275c9d740
4 changed files with 8 additions and 8 deletions
|
@ -217,7 +217,7 @@ Bridge::BridgeMasterPort::schedTimingReq(PacketPtr pkt, Tick when)
|
|||
|
||||
assert(transmitList.size() != reqQueueLimit);
|
||||
|
||||
transmitList.push_back(DeferredPacket(pkt, when));
|
||||
transmitList.emplace_back(DeferredPacket(pkt, when));
|
||||
}
|
||||
|
||||
|
||||
|
@ -232,7 +232,7 @@ Bridge::BridgeSlavePort::schedTimingResp(PacketPtr pkt, Tick when)
|
|||
bridge.schedule(sendEvent, when);
|
||||
}
|
||||
|
||||
transmitList.push_back(DeferredPacket(pkt, when));
|
||||
transmitList.emplace_back(DeferredPacket(pkt, when));
|
||||
}
|
||||
|
||||
void
|
||||
|
|
2
src/mem/cache/prefetch/queued.cc
vendored
2
src/mem/cache/prefetch/queued.cc
vendored
|
@ -149,7 +149,7 @@ QueuedPrefetcher::notify(const PacketPtr &pkt)
|
|||
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));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -142,7 +142,7 @@ PacketQueue::schedSendTiming(PacketPtr pkt, Tick when, bool force_order)
|
|||
// 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 @@ PacketQueue::schedSendTiming(PacketPtr pkt, Tick when, bool force_order)
|
|||
|
||||
// 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 @@ PacketQueue::schedSendTiming(PacketPtr pkt, Tick when, bool force_order)
|
|||
++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 @@ PacketQueue::sendDeferredPacket()
|
|||
schedSendEvent(deferredPacketReadyTime());
|
||||
} else {
|
||||
// put the packet back at the front of the list
|
||||
transmitList.push_front(dp);
|
||||
transmitList.emplace_front(dp);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -161,7 +161,7 @@ SimpleMemory::recvTimingReq(PacketPtr pkt)
|
|||
// 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 {
|
||||
|
|
Loading…
Reference in a new issue