OpenASIP  2.0
Public Member Functions | Private Types | Private Member Functions | Private Attributes | Friends | List of all members
CompiledSimulationPimpl Class Reference

#include <CompiledSimulationPimpl.hh>

Collaboration diagram for CompiledSimulationPimpl:
Collaboration graph

Public Member Functions

 ~CompiledSimulationPimpl ()
 

Private Types

typedef std::map< std::string, SimValue * > Symbols
 Type for symbol map: string = symbolname, SimValue* = value location. More...
 

Private Member Functions

 CompiledSimulationPimpl ()
 
 CompiledSimulationPimpl (const CompiledSimulationPimpl &)
 Copying not allowed. More...
 
CompiledSimulationPimploperator= (const CompiledSimulationPimpl &)
 Assignment not allowed. More...
 

Private Attributes

MemorySystemmemorySystem_
 The memory system. More...
 
SimulatorFrontendfrontend_
 The simulator frontend. More...
 
CompiledSimControllercontroller_
 Simulation controller. More...
 
Symbols symbols_
 A Symbol map for easily getting the SimValues out of the simulation. More...
 
JumpTable jumpTable_
 The jump table. More...
 
std::set< InstructionAddressexitPoints_
 Program exit points in a set. More...
 
CompiledSimCompiler compiler_
 The Compiled Simulation compiler. More...
 
PluginTools pluginTools_
 Plugintools used to load the compiled .so files. More...
 

Friends

class CompiledSimulation
 

Detailed Description

Definition at line 53 of file CompiledSimulationPimpl.hh.

Member Typedef Documentation

◆ Symbols

typedef std::map<std::string, SimValue*> CompiledSimulationPimpl::Symbols
private

Type for symbol map: string = symbolname, SimValue* = value location.

Definition at line 72 of file CompiledSimulationPimpl.hh.

Constructor & Destructor Documentation

◆ ~CompiledSimulationPimpl()

CompiledSimulationPimpl::~CompiledSimulationPimpl ( )

Default destructor

Definition at line 51 of file CompiledSimulationPimpl.cc.

51  {
52 }

◆ CompiledSimulationPimpl() [1/2]

CompiledSimulationPimpl::CompiledSimulationPimpl ( )
private

Default constructor

The simulation plugins must be loaded globally and lazily. Lazily because the plugins might not be loaded in a correct order (symbols referred from a plugin that are going to be imported from a latter plugin).

Definition at line 44 of file CompiledSimulationPimpl.cc.

44  :
45  pluginTools_(true, false) {
46 }

◆ CompiledSimulationPimpl() [2/2]

CompiledSimulationPimpl::CompiledSimulationPimpl ( const CompiledSimulationPimpl )
private

Copying not allowed.

Member Function Documentation

◆ operator=()

CompiledSimulationPimpl& CompiledSimulationPimpl::operator= ( const CompiledSimulationPimpl )
private

Assignment not allowed.

Friends And Related Function Documentation

◆ CompiledSimulation

friend class CompiledSimulation
friend

Definition at line 55 of file CompiledSimulationPimpl.hh.

Member Data Documentation

◆ compiler_

CompiledSimCompiler CompiledSimulationPimpl::compiler_
private

The Compiled Simulation compiler.

Definition at line 82 of file CompiledSimulationPimpl.hh.

Referenced by CompiledSimulation::compileAndLoadFunction().

◆ controller_

CompiledSimController* CompiledSimulationPimpl::controller_
private

◆ exitPoints_

std::set<InstructionAddress> CompiledSimulationPimpl::exitPoints_
private

Program exit points in a set.

Definition at line 79 of file CompiledSimulationPimpl.hh.

Referenced by CompiledSimulation::CompiledSimulation(), and CompiledSimulation::moveExecutionCount().

◆ frontend_

SimulatorFrontend* CompiledSimulationPimpl::frontend_
private

◆ jumpTable_

JumpTable CompiledSimulationPimpl::jumpTable_
private

◆ memorySystem_

MemorySystem* CompiledSimulationPimpl::memorySystem_
private

The memory system.

Definition at line 65 of file CompiledSimulationPimpl.hh.

Referenced by CompiledSimulation::CompiledSimulation(), and CompiledSimulation::memorySystem().

◆ pluginTools_

PluginTools CompiledSimulationPimpl::pluginTools_
private

Plugintools used to load the compiled .so files.

Definition at line 84 of file CompiledSimulationPimpl.hh.

Referenced by CompiledSimulation::compileAndLoadFunction().

◆ symbols_

Symbols CompiledSimulationPimpl::symbols_
private

The documentation for this class was generated from the following files:
CompiledSimulationPimpl::pluginTools_
PluginTools pluginTools_
Plugintools used to load the compiled .so files.
Definition: CompiledSimulationPimpl.hh:84