gem5
v20.0.0.2
|
#include <insttracer.hh>
Public Member Functions | |
InstRecord (Tick _when, ThreadContext *_thread, const StaticInstPtr _staticInst, TheISA::PCState _pc, const StaticInstPtr _macroStaticInst=NULL) | |
virtual | ~InstRecord () |
void | setWhen (Tick new_when) |
void | setMem (Addr a, Addr s, unsigned f) |
template<typename T , size_t N> | |
void | setData (std::array< T, N > d) |
void | setData (uint64_t d) |
void | setData (uint32_t d) |
void | setData (uint16_t d) |
void | setData (uint8_t d) |
void | setData (int64_t d) |
void | setData (int32_t d) |
void | setData (int16_t d) |
void | setData (int8_t d) |
void | setData (double d) |
void | setData (::VecRegContainer< TheISA::VecRegSizeBytes > &d) |
void | setData (::VecPredRegContainer< TheISA::VecPredRegSizeBits, TheISA::VecPredRegHasPackedRepr > &d) |
void | setFetchSeq (InstSeqNum seq) |
void | setCPSeq (InstSeqNum seq) |
void | setPredicate (bool val) |
virtual void | dump ()=0 |
Tick | getWhen () const |
ThreadContext * | getThread () const |
StaticInstPtr | getStaticInst () const |
TheISA::PCState | getPCState () const |
StaticInstPtr | getMacroStaticInst () const |
Addr | getAddr () const |
Addr | getSize () const |
unsigned | getFlags () const |
bool | getMemValid () const |
uint64_t | getIntData () const |
double | getFloatData () const |
int | getDataStatus () const |
InstSeqNum | getFetchSeq () const |
bool | getFetchSeqValid () const |
InstSeqNum | getCpSeq () const |
bool | getCpSeqValid () const |
Protected Types | |
enum | DataStatus { DataInvalid = 0, DataInt8 = 1, DataInt16 = 2, DataInt32 = 4, DataInt64 = 8, DataDouble = 3, DataVec = 5, DataVecPred = 6 } |
What size of data was written? More... | |
Protected Attributes | |
Tick | when |
ThreadContext * | thread |
StaticInstPtr | staticInst |
TheISA::PCState | pc |
StaticInstPtr | macroStaticInst |
Addr | addr |
The address that was accessed. More... | |
Addr | size |
The size of the memory request. More... | |
unsigned | flags |
The flags that were assigned to the request. More... | |
union { | |
uint64_t as_int | |
double as_double | |
::VecRegContainer< TheISA::VecRegSizeBytes > * as_vec | |
::VecPredRegContainer< TheISA::VecPredRegSizeBits, TheISA::VecPredRegHasPackedRepr > * as_pred | |
} | data |
InstSeqNum | fetch_seq |
InstSeqNum | cp_seq |
enum Trace::InstRecord::DataStatus | data_status |
bool | mem_valid |
Are the memory fields in the record valid? More... | |
bool | fetch_seq_valid |
Are the fetch sequence number fields valid? More... | |
bool | cp_seq_valid |
Are the commit sequence number fields valid? More... | |
bool | predicate |
is the predicate for execution this inst true or false (not execed)? More... | |
Definition at line 55 of file insttracer.hh.
|
inline |
Definition at line 147 of file insttracer.hh.
|
inlinevirtual |
Definition at line 157 of file insttracer.hh.
References data, data_status, DataVec, and DataVecPred.
|
pure virtual |
|
inline |
Definition at line 230 of file insttracer.hh.
References addr.
Referenced by Trace::TarmacTracerRecordV8::addMemEntry(), Trace::TarmacTracerRecord::addMemEntry(), and Trace::InstPBTraceRecord::dump().
|
inline |
Definition at line 242 of file insttracer.hh.
References cp_seq.
|
inline |
Definition at line 243 of file insttracer.hh.
References cp_seq_valid.
|
inline |
Definition at line 237 of file insttracer.hh.
References data_status.
|
inline |
Definition at line 239 of file insttracer.hh.
References fetch_seq.
|
inline |
Definition at line 240 of file insttracer.hh.
References fetch_seq_valid.
|
inline |
Definition at line 232 of file insttracer.hh.
References flags.
Referenced by Trace::InstPBTraceRecord::dump().
|
inline |
Definition at line 236 of file insttracer.hh.
References data.
|
inline |
Definition at line 235 of file insttracer.hh.
References data.
Referenced by Trace::TarmacTracerRecordV8::addMemEntry(), and Trace::TarmacTracerRecord::addMemEntry().
|
inline |
Definition at line 228 of file insttracer.hh.
References macroStaticInst.
Referenced by Trace::ArmNativeTrace::check().
|
inline |
Definition at line 233 of file insttracer.hh.
References mem_valid.
Referenced by Trace::TarmacTracerRecordV8::addMemEntry(), Trace::TarmacTracerRecord::addMemEntry(), and Trace::InstPBTraceRecord::dump().
|
inline |
Definition at line 227 of file insttracer.hh.
References pc.
|
inline |
Definition at line 231 of file insttracer.hh.
References size.
Referenced by Trace::TarmacTracerRecordV8::addMemEntry(), Trace::TarmacTracerRecord::addMemEntry(), and Trace::InstPBTraceRecord::dump().
|
inline |
Definition at line 226 of file insttracer.hh.
References staticInst.
Referenced by Trace::X86NativeTrace::check(), and Trace::ArmNativeTrace::check().
|
inline |
Definition at line 225 of file insttracer.hh.
References thread.
Referenced by Trace::SparcNativeTrace::check(), Trace::X86NativeTrace::check(), and Trace::ArmNativeTrace::check().
|
inline |
Definition at line 224 of file insttracer.hh.
References when.
|
inline |
Definition at line 216 of file insttracer.hh.
|
inline |
Definition at line 176 of file insttracer.hh.
References data, data_status, DataInt16, DataInt32, DataInt64, and DataInt8.
Referenced by amoMemAtomic(), X86ISA::getMem(), getMem(), readMemAtomic(), X86ISA::readMemAtomic(), writeMemAtomic(), X86ISA::writeMemAtomic(), writeMemTiming(), and X86ISA::writeMemTiming().
|
inline |
Definition at line 185 of file insttracer.hh.
References ArmISA::d, data, data_status, and DataInt64.
|
inline |
Definition at line 186 of file insttracer.hh.
References ArmISA::d, data, data_status, and DataInt32.
|
inline |
Definition at line 187 of file insttracer.hh.
References ArmISA::d, data, data_status, and DataInt16.
|
inline |
Definition at line 188 of file insttracer.hh.
References ArmISA::d, data, data_status, and DataInt8.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 195 of file insttracer.hh.
References ArmISA::d, data, data_status, and DataDouble.
|
inline |
Definition at line 198 of file insttracer.hh.
References ArmISA::d, data, data_status, and DataVec.
|
inline |
Definition at line 205 of file insttracer.hh.
References ArmISA::d, data, data_status, DataVecPred, ArmISA::VecPredRegHasPackedRepr, and ArmISA::VecPredRegSizeBits.
|
inline |
Definition at line 213 of file insttracer.hh.
Definition at line 169 of file insttracer.hh.
References ArmISA::a, ArmISA::f, and ArmISA::s.
Referenced by AtomicSimpleCPU::amoMem(), TimingSimpleCPU::initiateMemAMO(), TimingSimpleCPU::initiateMemRead(), AtomicSimpleCPU::readMem(), AtomicSimpleCPU::writeMem(), and TimingSimpleCPU::writeMem().
|
inline |
Definition at line 219 of file insttracer.hh.
References dump(), and X86ISA::val.
Referenced by SimpleExecContext::setPredicate(), and BaseDynInst< Impl >::setPredicate().
|
inline |
Definition at line 168 of file insttracer.hh.
|
protected |
The address that was accessed.
Definition at line 80 of file insttracer.hh.
Referenced by getAddr(), Trace::TarmacTracerRecordV8::TraceInstEntryV8::print(), Trace::TarmacTracerRecord::TraceInstEntry::print(), Trace::TarmacTracerRecordV8::TraceMemEntryV8::print(), Trace::TarmacTracerRecord::TraceMemEntry::print(), Trace::TarmacBaseRecord::TarmacBaseRecord(), Trace::TarmacTracerRecordV8::TraceInstEntryV8::TraceInstEntryV8(), and Trace::TarmacTracerRecordV8::TraceMemEntryV8::TraceMemEntryV8().
double Trace::InstRecord::as_double |
Definition at line 96 of file insttracer.hh.
uint64_t Trace::InstRecord::as_int |
Definition at line 95 of file insttracer.hh.
::VecPredRegContainer<TheISA::VecPredRegSizeBits, TheISA::VecPredRegHasPackedRepr>* Trace::InstRecord::as_pred |
Definition at line 99 of file insttracer.hh.
::VecRegContainer<TheISA::VecRegSizeBytes>* Trace::InstRecord::as_vec |
Definition at line 97 of file insttracer.hh.
|
protected |
Definition at line 112 of file insttracer.hh.
Referenced by getCpSeq().
union { ... } Trace::InstRecord::data |
|
protected |
Definition at line 106 of file insttracer.hh.
Referenced by getFetchSeq().
|
protected |
The flags that were assigned to the request.
Definition at line 82 of file insttracer.hh.
Referenced by getFlags().
|
protected |
Definition at line 67 of file insttracer.hh.
Referenced by Trace::InstPBTraceRecord::dump(), Trace::TarmacTracerRecord::dump(), Trace::IntelTrace::getInstRecord(), Trace::ExeTracer::getInstRecord(), Trace::NativeTrace::getInstRecord(), Trace::TarmacParser::getInstRecord(), getMacroStaticInst(), and Trace::InstTracer::~InstTracer().
|
protected |
Definition at line 66 of file insttracer.hh.
Referenced by Trace::TarmacParser::advanceTraceToStartPc(), Trace::InstPBTraceRecord::dump(), Trace::TarmacParserRecord::dump(), Trace::TarmacTracerRecord::dump(), getPCState(), Trace::TarmacBaseRecord::TarmacBaseRecord(), and Trace::InstTracer::~InstTracer().
|
protected |
is the predicate for execution this inst true or false (not execed)?
Definition at line 144 of file insttracer.hh.
Referenced by Trace::TarmacTracerRecordV8::addInstEntry(), Trace::TarmacTracerRecord::addInstEntry(), and Trace::TarmacBaseRecord::TarmacBaseRecord().
|
protected |
The size of the memory request.
Definition at line 81 of file insttracer.hh.
Referenced by getSize(), Trace::TarmacTracerRecordV8::TraceMemEntryV8::print(), and Trace::TarmacTracerRecord::TraceMemEntry::print().
|
protected |
Definition at line 65 of file insttracer.hh.
Referenced by Trace::TarmacTracerRecordV8::addRegEntry(), Trace::TarmacTracerRecord::addRegEntry(), Trace::InstPBTraceRecord::dump(), Trace::TarmacParserRecord::dump(), Trace::TarmacTracerRecord::dump(), getStaticInst(), Trace::TarmacBaseRecord::TarmacBaseRecord(), and Trace::InstTracer::~InstTracer().
|
protected |
Definition at line 62 of file insttracer.hh.
Referenced by Trace::InstPBTraceRecord::dump(), Trace::TarmacParserRecord::dump(), Trace::TarmacTracerRecord::dump(), getThread(), Trace::TarmacParserRecord::readMemNoEffect(), Trace::TarmacBaseRecord::TarmacBaseRecord(), Trace::TarmacTracerRecordV8::TraceInstEntryV8::TraceInstEntryV8(), Trace::TarmacTracerRecordV8::TraceMemEntryV8::TraceMemEntryV8(), Trace::TarmacTracerRecord::TraceRegEntry::updateCC(), Trace::TarmacTracerRecord::TraceRegEntry::updateFloat(), Trace::TarmacTracerRecord::TraceRegEntry::updateInt(), Trace::TarmacTracerRecord::TraceRegEntry::updateMisc(), Trace::TarmacTracerRecordV8::TraceRegEntryV8::updatePred(), and Trace::TarmacTracerRecordV8::TraceRegEntryV8::updateVec().
|
protected |
Definition at line 58 of file insttracer.hh.
Referenced by getWhen(), and Trace::InstTracer::~InstTracer().