O3: At the end of an instruction, force fetchAddr to something sensible.
It's possible (though until now very unlikely) for fetchAddr to get out of sync with the actual PC of the current instruction. This change forcefull resets fetchAddr at the end of every instruction.
This commit is contained in:
parent
6bbd74e2d9
commit
e0043f8dbe
1 changed files with 2 additions and 0 deletions
|
@ -1342,6 +1342,8 @@ DefaultFetch<Impl>::fetch(bool &status_change)
|
||||||
thisPC = nextPC;
|
thisPC = nextPC;
|
||||||
|
|
||||||
if (newMacro) {
|
if (newMacro) {
|
||||||
|
fetchAddr = thisPC.instAddr() & BaseCPU::PCMask;
|
||||||
|
blkOffset = (fetchAddr - cacheDataPC[tid]) / instSize;
|
||||||
pcOffset = 0;
|
pcOffset = 0;
|
||||||
curMacroop = NULL;
|
curMacroop = NULL;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue