diff options
author | Korey Sewell <ksewell@umich.edu> | 2011-02-18 14:29:26 -0500 |
---|---|---|
committer | Korey Sewell <ksewell@umich.edu> | 2011-02-18 14:29:26 -0500 |
commit | 91c48b1c3ba6e46324b96fb76762a4d973ce6007 (patch) | |
tree | 92c691b1ebc702dc5ccdb1f43a647faaa942bc1e /src/cpu/inorder/cpu.cc | |
parent | 8b4b4a1ba50a6f422ab75ccf0fb09568f1805ce6 (diff) | |
download | gem5-91c48b1c3ba6e46324b96fb76762a4d973ce6007.tar.xz |
inorder: cleanup in destructors
cleanup hanging pointers and other cruft in the destructors
Diffstat (limited to 'src/cpu/inorder/cpu.cc')
-rw-r--r-- | src/cpu/inorder/cpu.cc | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/cpu/inorder/cpu.cc b/src/cpu/inorder/cpu.cc index 196682621..4130b9e14 100644 --- a/src/cpu/inorder/cpu.cc +++ b/src/cpu/inorder/cpu.cc @@ -356,6 +356,17 @@ InOrderCPU::InOrderCPU(Params *params) InOrderCPU::~InOrderCPU() { delete resPool; + + std::map<SkedID, ThePipeline::RSkedPtr>::iterator sked_it = + skedCache.begin(); + std::map<SkedID, ThePipeline::RSkedPtr>::iterator sked_end = + skedCache.end(); + + while (sked_it != sked_end) { + delete (*sked_it).second; + sked_it++; + } + skedCache.clear(); } std::map<InOrderCPU::SkedID, ThePipeline::RSkedPtr> InOrderCPU::skedCache; @@ -460,7 +471,7 @@ InOrderCPU::createBackEndSked(DynInstPtr inst) W.needs(Grad, GraduationUnit::GraduateInst); - // Insert Front Schedule into our cache of + // Insert Back Schedule into our cache of // resource schedules addToSkedCache(inst, res_sked); |