gem5 v24.0.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. | |
Public Types inherited from gem5::statistics::DataWrapVec< Derived, VectorInfoProxy > | |
typedef VectorInfoProxy< Derived > | Info |
Public Types inherited from gem5::statistics::DataWrap< Derived, VectorInfoProxy > | |
typedef VectorInfoProxy< 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. | |
Result | total () const |
Return a total of all entries in this vector. | |
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. | |
Proxy | operator[] (off_type index) |
Return a reference (ScalarProxy) to the stat at the given index. | |
Public Member Functions inherited from gem5::statistics::DataWrapVec< Derived, VectorInfoProxy > | |
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. | |
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. | |
void | prepare () |
void | reset () |
Public Member Functions inherited from gem5::statistics::DataWrap< Derived, VectorInfoProxy > | |
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 | |
Storage * | data (off_type index) |
Retrieve the storage. | |
const Storage * | data (off_type index) const |
Retrieve a const pointer to the storage. | |
void | doInit (size_type s) |
Protected Member Functions inherited from gem5::statistics::DataWrap< Derived, VectorInfoProxy > | |
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. | |
Protected Attributes | |
std::vector< Storage * > | storage |
The storage of this stat. | |
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 921 of file statistics.hh.
typedef Stor::Params gem5::statistics::VectorBase< Derived, Stor >::Params |
Definition at line 925 of file statistics.hh.
typedef ScalarProxy<Derived> gem5::statistics::VectorBase< Derived, Stor >::Proxy |
Proxy type.
Definition at line 928 of file statistics.hh.
typedef Stor gem5::statistics::VectorBase< Derived, Stor >::Storage |
Definition at line 924 of file statistics.hh.
|
inline |
Definition at line 1019 of file statistics.hh.
|
inline |
Definition at line 1026 of file statistics.hh.
References gem5::statistics::VectorBase< Derived, Stor >::storage.
|
inline |
Definition at line 1013 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 942 of file statistics.hh.
References gem5::MipsISA::index, and gem5::statistics::VectorBase< Derived, Stor >::storage.
|
inlineprotected |
Retrieve a const pointer to the storage.
index | The vector index to access. |
Definition at line 949 of file statistics.hh.
References gem5::MipsISA::index, and gem5::statistics::VectorBase< Derived, Stor >::storage.
|
inlineprotected |
Definition at line 952 of file statistics.hh.
References gem5::statistics::VectorBase< Derived, Stor >::check(), fatal_if, gem5::ArmISA::i, gem5::statistics::DataWrap< Derived, VectorInfoProxy >::info(), gem5::ArmISA::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 1039 of file statistics.hh.
References gem5::statistics::DataWrap< Derived, VectorInfoProxy >::self(), and gem5::statistics::VectorBase< Derived, Stor >::size().
Referenced by gem5::branch_prediction::BranchTargetBuffer::BranchTargetBufferStats::BranchTargetBufferStats(), gem5::ruby::CacheMemory::CacheMemoryStats::CacheMemoryStats(), gem5::FALRU::CacheTracking::CacheTracking(), gem5::BaseCPU::CommitCPUStats::CommitCPUStats(), gem5::o3::Commit::CommitStats::CommitStats(), gem5::ComputeUnit::ComputeUnitStats::ComputeUnitStats(), gem5::CopyEngine::CopyEngineStats::CopyEngineStats(), 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::BaseXBar::regStats(), gem5::ruby::garnet::GarnetNetwork::regStats(), gem5::ScheduleStage::ScheduleStageStats::ScheduleStageStats(), gem5::ScoreboardCheckStage::ScoreboardCheckStageStats::ScoreboardCheckStageStats(), gem5::Shader::ShaderStats::ShaderStats(), gem5::ArmISA::TableWalker::TableWalkerStats::TableWalkerStats(), gem5::branch_prediction::TAGEBase::TAGEBaseStats::TAGEBaseStats(), and gem5::VectorStatTester::VectorStatTesterStats::VectorStatTesterStats().
|
inline |
Return a reference (ScalarProxy) to the stat at the given index.
index | The vector index to access. |
Definition at line 1052 of file statistics.hh.
References gem5::MipsISA::index, gem5::statistics::DataWrap< Derived, VectorInfoProxy >::self(), and gem5::statistics::VectorBase< Derived, Stor >::size().
|
inline |
Copy the values to a local vector and return a reference to it.
Definition at line 978 of file statistics.hh.
References data, gem5::ArmISA::i, gem5::statistics::VectorBase< Derived, Stor >::size(), and gem5::PowerISA::vec.
|
inline |
Definition at line 1001 of file statistics.hh.
References gem5::statistics::VectorBase< Derived, Stor >::storage.
Referenced by gem5::statistics::VectorBase< Derived, Stor >::check(), gem5::statistics::VectorBase< Derived, Stor >::init(), 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 990 of file statistics.hh.
References data, gem5::ArmISA::i, gem5::statistics::VectorBase< Derived, Stor >::size(), and gem5::statistics::VectorBase< Derived, Stor >::total().
Referenced by gem5::PowerState::getWeights(), and gem5::statistics::VectorBase< Derived, Stor >::total().
|
inline |
Definition at line 966 of file statistics.hh.
References 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 1004 of file statistics.hh.
References data, gem5::ArmISA::i, and gem5::statistics::VectorBase< Derived, Stor >::size().
|
friend |
Definition at line 928 of file statistics.hh.
|
friend |
Definition at line 928 of file statistics.hh.
|
protected |
The storage of this stat.
Definition at line 934 of file statistics.hh.
Referenced by gem5::statistics::VectorBase< Derived, Stor >::data(), 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().