inorder: squash from memory stall

this applies to multithreading models which would like to squash a thread on memory stall
This commit is contained in:
Korey Sewell 2010-06-23 22:09:49 -04:00
parent e17c41c176
commit 1a73764403

View file

@ -228,7 +228,11 @@ FetchSeqUnit::squash(DynInstPtr inst, int squash_stage,
tid, squash_stage);
InstSeqNum done_seq_num = inst->bdelaySeqNum;
Addr new_PC = inst->readPredTarg();
// Handles the case where we are squashing because of something that is
// not a branch...like a memory stall
Addr new_PC = (inst->isControl()) ?
inst->readPredTarg() : inst->readPC() + instSize;
if (squashSeqNum[tid] <= done_seq_num &&
lastSquashCycle[tid] == curTick) {