ETISS 0.11.2
ExtendableTranslatingInstructionSetSimulator(version0.11.2)
Loading...
Searching...
No Matches
TCCJIT.h
Go to the documentation of this file.
1// SPDX-License-Identifier: BSD-3-Clause
2//
3// This file is part of ETISS. It is licensed under the BSD 3-Clause License; you may not use this file except in
4// compliance with the License. You should have received a copy of the license along with this project. If not, see the
5// LICENSE file.
6
7#include "etiss/JIT.h"
8#include <map>
9
10class TCCJIT : public etiss::JIT
11{
12 public:
13 TCCJIT();
14 virtual void *translate(std::string code, std::set<std::string> headerpaths, std::set<std::string> librarypaths,
15 std::set<std::string> libraries, std::string &error, bool debug = false);
16 virtual void *getFunction(void *handle, std::string name, std::string &error);
17 virtual void free(void *handle);
18
19 private:
20 std::map<std::string, void *> extsymbols;
22};
JIT compiler interface definition.
std::map< std::string, void * > extsymbols
only use for windows.
Definition TCCJIT.h:20
virtual void free(void *handle)
clean up handled returned by etiss::JIT::translate
Definition TCCJIT.cpp:147
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 resul...
Definition TCCJIT.cpp:72
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
Definition TCCJIT.cpp:142
TCCJIT()
Definition TCCJIT.cpp:65
compiler interface for just in time compilation of generated C code
Definition JIT.h:29