Go to the documentation of this file.
34 #ifndef TTA_INSTRUCTION_MEMORY_HH
35 #define TTA_INSTRUCTION_MEMORY_HH
38 #if __cplusplus < 201103L
41 #include <unordered_map>
93 #if __cplusplus < 201103L
101 std::unordered_map<InstructionAddress, ExecutableInstruction*>
instructionMap_;
const ExecutableInstruction & instructionAtConst(InstructionAddress address) const
UInt32 InstructionAddress
bool hasInstructionAt(InstructionAddress addr) const
void addImplicitExecutableInstruction(InstructionAddress addr, ExecutableInstruction *instruction)
InstructionContainer emptyInstructions_
const InstructionContainer & implicitInstructionsAt(InstructionAddress addr) const
void resetExecutionCounts()
std::vector< ExecutableInstruction * > InstructionContainer
Container for instructions.
ExecutableInstruction & instructionAt(InstructionAddress address)
InstructionAddress startAddress_
The starting address of the instruction memory address space.
std::map< InstructionAddress, ExecutableInstruction * > instructionMap_
Stores the explicit instruction addresses.
bool hasImplicitInstructionsAt(InstructionAddress addr) const
InstructionContainer instructions_
All the instructions of the memory.
virtual ~InstructionMemory()
InstructionMemory(InstructionAddress startAddress)
InstructionMemory & operator=(const InstructionMemory &)
Assignment not allowed.
void addExecutableInstruction(InstructionAddress addr, ExecutableInstruction *instruction)
std::map< InstructionAddress, InstructionContainer * > implicitInstructions_
Stores implicit instructions that should be executed after the explicit one in the same address.