|
gem5 v23.0.0.1
|
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, InfoProxyType > | |
| 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. | |
| 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, InfoProxyType > | |
| 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. | |
| 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. | |
| template<class Stat > | |
| 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, InfoProxyType > | |
| 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, InfoProxyType >::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, InfoProxyType >::self(), and gem5::statistics::VectorBase< Derived, Stor >::size().
Referenced by 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::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 1052 of file statistics.hh.
References gem5::MipsISA::index, gem5::statistics::DataWrap< Derived, InfoProxyType >::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().