33#ifndef OPERATION_CONTEXT_PIMPL_HH
34#define OPERATION_CONTEXT_PIMPL_HH
99 bool hasState(
const char* name)
const;
long long CycleCount
Type for storing simulation cycle counts.
UInt32 InstructionAddress
void setMemory(Memory *memory)
StateRegistry & stateRegistry()
CycleCount cycleCount() const
void setUpdateProgramCounter(bool value)
InstructionAddress & programCounter()
CycleCount cycleCount_
Number of times advanceClock() has been called since the creation.
StateRegistry * stateRegistry_
The state registry.
bool hasMemoryModel() const
bool updateProgramCounter_
Should program counter be updated?
static int nextContextId_
Context id for the next created context instance.
int branchDelayCycles_
Amount of delay cycles caused by pipeline.
CycleCount * cycleCountVar_
The external variable that contains the current simulation cycle count.
void advanceClock(OperationContext &)
const TCEString FUName_
Name of the FU instance – passed down from MachineStateBuilder.
InstructionAddress & irfBlockStart()
void setCycleCountVariable(CycleCount &cycleCount)
const TCEString & functionUnitName()
Memory * memory_
The Memory model instance.
void unsetStateRegistry()
bool hasState(const char *name) const
void initializeContextId()
std::map< std::string, OperationState * > StateRegistry
Type of state registry.
void registerState(OperationState *state)
InstructionAddress & programCounter_
Simulates the program counter value.
void setSaveReturnAddress(bool value)
SimValue & returnAddress_
Simulates the procedure return address.
void unregisterState(const char *name)
void setStateRegistry(StateRegistry &stateRegistry)
int contextId_
Unique number that identifies a context instance.
SimValue & returnAddress()
bool saveReturnAddress_
Should the return address be saved?
bool updateProgramCounter() const
OperationState & state(const char *name) const