gem5
v22.1.0.0
|
Implementation of a vector of stats. More...
#include <statistics.hh>
Public Types | |
typedef Stor | Storage |
typedef Stor::Params | Params |
typedef ScalarProxy< Derived > | Proxy |
Proxy type. More... | |
![]() | |
typedef VectorInfoProxy< Derived > | Info |
![]() | |
typedef InfoProxyType< Derived > | Info |
Public Member Functions | |
void | value (VCounter &vec) const |
void | result (VResult &vec) const |
Copy the values to a local vector and return a reference to it. More... | |
Result | total () const |
Return a total of all entries in this vector. More... | |
size_type | size () const |
bool | zero () const |
bool | check () const |
VectorBase (Group *parent, const char *name, const units::Base *unit, const char *desc) | |
~VectorBase () | |
Derived & | init (size_type size) |
Set this vector to have the given size. More... | |
Proxy | operator[] (off_type index) |
Return a reference (ScalarProxy) to the stat at the given index. More... | |
![]() | |
DataWrapVec (Group *parent=nullptr, const char *name=nullptr, const units::Base *unit=units::Unspecified::get(), const char *desc=nullptr) | |
Derived & | subname (off_type index, const std::string &name) |
Set the subfield name for the given index, and marks this stat to print at the end of simulation. More... | |
Derived & | subdesc (off_type index, const std::string &desc) |
Set the subfield description for the given index and marks this stat to print at the end of simulation. More... | |
void | prepare () |
void | reset () |
![]() | |
const Info * | info () const |
DataWrap ()=delete | |
DataWrap (const DataWrap &)=delete | |
DataWrap & | operator= (const DataWrap &)=delete |
DataWrap (Group *parent, const char *name, const units::Base *unit, const char *desc) | |
Derived & | name (const std::string &name) |
Set the name and marks this stat to print at the end of simulation. More... | |
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. More... | |
const std::string & | setSeparator () const |
Derived & | unit (const units::Base *_unit) |
Set the unit of the stat. More... | |
Derived & | desc (const std::string &_desc) |
Set the description and marks this stat to print at the end of simulation. More... | |
Derived & | precision (int _precision) |
Set the precision and marks this stat to print at the end of simulation. More... | |
Derived & | flags (Flags _flags) |
Set the flags and marks this stat to print at the end of simulation. More... | |
template<class Stat > | |
Derived & | prereq (const Stat &prereq) |
Set the prerequisite stat and marks this stat to print at the end of simulation. More... | |
![]() | |
InfoAccess () | |
void | reset () |
Reset the stat to the default state. More... | |
bool | zero () const |
bool | check () const |
Check that this stat has been set up properly and is ready for use. More... | |
Protected Member Functions | |
Storage * | data (off_type index) |
Retrieve the storage. More... | |
const Storage * | data (off_type index) const |
Retrieve a const pointer to the storage. More... | |
void | doInit (size_type s) |
![]() | |
Derived & | self () |
Info * | info () |
![]() | |
void | setInfo (Group *parent, Info *info) |
Set up an info class for this statistic. More... | |
void | setParams (const StorageParams *params) |
Save Storage class parameters if any. More... | |
void | setInit () |
Save Storage class parameters if any. More... | |
Info * | info () |
Grab the information class for this statistic. More... | |
const Info * | info () const |
Grab the information class for this statistic. More... | |
bool | newStyleStats () const |
Check if the info is new style stats. More... | |
Protected Attributes | |
std::vector< Storage * > | storage |
The storage of this stat. More... | |
Friends | |
class | ScalarProxy< Derived > |
class | DataWrapVec< Derived, VectorInfoProxy > |
Implementation of a vector of stats.
The type of stat is determined by the Storage class.
Definition at line 922 of file statistics.hh.
typedef Stor::Params gem5::statistics::VectorBase< Derived, Stor >::Params |
Definition at line 926 of file statistics.hh.
typedef ScalarProxy<Derived> gem5::statistics::VectorBase< Derived, Stor >::Proxy |
Proxy type.
Definition at line 929 of file statistics.hh.
typedef Stor gem5::statistics::VectorBase< Derived, Stor >::Storage |
Definition at line 925 of file statistics.hh.
|
inline |
Definition at line 1020 of file statistics.hh.
|
inline |
Definition at line 1027 of file statistics.hh.
References gem5::statistics::VectorBase< Derived, Stor >::storage.
|
inline |
Definition at line 1014 of file statistics.hh.
References gem5::statistics::VectorBase< Derived, Stor >::size().
Referenced by gem5::statistics::VectorBase< Derived, Stor >::doInit().
|
inlineprotected |
Retrieve the storage.
index | The vector index to access. |
Definition at line 943 of file statistics.hh.
References gem5::MipsISA::index, and gem5::statistics::VectorBase< Derived, Stor >::storage.
Referenced by gem5::statistics::VectorBase< Derived, Stor >::result(), gem5::statistics::VectorBase< Derived, Stor >::total(), gem5::statistics::VectorBase< Derived, Stor >::value(), and gem5::statistics::VectorBase< Derived, Stor >::zero().
|
inlineprotected |
Retrieve a const pointer to the storage.
index | The vector index to access. |
Definition at line 950 of file statistics.hh.
References gem5::MipsISA::index, and gem5::statistics::VectorBase< Derived, Stor >::storage.
|
inlineprotected |
Definition at line 953 of file statistics.hh.
References gem5::statistics::VectorBase< Derived, Stor >::check(), fatal_if, gem5::ArmISA::i, gem5::statistics::DataWrap< Derived, InfoProxyType >::info(), gem5::VegaISA::s, gem5::statistics::InfoAccess::setInit(), and gem5::statistics::VectorBase< Derived, Stor >::storage.
|
inline |
Set this vector to have the given size.
size | The new size. |
Definition at line 1040 of file statistics.hh.
Referenced by gem5::ruby::CacheMemory::CacheMemoryStats::CacheMemoryStats(), gem5::FALRU::CacheTracking::CacheTracking(), gem5::o3::Commit::CommitStats::CommitStats(), gem5::ComputeUnit::ComputeUnitStats::ComputeUnitStats(), gem5::CopyEngine::CopyEngineStats::CopyEngineStats(), gem5::o3::CPU::CPUStats::CPUStats(), gem5::SimpleExecContext::ExecContextStats::ExecContextStats(), gem5::ExecStage::ExecStageStats::ExecStageStats(), gem5::o3::IEW::IEWStats::ExecutedInstStats::ExecutedInstStats(), gem5::ruby::HTMSequencer::HTMSequencer(), gem5::o3::IEW::IEWStats::IEWStats(), gem5::o3::InstructionQueue::IQStats::IQStats(), gem5::ruby::garnet::GarnetNetwork::regStats(), gem5::BaseXBar::regStats(), gem5::ScheduleStage::ScheduleStageStats::ScheduleStageStats(), gem5::ScoreboardCheckStage::ScoreboardCheckStageStats::ScoreboardCheckStageStats(), gem5::Shader::ShaderStats::ShaderStats(), gem5::ArmISA::TableWalker::TableWalkerStats::TableWalkerStats(), and gem5::branch_prediction::TAGEBase::TAGEBaseStats::TAGEBaseStats().
|
inline |
Return a reference (ScalarProxy) to the stat at the given index.
index | The vector index to access. |
Definition at line 1053 of file statistics.hh.
References gem5::MipsISA::index, and gem5::statistics::VectorBase< Derived, Stor >::size().
|
inline |
Copy the values to a local vector and return a reference to it.
Definition at line 979 of file statistics.hh.
References gem5::statistics::VectorBase< Derived, Stor >::data(), gem5::ArmISA::i, gem5::statistics::VectorBase< Derived, Stor >::size(), and gem5::PowerISA::vec.
|
inline |
Definition at line 1002 of file statistics.hh.
References gem5::statistics::VectorBase< Derived, Stor >::storage.
Referenced by gem5::statistics::VectorBase< Derived, Stor >::check(), gem5::statistics::VectorBase< Derived, Stor >::operator[](), gem5::statistics::VectorBase< Derived, Stor >::result(), gem5::statistics::VectorBase< Derived, Stor >::total(), gem5::statistics::VectorBase< Derived, Stor >::value(), and gem5::statistics::VectorBase< Derived, Stor >::zero().
|
inline |
Return a total of all entries in this vector.
Definition at line 991 of file statistics.hh.
References gem5::statistics::VectorBase< Derived, Stor >::data(), gem5::ArmISA::i, and gem5::statistics::VectorBase< Derived, Stor >::size().
Referenced by gem5::PowerState::getWeights().
|
inline |
Definition at line 967 of file statistics.hh.
References gem5::statistics::VectorBase< Derived, Stor >::data(), gem5::ArmISA::i, gem5::statistics::VectorBase< Derived, Stor >::size(), and gem5::PowerISA::vec.
Referenced by gem5::PowerState::getWeights(), and gem5::memory::qos::MemCtrl::logResponse().
|
inline |
Definition at line 1005 of file statistics.hh.
References gem5::statistics::VectorBase< Derived, Stor >::data(), gem5::ArmISA::i, and gem5::statistics::VectorBase< Derived, Stor >::size().
|
friend |
Definition at line 929 of file statistics.hh.
|
friend |
Definition at line 929 of file statistics.hh.
|
protected |
The storage of this stat.
Definition at line 935 of file statistics.hh.
Referenced by gem5::statistics::VectorBase< Derived, Stor >::data(), gem5::statistics::VectorBase< Derived, Stor >::doInit(), gem5::statistics::VectorBase< Derived, Stor >::size(), and gem5::statistics::VectorBase< Derived, Stor >::~VectorBase().