summaryrefslogtreecommitdiff
path: root/src/cpu/inorder/resources/cache_unit.hh
diff options
context:
space:
mode:
authorKorey Sewell <ksewell@umich.edu>2009-05-12 15:01:15 -0400
committerKorey Sewell <ksewell@umich.edu>2009-05-12 15:01:15 -0400
commitc9a03f549b63dbf2e6e192bce02c57c48cec05e2 (patch)
treec1328d0f17e4346e04a3ca98958b67f422791388 /src/cpu/inorder/resources/cache_unit.hh
parent1c7e988272efead94d2cfbe3fd65ba454d3e1fc1 (diff)
downloadgem5-c9a03f549b63dbf2e6e192bce02c57c48cec05e2.tar.xz
inorder-mem: clean up allocation/deletion of requests/packets
* * *
Diffstat (limited to 'src/cpu/inorder/resources/cache_unit.hh')
-rw-r--r--src/cpu/inorder/resources/cache_unit.hh11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/cpu/inorder/resources/cache_unit.hh b/src/cpu/inorder/resources/cache_unit.hh
index 219329683..4cde686b8 100644
--- a/src/cpu/inorder/resources/cache_unit.hh
+++ b/src/cpu/inorder/resources/cache_unit.hh
@@ -246,7 +246,13 @@ class CacheRequest : public ResourceRequest
: ResourceRequest(cres, inst, stage_num, res_idx, slot_num, cmd),
pktCmd(pkt_cmd), memAccComplete(false), memAccPending(false)
{
- memReq = inst->memReq;
+ if (cmd == CacheUnit::InitiateFetch ||
+ cmd == CacheUnit::CompleteFetch ||
+ cmd == CacheUnit::Fetch) {
+ memReq = inst->fetchMemReq;
+ } else {
+ memReq = inst->dataMemReq;
+ }
reqData = new uint8_t[req_size];
retryPkt = NULL;
@@ -273,9 +279,6 @@ class CacheRequest : public ResourceRequest
delete retryPkt;
}
#endif
-
- if (memReq)
- delete memReq;
}
virtual PacketDataPtr getData()