gem5  v19.0.0.0
Public Member Functions | Public Attributes | Protected Member Functions | List of all members
Trace::TarmacTracerRecord::TraceRegEntry Struct Reference

Register Entry. More...

#include <tarmac_record.hh>

Inheritance diagram for Trace::TarmacTracerRecord::TraceRegEntry:
Trace::TarmacBaseRecord::RegEntry Printable

Public Member Functions

 TraceRegEntry (const TarmacContext &tarmCtx, const RegId &reg)
 
void update (const TarmacContext &tarmCtx)
 This updates the register entry using the update table. More...
 
virtual void print (std::ostream &outs, int verbosity=0, const std::string &prefix="") const override
 
- Public Member Functions inherited from Trace::TarmacBaseRecord::RegEntry
 RegEntry ()=default
 
 RegEntry (ArmISA::PCState pc)
 
- Public Member Functions inherited from Printable
 Printable ()
 
virtual ~Printable ()
 

Public Attributes

bool regValid
 True if register entry is valid. More...
 
RegClass regClass
 Register class. More...
 
RegIndex regRel
 Register arch number. More...
 
std::string regName
 Register name to be printed. More...
 
- Public Attributes inherited from Trace::TarmacBaseRecord::RegEntry
RegType type
 
RegIndex index
 
ISetState isetstate
 
std::vector< uint64_t > values
 

Protected Member Functions

virtual void updateMisc (const TarmacContext &tarmCtx, RegIndex regRelIdx)
 Register update functions. More...
 
virtual void updateCC (const TarmacContext &tarmCtx, RegIndex regRelIdx)
 
virtual void updateFloat (const TarmacContext &tarmCtx, RegIndex regRelIdx)
 
virtual void updateInt (const TarmacContext &tarmCtx, RegIndex regRelIdx)
 
virtual void updateVec (const TarmacContext &tarmCtx, RegIndex regRelIdx)
 
virtual void updatePred (const TarmacContext &tarmCtx, RegIndex regRelIdx)
 

Additional Inherited Members

- Public Types inherited from Trace::TarmacBaseRecord::RegEntry
enum  RegElement { Lo = 0, Hi = 1, Max = 32 }
 

Detailed Description

Register Entry.

Definition at line 118 of file tarmac_record.hh.

Constructor & Destructor Documentation

◆ TraceRegEntry()

Trace::TarmacTracerRecord::TraceRegEntry::TraceRegEntry ( const TarmacContext tarmCtx,
const RegId reg 
)

Definition at line 151 of file tarmac_record.cc.

Member Function Documentation

◆ print()

void Trace::TarmacTracerRecord::TraceRegEntry::print ( std::ostream &  outs,
int  verbosity = 0,
const std::string &  prefix = "" 
) const
overridevirtual

◆ update()

void Trace::TarmacTracerRecord::TraceRegEntry::update ( const TarmacContext tarmCtx)

This updates the register entry using the update table.

It is a required step after the register entry generation. If unupdated, the entry will be marked as invalid. The entry update cannot be done automatically at TraceRegEntry construction: the entries are extended by consequent Tarmac Tracer versions (like V8), and virtual functions should be avoided during construction.

Definition at line 162 of file tarmac_record.cc.

References CCRegClass, FloatRegClass, IntRegClass, MiscRegClass, regClass, regRel, updateCC(), updateFloat(), updateInt(), updateMisc(), updatePred(), updateVec(), VecPredRegClass, and VecRegClass.

◆ updateCC()

void Trace::TarmacTracerRecord::TraceRegEntry::updateCC ( const TarmacContext tarmCtx,
RegIndex  regRelIdx 
)
protectedvirtual

◆ updateFloat()

void Trace::TarmacTracerRecord::TraceRegEntry::updateFloat ( const TarmacContext tarmCtx,
RegIndex  regRelIdx 
)
protectedvirtual

◆ updateInt()

void Trace::TarmacTracerRecord::TraceRegEntry::updateInt ( const TarmacContext tarmCtx,
RegIndex  regRelIdx 
)
protectedvirtual

◆ updateMisc()

void Trace::TarmacTracerRecord::TraceRegEntry::updateMisc ( const TarmacContext tarmCtx,
RegIndex  regRelIdx 
)
protectedvirtual

◆ updatePred()

virtual void Trace::TarmacTracerRecord::TraceRegEntry::updatePred ( const TarmacContext tarmCtx,
RegIndex  regRelIdx 
)
inlineprotectedvirtual

Definition at line 156 of file tarmac_record.hh.

References Sinic::regValid().

Referenced by update().

◆ updateVec()

virtual void Trace::TarmacTracerRecord::TraceRegEntry::updateVec ( const TarmacContext tarmCtx,
RegIndex  regRelIdx 
)
inlineprotectedvirtual

Definition at line 153 of file tarmac_record.hh.

Referenced by update().

Member Data Documentation

◆ regClass

RegClass Trace::TarmacTracerRecord::TraceRegEntry::regClass

Register class.

Definition at line 162 of file tarmac_record.hh.

Referenced by update().

◆ regName

std::string Trace::TarmacTracerRecord::TraceRegEntry::regName

Register name to be printed.

Definition at line 166 of file tarmac_record.hh.

Referenced by print(), updateCC(), updateFloat(), updateInt(), and updateMisc().

◆ regRel

RegIndex Trace::TarmacTracerRecord::TraceRegEntry::regRel

Register arch number.

Definition at line 164 of file tarmac_record.hh.

Referenced by update().

◆ regValid

bool Trace::TarmacTracerRecord::TraceRegEntry::regValid

True if register entry is valid.

Definition at line 156 of file tarmac_record.hh.

Referenced by print(), updateCC(), updateFloat(), updateInt(), and updateMisc().


The documentation for this struct was generated from the following files:

Generated on Fri Feb 28 2020 16:27:27 for gem5 by doxygen 1.8.13