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::Function * > 

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

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 

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 

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

Definition at line 29 of file ExternalDispatcher.h.

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

Definition at line 30 of file ExternalDispatcher.h.

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

Definition at line 31 of file ExternalDispatcher.h.

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

Definition at line 32 of file ExternalDispatcher.h.

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