[ORC] Make some more operations on VSO private. These should be done via a

MaterializationResponsibility instance.

llvm-svn: 332919
This commit is contained in:
Lang Hames 2018-05-21 23:46:29 +00:00
parent 373f4628a5
commit 5cb2e30c98

View File

@ -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<std::shared_ptr<AsynchronousSymbolQuery>>;
@ -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<MaterializationUnit> 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<MaterializationUnit> 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.