summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTimothy M. Jones <tjones1@inf.ed.ac.uk>2010-07-22 18:54:37 +0100
committerTimothy M. Jones <tjones1@inf.ed.ac.uk>2010-07-22 18:54:37 +0100
commit607f5198004934c115af7975812a2d69bd005f7e (patch)
treeb7564cabce850d7f0b2bad6d8734b99efd1a52b2
parent28a5ea3f999d012be616395f9b396ce341882bb7 (diff)
downloadgem5-607f5198004934c115af7975812a2d69bd005f7e.tar.xz
LSQ Unit: After deleting part of a split request, set it to NULL so that it
isn't accidentally deleted again later (causing a segmentation fault).
-rw-r--r--src/cpu/o3/lsq_unit.hh3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/cpu/o3/lsq_unit.hh b/src/cpu/o3/lsq_unit.hh
index 7b8b1e2e3..c19a368d1 100644
--- a/src/cpu/o3/lsq_unit.hh
+++ b/src/cpu/o3/lsq_unit.hh
@@ -744,6 +744,8 @@ LSQUnit<Impl>::read(Request *req, Request *sreqLow, Request *sreqHigh,
delete fst_data_pkt;
delete snd_data_pkt->req;
delete snd_data_pkt;
+ sreqLow = NULL;
+ sreqHigh = NULL;
}
req = NULL;
@@ -769,6 +771,7 @@ LSQUnit<Impl>::read(Request *req, Request *sreqLow, Request *sreqHigh,
state->complete();
req = NULL;
+ sreqHigh = NULL;
lsq->setRetryTid(lsqID);
}