summaryrefslogtreecommitdiff
path: root/include/llvm/ExecutionEngine/RuntimeDyld.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/llvm/ExecutionEngine/RuntimeDyld.h')
-rw-r--r--include/llvm/ExecutionEngine/RuntimeDyld.h13
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();