From 4f8e800ccdd16a77d4e3e271bdfdb2fcd829d025 Mon Sep 17 00:00:00 2001 From: Lang Hames Date: Mon, 21 May 2018 23:46:29 +0000 Subject: [PATCH] [ORC] Make some more operations on VSO private. These should be done via a MaterializationResponsibility instance. llvm-svn: 332919 --- include/llvm/ExecutionEngine/Orc/Core.h | 48 ++++++++----------------- 1 file changed, 14 insertions(+), 34 deletions(-) diff --git a/include/llvm/ExecutionEngine/Orc/Core.h b/include/llvm/ExecutionEngine/Orc/Core.h index 06e6a0f3469..ca099e50ad2 100644 --- a/include/llvm/ExecutionEngine/Orc/Core.h +++ b/include/llvm/ExecutionEngine/Orc/Core.h @@ -468,6 +468,7 @@ createSymbolResolver(LookupFlagsFn &&LookupFlags, LookupFn &&Lookup) { class VSO { friend class AsynchronousSymbolQuery; friend class ExecutionSession; + friend class MaterializationResponsibility; public: using AsynchronousSymbolQuerySet = std::set>; @@ -512,40 +513,6 @@ public: }); } - /// Define a set of symbols already in the materializing state. - Error defineMaterializing(const SymbolFlagsMap &SymbolFlags); - - /// Replace the definition of a set of materializing symbols with a new - /// MaterializationUnit. - /// - /// All symbols being replaced must be in the materializing state. If any - /// symbol being replaced has pending queries then the MU will be returned - /// for materialization. Otherwise it will be stored in the VSO and all - /// symbols covered by MU moved back to the lazy state. - void replace(std::unique_ptr MU); - - /// Record dependencies between symbols in this VSO and symbols in - /// other VSOs. - void addDependencies(const SymbolFlagsMap &Dependents, - const SymbolDependenceMap &Dependencies); - - /// Resolve the given symbols. - /// - /// Returns the list of queries that become fully resolved as a consequence of - /// this operation. - void resolve(const SymbolMap &Resolved); - - /// Finalize the given symbols. - /// - /// Returns the list of queries that become fully ready as a consequence of - /// this operation. - void finalize(const SymbolFlagsMap &Finalized); - - /// Fail to materialize the given symbols. - /// - /// Returns the list of queries that fail as a consequence. - void notifyFailed(const SymbolNameSet &FailedSymbols); - /// Search the given VSO for the symbols in Symbols. If found, store /// the flags for each symbol in Flags. Returns any unresolved symbols. SymbolNameSet lookupFlags(SymbolFlagsMap &Flags, const SymbolNameSet &Names); @@ -603,6 +570,19 @@ private: void transferFinalizedNodeDependencies(MaterializingInfo &DependantMI, const SymbolStringPtr &DependantName, MaterializingInfo &FinalizedMI); + + Error defineMaterializing(const SymbolFlagsMap &SymbolFlags); + + void replace(std::unique_ptr MU); + + void addDependencies(const SymbolFlagsMap &Dependents, + const SymbolDependenceMap &Dependencies); + + void resolve(const SymbolMap &Resolved); + + void finalize(const SymbolFlagsMap &Finalized); + + void notifyFailed(const SymbolNameSet &FailedSymbols); }; /// An ExecutionSession represents a running JIT program.