diff options
author | Lang Hames <lhames@gmail.com> | 2013-12-07 03:05:51 +0000 |
---|---|---|
committer | Lang Hames <lhames@gmail.com> | 2013-12-07 03:05:51 +0000 |
commit | a6913580781b62c2e9b79f9da4a30a1ee84b90b7 (patch) | |
tree | dd9b3e27838bd453bb43ec7231f87856377d2f6a /llvm/lib/ExecutionEngine/MCJIT/MCJIT.h | |
parent | bbf18c69580e19e260ffeb7c6e7872905c606e9c (diff) | |
download | bcm5719-llvm-a6913580781b62c2e9b79f9da4a30a1ee84b90b7.tar.gz bcm5719-llvm-a6913580781b62c2e9b79f9da4a30a1ee84b90b7.zip |
Add support for archives and object file caching under MCJIT.
Patch by Andy Kaylor, with minor edits to resolve merge conflicts.
llvm-svn: 196639
Diffstat (limited to 'llvm/lib/ExecutionEngine/MCJIT/MCJIT.h')
-rw-r--r-- | llvm/lib/ExecutionEngine/MCJIT/MCJIT.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/llvm/lib/ExecutionEngine/MCJIT/MCJIT.h b/llvm/lib/ExecutionEngine/MCJIT/MCJIT.h index 86b478bff56..f45e869cd5f 100644 --- a/llvm/lib/ExecutionEngine/MCJIT/MCJIT.h +++ b/llvm/lib/ExecutionEngine/MCJIT/MCJIT.h @@ -206,8 +206,10 @@ class MCJIT : public ExecutionEngine { OwningModuleContainer OwnedModules; - typedef DenseMap<Module *, ObjectImage *> LoadedObjectMap; - LoadedObjectMap LoadedObjects; + SmallVector<object::Archive*, 2> Archives; + + typedef SmallVector<ObjectImage *, 2> LoadedObjectList; + LoadedObjectList LoadedObjects; // An optional ObjectCache to be notified of compiled objects and used to // perform lookup of pre-compiled code to avoid re-compilation. @@ -227,6 +229,8 @@ public: /// @name ExecutionEngine interface implementation /// @{ virtual void addModule(Module *M); + virtual void addObjectFile(object::ObjectFile *O); + virtual void addArchive(object::Archive *O); virtual bool removeModule(Module *M); /// FindFunctionNamed - Search all of the active modules to find the one that |