Go to the documentation of this file.
62 Listener(), subject_(subject), traceDB_(&traceDB),
63 previousInstruction_(NULL) {
76 Listener(), subject_(subject), traceDB_(NULL),
77 previousInstruction_(NULL) {
127 lastControlFlowInstructionAddress =
132 lastControlFlowInstructionAddress);
136 for (
int i = 0; i < lastControlFlowInstruction.
moveCount(); ++i) {
152 lastControlFlowInstructionAddress, entry);
172 cycle, address, sourceAddress,
const TTAProgram::Instruction * previousInstruction_
the previously executed instruction
UInt32 InstructionAddress
const TTAProgram::Program & program() const
SimulatorFrontend & subject_
the tracked SimulatorFrontend instance
const TTAMachine::Machine & machine() const
Terminal & destination() const
@ PT_ENTRY
procedure entry
Instruction & instructionAt(InstructionAddress address) const
virtual ControlUnit * controlUnit() const
@ SE_CYCLE_END
Generated before advancing the simulator clock at the end of a simulation cycle.
CodeSnippet & parent() const
InstructionAddress location() const
virtual InstructionAddress lastExecutedInstruction(int coreId=-1) const
std::string errorMessage() const
virtual bool isOpcodeSetting() const
bool isInProcedure() const
ClockCycleCount cycleCount() const
virtual void handleEvent()
virtual ~ProcedureTransferTracker()
SimulationEventHandler & eventHandler()
ProcedureTransferTracker(SimulatorFrontend &subject, ExecutionTrace &traceDB)
void addProcedureTransfer(ClockCycleCount cycle, InstructionAddress address, InstructionAddress sourceAddress, ProcedureEntryType type)
CycleCount ClockCycleCount
Alias for ClockCycleCount.
ExecutionTrace * traceDB_
the trace database to store the trace to
virtual void addProcedureTransfer(ClockCycleCount cycle, InstructionAddress address, InstructionAddress sourceAddress, bool isEntry)