gem5 v24.0.0.0
|
Implementation of a scalar stat. More...
#include <statistics.hh>
Public Types | |
typedef Stor | Storage |
typedef Stor::Params | Params |
Public Types inherited from gem5::statistics::DataWrap< Derived, ScalarInfoProxy > | |
typedef ScalarInfoProxy< Derived > | Info |
Public Member Functions | |
ScalarBase (Group *parent=nullptr, const char *name=nullptr, const units::Base *unit=units::Unspecified::get(), const char *desc=nullptr) | |
void | operator++ () |
Increment the stat by 1. | |
void | operator-- () |
Decrement the stat by 1. | |
void | operator++ (int) |
Increment the stat by 1. | |
void | operator-- (int) |
Decrement the stat by 1. | |
template<typename U > | |
void | operator= (const U &v) |
Set the data value to the given value. | |
template<typename U > | |
void | operator+= (const U &v) |
Increment the stat by the given value. | |
template<typename U > | |
void | operator-= (const U &v) |
Decrement the stat by the given value. | |
size_type | size () const |
Return the number of elements, always 1 for a scalar. | |
Counter | value () const |
Return the current value of this stat as its base type. | |
Result | result () const |
Result | total () const |
bool | zero () const |
void | reset () |
void | prepare () |
Public Member Functions inherited from gem5::statistics::DataWrap< Derived, ScalarInfoProxy > | |
const Info * | info () const |
DataWrap ()=delete | |
DataWrap (const DataWrap &)=delete | |
DataWrap (Group *parent, const char *name, const units::Base *unit, const char *desc) | |
DataWrap & | operator= (const DataWrap &)=delete |
Derived & | name (const std::string &name) |
Set the name and marks this stat to print at the end of simulation. | |
const std::string & | name () const |
Derived & | setSeparator (const std::string &_sep) |
Set the character(s) used between the name and vector number on vectors, dist, etc. | |
const std::string & | setSeparator () const |
Derived & | unit (const units::Base *_unit) |
Set the unit of the stat. | |
Derived & | desc (const std::string &_desc) |
Set the description and marks this stat to print at the end of simulation. | |
Derived & | precision (int _precision) |
Set the precision and marks this stat to print at the end of simulation. | |
Derived & | flags (Flags _flags) |
Set the flags and marks this stat to print at the end of simulation. | |
Derived & | prereq (const Stat &prereq) |
Set the prerequisite stat and marks this stat to print at the end of simulation. | |
Public Member Functions inherited from gem5::statistics::InfoAccess | |
InfoAccess () | |
void | reset () |
Reset the stat to the default state. | |
bool | zero () const |
bool | check () const |
Check that this stat has been set up properly and is ready for use. | |
Protected Member Functions | |
GEM5_ALIGNED (8) char storage[sizeof(Storage)] | |
The storage of this stat. | |
Storage * | data () |
Retrieve the storage. | |
const Storage * | data () const |
Retrieve a const pointer to the storage. | |
void | doInit () |
Protected Member Functions inherited from gem5::statistics::DataWrap< Derived, ScalarInfoProxy > | |
Derived & | self () |
Info * | info () |
Protected Member Functions inherited from gem5::statistics::InfoAccess | |
void | setInfo (Group *parent, Info *info) |
Set up an info class for this statistic. | |
void | setParams (const StorageParams *params) |
Save Storage class parameters if any. | |
void | setInit () |
Save Storage class parameters if any. | |
Info * | info () |
Grab the information class for this statistic. | |
const Info * | info () const |
Grab the information class for this statistic. | |
bool | newStyleStats () const |
Check if the info is new style stats. | |
Implementation of a scalar stat.
The type of stat is determined by the Storage template.
Definition at line 519 of file statistics.hh.
typedef Stor::Params gem5::statistics::ScalarBase< Derived, Stor >::Params |
Definition at line 523 of file statistics.hh.
typedef Stor gem5::statistics::ScalarBase< Derived, Stor >::Storage |
Definition at line 522 of file statistics.hh.
|
inline |
Definition at line 561 of file statistics.hh.
References gem5::statistics::ScalarBase< Derived, Stor >::doInit().
|
inlineprotected |
Retrieve the storage.
index | The vector index to access. |
Definition at line 536 of file statistics.hh.
Referenced by gem5::statistics::ScalarBase< Derived, Stor >::operator++(), gem5::statistics::ScalarBase< Derived, Stor >::operator+=(), gem5::statistics::ScalarBase< Derived, Stor >::operator--(), gem5::statistics::ScalarBase< Derived, Stor >::operator-=(), gem5::statistics::ScalarBase< Derived, Stor >::operator=(), gem5::statistics::ScalarBase< Derived, Stor >::prepare(), gem5::statistics::ScalarBase< Derived, Stor >::reset(), gem5::statistics::ScalarBase< Derived, Stor >::result(), and gem5::statistics::ScalarBase< Derived, Stor >::value().
|
inlineprotected |
Retrieve a const pointer to the storage.
for the given index.
index | The vector index to access. |
Definition at line 548 of file statistics.hh.
|
inlineprotected |
Definition at line 554 of file statistics.hh.
References gem5::statistics::Info::getStorageParams(), gem5::statistics::DataWrap< Derived, ScalarInfoProxy >::info(), and gem5::statistics::InfoAccess::setInit().
Referenced by gem5::statistics::ScalarBase< Derived, Stor >::ScalarBase().
|
protected |
The storage of this stat.
|
inline |
Increment the stat by 1.
This calls the associated storage object inc function.
Definition at line 575 of file statistics.hh.
References gem5::statistics::ScalarBase< Derived, Stor >::data().
|
inline |
Increment the stat by 1.
Definition at line 583 of file statistics.hh.
|
inline |
Increment the stat by the given value.
This calls the associated storage object inc function.
v | The value to add. |
Definition at line 601 of file statistics.hh.
References gem5::statistics::ScalarBase< Derived, Stor >::data(), and gem5::ArmISA::v.
|
inline |
Decrement the stat by 1.
This calls the associated storage object dec function.
Definition at line 580 of file statistics.hh.
References gem5::statistics::ScalarBase< Derived, Stor >::data().
|
inline |
Decrement the stat by 1.
Definition at line 585 of file statistics.hh.
|
inline |
Decrement the stat by the given value.
This calls the associated storage object dec function.
v | The value to substract. |
Definition at line 609 of file statistics.hh.
References gem5::statistics::ScalarBase< Derived, Stor >::data(), and gem5::ArmISA::v.
|
inline |
Set the data value to the given value.
This calls the associated storage object set function.
v | The new value. |
Definition at line 593 of file statistics.hh.
References gem5::statistics::ScalarBase< Derived, Stor >::data(), and gem5::ArmISA::v.
|
inline |
Definition at line 630 of file statistics.hh.
References gem5::statistics::ScalarBase< Derived, Stor >::data(), and gem5::statistics::DataWrap< Derived, ScalarInfoProxy >::info().
|
inline |
Definition at line 629 of file statistics.hh.
References gem5::statistics::ScalarBase< Derived, Stor >::data(), and gem5::statistics::DataWrap< Derived, ScalarInfoProxy >::info().
Referenced by gem5::CoherentXBar::recvTimingReq(), and gem5::ArmISA::TLB::regProbePoints().
|
inline |
Definition at line 623 of file statistics.hh.
References gem5::statistics::ScalarBase< Derived, Stor >::data().
Referenced by gem5::statistics::ScalarBase< Derived, Stor >::total(), and gem5::statistics::ScalarBase< Derived, Stor >::zero().
|
inline |
Return the number of elements, always 1 for a scalar.
Definition at line 615 of file statistics.hh.
Referenced by gem5::memory::MemCtrl::addToReadQueue(), gem5::UFSHostDevice::manageReadTransfer(), gem5::VectorRegisterFile::scheduleWriteOperandsFromLoad(), gem5::VectorRegisterFile::waveExecuteInst(), and gem5::UFSHostDevice::writeDone().
|
inline |
Definition at line 625 of file statistics.hh.
References gem5::statistics::ScalarBase< Derived, Stor >::result().
|
inline |
Return the current value of this stat as its base type.
Definition at line 621 of file statistics.hh.
References gem5::statistics::ScalarBase< Derived, Stor >::data().
Referenced by gem5::TraceCPU::ElasticDataGen::addDepsOnParent(), gem5::TraceCPU::ElasticDataGen::addToSortedReadyList(), gem5::o3::ElasticTrace::assignRobDep(), gem5::Wavefront::exec(), gem5::UFSHostDevice::finalUTP(), gem5::BaseTags::insertBlock(), gem5::SectorTags::insertBlock(), gem5::SectorTags::invalidate(), gem5::SectorTags::moveBlock(), gem5::o3::ElasticTrace::recordExecTick(), gem5::UFSHostDevice::requestHandler(), gem5::ScalarStatTester::setStats(), gem5::TraceCPU::totalOps(), gem5::BaseTrafficGen::update(), gem5::TraceCPU::updateNumOps(), gem5::X86ISA::GpuTLB::updatePageFootprint(), and gem5::o3::ElasticTrace::updateRegDep().
|
inline |
Definition at line 627 of file statistics.hh.
References gem5::statistics::ScalarBase< Derived, Stor >::result().