gem5  v20.1.0.0
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
AddressProfiler Class Reference

#include <AddressProfiler.hh>

Public Types

typedef std::unordered_map< Addr, AccessTraceForAddressAddressMap
 

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)
 
AddressProfileroperator= (const AddressProfiler &obj)
 

Private Attributes

int64_t m_sharing_miss_counter
 
AddressMap m_dataAccessTrace
 
AddressMap m_macroBlockAccessTrace
 
AddressMap m_programCounterAccessTrace
 
AddressMap m_retryProfileMap
 
Histogram m_retryProfileHisto
 
Histogram m_retryProfileHistoWrite
 
Histogram m_retryProfileHistoRead
 
Histogram m_getx_sharing_histogram
 
Histogram m_gets_sharing_histogram
 
Profilerm_profiler
 
bool m_hot_lines
 
bool m_all_instructions
 
int m_num_of_sequencers
 

Detailed Description

Definition at line 44 of file AddressProfiler.hh.

Member Typedef Documentation

◆ AddressMap

Definition at line 47 of file AddressProfiler.hh.

Constructor & Destructor Documentation

◆ AddressProfiler() [1/2]

AddressProfiler::AddressProfiler ( int  num_of_sequencers,
Profiler profiler 
)

Definition at line 147 of file AddressProfiler.cc.

References clearStats(), and m_num_of_sequencers.

◆ ~AddressProfiler()

AddressProfiler::~AddressProfiler ( )

Definition at line 154 of file AddressProfiler.cc.

◆ AddressProfiler() [2/2]

AddressProfiler::AddressProfiler ( const AddressProfiler obj)
private

Member Function Documentation

◆ addTraceSample()

void AddressProfiler::addTraceSample ( Addr  data_addr,
Addr  pc_addr,
RubyRequestType  type,
RubyAccessMode  access_mode,
NodeID  id,
bool  sharing_miss 
)

◆ clearStats()

void AddressProfiler::clearStats ( )

◆ collateStats()

void AddressProfiler::collateStats ( )
inline

Definition at line 71 of file AddressProfiler.hh.

Referenced by Profiler::collateStats().

◆ operator=()

AddressProfiler& AddressProfiler::operator= ( const AddressProfiler obj)
private

◆ print()

void AddressProfiler::print ( std::ostream &  out) const

Referenced by operator<<().

◆ printStats()

void AddressProfiler::printStats ( std::ostream &  out) const

◆ profileGetS()

void AddressProfiler::profileGetS ( Addr  datablock,
Addr  PC,
const Set owner,
const Set sharers,
NodeID  requestor 
)

◆ profileGetX()

void AddressProfiler::profileGetX ( Addr  datablock,
Addr  PC,
const Set owner,
const Set sharers,
NodeID  requestor 
)

◆ profileRetry()

void AddressProfiler::profileRetry ( Addr  data_addr,
AccessType  type,
int  count 
)

◆ regStats()

void AddressProfiler::regStats ( const std::string &  name)
inline

Definition at line 70 of file AddressProfiler.hh.

Referenced by Profiler::regStats().

◆ setAllInstructions()

void AddressProfiler::setAllInstructions ( bool  all_instructions)

Definition at line 165 of file AddressProfiler.cc.

References m_all_instructions.

Referenced by Profiler::Profiler().

◆ setHotLines()

void AddressProfiler::setHotLines ( bool  hot_lines)

Definition at line 159 of file AddressProfiler.cc.

References m_hot_lines.

Referenced by Profiler::Profiler().

Member Data Documentation

◆ m_all_instructions

bool AddressProfiler::m_all_instructions
private

Definition at line 94 of file AddressProfiler.hh.

Referenced by addTraceSample(), printStats(), and setAllInstructions().

◆ m_dataAccessTrace

AddressMap AddressProfiler::m_dataAccessTrace
private

Definition at line 80 of file AddressProfiler.hh.

Referenced by addTraceSample(), clearStats(), and printStats().

◆ m_gets_sharing_histogram

Histogram AddressProfiler::m_gets_sharing_histogram
private

Definition at line 88 of file AddressProfiler.hh.

Referenced by clearStats(), printStats(), and profileGetS().

◆ m_getx_sharing_histogram

Histogram AddressProfiler::m_getx_sharing_histogram
private

Definition at line 87 of file AddressProfiler.hh.

Referenced by clearStats(), printStats(), and profileGetX().

◆ m_hot_lines

bool AddressProfiler::m_hot_lines
private

Definition at line 93 of file AddressProfiler.hh.

Referenced by printStats(), and setHotLines().

◆ m_macroBlockAccessTrace

AddressMap AddressProfiler::m_macroBlockAccessTrace
private

Definition at line 81 of file AddressProfiler.hh.

Referenced by addTraceSample(), clearStats(), and printStats().

◆ m_num_of_sequencers

int AddressProfiler::m_num_of_sequencers
private

Definition at line 96 of file AddressProfiler.hh.

Referenced by AddressProfiler(), and printStats().

◆ m_profiler

Profiler* AddressProfiler::m_profiler
private

Definition at line 90 of file AddressProfiler.hh.

Referenced by printStats().

◆ m_programCounterAccessTrace

AddressMap AddressProfiler::m_programCounterAccessTrace
private

Definition at line 82 of file AddressProfiler.hh.

Referenced by addTraceSample(), clearStats(), and printStats().

◆ m_retryProfileHisto

Histogram AddressProfiler::m_retryProfileHisto
private

Definition at line 84 of file AddressProfiler.hh.

Referenced by clearStats(), printStats(), and profileRetry().

◆ m_retryProfileHistoRead

Histogram AddressProfiler::m_retryProfileHistoRead
private

Definition at line 86 of file AddressProfiler.hh.

Referenced by clearStats(), printStats(), and profileRetry().

◆ m_retryProfileHistoWrite

Histogram AddressProfiler::m_retryProfileHistoWrite
private

Definition at line 85 of file AddressProfiler.hh.

Referenced by clearStats(), printStats(), and profileRetry().

◆ m_retryProfileMap

AddressMap AddressProfiler::m_retryProfileMap
private

Definition at line 83 of file AddressProfiler.hh.

Referenced by clearStats(), printStats(), and profileRetry().

◆ m_sharing_miss_counter

int64_t AddressProfiler::m_sharing_miss_counter
private

Definition at line 78 of file AddressProfiler.hh.

Referenced by addTraceSample(), clearStats(), and printStats().


The documentation for this class was generated from the following files:

Generated on Wed Sep 30 2020 14:02:20 for gem5 by doxygen 1.8.17