|
ETISS 0.11.2
ExtendableTranslatingInstructionSetSimulator(version0.11.2)
|
provides compilation via gcc and load the compilation result with dlopen/dlsym functions More...
#include <GCCJIT.h>


Public Member Functions | |
| GCCJIT (bool cleanup=true, std::string opt_level="fast", bool quiet=false) | |
| virtual | ~GCCJIT () |
| 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=false) |
| translate C code to executable code and return a handle/pointer that identifies the compilation result | |
| virtual void * | getFunction (void *handle, std::string name, std::string &error) |
| returns a function pointer to a compiled function from the handle returned by etiss::JIT::translate | |
| virtual void | free (void *handle) |
| clean up handled returned by etiss::JIT::translate | |
Public Member Functions inherited from etiss::JIT | |
| JIT (std::string name) | |
| virtual | ~JIT () |
| std::string | getName () |
| returns the JIT instance name previously passed to the constructor | |
Private Attributes | |
| unsigned | id |
| std::string | path_ |
| bool | cleanup_ |
| std::string | opt_level_ |
| bool | quiet_ |
provides compilation via gcc and load the compilation result with dlopen/dlsym functions
use the option "cleanup" -> "false" to keep code after destruction of a GCCJIT instance
Definition at line 18 of file GCCJIT.cpp.
References path_.
|
virtual |
Definition at line 44 of file GCCJIT.cpp.
|
virtual |
clean up handled returned by etiss::JIT::translate
Implements etiss::JIT.
Definition at line 162 of file GCCJIT.cpp.
|
virtual |
returns a function pointer to a compiled function from the handle returned by etiss::JIT::translate
Implements etiss::JIT.
Definition at line 152 of file GCCJIT.cpp.
|
virtual |
translate C code to executable code and return a handle/pointer that identifies the compilation result
| code | generated code |
| headerpaths | paths where required header files are located |
| librarypaths | paths where required libraries are located (usually not needed since libraries don't require full linking) |
| libraries | file names of required libraries (usually not needed since libraries don't require full linking) |
| error | string to return additional error information |
| debug | if true then compilation should try to enable gdb to jump into compiled functions |
Implements etiss::JIT.
Definition at line 52 of file GCCJIT.cpp.
References NULL, opt_level_, path_, and quiet_.
|
private |
Definition at line 28 of file GCCJIT.h.
Referenced by translate().
|
private |
Definition at line 26 of file GCCJIT.h.
Referenced by GCCJIT(), translate(), and ~GCCJIT().
|
private |
Definition at line 29 of file GCCJIT.h.
Referenced by translate().