14 using namespace evmjit;
31 void dup(
size_t _index);
35 void swap(
size_t _index);
37 ssize_t
size()
const {
return static_cast<ssize_t
>(m_local.size()) - m_globalPops; }
38 ssize_t
minSize()
const {
return m_minSize; }
39 ssize_t
maxSize()
const {
return m_maxSize; }
51 llvm::Function* getStackPrepareFunc();
60 llvm::CallInst* m_sp =
nullptr;
62 ssize_t m_globalPops = 0;
63 ssize_t m_minSize = 0;
64 ssize_t m_maxSize = 0;
72 llvm::BasicBlock*
llvm() {
return m_llvmBB; }
Adapted from code found on http://stackoverflow.com/questions/180947/base64-decode-snippet-in-c Origi...
llvm::BasicBlock *const m_llvmBB
Reference to the LLVM BasicBlock.
void swap(dev::eth::Watch &_a, dev::eth::Watch &_b)
instr_idx firstInstrIdx() const
byte const * code_iterator
Base class for compiler helpers like Memory, GasMeter, etc.
llvm::BasicBlock * llvm()
code_iterator begin() const
std::vector< llvm::Value * > m_local
Local stack items that has not been pushed to global stack. First item is just above global stack...
code_iterator end() const
llvm::IRBuilder<> IRBuilder
std::vector< llvm::Value * > m_input
Items fetched from global stack.