ETISS 0.8.0
Extendable Translating Instruction Set Simulator (version 0.8.0)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
JIT.h
Go to the documentation of this file.
1
55#ifndef ETISS_INCLUDE_JIT_H_
56#define ETISS_INCLUDE_JIT_H_
57
58#include "etiss/Misc.h"
59
60namespace etiss
61{
62
66class JIT
67{
68 public:
69 JIT(std::string name);
70 virtual ~JIT();
83 virtual void *translate(std::string code, std::set<std::string> headerpaths, std::set<std::string> librarypaths,
84 std::set<std::string> libraries, std::string &error,
85 bool debug = true) = 0; // CHANGE!!origianl debug = false:
89 virtual void *getFunction(void *handle, std::string name, std::string &error) = 0;
93 virtual void free(void *handle) = 0;
97 std::string getName();
98
99 private:
100 std::string name_;
101};
102
103} // namespace etiss
104
105#endif
general configuration and logging
compiler interface for just in time compilation of generated C code
Definition JIT.h:67
virtual void * getFunction(void *handle, std::string name, std::string &error)=0
returns a function pointer to a compiled function from the handle returned by etiss::JIT::translate
virtual void * translate(std::string code, std::set< std::string > headerpaths, std::set< std::string > librarypaths, std::set< std::string > libraries, std::string &error, bool debug=true)=0
translate C code to executable code and return a handle/pointer that identifies the compilation resul...
std::string getName()
returns the JIT instance name previously passed to the constructor
Definition JIT.cpp:60
virtual void free(void *handle)=0
clean up handled returned by etiss::JIT::translate
virtual ~JIT()
Definition JIT.cpp:58
std::string name_
Definition JIT.h:100
Page Table Entry (PTE) defines the composition of Page Frame Number (PFN) and relavant flags.
Definition Benchmark.h:53