diff options
Diffstat (limited to 'include/llvm/ExecutionEngine/RuntimeDyld.h')
-rw-r--r-- | include/llvm/ExecutionEngine/RuntimeDyld.h | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/include/llvm/ExecutionEngine/RuntimeDyld.h b/include/llvm/ExecutionEngine/RuntimeDyld.h index 56aa04ce694a..5dd5add1bb39 100644 --- a/include/llvm/ExecutionEngine/RuntimeDyld.h +++ b/include/llvm/ExecutionEngine/RuntimeDyld.h @@ -65,7 +65,7 @@ protected: void reassignSectionAddress(unsigned SectionID, uint64_t Addr); public: - /// \brief Information about the loaded object. + /// Information about the loaded object. class LoadedObjectInfo : public llvm::LoadedObjectInfo { friend class RuntimeDyldImpl; @@ -88,7 +88,7 @@ public: ObjSectionToIDMap ObjSecToIDMap; }; - /// \brief Memory Management. + /// Memory Management. class MemoryManager { friend class RuntimeDyld; @@ -170,7 +170,7 @@ public: bool FinalizationLocked = false; }; - /// \brief Construct a RuntimeDyld instance. + /// Construct a RuntimeDyld instance. RuntimeDyld(MemoryManager &MemMgr, JITSymbolResolver &Resolver); RuntimeDyld(const RuntimeDyld &) = delete; RuntimeDyld &operator=(const RuntimeDyld &) = delete; @@ -189,6 +189,13 @@ public: /// This address is the one used for relocation. JITEvaluatedSymbol getSymbol(StringRef Name) const; + /// Returns a copy of the symbol table. This can be used by on-finalized + /// callbacks to extract the symbol table before throwing away the + /// RuntimeDyld instance. Because the map keys (StringRefs) are backed by + /// strings inside the RuntimeDyld instance, the map should be processed + /// before the RuntimeDyld instance is discarded. + std::map<StringRef, JITEvaluatedSymbol> getSymbolTable() const; + /// Resolve the relocations for all symbols we currently know about. void resolveRelocations(); |