11namespace sysio {
namespace chain {
namespace webassembly {
namespace eosvmoc {
29 SYS_ASSERT(cd, wasm_execution_error,
"SYS VM OC instantiation failed");
49 return std::make_unique<eosvmoc_instantiated_module>(code_hash,
vm_type, *
this);
#define SYS_ASSERT(expr, exc_type, FORMAT,...)
void free_code(const digest_type &code_id, const uint8_t &vm_version)
const code_descriptor *const get_descriptor_for_code_sync(const digest_type &code_id, const uint8_t &vm_version)
void execute(const code_descriptor &code, memory &mem, apply_context &context)
eosvmoc_instantiated_module(const digest_type &code_hash, const uint8_t &vm_version, eosvmoc_runtime &wr)
const digest_type _code_hash
~eosvmoc_instantiated_module()
void apply(apply_context &context) override
const uint8_t _vm_version
eosvmoc_runtime & _eosvmoc_runtime
eosvmoc_runtime(const boost::filesystem::path data_dir, const eosvmoc::config &eosvmoc_config, const chainbase::database &db)
void immediately_exit_currently_running_module() override
eosvmoc::code_cache_sync cc
std::unique_ptr< wasm_instantiated_module_interface > instantiate_module(const char *code_bytes, size_t code_size, std::vector< uint8_t > initial_memory, const digest_type &code_hash, const uint8_t &vm_type, const uint8_t &vm_version) override