61a62
> TAGEBase::BranchInfo *tage_bi = bi->tageBranchInfo;
68c69
< tage->squash(tid, taken, bi->tageBranchInfo, corrTarget);
---
> tage->squash(tid, taken, tage_bi, corrTarget);
72c73
< int nrand = TAGEBase::getRandom() & 3;
---
> int nrand = random_mt.random<int>() & 3;
77,78c78,79
< tage->condBranchUpdate(tid, branch_pc, taken, bi->tageBranchInfo,
< nrand, corrTarget);
---
> tage->condBranchUpdate(tid, branch_pc, taken, tage_bi, nrand,
> corrTarget, bi->tageBranchInfo->tagePred);
81,83c82,84
< tage->updateHistories(tid, branch_pc, taken, bi->tageBranchInfo, false,
< inst, corrTarget);
<
---
> // optional non speculative update of the histories
> tage->updateHistories(tid, branch_pc, taken, tage_bi, false, inst,
> corrTarget);
98c99
< TageBranchInfo *bi = new TageBranchInfo(*tage);
---
> TageBranchInfo *bi = new TageBranchInfo(*tage);//nHistoryTables+1);