1/* 2 * Copyright (c) 2013-2014,2018 ARM Limited 3 * All rights reserved 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 234 unchanged lines hidden (view full) --- 243 { 244 TheISA::advancePC(target, inst->staticInst); 245 thread->pcState(target); 246 247 DPRINTF(Branch, "Advancing current PC from: %s to: %s\n", 248 pc_before, target); 249 } 250 |
251 if (inst->predictedTaken && !force_branch) { |
252 /* Predicted to branch */ 253 if (!must_branch) { 254 /* No branch was taken, change stream to get us back to the 255 * intended PC value */ 256 DPRINTF(Branch, "Predicted a branch from 0x%x to 0x%x but" 257 " none happened inst: %s\n", 258 inst->pc.instAddr(), inst->predictedTarget.instAddr(), *inst); 259 --- 796 unchanged lines hidden (view full) --- 1056 *(ex_info.inFlightInsts->front().inst), 1057 ex_info.lastCommitWasEndOfMacroop); 1058 } 1059 1060 while (!ex_info.inFlightInsts->empty() && /* Some more instructions to process */ 1061 !branch.isStreamChange() && /* No real branch */ 1062 fault == NoFault && /* No faults */ 1063 completed_inst && /* Still finding instructions to execute */ |
1064 num_insts_committed != commitLimit && /* Not reached commit limit */ 1065 cpu.getContext(thread_id)->status() != ThreadContext::Suspended |
1066 ) 1067 { 1068 if (only_commit_microops) { 1069 DPRINTF(MinorInterrupt, "Committing tail of insts before" 1070 " interrupt: %s\n", 1071 *(ex_info.inFlightInsts->front().inst)); 1072 } 1073 --- 808 unchanged lines hidden --- |