summaryrefslogtreecommitdiff
path: root/src/mem/packet_queue.cc
diff options
context:
space:
mode:
authorSean Wilson <spwilson2@wisc.edu>2017-06-13 12:26:25 -0500
committerSean Wilson <spwilson2@wisc.edu>2017-06-20 18:03:21 +0000
commitd0b477475135f7d216fcdfa5a2c22266234801bc (patch)
tree11b71b5cd3b7633a6e772f66f89c0ab93cc594db /src/mem/packet_queue.cc
parente34924b50fd3362dc51a67c51c6d7f2b2015cf30 (diff)
downloadgem5-d0b477475135f7d216fcdfa5a2c22266234801bc.tar.xz
mem: Replace EventWrapper in PacketQueue with EventFunctionWrapper
In order to replicate the same `name()` output with `PacketQueue`, subclasses using EventFunctionWrapper must initialize PacketQueue with their own name so the sendEvent holds the name of the subclass. Change-Id: Ib091e118bab8858192e1d1370d61def42958ec29 Signed-off-by: Sean Wilson <spwilson2@wisc.edu> Reviewed-on: https://gem5-review.googlesource.com/3744 Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com> Reviewed-by: Jason Lowe-Power <jason@lowepower.com> Maintainer: Nikos Nikoleris <nikos.nikoleris@arm.com>
Diffstat (limited to 'src/mem/packet_queue.cc')
-rw-r--r--src/mem/packet_queue.cc13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/mem/packet_queue.cc b/src/mem/packet_queue.cc
index f7df3314f..7649fe5a6 100644
--- a/src/mem/packet_queue.cc
+++ b/src/mem/packet_queue.cc
@@ -50,8 +50,10 @@
using namespace std;
PacketQueue::PacketQueue(EventManager& _em, const std::string& _label,
+ const std::string& _sendEventName,
bool disable_sanity_check)
- : em(_em), sendEvent(this), _disableSanityCheck(disable_sanity_check),
+ : em(_em), sendEvent([this]{ processSendEvent(); }, _sendEventName),
+ _disableSanityCheck(disable_sanity_check),
label(_label), waitingOnRetry(false)
{
}
@@ -237,7 +239,8 @@ PacketQueue::drain()
ReqPacketQueue::ReqPacketQueue(EventManager& _em, MasterPort& _masterPort,
const std::string _label)
- : PacketQueue(_em, _label), masterPort(_masterPort)
+ : PacketQueue(_em, _label, name(_masterPort, _label)),
+ masterPort(_masterPort)
{
}
@@ -250,7 +253,8 @@ ReqPacketQueue::sendTiming(PacketPtr pkt)
SnoopRespPacketQueue::SnoopRespPacketQueue(EventManager& _em,
MasterPort& _masterPort,
const std::string _label)
- : PacketQueue(_em, _label), masterPort(_masterPort)
+ : PacketQueue(_em, _label, name(_masterPort, _label)),
+ masterPort(_masterPort)
{
}
@@ -262,7 +266,8 @@ SnoopRespPacketQueue::sendTiming(PacketPtr pkt)
RespPacketQueue::RespPacketQueue(EventManager& _em, SlavePort& _slavePort,
const std::string _label)
- : PacketQueue(_em, _label), slavePort(_slavePort)
+ : PacketQueue(_em, _label, name(_slavePort, _label)),
+ slavePort(_slavePort)
{
}