Add comments in code to describe bug conditions.

This should help if somebody gets to the bug
fix before me (or someone else)...

--HG--
extra : convert_revision : 0ae64c58ef4f7b02996f31e9e9e6bfad344719e2
This commit is contained in:
Korey Sewell
2008-02-27 17:50:29 -05:00
parent b45cf21a8e
commit 8fb74c238c
2 changed files with 17 additions and 2 deletions

View File

@@ -671,7 +671,12 @@ FullO3CPU<Impl>::removeThread(unsigned tid)
// Copy Thread Data From RegFile
// If thread is suspended, it might be re-allocated
//this->copyToTC(tid);
// this->copyToTC(tid);
// @todo: 2-27-2008: Fix how we free up rename mappings
// here to alleviate the case for double-freeing registers
// in SMT workloads.
// Unbind Int Regs from Rename Map
for (int ireg = 0; ireg < TheISA::NumIntRegs; ireg++) {

View File

@@ -174,7 +174,17 @@ SimpleFreeList::addReg(PhysRegIndex freed_reg)
freeFloatRegs.push(freed_reg);
}
//assert(freeIntRegs.size() <= numPhysicalIntRegs);
// 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