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:
parent
e17c41c176
commit
1a73764403
|
@ -228,7 +228,11 @@ FetchSeqUnit::squash(DynInstPtr inst, int squash_stage,
|
||||||
tid, squash_stage);
|
tid, squash_stage);
|
||||||
|
|
||||||
InstSeqNum done_seq_num = inst->bdelaySeqNum;
|
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 &&
|
if (squashSeqNum[tid] <= done_seq_num &&
|
||||||
lastSquashCycle[tid] == curTick) {
|
lastSquashCycle[tid] == curTick) {
|
||||||
|
|
Loading…
Reference in a new issue