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,
UInt32 InstructionAddress
CycleCount ClockCycleCount
Alias for ClockCycleCount.
std::string errorMessage() const
@ PT_ENTRY
procedure entry
void addProcedureTransfer(ClockCycleCount cycle, InstructionAddress address, InstructionAddress sourceAddress, ProcedureEntryType type)
ProcedureTransferTracker(SimulatorFrontend &subject, ExecutionTrace &traceDB)
ExecutionTrace * traceDB_
the trace database to store the trace to
virtual void addProcedureTransfer(ClockCycleCount cycle, InstructionAddress address, InstructionAddress sourceAddress, bool isEntry)
virtual void handleEvent()
virtual ~ProcedureTransferTracker()
const TTAProgram::Instruction * previousInstruction_
the previously executed instruction
SimulatorFrontend & subject_
the tracked SimulatorFrontend instance
@ SE_CYCLE_END
Generated before advancing the simulator clock at the end of a simulation cycle.
SimulationEventHandler & eventHandler()
const TTAMachine::Machine & machine() const
ClockCycleCount cycleCount() const
virtual InstructionAddress lastExecutedInstruction(int coreId=-1) const
const TTAProgram::Program & program() const
virtual ControlUnit * controlUnit() const
InstructionAddress location() const
CodeSnippet & parent() const
bool isInProcedure() const
Terminal & destination() const
Instruction & instructionAt(InstructionAddress address) const
virtual bool isOpcodeSetting() const