diff options
Diffstat (limited to 'src/cpu/inorder/resource.cc')
-rw-r--r-- | src/cpu/inorder/resource.cc | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/cpu/inorder/resource.cc b/src/cpu/inorder/resource.cc index 2846efe7b..d8fefe0c9 100644 --- a/src/cpu/inorder/resource.cc +++ b/src/cpu/inorder/resource.cc @@ -304,9 +304,12 @@ Resource::squash(DynInstPtr inst, int stage_num, InstSeqNum squash_seq_num, unsi req_ptr->getInst()->readTid(), req_ptr->getInst()->seqNum); + req_ptr->setSquashed(); + int req_slot_num = req_ptr->getSlot(); - unscheduleEvent(req_slot_num); + if (resourceEvent[req_slot_num].scheduled()) + unscheduleEvent(req_slot_num); // Mark request for later removal cpu->reqRemoveList.push(req_ptr); |