35 #ifndef __MEM_RUBY_SYSTEM_CACHERECORDER_HH__ 36 #define __MEM_RUBY_SYSTEM_CACHERECORDER_HH__ 44 #include "mem/ruby/protocol/RubyRequestType.hh" 63 void print(std::ostream& out)
const;
73 uint64_t uncompressed_trace_size,
75 uint64_t block_size_bytes);
76 void addRecord(
int cntrl,
Addr data_addr,
Addr pc_addr,
79 uint64_t aggregateRecords(uint8_t **data, uint64_t size);
89 void enqueueNextFlushRequest();
98 void enqueueNextFetchRequest();
129 #endif //__MEM_RUBY_SYSTEM_CACHERECORDER_HH__
std::vector< TraceRecord * > m_records
Class for recording cache contents.
std::vector< Sequencer * > m_seq_map
uint64_t m_records_flushed
uint64_t Tick
Tick count type.
uint64_t m_block_size_bytes
void print(std::ostream &out) const
Defines global host-dependent types: Counter, Tick, and (indirectly) {int,uint}{8,16,32,64}_t.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
bool compareTraceRecords(const TraceRecord *n1, const TraceRecord *n2)
uint8_t * m_uncompressed_trace
std::ostream & operator<<(std::ostream &out, const TraceRecord &obj)
uint64_t m_uncompressed_trace_size