gem5 v24.0.0.0
Loading...
Searching...
No Matches
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 Tue Jun 18 2024 16:24:22 for gem5 by doxygen 1.11.0