Compiler::~Compiler() { delete mModule; delete mContext; #if USE_MCJIT rsloaderDisposeExec(mRSExecutable); #endif // llvm::llvm_shutdown(); }
extern "C" RSExecRef rsloaderCreateExec(unsigned char const *buf, size_t buf_size, RSFindSymbolFn find_symbol, void *find_symbol_context) { RSExecRef object = rsloaderLoadExecutable(buf, buf_size); if (!object) { return NULL; } if (!rsloaderRelocateExecutable(object, find_symbol, find_symbol_context)) { rsloaderDisposeExec(object); return NULL; } return object; }