LLVM  7.0.0svn
Public Types | Public Member Functions | List of all members
llvm::orc::ExecutionSession Class Reference

An ExecutionSession represents a running JIT program. More...

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

Inheritance diagram for llvm::orc::ExecutionSession:
Inheritance graph
[legend]
Collaboration diagram for llvm::orc::ExecutionSession:
Collaboration graph
[legend]

Public Types

using ErrorReporter = std::function< void(Error)>
 
using DispatchMaterializationFunction = std::function< void(VSO &V, std::unique_ptr< MaterializationUnit > MU)>
 
- Public Types inherited from llvm::orc::ExecutionSessionBase
using ErrorReporter = std::function< void(Error)>
 For reporting errors. More...
 
using DispatchMaterializationFunction = std::function< void(VSO &V, std::unique_ptr< MaterializationUnit > MU)>
 For dispatching MaterializationUnit::materialize calls. More...
 

Public Member Functions

 ExecutionSession (std::shared_ptr< SymbolStringPool > SSP=nullptr)
 Construct an ExecutionEngine. More...
 
VSOcreateVSO (std::string Name)
 Add a new VSO to this ExecutionSession. More...
 
- Public Member Functions inherited from llvm::orc::ExecutionSessionBase
 ExecutionSessionBase (std::shared_ptr< SymbolStringPool > SSP=nullptr)
 Construct an ExecutionSessionBase. More...
 
SymbolStringPoolgetSymbolStringPool () const
 Returns the SymbolStringPool for this ExecutionSession. More...
 
template<typename Func >
auto runSessionLocked (Func &&F) -> decltype(F())
 Run the given lambda with the session mutex locked. More...
 
ExecutionSessionBasesetErrorReporter (ErrorReporter ReportError)
 Set the error reporter function. More...
 
ExecutionSessionBasesetDispatchMaterialization (DispatchMaterializationFunction DispatchMaterialization)
 Set the materialization dispatch function. More...
 
void reportError (Error Err)
 Report a error for this execution session. More...
 
VModuleKey allocateVModule ()
 Allocate a module key for a new module to add to the JIT. More...
 
void releaseVModule (VModuleKey Key)
 Return a module key to the ExecutionSession so that it can be re-used. More...
 
void failQuery (AsynchronousSymbolQuery &Q, Error Err)
 Cause the given query to fail with the given Error. More...
 
void dispatchMaterialization (VSO &V, std::unique_ptr< MaterializationUnit > MU)
 Materialize the given unit. More...
 

Detailed Description

An ExecutionSession represents a running JIT program.

Definition at line 589 of file Core.h.

Member Typedef Documentation

◆ DispatchMaterializationFunction

Definition at line 594 of file Core.h.

◆ ErrorReporter

Definition at line 591 of file Core.h.

Constructor & Destructor Documentation

◆ ExecutionSession()

llvm::orc::ExecutionSession::ExecutionSession ( std::shared_ptr< SymbolStringPool SSP = nullptr)
inline

Construct an ExecutionEngine.

SymbolStringPools may be shared between ExecutionSessions.

Definition at line 599 of file Core.h.

References llvm::orc::lookup().

Member Function Documentation

◆ createVSO()

VSO & llvm::orc::ExecutionSession::createVSO ( std::string  Name)

Add a new VSO to this ExecutionSession.

Definition at line 865 of file Core.cpp.


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