diff options
Diffstat (limited to 'src/cpu/pred/tournament.cc')
-rw-r--r-- | src/cpu/pred/tournament.cc | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/cpu/pred/tournament.cc b/src/cpu/pred/tournament.cc index e471d08f5..c6514b6ad 100644 --- a/src/cpu/pred/tournament.cc +++ b/src/cpu/pred/tournament.cc @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011 ARM Limited + * Copyright (c) 2011, 2014 ARM Limited * All rights reserved * * The license below extends only to copyright in the software and shall @@ -346,10 +346,10 @@ TournamentBP::update(Addr branch_addr, bool taken, void *bp_history, } } + } else { + // We're done with this history, now delete it. + delete history; } - // We're done with this history, now delete it. - delete history; - } assert(local_history_idx < localHistoryTableSize); @@ -358,6 +358,13 @@ TournamentBP::update(Addr branch_addr, bool taken, void *bp_history, } void +TournamentBP::retireSquashed(void *bp_history) +{ + BPHistory *history = static_cast<BPHistory *>(bp_history); + delete history; +} + +void TournamentBP::squash(void *bp_history) { BPHistory *history = static_cast<BPHistory *>(bp_history); |