diff options
Diffstat (limited to 'include/llvm/ExecutionEngine/ExecutionEngine.h')
-rw-r--r-- | include/llvm/ExecutionEngine/ExecutionEngine.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/include/llvm/ExecutionEngine/ExecutionEngine.h b/include/llvm/ExecutionEngine/ExecutionEngine.h index ff584733ee..1159971a45 100644 --- a/include/llvm/ExecutionEngine/ExecutionEngine.h +++ b/include/llvm/ExecutionEngine/ExecutionEngine.h @@ -126,7 +126,7 @@ public: /// addModuleProvider - Add a ModuleProvider to the list of modules that we /// can JIT from. Note that this takes ownership of the ModuleProvider: when /// the ExecutionEngine is destroyed, it destroys the MP as well. - void addModuleProvider(ModuleProvider *P) { + virtual void addModuleProvider(ModuleProvider *P) { Modules.push_back(P); } @@ -137,7 +137,8 @@ public: /// removeModuleProvider - Remove a ModuleProvider from the list of modules. /// Release module from ModuleProvider. - Module* removeModuleProvider(ModuleProvider *P, std::string *ErrInfo = 0); + virtual Module* removeModuleProvider(ModuleProvider *P, + std::string *ErrInfo = 0); /// FindFunctionNamed - Search all of the active modules to find the one that /// defines FnName. This is very slow operation and shouldn't be used for @@ -174,6 +175,10 @@ public: /// use in dynamic compilation scenarios when you want to move globals void clearAllGlobalMappings(); + /// clearGlobalMappingsFromModule - Clear all global mappings that came from a + /// particular module, because it has been removed from the JIT. + void clearGlobalMappingsFromModule(Module *M); + /// updateGlobalMapping - Replace an existing mapping for GV with a new /// address. This updates both maps as required. If "Addr" is null, the /// entry for the global is removed from the mappings. This returns the old |