LLVM 22.0.0git
llvm::orc::LibraryManager Class Reference

Manages library metadata and state for symbol resolution. More...

#include "llvm/ExecutionEngine/Orc/TargetProcess/LibraryResolver.h"

Classes

class  FilteredView
 A read-only view of libraries filtered by state and kind. More...

Public Types

using LibraryVisitor = std::function<bool(const LibraryInfo &)>
using LibraryFilterFn = std::function<bool(const LibraryInfo &)>

Public Member Functions

 LibraryManager ()=default
 ~LibraryManager ()=default
bool addLibrary (std::string Path, PathType Kind, std::optional< BloomFilter > Filter=std::nullopt)
bool hasLibrary (StringRef Path) const
void removeLibrary (StringRef Path)
void markLoaded (StringRef Path)
void markUnloaded (StringRef Path)
void markQueried (StringRef Path)
const LibraryInfogetLibrary (StringRef Path) const
FilteredView getView (LibState S, PathType K) const
void getLibraries (LibState S, PathType K, std::vector< const LibraryInfo * > &Outs, LibraryFilterFn Filter=nullptr) const
LibraryCursor getCursor (PathType K, LibState S) const
void forEachLibrary (const LibraryVisitor &visitor) const
bool isLoaded (StringRef Path) const
bool isQueried (StringRef Path) const
void clear ()

Detailed Description

Manages library metadata and state for symbol resolution.

Tracks libraries by load state and kind (user/system), and stores associated Bloom filters and hash maps to speed up symbol lookups. Thread-safe for concurrent access.

Definition at line 155 of file LibraryResolver.h.

Member Typedef Documentation

◆ LibraryFilterFn

Definition at line 282 of file LibraryResolver.h.

◆ LibraryVisitor

Definition at line 219 of file LibraryResolver.h.

Constructor & Destructor Documentation

◆ LibraryManager()

llvm::orc::LibraryManager::LibraryManager ( )
default

◆ ~LibraryManager()

llvm::orc::LibraryManager::~LibraryManager ( )
default

Member Function Documentation

◆ addLibrary()

bool llvm::orc::LibraryManager::addLibrary ( std::string Path,
PathType Kind,
std::optional< BloomFilter > Filter = std::nullopt )
inline

Definition at line 224 of file LibraryResolver.h.

References llvm::Filter, llvm::Lib, and llvm::orc::Unloaded.

◆ clear()

void llvm::orc::LibraryManager::clear ( )
inline

Definition at line 323 of file LibraryResolver.h.

◆ forEachLibrary()

void llvm::orc::LibraryManager::forEachLibrary ( const LibraryVisitor & visitor) const
inline

Definition at line 301 of file LibraryResolver.h.

References _.

◆ getCursor()

LibraryCursor llvm::orc::LibraryManager::getCursor ( PathType K,
LibState S ) const
inline

Definition at line 297 of file LibraryResolver.h.

◆ getLibraries()

void llvm::orc::LibraryManager::getLibraries ( LibState S,
PathType K,
std::vector< const LibraryInfo * > & Outs,
LibraryFilterFn Filter = nullptr ) const
inline

Definition at line 283 of file LibraryResolver.h.

References _, llvm::Filter, and Info.

◆ getLibrary()

const LibraryInfo * llvm::orc::LibraryManager::getLibrary ( StringRef Path) const
inline

Definition at line 270 of file LibraryResolver.h.

◆ getView()

FilteredView llvm::orc::LibraryManager::getView ( LibState S,
PathType K ) const
inline

Definition at line 277 of file LibraryResolver.h.

◆ hasLibrary()

bool llvm::orc::LibraryManager::hasLibrary ( StringRef Path) const
inline

Definition at line 237 of file LibraryResolver.h.

◆ isLoaded()

bool llvm::orc::LibraryManager::isLoaded ( StringRef Path) const
inline

Definition at line 309 of file LibraryResolver.h.

References llvm::orc::Loaded.

◆ isQueried()

bool llvm::orc::LibraryManager::isQueried ( StringRef Path) const
inline

Definition at line 316 of file LibraryResolver.h.

References llvm::orc::Queried.

◆ markLoaded()

void llvm::orc::LibraryManager::markLoaded ( StringRef Path)
inline

Definition at line 252 of file LibraryResolver.h.

References llvm::orc::Loaded.

◆ markQueried()

void llvm::orc::LibraryManager::markQueried ( StringRef Path)
inline

Definition at line 264 of file LibraryResolver.h.

References llvm::orc::Queried.

◆ markUnloaded()

void llvm::orc::LibraryManager::markUnloaded ( StringRef Path)
inline

Definition at line 258 of file LibraryResolver.h.

References llvm::orc::Unloaded.

◆ removeLibrary()

void llvm::orc::LibraryManager::removeLibrary ( StringRef Path)
inline

Definition at line 244 of file LibraryResolver.h.

References I.


The documentation for this class was generated from the following file: