29,30c29,30
< #ifndef __CPU_O3_CPU_STORE_SET_HH__
< #define __CPU_O3_CPU_STORE_SET_HH__
---
> #ifndef __CPU_O3_STORE_SET_HH__
> #define __CPU_O3_STORE_SET_HH__
31a32,34
> #include <list>
> #include <map>
> #include <utility>
36a40,46
> struct ltseqnum {
> bool operator()(const InstSeqNum &lhs, const InstSeqNum &rhs) const
> {
> return lhs > rhs;
> }
> };
>
42a53,54
> StoreSet() { };
>
44a57,60
> ~StoreSet();
>
> void init(int SSIT_size, int LFST_size);
>
49c65,66
< void insertStore(Addr store_PC, InstSeqNum store_seq_num);
---
> void insertStore(Addr store_PC, InstSeqNum store_seq_num,
> unsigned tid);
55c72
< void squash(InstSeqNum squashed_num);
---
> void squash(InstSeqNum squashed_num, unsigned tid);
61c78
< { return (PC >> offset_bits) & index_mask; }
---
> { return (PC >> offsetBits) & indexMask; }
64c81
< { return ((PC ^ (PC >> 10)) % LFST_size); }
---
> { return ((PC ^ (PC >> 10)) % LFSTSize); }
66c83
< SSID *SSIT;
---
> std::vector<SSID> SSIT;
70c87
< InstSeqNum *LFST;
---
> std::vector<InstSeqNum> LFST;
74c91
< int *SSCounters;
---
> std::map<InstSeqNum, int, ltseqnum> storeList;
76c93
< int SSIT_size;
---
> typedef std::map<InstSeqNum, int, ltseqnum>::iterator SeqNumMapIt;
78c95
< int LFST_size;
---
> int SSITSize;
80c97
< int index_mask;
---
> int LFSTSize;
81a99,100
> int indexMask;
>
83c102
< int offset_bits;
---
> int offsetBits;
86c105
< #endif // __CPU_O3_CPU_STORE_SET_HH__
---
> #endif // __CPU_O3_STORE_SET_HH__