ETISS 0.8.0
Extendable Translating Instruction Set Simulator (version 0.8.0)
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 
60 namespace etiss
61 {
62 
66 class 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
JIT(std::string name)
Definition: JIT.cpp:56
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...
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
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