#ifndef DEBUG_JIT_HPP__ #define DEBUG_JIT_HPP__ #include #include #include #include namespace JIT { using Func = void (*)(void *, void *); class DebugBlock { public: DebugBlock(const std::unordered_map &symbol_table); ~DebugBlock(); bool compile(uint64_t hash, const std::string &source); Func get_func() const { return block; } private: struct Impl; std::unique_ptr impl; Func block = nullptr; }; } // namespace JIT #endif