fetch_impl.hh (8821:bba1a976c293) fetch_impl.hh (8822:e7ae13867098)
1/*
2 * Copyright (c) 2010-2011 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

--- 1175 unchanged lines hidden (view full) ---

1184 // Keep issuing while fetchWidth is available and branch is not
1185 // predicted taken
1186 while (numInst < fetchWidth && !predictedBranch) {
1187
1188 // We need to process more memory if we aren't going to get a
1189 // StaticInst from the rom, the current macroop, or what's already
1190 // in the predecoder.
1191 bool needMem = !inRom && !curMacroop && !predecoder.extMachInstReady();
1/*
2 * Copyright (c) 2010-2011 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

--- 1175 unchanged lines hidden (view full) ---

1184 // Keep issuing while fetchWidth is available and branch is not
1185 // predicted taken
1186 while (numInst < fetchWidth && !predictedBranch) {
1187
1188 // We need to process more memory if we aren't going to get a
1189 // StaticInst from the rom, the current macroop, or what's already
1190 // in the predecoder.
1191 bool needMem = !inRom && !curMacroop && !predecoder.extMachInstReady();
1192 fetchAddr = (thisPC.instAddr() + pcOffset) & BaseCPU::PCMask;
1193 Addr block_PC = icacheBlockAlignPC(fetchAddr);
1192
1193 if (needMem) {
1194
1195 if (needMem) {
1196 // If buffer is no longer valid or fetchAddr has moved to point
1197 // to the next cache block then start fetch from icache.
1198 if (!cacheDataValid[tid] || block_PC != cacheDataPC[tid])
1199 break;
1200
1194 if (blkOffset >= numInsts) {
1195 // We need to process more memory, but we've run out of the
1196 // current block.
1197 break;
1198 }
1199
1200 if (ISA_HAS_DELAY_SLOT && pcOffset == 0) {
1201 // Walk past any annulled delay slot instructions.

--- 393 unchanged lines hidden ---
1201 if (blkOffset >= numInsts) {
1202 // We need to process more memory, but we've run out of the
1203 // current block.
1204 break;
1205 }
1206
1207 if (ISA_HAS_DELAY_SLOT && pcOffset == 0) {
1208 // Walk past any annulled delay slot instructions.

--- 393 unchanged lines hidden ---