1/* 2 * Copyright (c) 2004-2006 The Regents of The University of Michigan 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 714 unchanged lines hidden (view full) --- 723 724 commitStatus[tid] = ROBSquashing; 725 726 // If we want to include the squashing instruction in the squash, 727 // then use one older sequence number. 728 InstSeqNum squashed_inst = fromIEW->squashedSeqNum[tid]; 729 730#if ISA_HAS_DELAY_SLOT |
731 InstSeqNum bdelay_done_seq_num = squashed_inst; 732 bool squash_bdelay_slot = fromIEW->squashDelaySlot[tid]; |
733 |
734 if (!squash_bdelay_slot) 735 bdelay_done_seq_num++; 736 |
737#endif 738 739 if (fromIEW->includeSquashInst[tid] == true) { 740 squashed_inst--; 741#if ISA_HAS_DELAY_SLOT 742 bdelay_done_seq_num--; 743#endif 744 } --- 351 unchanged lines hidden (view full) --- 1096 head_inst->traceData->setFetchSeq(head_inst->seqNum); 1097 head_inst->traceData->setCPSeq(thread[tid]->numInst); 1098 head_inst->traceData->finalize(); 1099 head_inst->traceData = NULL; 1100 } 1101 1102 // Update the commit rename map 1103 for (int i = 0; i < head_inst->numDestRegs(); i++) { |
1104 renameMap[tid]->setEntry(head_inst->flattenedDestRegIdx(i), |
1105 head_inst->renamedDestRegIdx(i)); 1106 } 1107 1108 if (head_inst->isCopy()) 1109 panic("Should not commit any copy instructions!"); 1110 1111 // Finally clear the head ROB entry. 1112 rob->retireHead(tid); --- 63 unchanged lines hidden (view full) --- 1176#if ISA_HAS_DELAY_SLOT 1177 if (rename_idx < fromRename->size) { 1178 DPRINTF(Commit,"Placing Rename Insts into skidBuffer.\n"); 1179 1180 for (; 1181 rename_idx < fromRename->size; 1182 rename_idx++) { 1183 DynInstPtr inst = fromRename->insts[rename_idx]; |
1184 int tid = inst->threadNumber; |
1185 1186 if (!inst->isSquashed()) { 1187 DPRINTF(Commit, "Inserting PC %#x [sn:%i] [tid:%i] into ", |
1188 "skidBuffer.\n", inst->readPC(), inst->seqNum, tid); |
1189 skidBuffer.push(inst); 1190 } else { 1191 DPRINTF(Commit, "Instruction PC %#x [sn:%i] [tid:%i] was " 1192 "squashed, skipping.\n", |
1193 inst->readPC(), inst->seqNum, tid); |
1194 } 1195 } 1196 } 1197#endif 1198 1199} 1200 1201template <class Impl> --- 207 unchanged lines hidden --- |