29 #ifndef __MEM_RUBY_PROFILER_ADDRESSPROFILER_HH__
30 #define __MEM_RUBY_PROFILER_ADDRESSPROFILER_HH__
33 #include <unordered_map>
35 #include "mem/protocol/AccessType.hh"
36 #include "mem/protocol/RubyRequest.hh"
47 typedef std::unordered_map<Addr, AccessTraceForAddress>
AddressMap;
57 RubyRequestType
type, RubyAccessMode access_mode,
58 NodeID id,
bool sharing_miss);
65 void print(std::ostream& out)
const;
103 void printSorted(std::ostream& out,
int num_of_sequencers,
105 std::string description,
Profiler *profiler);
115 #endif // __MEM_RUBY_PROFILER_ADDRESSPROFILER_HH__
AccessTraceForAddress & lookupTraceForAddress(Addr addr, AddressProfiler::AddressMap &record_map)
const std::string & name()
Histogram m_gets_sharing_histogram
std::unordered_map< Addr, AccessTraceForAddress > AddressMap
AddressMap m_dataAccessTrace
void printSorted(std::ostream &out, int num_of_sequencers, const AddressProfiler::AddressMap &record_map, std::string description, Profiler *profiler)
Histogram m_retryProfileHisto
void setHotLines(bool hot_lines)
Histogram m_retryProfileHistoWrite
AddressProfiler(int num_of_sequencers, Profiler *profiler)
void profileGetX(Addr datablock, Addr PC, const Set &owner, const Set &sharers, NodeID requestor)
void addTraceSample(Addr data_addr, Addr pc_addr, RubyRequestType type, RubyAccessMode access_mode, NodeID id, bool sharing_miss)
int64_t m_sharing_miss_counter
void printStats(std::ostream &out) const
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
Histogram m_getx_sharing_histogram
void setAllInstructions(bool all_instructions)
void profileRetry(Addr data_addr, AccessType type, int count)
AddressMap m_programCounterAccessTrace
void print(std::ostream &out) const
void profileGetS(Addr datablock, Addr PC, const Set &owner, const Set &sharers, NodeID requestor)
std::ostream & operator<<(std::ostream &out, const AddressProfiler &obj)
Histogram m_retryProfileHistoRead
AddressMap m_macroBlockAccessTrace
AddressProfiler & operator=(const AddressProfiler &obj)
AddressMap m_retryProfileMap
void regStats(const std::string &name)