diff options
author | Korey Sewell <ksewell@umich.edu> | 2009-05-12 15:01:15 -0400 |
---|---|---|
committer | Korey Sewell <ksewell@umich.edu> | 2009-05-12 15:01:15 -0400 |
commit | c9a03f549b63dbf2e6e192bce02c57c48cec05e2 (patch) | |
tree | c1328d0f17e4346e04a3ca98958b67f422791388 /src/cpu/inorder/resources/cache_unit.hh | |
parent | 1c7e988272efead94d2cfbe3fd65ba454d3e1fc1 (diff) | |
download | gem5-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.hh | 11 |
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() |