44a45
> #include "base/sat_counter.hh"
65,66d65
< /** Maximum pattern entries counter value */
< const uint8_t maxCounterValue;
90,92c89,91
< /** counter value (max value defined by maxCounterValue) */
< uint8_t counter;
< PatternStrideEntry() : stride(0), counter(0)
---
> /** Saturating counter */
> SatCounter counter;
> PatternStrideEntry(unsigned bits) : stride(0), counter(bits)
101,103c100,102
< uint8_t counter;
< PatternEntry(size_t num_strides) : strideEntries(num_strides),
< counter(0)
---
> SatCounter counter;
> PatternEntry(size_t num_strides, unsigned counter_bits)
> : strideEntries(num_strides, counter_bits), counter(counter_bits)
110c109
< entry.counter = 0;
---
> entry.counter.reset();
113c112
< counter = 0;
---
> counter.reset();
138,140d136
< * @param max_counter_value maximum value of the confidence counters,
< * it is used when no strides are found and an entry needs to be
< * replaced
143,144c139
< PatternStrideEntry &getStrideEntry(stride_t stride,
< uint8_t max_counter_value);
---
> PatternStrideEntry &getStrideEntry(stride_t stride);