#include <stack.hpp>
Definition at line 12 of file stack.hpp.
◆ execution_stack() [1/2]
sysio::chain::eosvmoc::execution_stack::execution_stack |
( |
| ) |
|
|
default |
◆ execution_stack() [2/2]
sysio::chain::eosvmoc::execution_stack::execution_stack |
( |
const execution_stack & | | ) |
|
|
delete |
◆ ~execution_stack()
sysio::chain::eosvmoc::execution_stack::~execution_stack |
( |
| ) |
|
|
inline |
◆ operator=()
◆ reset() [1/2]
void execution_stack::reset |
( |
| ) |
|
Definition at line 20 of file stack.cpp.
20 {
26 }
27}
std::size_t call_depth_limit
static constexpr std::size_t max_bytes_per_frame
◆ reset() [2/2]
void execution_stack::reset |
( |
std::size_t | max_call_depth | ) |
|
Definition at line 7 of file stack.cpp.
7 {
11 void * ptr = mmap(nullptr, new_stack_size, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANON, 0, 0);
12 FC_ASSERT(ptr != MAP_FAILED,
"Failed to allocate wasm stack");
17 }
18}
#define FC_ASSERT(TEST,...)
Checks a condition and throws an assert_exception if the test is FALSE.
◆ run()
template<typename F >
void sysio::chain::eosvmoc::execution_stack::run |
( |
F && | f | ) |
|
|
inline |
Definition at line 29 of file stack.hpp.
29 {
32 } else {
34 }
35 }
void eosvmoc_switch_stack(void *stack, void(*fn)(void *), void *data)
◆ call_depth_limit
std::size_t sysio::chain::eosvmoc::execution_stack::call_depth_limit = 4*1024*1024 / max_bytes_per_frame |
◆ max_bytes_per_frame
std::size_t sysio::chain::eosvmoc::execution_stack::max_bytes_per_frame = 16*1024 |
|
staticconstexpr |
◆ stack_size
std::size_t sysio::chain::eosvmoc::execution_stack::stack_size = 0 |
◆ stack_top
void* sysio::chain::eosvmoc::execution_stack::stack_top = nullptr |
The documentation for this struct was generated from the following files:
- libraries/chain/include/sysio/chain/webassembly/sys-vm-oc/stack.hpp
- libraries/chain/webassembly/runtimes/sys-vm-oc/stack.cpp