aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp
diff options
context:
space:
mode:
authorLang Hames <lhames@gmail.com>2022-01-08 12:08:06 +1100
committerLang Hames <lhames@gmail.com>2022-01-08 16:46:15 +1100
commit089acf25223d2be22c07f5d8da8488b791b26af9 (patch)
tree826f64ad028746326cd6801c508eb654b7ab6f1b /llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp
parent9d745828105097e04c7b757a9496c2450438399e (diff)
downloadllvm-089acf25223d2be22c07f5d8da8488b791b26af9.zip
llvm-089acf25223d2be22c07f5d8da8488b791b26af9.tar.gz
llvm-089acf25223d2be22c07f5d8da8488b791b26af9.tar.bz2
[ORC][JITLink] Merge JITLink AllocActionCall and ORC WrapperFunctionCall.
These types performed identical roles. Merging them simplifies interoperability between JITLink and ORC APIs (allowing us to address a few FIXMEs).
Diffstat (limited to 'llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp')
-rw-r--r--llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp15
1 files changed, 7 insertions, 8 deletions
diff --git a/llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp b/llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp
index 8b4347f..32c5998 100644
--- a/llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp
+++ b/llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp
@@ -756,7 +756,7 @@ void EHFrameRegistrationPlugin::modifyPassConfig(
Error EHFrameRegistrationPlugin::notifyEmitted(
MaterializationResponsibility &MR) {
- EHFrameRange EmittedRange;
+ ExecutorAddrRange EmittedRange;
{
std::lock_guard<std::mutex> Lock(EHFramePluginMutex);
@@ -765,7 +765,7 @@ Error EHFrameRegistrationPlugin::notifyEmitted(
return Error::success();
EmittedRange = EHFrameRangeItr->second;
- assert(EmittedRange.Addr && "eh-frame addr to register can not be null");
+ assert(EmittedRange.Start && "eh-frame addr to register can not be null");
InProcessLinks.erase(EHFrameRangeItr);
}
@@ -773,7 +773,7 @@ Error EHFrameRegistrationPlugin::notifyEmitted(
[&](ResourceKey K) { EHFrameRanges[K].push_back(EmittedRange); }))
return Err;
- return Registrar->registerEHFrames(EmittedRange.Addr, EmittedRange.Size);
+ return Registrar->registerEHFrames(EmittedRange);
}
Error EHFrameRegistrationPlugin::notifyFailed(
@@ -784,7 +784,7 @@ Error EHFrameRegistrationPlugin::notifyFailed(
}
Error EHFrameRegistrationPlugin::notifyRemovingResources(ResourceKey K) {
- std::vector<EHFrameRange> RangesToRemove;
+ std::vector<ExecutorAddrRange> RangesToRemove;
ES.runSessionLocked([&] {
auto I = EHFrameRanges.find(K);
@@ -798,10 +798,9 @@ Error EHFrameRegistrationPlugin::notifyRemovingResources(ResourceKey K) {
while (!RangesToRemove.empty()) {
auto RangeToRemove = RangesToRemove.back();
RangesToRemove.pop_back();
- assert(RangeToRemove.Addr && "Untracked eh-frame range must not be null");
- Err = joinErrors(
- std::move(Err),
- Registrar->deregisterEHFrames(RangeToRemove.Addr, RangeToRemove.Size));
+ assert(RangeToRemove.Start && "Untracked eh-frame range must not be null");
+ Err = joinErrors(std::move(Err),
+ Registrar->deregisterEHFrames(RangeToRemove));
}
return Err;