|
gem5
v20.1.0.5
|
Register Entry. More...
#include <tarmac_record.hh>
Public Member Functions | |
| TraceRegEntry (const TarmacContext &tarmCtx, const RegId ®) | |
| 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 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... | |
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) |
Register Entry.
Definition at line 116 of file tarmac_record.hh.
| Trace::TarmacTracerRecord::TraceRegEntry::TraceRegEntry | ( | const TarmacContext & | tarmCtx, |
| const RegId & | reg | ||
| ) |
Definition at line 151 of file tarmac_record.cc.
|
overridevirtual |
Implements Printable.
Reimplemented in Trace::TarmacTracerRecordV8::TraceRegEntryV8.
Definition at line 449 of file tarmac_record.cc.
References ccprintf(), curTick(), and Sinic::regValid().
| 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, VecPredRegClass, and VecRegClass.
|
protectedvirtual |
Definition at line 222 of file tarmac_record.cc.
References ArmISA::ccRegName, ThreadContext::readCCReg(), Sinic::regValid(), Trace::InstRecord::thread, and Trace::TarmacContext::thread.
|
protectedvirtual |
Definition at line 235 of file tarmac_record.cc.
References bitsToFloat32(), ThreadContext::readFloatReg(), Sinic::regValid(), Trace::InstRecord::thread, Trace::TarmacContext::thread, and sc_dt::to_string().
|
protectedvirtual |
Reimplemented in Trace::TarmacTracerRecordV8::TraceRegEntryV8.
Definition at line 248 of file tarmac_record.cc.
References ArmISA::FramePointerReg, ArmISA::MISCREG_CPSR, ArmISA::mode, ArmISA::MODE_USER, Trace::opModeToStr(), ArmISA::PCReg, ThreadContext::readIntReg(), ThreadContext::readMiscRegNoEffect(), Sinic::regValid(), ArmISA::ReturnAddressReg, ArmISA::StackPointerReg, Trace::InstRecord::thread, Trace::TarmacContext::thread, and sc_dt::to_string().
Referenced by Trace::TarmacTracerRecordV8::TraceRegEntryV8::updateInt().
|
protectedvirtual |
Register update functions.
Reimplemented in Trace::TarmacTracerRecordV8::TraceRegEntryV8.
Definition at line 195 of file tarmac_record.cc.
References ArmISA::CCREG_C, ArmISA::CCREG_GE, ArmISA::CCREG_NZ, ArmISA::CCREG_V, ArmISA::MISCREG_CPSR, ArmISA::miscRegName, ThreadContext::readCCReg(), ThreadContext::readMiscRegNoEffect(), Sinic::regValid(), Trace::InstRecord::thread, and Trace::TarmacContext::thread.
Referenced by Trace::TarmacTracerRecordV8::TraceRegEntryV8::updateMisc().
|
inlineprotectedvirtual |
Reimplemented in Trace::TarmacTracerRecordV8::TraceRegEntryV8.
Definition at line 154 of file tarmac_record.hh.
|
inlineprotectedvirtual |
Reimplemented in Trace::TarmacTracerRecordV8::TraceRegEntryV8.
Definition at line 151 of file tarmac_record.hh.
| RegClass Trace::TarmacTracerRecord::TraceRegEntry::regClass |
Register class.
Definition at line 160 of file tarmac_record.hh.
| std::string Trace::TarmacTracerRecord::TraceRegEntry::regName |
Register name to be printed.
Definition at line 164 of file tarmac_record.hh.
| RegIndex Trace::TarmacTracerRecord::TraceRegEntry::regRel |
Register arch number.
Definition at line 162 of file tarmac_record.hh.
| bool Trace::TarmacTracerRecord::TraceRegEntry::regValid |
True if register entry is valid.
Definition at line 154 of file tarmac_record.hh.