LLVM  8.0.1
Public Member Functions | Friends | List of all members
llvm::orc::AsynchronousSymbolQuery Class Reference

A symbol query that returns results via a callback when results are ready. More...

#include "llvm/ExecutionEngine/Orc/Core.h"

Public Member Functions

 AsynchronousSymbolQuery (const SymbolNameSet &Symbols, SymbolsResolvedCallback NotifySymbolsResolved, SymbolsReadyCallback NotifySymbolsReady)
 Create a query for the given symbols, notify-resolved and notify-ready callbacks. More...
 
void resolve (const SymbolStringPtr &Name, JITEvaluatedSymbol Sym)
 Set the resolved symbol information for the given symbol name. More...
 
bool isFullyResolved () const
 Returns true if all symbols covered by this query have been resolved. More...
 
void handleFullyResolved ()
 Call the NotifySymbolsResolved callback. More...
 
void notifySymbolReady ()
 Notify the query that a requested symbol is ready for execution. More...
 
bool isFullyReady () const
 Returns true if all symbols covered by this query are ready. More...
 
void handleFullyReady ()
 Calls the NotifySymbolsReady callback. More...
 

Friends

class ExecutionSession
 
class JITDylib
 
class JITSymbolResolverAdapter
 

Detailed Description

A symbol query that returns results via a callback when results are ready.

makes a callback when all symbols are available.

Definition at line 434 of file Core.h.

Constructor & Destructor Documentation

◆ AsynchronousSymbolQuery()

llvm::orc::AsynchronousSymbolQuery::AsynchronousSymbolQuery ( const SymbolNameSet Symbols,
SymbolsResolvedCallback  NotifySymbolsResolved,
SymbolsReadyCallback  NotifySymbolsReady 
)

Create a query for the given symbols, notify-resolved and notify-ready callbacks.

Definition at line 264 of file Core.cpp.

References llvm::detail::DenseSetImpl< ValueT, MapTy, ValueInfoT >::size().

Member Function Documentation

◆ handleFullyReady()

void llvm::orc::AsynchronousSymbolQuery::handleFullyReady ( )

Calls the NotifySymbolsReady callback.

This should only be called if all symbols covered by this query are ready.

Definition at line 306 of file Core.cpp.

References assert(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::empty(), handleFullyResolved(), and llvm::Error::success().

Referenced by llvm::orc::ExecutionSession::lookup().

◆ handleFullyResolved()

void llvm::orc::AsynchronousSymbolQuery::handleFullyResolved ( )

Call the NotifySymbolsResolved callback.

This should only be called if all symbols covered by the query have been resolved.

Definition at line 285 of file Core.cpp.

References assert().

Referenced by handleFullyReady(), and llvm::orc::ExecutionSession::lookup().

◆ isFullyReady()

bool llvm::orc::AsynchronousSymbolQuery::isFullyReady ( ) const
inline

Returns true if all symbols covered by this query are ready.

Definition at line 464 of file Core.h.

References Name.

Referenced by llvm::orc::ExecutionSession::lookup().

◆ isFullyResolved()

bool llvm::orc::AsynchronousSymbolQuery::isFullyResolved ( ) const
inline

Returns true if all symbols covered by this query have been resolved.

Definition at line 452 of file Core.h.

Referenced by llvm::orc::ExecutionSession::lookup().

◆ notifySymbolReady()

void llvm::orc::AsynchronousSymbolQuery::notifySymbolReady ( )

Notify the query that a requested symbol is ready for execution.

Definition at line 301 of file Core.cpp.

References assert().

Referenced by llvm::orc::lookupWithLegacyFn().

◆ resolve()

void llvm::orc::AsynchronousSymbolQuery::resolve ( const SymbolStringPtr Name,
JITEvaluatedSymbol  Sym 
)

Set the resolved symbol information for the given symbol name.

Definition at line 275 of file Core.cpp.

References assert(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::end(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find(), and I.

Referenced by llvm::orc::lookupWithLegacyFn().

Friends And Related Function Documentation

◆ ExecutionSession

friend class ExecutionSession
friend

Definition at line 435 of file Core.h.

◆ JITDylib

friend class JITDylib
friend

Definition at line 436 of file Core.h.

◆ JITSymbolResolverAdapter

friend class JITSymbolResolverAdapter
friend

Definition at line 437 of file Core.h.


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