From b195da9345c00c2961558f80715660c0c0a629fc Mon Sep 17 00:00:00 2001 From: Korey Sewell Date: Sun, 19 Jun 2011 21:43:35 -0400 Subject: inorder: use setupSquash for misspeculation implement a clean interface to handle branch misprediction and eventually all pipeline flushing --- src/cpu/inorder/cpu.cc | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'src/cpu/inorder/cpu.cc') diff --git a/src/cpu/inorder/cpu.cc b/src/cpu/inorder/cpu.cc index ce3796528..2e3b0188b 100644 --- a/src/cpu/inorder/cpu.cc +++ b/src/cpu/inorder/cpu.cc @@ -1272,6 +1272,24 @@ InOrderCPU::addInst(DynInstPtr inst) return --(instList[tid].end()); } +InOrderCPU::ListIt +InOrderCPU::findInst(InstSeqNum seq_num, ThreadID tid) +{ + ListIt it = instList[tid].begin(); + ListIt end = instList[tid].end(); + + while (it != end) { + if ((*it)->seqNum == seq_num) + return it; + else if ((*it)->seqNum > seq_num) + break; + + it++; + } + + return instList[tid].end(); +} + void InOrderCPU::updateContextSwitchStats() { -- cgit v1.2.3