Fabcoin Core
0.16.2
P2P Digital Currency
|
#include <RuntimeManager.h>
Public Member Functions | |
RuntimeManager (IRBuilder &_builder, code_iterator _codeBegin, code_iterator _codeEnd) | |
llvm::Value * | getRuntimePtr () |
llvm::Value * | getDataPtr () |
llvm::Value * | getEnvPtr () |
llvm::Value * | getValue () |
llvm::Value * | getGas () |
llvm::Value * | getGasPtr () |
llvm::Value * | getCallData () |
llvm::Value * | getCode () |
llvm::Value * | getCodeSize () |
llvm::Value * | getCallDataSize () |
llvm::Value * | getJmpBuf () |
void | setGas (llvm::Value *_gas) |
llvm::Value * | getMem () |
void | registerReturnData (llvm::Value *_index, llvm::Value *_size) |
void | exit (ReturnCode _returnCode) |
void | abort (llvm::Value *_jmpBuf) |
llvm::Value * | getStackBase () const |
llvm::Value * | getStackSize () const |
void | setJmpBuf (llvm::Value *_jmpBuf) |
void | setExitBB (llvm::BasicBlock *_bb) |
Static Public Member Functions | |
static llvm::StructType * | getRuntimeType () |
static llvm::StructType * | getRuntimeDataType () |
Static Public Attributes | |
static const size_t | stackSizeLimit = 1024 |
Private Member Functions | |
llvm::Value * | getPtr (RuntimeData::Index _index) |
void | set (RuntimeData::Index _index, llvm::Value *_value) |
Private Attributes | |
llvm::Value * | m_jmpBuf = nullptr |
llvm::Value * | m_dataPtr = nullptr |
llvm::Value * | m_gasPtr = nullptr |
llvm::Value * | m_memPtr = nullptr |
llvm::Value * | m_envPtr = nullptr |
std::array< llvm::Value *, RuntimeData::numElements > | m_dataElts |
llvm::Value * | m_stackBase = nullptr |
llvm::Value * | m_stackSize = nullptr |
llvm::BasicBlock * | m_exitBB = nullptr |
code_iterator | m_codeBegin = {} |
code_iterator | m_codeEnd = {} |
llvm::Value * | m_codePtr = nullptr |
Additional Inherited Members | |
Protected Member Functions inherited from dev::eth::jit::CompilerHelper | |
CompilerHelper (IRBuilder &_builder) | |
CompilerHelper (const CompilerHelper &)=delete | |
CompilerHelper & | operator= (CompilerHelper)=delete |
llvm::Module * | getModule () |
Reference to the IR module being compiled. More... | |
llvm::Function * | getMainFunction () |
Reference to the main module function. More... | |
Protected Attributes inherited from dev::eth::jit::CompilerHelper | |
IRBuilder & | m_builder |
Reference to parent compiler IR builder. More... | |
Definition at line 17 of file RuntimeManager.h.
dev::eth::jit::RuntimeManager::RuntimeManager | ( | IRBuilder & | _builder, |
code_iterator | _codeBegin, | ||
code_iterator | _codeEnd | ||
) |
void dev::eth::jit::RuntimeManager::abort | ( | llvm::Value * | _jmpBuf | ) |
Definition at line 181 of file RuntimeManager.cpp.
void dev::eth::jit::RuntimeManager::exit | ( | ReturnCode | _returnCode | ) |
Definition at line 174 of file RuntimeManager.cpp.
llvm::Value * dev::eth::jit::RuntimeManager::getCallData | ( | ) |
Definition at line 187 of file RuntimeManager.cpp.
llvm::Value * dev::eth::jit::RuntimeManager::getCallDataSize | ( | ) |
Definition at line 206 of file RuntimeManager.cpp.
llvm::Value * dev::eth::jit::RuntimeManager::getCode | ( | ) |
Definition at line 192 of file RuntimeManager.cpp.
llvm::Value * dev::eth::jit::RuntimeManager::getCodeSize | ( | ) |
llvm::Value * dev::eth::jit::RuntimeManager::getDataPtr | ( | ) |
Definition at line 127 of file RuntimeManager.cpp.
llvm::Value * dev::eth::jit::RuntimeManager::getEnvPtr | ( | ) |
Definition at line 138 of file RuntimeManager.cpp.
llvm::Value * dev::eth::jit::RuntimeManager::getGas | ( | ) |
Definition at line 213 of file RuntimeManager.cpp.
llvm::Value * dev::eth::jit::RuntimeManager::getGasPtr | ( | ) |
Definition at line 218 of file RuntimeManager.cpp.
|
inline |
llvm::Value * dev::eth::jit::RuntimeManager::getMem | ( | ) |
Definition at line 224 of file RuntimeManager.cpp.
|
private |
Definition at line 144 of file RuntimeManager.cpp.
|
static |
llvm::Value * dev::eth::jit::RuntimeManager::getRuntimePtr | ( | ) |
Definition at line 118 of file RuntimeManager.cpp.
|
static |
Definition at line 38 of file RuntimeManager.cpp.
|
inline |
|
inline |
llvm::Value * dev::eth::jit::RuntimeManager::getValue | ( | ) |
Definition at line 151 of file RuntimeManager.cpp.
void dev::eth::jit::RuntimeManager::registerReturnData | ( | llvm::Value * | _index, |
llvm::Value * | _size | ||
) |
|
private |
|
inline |
Definition at line 48 of file RuntimeManager.h.
void dev::eth::jit::RuntimeManager::setGas | ( | llvm::Value * | _gas | ) |
Definition at line 230 of file RuntimeManager.cpp.
|
inline |
|
private |
Definition at line 73 of file RuntimeManager.h.
|
private |
Definition at line 74 of file RuntimeManager.h.
|
private |
Definition at line 75 of file RuntimeManager.h.
|
private |
Definition at line 66 of file RuntimeManager.h.
|
private |
Definition at line 61 of file RuntimeManager.h.
|
private |
Definition at line 64 of file RuntimeManager.h.
|
private |
Definition at line 71 of file RuntimeManager.h.
|
private |
Definition at line 62 of file RuntimeManager.h.
|
private |
Definition at line 60 of file RuntimeManager.h.
|
private |
Definition at line 63 of file RuntimeManager.h.
|
private |
Definition at line 68 of file RuntimeManager.h.
|
private |
Definition at line 69 of file RuntimeManager.h.
|
static |
Definition at line 54 of file RuntimeManager.h.