// the byte is a correct prediction if it is less than 8;
// otherwise it is the first byte (a code) in a 9-byte trace
correct = c < ASSOC*2;
if (correct) {
// if the byte is at least 4 then it means that we have
// a correct return address prediction
ras_correct = c >= ASSOC;
// subtract off 4 for a correct return address prediction
if (ras_correct) c -= ASSOC;
..............
I don't step into the compresison mechanism here so I don't know if it
will cause any problem or not. But if it can be clarified, it will be
greatly appreciated.
Thanks.
Ying
The "4" is left over from an earlier version. It should read "8".
This causes no problem.
--
Daniel Jiménez