|
gem5 [DEVELOP-FOR-25.0]
|
#include <AddressProfiler.hh>
Public Types | |
| typedef std::unordered_map< Addr, AccessTraceForAddress > | AddressMap |
Public Member Functions | |
| AddressProfiler (int num_of_sequencers, Profiler *profiler) | |
| ~AddressProfiler () | |
| void | printStats (std::ostream &out) const |
| void | clearStats () |
| void | addTraceSample (Addr data_addr, Addr pc_addr, RubyRequestType type, RubyAccessMode access_mode, NodeID id, bool sharing_miss) |
| void | profileRetry (Addr data_addr, AccessType type, int count) |
| void | profileGetX (Addr datablock, Addr PC, const Set &owner, const Set &sharers, NodeID requestor) |
| void | profileGetS (Addr datablock, Addr PC, const Set &owner, const Set &sharers, NodeID requestor) |
| void | print (std::ostream &out) const |
| void | setHotLines (bool hot_lines) |
| void | setAllInstructions (bool all_instructions) |
| void | regStats (const std::string &name) |
| void | collateStats () |
Private Member Functions | |
| AddressProfiler (const AddressProfiler &obj) | |
| AddressProfiler & | operator= (const AddressProfiler &obj) |
Definition at line 50 of file AddressProfiler.hh.
| typedef std::unordered_map<Addr, AccessTraceForAddress> gem5::ruby::AddressProfiler::AddressMap |
Definition at line 53 of file AddressProfiler.hh.
| gem5::ruby::AddressProfiler::AddressProfiler | ( | int | num_of_sequencers, |
| Profiler * | profiler ) |
Definition at line 158 of file AddressProfiler.cc.
References clearStats(), m_num_of_sequencers, and m_profiler.
Referenced by AddressProfiler(), and operator=().
| gem5::ruby::AddressProfiler::~AddressProfiler | ( | ) |
Definition at line 165 of file AddressProfiler.cc.
|
private |
References AddressProfiler().
| void gem5::ruby::AddressProfiler::addTraceSample | ( | Addr | data_addr, |
| Addr | pc_addr, | ||
| RubyRequestType | type, | ||
| RubyAccessMode | access_mode, | ||
| NodeID | id, | ||
| bool | sharing_miss ) |
Definition at line 300 of file AddressProfiler.cc.
References gem5::ruby::lookupTraceForAddress(), m_all_instructions, m_dataAccessTrace, m_macroBlockAccessTrace, m_profiler, m_programCounterAccessTrace, m_sharing_miss_counter, gem5::ruby::makeLineAddress(), and gem5::mbits().
Referenced by profileGetS(), and profileGetX().
| void gem5::ruby::AddressProfiler::clearStats | ( | ) |
Definition at line 249 of file AddressProfiler.cc.
References m_dataAccessTrace, m_gets_sharing_histogram, m_getx_sharing_histogram, m_macroBlockAccessTrace, m_programCounterAccessTrace, m_retryProfileHisto, m_retryProfileHistoRead, m_retryProfileHistoWrite, m_retryProfileMap, and m_sharing_miss_counter.
Referenced by AddressProfiler().
|
inline |
Definition at line 77 of file AddressProfiler.hh.
|
private |
References AddressProfiler().
| void gem5::ruby::AddressProfiler::print | ( | std::ostream & | out | ) | const |
Referenced by gem5::ruby::operator<<().
| void gem5::ruby::AddressProfiler::printStats | ( | std::ostream & | out | ) | const |
Definition at line 182 of file AddressProfiler.cc.
References m_all_instructions, m_dataAccessTrace, m_gets_sharing_histogram, m_getx_sharing_histogram, m_hot_lines, m_macroBlockAccessTrace, m_num_of_sequencers, m_profiler, m_programCounterAccessTrace, m_retryProfileHisto, m_retryProfileHistoRead, m_retryProfileHistoWrite, m_retryProfileMap, m_sharing_miss_counter, and gem5::ruby::printSorted().
| void gem5::ruby::AddressProfiler::profileGetS | ( | Addr | datablock, |
| Addr | PC, | ||
| const Set & | owner, | ||
| const Set & | sharers, | ||
| NodeID | requestor ) |
Definition at line 283 of file AddressProfiler.cc.
References gem5::ruby::Set::addSet(), addTraceSample(), gem5::ruby::Set::count(), m_gets_sharing_histogram, and gem5::ruby::Set::remove().
| void gem5::ruby::AddressProfiler::profileGetX | ( | Addr | datablock, |
| Addr | PC, | ||
| const Set & | owner, | ||
| const Set & | sharers, | ||
| NodeID | requestor ) |
Definition at line 265 of file AddressProfiler.cc.
References gem5::ruby::Set::addSet(), addTraceSample(), gem5::ruby::Set::count(), m_getx_sharing_histogram, and gem5::ruby::Set::remove().
| void gem5::ruby::AddressProfiler::profileRetry | ( | Addr | data_addr, |
| AccessType | type, | ||
| int | count ) |
Definition at line 338 of file AddressProfiler.cc.
References gem5::ruby::AccessTraceForAddress::addSample(), gem5::X86ISA::count, gem5::ruby::lookupTraceForAddress(), m_retryProfileHisto, m_retryProfileHistoRead, m_retryProfileHistoWrite, and m_retryProfileMap.
|
inline |
Definition at line 76 of file AddressProfiler.hh.
References name().
| void gem5::ruby::AddressProfiler::setAllInstructions | ( | bool | all_instructions | ) |
Definition at line 176 of file AddressProfiler.cc.
References m_all_instructions.
| void gem5::ruby::AddressProfiler::setHotLines | ( | bool | hot_lines | ) |
Definition at line 170 of file AddressProfiler.cc.
References m_hot_lines.
|
private |
Definition at line 100 of file AddressProfiler.hh.
Referenced by addTraceSample(), printStats(), and setAllInstructions().
|
private |
Definition at line 86 of file AddressProfiler.hh.
Referenced by addTraceSample(), clearStats(), and printStats().
|
private |
Definition at line 94 of file AddressProfiler.hh.
Referenced by clearStats(), printStats(), and profileGetS().
|
private |
Definition at line 93 of file AddressProfiler.hh.
Referenced by clearStats(), printStats(), and profileGetX().
|
private |
Definition at line 99 of file AddressProfiler.hh.
Referenced by printStats(), and setHotLines().
|
private |
Definition at line 87 of file AddressProfiler.hh.
Referenced by addTraceSample(), clearStats(), and printStats().
|
private |
Definition at line 102 of file AddressProfiler.hh.
Referenced by AddressProfiler(), and printStats().
|
private |
Definition at line 96 of file AddressProfiler.hh.
Referenced by AddressProfiler(), addTraceSample(), and printStats().
|
private |
Definition at line 88 of file AddressProfiler.hh.
Referenced by addTraceSample(), clearStats(), and printStats().
|
private |
Definition at line 90 of file AddressProfiler.hh.
Referenced by clearStats(), printStats(), and profileRetry().
|
private |
Definition at line 92 of file AddressProfiler.hh.
Referenced by clearStats(), printStats(), and profileRetry().
|
private |
Definition at line 91 of file AddressProfiler.hh.
Referenced by clearStats(), printStats(), and profileRetry().
|
private |
Definition at line 89 of file AddressProfiler.hh.
Referenced by clearStats(), printStats(), and profileRetry().
|
private |
Definition at line 84 of file AddressProfiler.hh.
Referenced by addTraceSample(), clearStats(), and printStats().