|
gem5
v21.1.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 (TheISA::VecRegContainer &d) |
| void | setData (TheISA::VecPredRegContainer &d) |
| void | setFetchSeq (InstSeqNum seq) |
| void | setCPSeq (InstSeqNum seq) |
| void | setPredicate (bool val) |
| void | setFaulting (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 |
| bool | getFaulting () const |
Protected Types | |
| enum | DataStatus { DataInvalid = 0, DataInt8 = 1, DataInt16 = 2, DataInt32 = 4, DataInt64 = 8, DataDouble = 3, DataVec = 5, DataVecPred = 6 } |
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 | |
| TheISA::VecRegContainer * as_vec | |
| TheISA::VecPredRegContainer * as_pred | |
| } | data |
| InstSeqNum | fetch_seq |
| InstSeqNum | cp_seq |
| enum gem5::Trace::InstRecord::DataStatus | data_status |
| bool | mem_valid |
| bool | fetch_seq_valid |
| bool | cp_seq_valid |
| bool | predicate |
| is the predicate for execution this inst true or false (not execed)? More... | |
| bool | faulting |
| Did the execution of this instruction fault? (requires ExecFaulting to be enabled) More... | |
Definition at line 58 of file insttracer.hh.
|
inline |
Definition at line 157 of file insttracer.hh.
|
inlinevirtual |
Definition at line 168 of file insttracer.hh.
References data, data_status, DataVec, and DataVecPred.
|
pure virtual |
Implemented in gem5::Trace::TarmacBaseRecord, gem5::Trace::TarmacTracerRecord, gem5::Trace::TarmacParserRecord, gem5::Trace::InstPBTraceRecord, gem5::Trace::NativeTraceRecord, gem5::Trace::ExeTracerRecord, and gem5::Trace::IntelTraceRecord.
Referenced by gem5::BaseSimpleCPU::postExecute(), and gem5::Checker< gem5::RefCountingPtr >::verify().
|
inline |
Definition at line 241 of file insttracer.hh.
References addr.
Referenced by gem5::Trace::TarmacTracerRecordV8::addMemEntry(), gem5::Trace::TarmacTracerRecord::addMemEntry(), and gem5::Trace::InstPBTraceRecord::dump().
|
inline |
Definition at line 253 of file insttracer.hh.
References cp_seq.
|
inline |
Definition at line 254 of file insttracer.hh.
References cp_seq_valid.
|
inline |
Definition at line 248 of file insttracer.hh.
References data_status.
|
inline |
Definition at line 256 of file insttracer.hh.
References faulting.
|
inline |
Definition at line 250 of file insttracer.hh.
References fetch_seq.
|
inline |
Definition at line 251 of file insttracer.hh.
References fetch_seq_valid.
|
inline |
Definition at line 243 of file insttracer.hh.
References flags.
Referenced by gem5::Trace::InstPBTraceRecord::dump().
|
inline |
Definition at line 247 of file insttracer.hh.
References data.
|
inline |
Definition at line 246 of file insttracer.hh.
References data.
Referenced by gem5::Trace::TarmacTracerRecordV8::addMemEntry(), and gem5::Trace::TarmacTracerRecord::addMemEntry().
|
inline |
Definition at line 239 of file insttracer.hh.
References macroStaticInst.
Referenced by gem5::Trace::ArmNativeTrace::check().
|
inline |
Definition at line 244 of file insttracer.hh.
References mem_valid.
Referenced by gem5::Trace::TarmacTracerRecordV8::addMemEntry(), gem5::Trace::TarmacTracerRecord::addMemEntry(), and gem5::Trace::InstPBTraceRecord::dump().
|
inline |
Definition at line 238 of file insttracer.hh.
References pc.
|
inline |
Definition at line 242 of file insttracer.hh.
References size.
Referenced by gem5::Trace::TarmacTracerRecordV8::addMemEntry(), gem5::Trace::TarmacTracerRecord::addMemEntry(), and gem5::Trace::InstPBTraceRecord::dump().
|
inline |
Definition at line 237 of file insttracer.hh.
References staticInst.
Referenced by gem5::Trace::X86NativeTrace::check(), and gem5::Trace::ArmNativeTrace::check().
|
inline |
Definition at line 236 of file insttracer.hh.
References thread.
Referenced by gem5::Trace::SparcNativeTrace::check(), gem5::Trace::X86NativeTrace::check(), and gem5::Trace::ArmNativeTrace::check().
|
inline |
Definition at line 235 of file insttracer.hh.
References when.
|
inline |
Definition at line 225 of file insttracer.hh.
References cp_seq, and cp_seq_valid.
|
inline |
Definition at line 206 of file insttracer.hh.
References gem5::ArmISA::d, data, data_status, and DataDouble.
|
inline |
Definition at line 203 of file insttracer.hh.
References gem5::ArmISA::d, and setData().
Referenced by setData().
|
inline |
Definition at line 202 of file insttracer.hh.
References gem5::ArmISA::d, and setData().
Referenced by setData().
|
inline |
Definition at line 201 of file insttracer.hh.
References gem5::ArmISA::d, and setData().
Referenced by setData().
|
inline |
Definition at line 204 of file insttracer.hh.
References gem5::ArmISA::d, and setData().
Referenced by setData().
|
inline |
Definition at line 187 of file insttracer.hh.
References gem5::ArmISA::d, data, data_status, DataInt16, DataInt32, DataInt64, and DataInt8.
Referenced by gem5::amoMemAtomic(), gem5::X86ISA::getMem(), gem5::getMem(), gem5::X86ISA::readMemAtomic(), gem5::readMemAtomic(), gem5::writeMemAtomic(), gem5::X86ISA::writeMemAtomic(), gem5::writeMemTiming(), and gem5::X86ISA::writeMemTiming().
|
inline |
Definition at line 216 of file insttracer.hh.
References gem5::ArmISA::d, data, data_status, and DataVecPred.
|
inline |
Definition at line 209 of file insttracer.hh.
References gem5::ArmISA::d, data, data_status, and DataVec.
|
inline |
Definition at line 198 of file insttracer.hh.
References gem5::ArmISA::d, data, data_status, and DataInt16.
|
inline |
Definition at line 197 of file insttracer.hh.
References gem5::ArmISA::d, data, data_status, and DataInt32.
|
inline |
Definition at line 196 of file insttracer.hh.
References gem5::ArmISA::d, data, data_status, and DataInt64.
|
inline |
Definition at line 199 of file insttracer.hh.
References gem5::ArmISA::d, data, data_status, and DataInt8.
|
inline |
Definition at line 230 of file insttracer.hh.
References faulting, and gem5::X86ISA::val.
Referenced by gem5::BaseSimpleCPU::traceFault().
|
inline |
Definition at line 222 of file insttracer.hh.
References fetch_seq, and fetch_seq_valid.
Definition at line 180 of file insttracer.hh.
References gem5::ArmISA::a, addr, gem5::ArmISA::f, flags, mem_valid, gem5::ArmISA::s, and size.
Referenced by gem5::AtomicSimpleCPU::amoMem(), gem5::TimingSimpleCPU::htmSendAbortSignal(), gem5::TimingSimpleCPU::initiateHtmCmd(), gem5::TimingSimpleCPU::initiateMemAMO(), gem5::TimingSimpleCPU::initiateMemRead(), gem5::AtomicSimpleCPU::readMem(), gem5::AtomicSimpleCPU::writeMem(), and gem5::TimingSimpleCPU::writeMem().
|
inline |
Definition at line 228 of file insttracer.hh.
References predicate, and gem5::X86ISA::val.
Referenced by gem5::SimpleExecContext::setPredicate(), and gem5::o3::DynInst::setPredicate().
|
inline |
Definition at line 179 of file insttracer.hh.
References when.
|
protected |
The address that was accessed.
Definition at line 83 of file insttracer.hh.
Referenced by getAddr(), gem5::Trace::TarmacTracerRecordV8::TraceInstEntryV8::print(), gem5::Trace::TarmacTracerRecord::TraceInstEntry::print(), gem5::Trace::TarmacTracerRecordV8::TraceMemEntryV8::print(), gem5::Trace::TarmacTracerRecord::TraceMemEntry::print(), gem5::Trace::TarmacParserRecord::readMemNoEffect(), setMem(), gem5::Trace::TarmacTracerRecordV8::TraceInstEntryV8::TraceInstEntryV8(), and gem5::Trace::TarmacTracerRecordV8::TraceMemEntryV8::TraceMemEntryV8().
| double gem5::Trace::InstRecord::as_double |
Definition at line 100 of file insttracer.hh.
| uint64_t gem5::Trace::InstRecord::as_int |
Definition at line 99 of file insttracer.hh.
| TheISA::VecPredRegContainer* gem5::Trace::InstRecord::as_pred |
Definition at line 102 of file insttracer.hh.
| TheISA::VecRegContainer* gem5::Trace::InstRecord::as_vec |
Definition at line 101 of file insttracer.hh.
|
protected |
Definition at line 115 of file insttracer.hh.
Referenced by getCpSeq(), and setCPSeq().
| union { ... } gem5::Trace::InstRecord::data |
|
protected |
Did the execution of this instruction fault? (requires ExecFaulting to be enabled)
Definition at line 154 of file insttracer.hh.
Referenced by getFaulting(), and setFaulting().
|
protected |
Definition at line 109 of file insttracer.hh.
Referenced by getFetchSeq(), and setFetchSeq().
|
protected |
The flags that were assigned to the request.
Definition at line 85 of file insttracer.hh.
Referenced by getFlags(), gem5::Trace::TarmacParserRecord::readMemNoEffect(), and setMem().
|
protected |
Definition at line 70 of file insttracer.hh.
Referenced by gem5::Trace::InstPBTraceRecord::dump(), gem5::Trace::TarmacTracerRecord::dump(), and getMacroStaticInst().
|
protected |
Definition at line 69 of file insttracer.hh.
Referenced by gem5::Trace::InstPBTraceRecord::dump(), gem5::Trace::TarmacParserRecord::dump(), gem5::Trace::TarmacTracerRecord::dump(), getPCState(), and gem5::Trace::TarmacBaseRecord::pcToISetState().
|
protected |
is the predicate for execution this inst true or false (not execed)?
Definition at line 148 of file insttracer.hh.
Referenced by gem5::Trace::TarmacTracerRecordV8::addInstEntry(), gem5::Trace::TarmacTracerRecord::addInstEntry(), and setPredicate().
|
protected |
The size of the memory request.
Definition at line 84 of file insttracer.hh.
Referenced by getSize(), gem5::Trace::TarmacTracerRecordV8::TraceMemEntryV8::print(), gem5::Trace::TarmacTracerRecord::TraceMemEntry::print(), gem5::Trace::TarmacParserRecord::readMemNoEffect(), and setMem().
|
protected |
|
protected |
Definition at line 65 of file insttracer.hh.
Referenced by gem5::Trace::InstPBTraceRecord::dump(), gem5::Trace::TarmacParserRecord::dump(), gem5::Trace::TarmacTracerRecord::dump(), getThread(), gem5::Trace::TarmacParserRecord::readMemNoEffect(), gem5::Trace::TarmacTracerRecordV8::TraceInstEntryV8::TraceInstEntryV8(), gem5::Trace::TarmacTracerRecordV8::TraceMemEntryV8::TraceMemEntryV8(), gem5::Trace::TarmacTracerRecord::TraceRegEntry::updateCC(), gem5::Trace::TarmacTracerRecord::TraceRegEntry::updateFloat(), gem5::Trace::TarmacTracerRecord::TraceRegEntry::updateInt(), gem5::Trace::TarmacTracerRecord::TraceRegEntry::updateMisc(), gem5::Trace::TarmacTracerRecordV8::TraceRegEntryV8::updatePred(), and gem5::Trace::TarmacTracerRecordV8::TraceRegEntryV8::updateVec().
|
protected |
Definition at line 61 of file insttracer.hh.