diff options
Diffstat (limited to 'src/cpu/o3/free_list.hh')
-rw-r--r-- | src/cpu/o3/free_list.hh | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/cpu/o3/free_list.hh b/src/cpu/o3/free_list.hh index 42fc0c533..97b56909e 100644 --- a/src/cpu/o3/free_list.hh +++ b/src/cpu/o3/free_list.hh @@ -173,6 +173,18 @@ SimpleFreeList::addReg(PhysRegIndex freed_reg) #endif freeFloatRegs.push(freed_reg); } + + // These assert conditions ensure that the number of free + // registers are not more than the # of total Physical Registers. + // If this were false, it would mean that registers + // have been freed twice, overflowing the free register + // pool and potentially crashing SMT workloads. + // ---- + // Comment out for now so as to not potentially break + // CMP and single-threaded workloads + // ---- + // assert(freeIntRegs.size() <= numPhysicalIntRegs); + // assert(freeFloatRegs.size() <= numPhysicalFloatRegs); } inline void |