klee
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
klee::ExternalDispatcher Class Reference

#include <ExternalDispatcher.h>

Public Member Functions

 ExternalDispatcher ()
 
 ~ExternalDispatcher ()
 
bool executeCall (llvm::Function *function, llvm::Instruction *i, uint64_t *args)
 
void * resolveSymbol (const std::string &name)
 

Private Types

typedef std::map< const
llvm::Instruction
*, llvm::Function * > 
dispatchers_ty
 

Private Member Functions

llvm::Function * createDispatcher (llvm::Function *f, llvm::Instruction *i)
 
bool runProtectedCall (llvm::Function *f, uint64_t *args)
 

Private Attributes

dispatchers_ty dispatchers
 
llvm::Module * dispatchModule
 
llvm::ExecutionEngine * executionEngine
 
std::map< std::string, void * > preboundFunctions
 

Detailed Description

Definition at line 26 of file ExternalDispatcher.h.

Member Typedef Documentation

typedef std::map<const llvm::Instruction*,llvm::Function*> klee::ExternalDispatcher::dispatchers_ty
private

Definition at line 28 of file ExternalDispatcher.h.

Constructor & Destructor Documentation

ExternalDispatcher::ExternalDispatcher ( )

Definition at line 88 of file ExternalDispatcher.cpp.

ExternalDispatcher::~ExternalDispatcher ( )

Definition at line 118 of file ExternalDispatcher.cpp.

Member Function Documentation

Function * ExternalDispatcher::createDispatcher ( llvm::Function *  f,
llvm::Instruction *  i 
)
private

Definition at line 194 of file ExternalDispatcher.cpp.

References gTheArgsP, and LLVM_TYPE_Q.

bool ExternalDispatcher::executeCall ( llvm::Function *  function,
llvm::Instruction *  i,
uint64_t *  args 
)

Definition at line 122 of file ExternalDispatcher.cpp.

Referenced by klee::Executor::callExternalFunction().

Here is the caller graph for this function:

void * ExternalDispatcher::resolveSymbol ( const std::string &  name)

Definition at line 61 of file ExternalDispatcher.cpp.

Referenced by klee::Executor::initializeGlobals().

Here is the caller graph for this function:

bool ExternalDispatcher::runProtectedCall ( llvm::Function *  f,
uint64_t *  args 
)
private

Definition at line 161 of file ExternalDispatcher.cpp.

References escapeCallJmpBuf, gTheArgsP, and sigsegv_handler().

Here is the call graph for this function:

Member Data Documentation

dispatchers_ty klee::ExternalDispatcher::dispatchers
private

Definition at line 29 of file ExternalDispatcher.h.

llvm::Module* klee::ExternalDispatcher::dispatchModule
private

Definition at line 30 of file ExternalDispatcher.h.

llvm::ExecutionEngine* klee::ExternalDispatcher::executionEngine
private

Definition at line 31 of file ExternalDispatcher.h.

std::map<std::string, void*> klee::ExternalDispatcher::preboundFunctions
private

Definition at line 32 of file ExternalDispatcher.h.


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