ETISS 0.11.2
ExtendableTranslatingInstructionSetSimulator(version0.11.2)
Loading...
Searching...
No Matches
JIT.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.
17#ifndef ETISS_INCLUDE_JIT_H_
18#define ETISS_INCLUDE_JIT_H_
19
20#include "etiss/Misc.h"
21
22namespace etiss
23{
24
28class JIT
29{
30 public:
31 JIT(std::string name);
32 virtual ~JIT();
45 virtual void *translate(std::string code, std::set<std::string> headerpaths, std::set<std::string> librarypaths,
46 std::set<std::string> libraries, std::string &error,
47 bool debug = true) = 0; // CHANGE!!origianl debug = false:
51 virtual void *getFunction(void *handle, std::string name, std::string &error) = 0;
55 virtual void free(void *handle) = 0;
59 std::string getName();
60
61 private:
62 std::string name_;
63};
64
65} // namespace etiss
66
67#endif
general configuration and logging
compiler interface for just in time compilation of generated C code
Definition JIT.h:29
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:22
virtual void free(void *handle)=0
clean up handled returned by etiss::JIT::translate
virtual ~JIT()
Definition JIT.cpp:20
std::string name_
Definition JIT.h:62
forwards: include/jit/*
Definition Benchmark.h:17