#include <VM.h>
|
void | copyCode (int) |
|
ptrdiff_t | stackSize () |
|
void | initEntry () |
|
void | optimize () |
|
void | interpretCases () |
|
void | caseCreate () |
|
bool | caseCallSetup (CallParameters *, bytesRef &o_output) |
|
void | caseCall () |
|
void | copyDataToMemory (bytesConstRef _data, u256 *&m_SP) |
|
uint64_t | memNeed (u256 _offset, u256 _size) |
|
void | throwOutOfGas () |
|
void | throwBadInstruction () |
|
void | throwBadJumpDestination () |
|
void | throwBadStack (unsigned _size, unsigned _n, unsigned _d) |
|
void | reportStackUse () |
|
int64_t | verifyJumpDest (u256 const &_dest, bool _throw=true) |
|
int | poolConstant (const u256 &) |
|
void | onOperation () |
|
void | checkStack (unsigned _n, unsigned _d) |
|
uint64_t | gasForMem (u512 _size) |
|
void | updateIOGas () |
|
void | updateGas () |
|
void | updateMem () |
|
void | logGasMem () |
|
void | fetchInstruction () |
|
uint64_t | decodeJumpDest (const byte *const _code, uint64_t &_pc) |
|
uint64_t | decodeJumpvDest (const byte *const _code, uint64_t &_pc, u256 *&_sp) |
|
template<class T > |
uint64_t | toInt63 (T v) |
|
Definition at line 60 of file VM.h.
typedef void(VM::* dev::eth::VM::MemFnPtr) () |
|
private |
Definition at line 88 of file VM.h.
void VM::checkStack |
( |
unsigned |
_n, |
|
|
unsigned |
_d |
|
) |
| |
|
private |
void VM::copyCode |
( |
int |
_extraBytes | ) |
|
|
private |
uint64_t VM::decodeJumpDest |
( |
const byte *const |
_code, |
|
|
uint64_t & |
_pc |
|
) |
| |
|
private |
uint64_t VM::decodeJumpvDest |
( |
const byte *const |
_code, |
|
|
uint64_t & |
_pc, |
|
|
u256 *& |
_sp |
|
) |
| |
|
private |
void VM::fetchInstruction |
( |
| ) |
|
|
private |
uint64_t VM::gasForMem |
( |
u512 |
_size | ) |
|
|
private |
void VM::interpretCases |
( |
| ) |
|
|
private |
uint64_t VM::memNeed |
( |
u256 |
_offset, |
|
|
u256 |
_size |
|
) |
| |
|
private |
bytes const& dev::eth::VM::memory |
( |
| ) |
const |
|
inline |
Definition at line 71 of file VM.h.
int dev::eth::VM::poolConstant |
( |
const u256 & |
| ) |
|
|
private |
void VM::reportStackUse |
( |
| ) |
|
|
private |
u256s dev::eth::VM::stack |
( |
| ) |
const |
|
inline |
Definition at line 72 of file VM.h.
ptrdiff_t dev::eth::VM::stackSize |
( |
| ) |
|
|
inlineprivate |
Definition at line 107 of file VM.h.
void VM::throwBadInstruction |
( |
| ) |
|
|
private |
void VM::throwBadJumpDestination |
( |
| ) |
|
|
private |
void VM::throwBadStack |
( |
unsigned |
_size, |
|
|
unsigned |
_n, |
|
|
unsigned |
_d |
|
) |
| |
|
private |
void VM::throwOutOfGas |
( |
| ) |
|
|
private |
template<class T >
uint64_t dev::eth::VM::toInt63 |
( |
T |
v | ) |
|
|
inlineprivate |
Definition at line 174 of file VM.h.
int64_t VM::verifyJumpDest |
( |
u256 const & |
_dest, |
|
|
bool |
_throw = true |
|
) |
| |
|
private |
const void* const* dev::eth::VM::c_jumpTable = 0 |
|
private |
Definition at line 85 of file VM.h.
Definition at line 81 of file VM.h.
u256* dev::eth::VM::io_gas = 0 |
|
private |
Definition at line 76 of file VM.h.
std::vector<uint64_t> dev::eth::VM::m_beginSubs |
|
private |
Definition at line 156 of file VM.h.
Definition at line 89 of file VM.h.
bool dev::eth::VM::m_caseInit = false |
|
private |
Definition at line 86 of file VM.h.
Definition at line 102 of file VM.h.
bytes dev::eth::VM::m_codeSpace |
|
private |
Definition at line 101 of file VM.h.
uint64_t dev::eth::VM::m_copyMemSize = 0 |
|
private |
Definition at line 132 of file VM.h.
Definition at line 78 of file VM.h.
uint64_t dev::eth::VM::m_io_gas = 0 |
|
private |
Definition at line 77 of file VM.h.
std::vector<uint64_t> dev::eth::VM::m_jumpDests |
|
private |
Definition at line 157 of file VM.h.
bytes dev::eth::VM::m_mem |
|
private |
Definition at line 98 of file VM.h.
uint64_t dev::eth::VM::m_newMemSize = 0 |
|
private |
Definition at line 131 of file VM.h.
uint64_t dev::eth::VM::m_nSteps = 0 |
|
private |
Definition at line 91 of file VM.h.
Definition at line 90 of file VM.h.
Definition at line 79 of file VM.h.
Definition at line 122 of file VM.h.
Definition at line 95 of file VM.h.
uint64_t dev::eth::VM::m_PC = 0 |
|
private |
Definition at line 123 of file VM.h.
u256 dev::eth::VM::m_pool[256] |
|
private |
Definition at line 119 of file VM.h.
uint64_t dev::eth::VM::m_runGas = 0 |
|
private |
Definition at line 130 of file VM.h.
Definition at line 92 of file VM.h.
Definition at line 124 of file VM.h.
Definition at line 106 of file VM.h.
u256 dev::eth::VM::m_stackSpace[1025] |
|
private |
Definition at line 105 of file VM.h.
The documentation for this class was generated from the following files: