aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp
diff options
context:
space:
mode:
authorLang Hames <lhames@gmail.com>2020-09-10 13:10:27 -0700
committerLang Hames <lhames@gmail.com>2020-09-10 13:21:46 -0700
commitc74900ca67241bf963b7a4cfa1fae8eadf6bb8cd (patch)
tree3a0279d99e95b713357acab7ae8c3d9acdbb3c78 /llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp
parenta5168bdb4a25485ac62e18bdc538b4842bc9fbd9 (diff)
downloadllvm-c74900ca67241bf963b7a4cfa1fae8eadf6bb8cd.zip
llvm-c74900ca67241bf963b7a4cfa1fae8eadf6bb8cd.tar.gz
llvm-c74900ca67241bf963b7a4cfa1fae8eadf6bb8cd.tar.bz2
[ORC] Make MaterializationResponsibility immovable, pass by unique_ptr.
Making MaterializationResponsibility instances immovable allows their associated VModuleKeys to be updated by the ExecutionSession while the responsibility is still in-flight. This will be used in the upcoming removable code feature to enable safe merging of resource keys even if there are active compiles using the keys being merged.
Diffstat (limited to 'llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp')
-rw-r--r--llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp b/llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp
index 4f7f608..7d57ed5 100644
--- a/llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp
+++ b/llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp
@@ -33,12 +33,12 @@ public:
StringRef getName() const override { return "<Compile Callbacks>"; }
private:
- void materialize(MaterializationResponsibility R) override {
+ void materialize(std::unique_ptr<MaterializationResponsibility> R) override {
SymbolMap Result;
Result[Name] = JITEvaluatedSymbol(Compile(), JITSymbolFlags::Exported);
// No dependencies, so these calls cannot fail.
- cantFail(R.notifyResolved(Result));
- cantFail(R.notifyEmitted());
+ cantFail(R->notifyResolved(Result));
+ cantFail(R->notifyEmitted());
}
void discard(const JITDylib &JD, const SymbolStringPtr &Name) override {