gem5  v22.1.0.0
Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
gem5::ruby::AccessTraceForAddress Class Reference

#include <AccessTraceForAddress.hh>

Public Member Functions

 AccessTraceForAddress ()
 
 ~AccessTraceForAddress ()
 
void setAddress (Addr addr)
 
void update (RubyRequestType type, RubyAccessMode access_mode, NodeID cpu, bool sharing_miss)
 
int getTotal () const
 
int getSharing () const
 
int getTouchedBy () const
 
Addr getAddress () const
 
void addSample (int value)
 
void print (std::ostream &out) const
 

Static Public Member Functions

static bool less_equal (const AccessTraceForAddress *n1, const AccessTraceForAddress *n2)
 

Private Attributes

Addr m_addr
 
uint64_t m_loads
 
uint64_t m_stores
 
uint64_t m_atomics
 
uint64_t m_total
 
uint64_t m_user
 
uint64_t m_sharing
 
Set m_touched_by
 
Histogramm_histogram_ptr
 

Detailed Description

Definition at line 47 of file AccessTraceForAddress.hh.

Constructor & Destructor Documentation

◆ AccessTraceForAddress()

gem5::ruby::AccessTraceForAddress::AccessTraceForAddress ( )
inline

Definition at line 50 of file AccessTraceForAddress.hh.

◆ ~AccessTraceForAddress()

gem5::ruby::AccessTraceForAddress::~AccessTraceForAddress ( )

Definition at line 39 of file AccessTraceForAddress.cc.

References m_histogram_ptr.

Member Function Documentation

◆ addSample()

void gem5::ruby::AccessTraceForAddress::addSample ( int  value)

◆ getAddress()

Addr gem5::ruby::AccessTraceForAddress::getAddress ( ) const
inline

Definition at line 62 of file AccessTraceForAddress.hh.

References m_addr.

◆ getSharing()

int gem5::ruby::AccessTraceForAddress::getSharing ( ) const
inline

Definition at line 60 of file AccessTraceForAddress.hh.

References m_sharing.

◆ getTotal()

int gem5::ruby::AccessTraceForAddress::getTotal ( ) const

◆ getTouchedBy()

int gem5::ruby::AccessTraceForAddress::getTouchedBy ( ) const
inline

Definition at line 61 of file AccessTraceForAddress.hh.

References gem5::ruby::Set::count(), and m_touched_by.

Referenced by gem5::ruby::printSorted().

◆ less_equal()

static bool gem5::ruby::AccessTraceForAddress::less_equal ( const AccessTraceForAddress n1,
const AccessTraceForAddress n2 
)
inlinestatic

Definition at line 68 of file AccessTraceForAddress.hh.

References getTotal().

Referenced by gem5::ruby::printSorted().

◆ print()

void gem5::ruby::AccessTraceForAddress::print ( std::ostream &  out) const

◆ setAddress()

void gem5::ruby::AccessTraceForAddress::setAddress ( Addr  addr)
inline

Definition at line 56 of file AccessTraceForAddress.hh.

References gem5::X86ISA::addr, and m_addr.

Referenced by gem5::ruby::lookupTraceForAddress().

◆ update()

void gem5::ruby::AccessTraceForAddress::update ( RubyRequestType  type,
RubyAccessMode  access_mode,
NodeID  cpu,
bool  sharing_miss 
)

Member Data Documentation

◆ m_addr

Addr gem5::ruby::AccessTraceForAddress::m_addr
private

Definition at line 75 of file AccessTraceForAddress.hh.

Referenced by getAddress(), print(), and setAddress().

◆ m_atomics

uint64_t gem5::ruby::AccessTraceForAddress::m_atomics
private

Definition at line 78 of file AccessTraceForAddress.hh.

Referenced by print(), and update().

◆ m_histogram_ptr

Histogram* gem5::ruby::AccessTraceForAddress::m_histogram_ptr
private

Definition at line 83 of file AccessTraceForAddress.hh.

Referenced by addSample(), getTotal(), print(), and ~AccessTraceForAddress().

◆ m_loads

uint64_t gem5::ruby::AccessTraceForAddress::m_loads
private

Definition at line 76 of file AccessTraceForAddress.hh.

Referenced by print(), and update().

◆ m_sharing

uint64_t gem5::ruby::AccessTraceForAddress::m_sharing
private

Definition at line 81 of file AccessTraceForAddress.hh.

Referenced by getSharing(), print(), and update().

◆ m_stores

uint64_t gem5::ruby::AccessTraceForAddress::m_stores
private

Definition at line 77 of file AccessTraceForAddress.hh.

Referenced by print(), and update().

◆ m_total

uint64_t gem5::ruby::AccessTraceForAddress::m_total
private

Definition at line 79 of file AccessTraceForAddress.hh.

Referenced by addSample(), getTotal(), print(), and update().

◆ m_touched_by

Set gem5::ruby::AccessTraceForAddress::m_touched_by
private

Definition at line 82 of file AccessTraceForAddress.hh.

Referenced by getTouchedBy(), print(), and update().

◆ m_user

uint64_t gem5::ruby::AccessTraceForAddress::m_user
private

Definition at line 80 of file AccessTraceForAddress.hh.

Referenced by print(), and update().


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

Generated on Wed Dec 21 2022 10:24:23 for gem5 by doxygen 1.9.1