diff options
-rw-r--r-- | cpu/o3/lsq_unit_impl.hh | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/cpu/o3/lsq_unit_impl.hh b/cpu/o3/lsq_unit_impl.hh index 7974ddaad..10f2b5572 100644 --- a/cpu/o3/lsq_unit_impl.hh +++ b/cpu/o3/lsq_unit_impl.hh @@ -51,12 +51,18 @@ LSQUnit<Impl>::StoreCompletionEvent::process() //lsqPtr->removeMSHR(lsqPtr->storeQueue[storeIdx].inst->seqNum); - if (lsqPtr->isSwitchedOut()) + if (lsqPtr->isSwitchedOut()) { + if (wbEvent) + delete wbEvent; + return; + } lsqPtr->cpu->wakeCPU(); - if (wbEvent) + if (wbEvent) { wbEvent->process(); + delete wbEvent; + } lsqPtr->completeStore(storeIdx); } |