ETISS 0.8.0
Extendable Translating Instruction Set Simulator (version 0.8.0)
Classes | Functions | Variables
CPUCore.cpp File Reference

implementation of etiss/CPUCore.h More...

#include "etiss/CPUCore.h"
#include "etiss/ETISS.h"
#include "etiss/CoreDSLCoverage.h"
Include dependency graph for CPUCore.cpp:

Go to the source code of this file.

Classes

class  LegacyRegisterDevicePluginListener
 

Functions

static bool verifyJITSizeOf (std::string structname, etiss::int32 expected_size, etiss::JIT *jit, std::string prefix=std::string())
 generates and compiles test code for the just in time compiler to check size of basic types More...
 
static bool verifyJITPragmaPack (etiss::JIT *jit)
 generates test code to check alignment of structures in the just in time compiler More...
 
static void etiss_CPUCore_handleException (ETISS_CPU *cpu, etiss::int32 &code, BlockLink *&block_ptr, Translation &translator, CPUArch *arch)
 small helper function to handle exceptions. More...
 

Variables

int currID = 0
 

Detailed Description

implementation of etiss/CPUCore.h

Author
Marc Greim marc..nosp@m.grei.nosp@m.m@myt.nosp@m.um.d.nosp@m.e, Chair of Electronic Design Automation, TUM
Date
July 29, 2014
Version
0.1

Definition in file CPUCore.cpp.

Function Documentation

◆ etiss_CPUCore_handleException()

static void etiss_CPUCore_handleException ( ETISS_CPU cpu,
etiss::int32 code,
BlockLink *&  block_ptr,
Translation translator,
CPUArch arch 
)
static

small helper function to handle exceptions.

in most cases the exception is simply passed on to etiss::CPUArch::handleExcpetion()

Definition at line 449 of file CPUCore.cpp.

References etiss::ERROR, etiss::CPUArch::handleException(), etiss::log(), etiss::mm::NOERROR, unlikely, etiss::Translation::unloadBlocks(), and etiss::BlockLink::valid.

Referenced by etiss::CPUCore::execute().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ verifyJITPragmaPack()

static bool verifyJITPragmaPack ( etiss::JIT jit)
static

generates test code to check alignment of structures in the just in time compiler

Definition at line 359 of file CPUCore.cpp.

References etiss::ERROR, etiss::JIT::free(), etiss::JIT::getFunction(), etiss::jitFiles(), etiss::log(), and etiss::JIT::translate().

Referenced by etiss::CPUCore::execute().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ verifyJITSizeOf()

static bool verifyJITSizeOf ( std::string  structname,
etiss::int32  expected_size,
etiss::JIT jit,
std::string  prefix = std::string() 
)
static

generates and compiles test code for the just in time compiler to check size of basic types

Definition at line 309 of file CPUCore.cpp.

References etiss::ERROR, etiss::JIT::free(), etiss::JIT::getFunction(), etiss::jitFiles(), etiss::log(), and etiss::JIT::translate().

Referenced by etiss::CPUCore::execute().

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ currID

int currID = 0

Definition at line 134 of file CPUCore.cpp.

Referenced by etiss::CPUCore::getNextID().