gem5  v20.1.0.0
Public Member Functions | Static Public Attributes | Private Attributes | List of all members
LSQUnit< Impl >::SQEntry Class Reference
Inheritance diagram for LSQUnit< Impl >::SQEntry:
LSQUnit< Impl >::LSQEntry

Public Member Functions

 SQEntry ()
 Constructs an empty store queue entry. More...
 
 ~SQEntry ()
 
void set (const DynInstPtr &inst)
 
void clear ()
 
bool & canWB ()
 Member accessors. More...
 
const bool & canWB () const
 
bool & completed ()
 
const bool & completed () const
 
bool & committed ()
 
const bool & committed () const
 
bool & isAllZeros ()
 
const bool & isAllZeros () const
 
char * data ()
 
const char * data () const
 
- Public Member Functions inherited from LSQUnit< Impl >::LSQEntry
 LSQEntry ()
 Constructs an empty store queue entry. More...
 
 ~LSQEntry ()
 
void clear ()
 
void set (const DynInstPtr &inst)
 
LSQRequestrequest ()
 
void setRequest (LSQRequest *r)
 
bool hasRequest ()
 
bool valid () const
 Member accessors. More...
 
uint32_t & size ()
 
const uint32_t & size () const
 
const DynInstPtrinstruction () const
 

Static Public Attributes

static constexpr size_t DataSize = sizeof(_data)
 

Private Attributes

char _data [MaxDataBytes]
 The store data. More...
 
bool _canWB
 Whether or not the store can writeback. More...
 
bool _committed
 Whether or not the store is committed. More...
 
bool _completed
 Whether or not the store is completed. More...
 
bool _isAllZeros
 Does this request write all zeros and thus doesn't have any data attached to it. More...
 

Detailed Description

template<class Impl>
class LSQUnit< Impl >::SQEntry

Definition at line 151 of file lsq_unit.hh.

Constructor & Destructor Documentation

◆ SQEntry()

template<class Impl >
LSQUnit< Impl >::SQEntry::SQEntry ( )
inline

Constructs an empty store queue entry.

Definition at line 170 of file lsq_unit.hh.

References LSQUnit< Impl >::SQEntry::_data, and LSQUnit< Impl >::SQEntry::DataSize.

◆ ~SQEntry()

template<class Impl >
LSQUnit< Impl >::SQEntry::~SQEntry ( )
inline

Definition at line 177 of file lsq_unit.hh.

Member Function Documentation

◆ canWB() [1/2]

template<class Impl >
bool& LSQUnit< Impl >::SQEntry::canWB ( )
inline

Member accessors.

Definition at line 195 of file lsq_unit.hh.

References LSQUnit< Impl >::SQEntry::_canWB.

◆ canWB() [2/2]

template<class Impl >
const bool& LSQUnit< Impl >::SQEntry::canWB ( ) const
inline

Definition at line 196 of file lsq_unit.hh.

References LSQUnit< Impl >::SQEntry::_canWB.

◆ clear()

template<class Impl >
void LSQUnit< Impl >::SQEntry::clear ( )
inline

◆ committed() [1/2]

template<class Impl >
bool& LSQUnit< Impl >::SQEntry::committed ( )
inline

Definition at line 199 of file lsq_unit.hh.

References LSQUnit< Impl >::SQEntry::_committed.

◆ committed() [2/2]

template<class Impl >
const bool& LSQUnit< Impl >::SQEntry::committed ( ) const
inline

Definition at line 200 of file lsq_unit.hh.

References LSQUnit< Impl >::SQEntry::_committed.

◆ completed() [1/2]

template<class Impl >
bool& LSQUnit< Impl >::SQEntry::completed ( )
inline

Definition at line 197 of file lsq_unit.hh.

References LSQUnit< Impl >::SQEntry::_completed.

◆ completed() [2/2]

template<class Impl >
const bool& LSQUnit< Impl >::SQEntry::completed ( ) const
inline

Definition at line 198 of file lsq_unit.hh.

References LSQUnit< Impl >::SQEntry::_completed.

◆ data() [1/2]

template<class Impl >
char* LSQUnit< Impl >::SQEntry::data ( )
inline

Definition at line 203 of file lsq_unit.hh.

References LSQUnit< Impl >::SQEntry::_data.

◆ data() [2/2]

template<class Impl >
const char* LSQUnit< Impl >::SQEntry::data ( ) const
inline

Definition at line 204 of file lsq_unit.hh.

References LSQUnit< Impl >::SQEntry::_data.

◆ isAllZeros() [1/2]

template<class Impl >
bool& LSQUnit< Impl >::SQEntry::isAllZeros ( )
inline

Definition at line 201 of file lsq_unit.hh.

References LSQUnit< Impl >::SQEntry::_isAllZeros.

◆ isAllZeros() [2/2]

template<class Impl >
const bool& LSQUnit< Impl >::SQEntry::isAllZeros ( ) const
inline

Definition at line 202 of file lsq_unit.hh.

References LSQUnit< Impl >::SQEntry::_isAllZeros.

◆ set()

template<class Impl >
void LSQUnit< Impl >::SQEntry::set ( const DynInstPtr inst)
inline

Member Data Documentation

◆ _canWB

template<class Impl >
bool LSQUnit< Impl >::SQEntry::_canWB
private

Whether or not the store can writeback.

Definition at line 157 of file lsq_unit.hh.

Referenced by LSQUnit< Impl >::SQEntry::canWB(), and LSQUnit< Impl >::SQEntry::clear().

◆ _committed

template<class Impl >
bool LSQUnit< Impl >::SQEntry::_committed
private

Whether or not the store is committed.

Definition at line 159 of file lsq_unit.hh.

Referenced by LSQUnit< Impl >::SQEntry::clear(), and LSQUnit< Impl >::SQEntry::committed().

◆ _completed

template<class Impl >
bool LSQUnit< Impl >::SQEntry::_completed
private

Whether or not the store is completed.

Definition at line 161 of file lsq_unit.hh.

Referenced by LSQUnit< Impl >::SQEntry::clear(), and LSQUnit< Impl >::SQEntry::completed().

◆ _data

template<class Impl >
char LSQUnit< Impl >::SQEntry::_data[MaxDataBytes]
private

The store data.

Definition at line 155 of file lsq_unit.hh.

Referenced by LSQUnit< Impl >::SQEntry::data(), and LSQUnit< Impl >::SQEntry::SQEntry().

◆ _isAllZeros

template<class Impl >
bool LSQUnit< Impl >::SQEntry::_isAllZeros
private

Does this request write all zeros and thus doesn't have any data attached to it.

Used for cache block zero style instructs (ARM DC ZVA; ALPHA WH64)

Definition at line 166 of file lsq_unit.hh.

Referenced by LSQUnit< Impl >::SQEntry::clear(), and LSQUnit< Impl >::SQEntry::isAllZeros().

◆ DataSize

template<class Impl >
constexpr size_t LSQUnit< Impl >::SQEntry::DataSize = sizeof(_data)
staticconstexpr

Definition at line 168 of file lsq_unit.hh.

Referenced by LSQUnit< Impl >::SQEntry::SQEntry().


The documentation for this class was generated from the following file:

Generated on Wed Sep 30 2020 14:02:27 for gem5 by doxygen 1.8.17