summaryrefslogtreecommitdiff
path: root/include/llvm/ExecutionEngine/RTDyldMemoryManager.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/llvm/ExecutionEngine/RTDyldMemoryManager.h')
-rw-r--r--include/llvm/ExecutionEngine/RTDyldMemoryManager.h16
1 files changed, 13 insertions, 3 deletions
diff --git a/include/llvm/ExecutionEngine/RTDyldMemoryManager.h b/include/llvm/ExecutionEngine/RTDyldMemoryManager.h
index c5006962550e1..adcb063f45440 100644
--- a/include/llvm/ExecutionEngine/RTDyldMemoryManager.h
+++ b/include/llvm/ExecutionEngine/RTDyldMemoryManager.h
@@ -16,7 +16,6 @@
#include "RuntimeDyld.h"
#include "llvm-c/ExecutionEngine.h"
-#include "llvm/ADT/StringRef.h"
#include "llvm/Support/CBindingWrapping.h"
#include "llvm/Support/Memory.h"
@@ -62,8 +61,19 @@ public:
RTDyldMemoryManager() {}
~RTDyldMemoryManager() override;
- void registerEHFrames(uint8_t *Addr, uint64_t LoadAddr, size_t Size) override;
- void deregisterEHFrames(uint8_t *Addr, uint64_t LoadAddr, size_t Size) override;
+ /// Register EH frames in the current process.
+ static void registerEHFramesInProcess(uint8_t *Addr, size_t Size);
+
+ /// Deregister EH frames in the current proces.
+ static void deregisterEHFramesInProcess(uint8_t *Addr, size_t Size);
+
+ void registerEHFrames(uint8_t *Addr, uint64_t LoadAddr, size_t Size) override {
+ registerEHFramesInProcess(Addr, Size);
+ }
+
+ void deregisterEHFrames(uint8_t *Addr, uint64_t LoadAddr, size_t Size) override {
+ registerEHFramesInProcess(Addr, Size);
+ }
/// This method returns the address of the specified function or variable in
/// the current process.