summaryrefslogtreecommitdiff
path: root/cpu/beta_cpu/btb.cc
diff options
context:
space:
mode:
Diffstat (limited to 'cpu/beta_cpu/btb.cc')
-rw-r--r--cpu/beta_cpu/btb.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/cpu/beta_cpu/btb.cc b/cpu/beta_cpu/btb.cc
index b49f30482..bceaa66d1 100644
--- a/cpu/beta_cpu/btb.cc
+++ b/cpu/beta_cpu/btb.cc
@@ -50,6 +50,8 @@ DefaultBTB::valid(const Addr &inst_PC)
Addr inst_tag = getTag(inst_PC);
+ assert(btb_idx < numEntries);
+
if (btb[btb_idx].valid && inst_tag == btb[btb_idx].tag) {
return true;
} else {
@@ -67,6 +69,8 @@ DefaultBTB::lookup(const Addr &inst_PC)
Addr inst_tag = getTag(inst_PC);
+ assert(btb_idx < numEntries);
+
if (btb[btb_idx].valid && inst_tag == btb[btb_idx].tag) {
return btb[btb_idx].target;
} else {
@@ -79,6 +83,8 @@ DefaultBTB::update(const Addr &inst_PC, const Addr &target)
{
unsigned btb_idx = getIndex(inst_PC);
+ assert(btb_idx < numEntries);
+
btb[btb_idx].valid = true;
btb[btb_idx].target = target;
btb[btb_idx].tag = getTag(inst_PC);