Merge ktlim@zizzer:/bk/newmem
into zamp.eecs.umich.edu:/z/ktlim2/clean/tmp/clean2
src/cpu/base_dyn_inst.hh:
Hand merge. Line is no longer needed because it's handled in the ISA.
--HG--
extra : convert_revision : 0be4067aa38759a5631c6940f0167d48fde2b680
This commit is contained in:
@@ -829,6 +829,8 @@ InstructionQueue<Impl>::scheduleNonSpec(const InstSeqNum &inst)
|
||||
|
||||
unsigned tid = (*inst_it).second->threadNumber;
|
||||
|
||||
(*inst_it).second->setAtCommit();
|
||||
|
||||
(*inst_it).second->setCanIssue();
|
||||
|
||||
if (!(*inst_it).second->isMemRef()) {
|
||||
@@ -960,6 +962,8 @@ template <class Impl>
|
||||
void
|
||||
InstructionQueue<Impl>::rescheduleMemInst(DynInstPtr &resched_inst)
|
||||
{
|
||||
DPRINTF(IQ, "Rescheduling mem inst [sn:%lli]\n", resched_inst->seqNum);
|
||||
resched_inst->clearCanIssue();
|
||||
memDepUnit[resched_inst->threadNumber].reschedule(resched_inst);
|
||||
}
|
||||
|
||||
@@ -984,7 +988,6 @@ InstructionQueue<Impl>::completeMemInst(DynInstPtr &completed_inst)
|
||||
completed_inst->memOpDone = true;
|
||||
|
||||
memDepUnit[tid].completed(completed_inst);
|
||||
|
||||
count[tid]--;
|
||||
}
|
||||
|
||||
@@ -1084,16 +1087,21 @@ InstructionQueue<Impl>::doSquash(unsigned tid)
|
||||
|
||||
++iqSquashedOperandsExamined;
|
||||
}
|
||||
} else if (!squashed_inst->isStoreConditional() || !squashed_inst->isCompleted()) {
|
||||
} else if (!squashed_inst->isStoreConditional() ||
|
||||
!squashed_inst->isCompleted()) {
|
||||
NonSpecMapIt ns_inst_it =
|
||||
nonSpecInsts.find(squashed_inst->seqNum);
|
||||
assert(ns_inst_it != nonSpecInsts.end());
|
||||
if (ns_inst_it == nonSpecInsts.end()) {
|
||||
assert(squashed_inst->getFault() != NoFault);
|
||||
} else {
|
||||
|
||||
(*ns_inst_it).second = NULL;
|
||||
(*ns_inst_it).second = NULL;
|
||||
|
||||
nonSpecInsts.erase(ns_inst_it);
|
||||
nonSpecInsts.erase(ns_inst_it);
|
||||
|
||||
++iqSquashedNonSpecRemoved;
|
||||
++iqSquashedNonSpecRemoved;
|
||||
}
|
||||
}
|
||||
|
||||
// Might want to also clear out the head of the dependency graph.
|
||||
|
||||
Reference in New Issue
Block a user