从llvm 2.7开始,可以隔离类型和LLVM在llvmContext中创建JIT模块可能需要的任何东西
但是,我并不完全清楚如何在使用llvmContext后回收内部分配的内存资源。我认为应该有一个,因为使用llvmContext是从其他不共享任何依赖关系的线程中安全地使用它们,但是线程会定期启动和完成,并且不断创建新的llvmContexts最终会占用所有可用的RAM
答案 0 :(得分:1)
是的,LLVMContext的析构函数将释放所有内存。如果不是,请提交错误http://llvm.org/bugs!当然,不要破坏全球的: - )
如果你正在关闭,你也可以调用llvm :: llvm_shutdown()来释放全局静态变量。请注意,没有llvm_startup函数或类似的东西......