Go to the documentation of this file.
58 saveReturnAddress_(
false),
59 updateProgramCounter_(
false),
86 programCounter_(programCounter),
87 returnAddress_(returnAddress),
88 saveReturnAddress_(
false),
89 updateProgramCounter_(
false),
93 branchDelayCycles_(delayCycles) {
145 "OperationContextPimpl: State not found.");
160 (*i).second->advanceClock(context);
179 string stateName = stateToRegister->
name();
184 (*stateRegistry_)[stateName] = stateToRegister;
void unregisterState(const char *name)
void registerState(OperationState *state)
UInt32 InstructionAddress
SimValue & returnAddress_
Simulates the procedure return address.
std::map< std::string, OperationState * > StateRegistry
Type of state registry.
void setUpdateProgramCounter(bool value)
int contextId_
Unique number that identifies a context instance.
bool saveReturnAddress_
Should the return address be saved?
void advanceClock(OperationContext &)
CycleCount * cycleCountVar_
The external variable that contains the current simulation cycle count.
OperationState & state(const char *name) const
#define assert(condition)
CycleCount cycleCount_
Number of times advanceClock() has been called since the creation.
bool hasMemoryModel() const
void setMemory(Memory *memory)
Memory * memory_
The Memory model instance.
OperationContextPimpl(const TCEString &name)
SimValue & returnAddress()
const TCEString FUName_
Name of the FU instance – passed down from MachineStateBuilder.
bool updateProgramCounter_
Should program counter be updated?
virtual const char * name()=0
InstructionAddress & programCounter()
CycleCount cycleCount() const
void initializeContextId()
bool updateProgramCounter() const
static int nextContextId_
Context id for the next created context instance.
find Finds info of the inner loops in the false
long long CycleCount
Type for storing simulation cycle counts.
void setSaveReturnAddress(bool value)
int branchDelayCycles_
Amount of delay cycles caused by pipeline.
InstructionAddress dummyInstructionAddress
const TCEString & functionUnitName()
bool hasState(const char *name) const
InstructionAddress & programCounter_
Simulates the program counter value.
StateRegistry * stateRegistry_
The state registry.