9#include <boost/core/ignore_unused.hpp>
23#include <softfloat.hpp>
25#include <boost/asio.hpp>
26#include <boost/bind.hpp>
30#if defined(SYSIO_SYS_VM_RUNTIME_ENABLED) || defined(SYSIO_SYS_VM_JIT_RUNTIME_ENABLED)
31#include <sysio/vm/allocator.hpp>
34namespace sysio {
namespace chain {
70 my->is_shutting_down =
true;
74 my->code_block_num_last_used(code_hash,
vm_type, vm_version, block_num);
84#ifdef SYSIO_SYS_VM_OC_RUNTIME_ENABLED
88 cd = my->eosvmoc->cc.get_descriptor_for_code(code_hash, vm_version);
93 static bool once_is_enough;
95 elog(
"SYS VM OC has encountered an unexpected failure");
96 once_is_enough =
true;
99 my->eosvmoc->exec.execute(*cd, my->eosvmoc->mem,
context);
108 my->runtime_interface->immediately_exit_currently_running_module();
118 runtime = sysio::chain::wasm_interface::vm_type::eos_vm;
119 else if (
s ==
"sys-vm-jit")
120 runtime = sysio::chain::wasm_interface::vm_type::eos_vm_jit;
121 else if (
s ==
"sys-vm-oc")
122 runtime = sysio::chain::wasm_interface::vm_type::eos_vm_oc;
124 in.setstate(std::ios_base::failbit);
#define SYS_ASSERT(expr, exc_type, FORMAT,...)
const ObjectType & get(CompatibleKey &&key) const
const global_property_object & get_global_properties() const
const chainbase::database & db() const
bool is_builtin_activated(builtin_protocol_feature_t f) const
Maintains global state information about consensus protocol rules.
virtual ~wasm_instantiated_module_interface()
wasm_interface(vm_type vm, bool eosvmoc_tierup, const chainbase::database &d, const boost::filesystem::path data_dir, const eosvmoc::config &eosvmoc_config, bool profile)
static void validate(const controller &control, const bytes &code)
void indicate_shutting_down()
void code_block_num_last_used(const digest_type &code_hash, const uint8_t &vm_type, const uint8_t &vm_version, const uint32_t &block_num)
void current_lib(const uint32_t lib)
std::function< bool(const digest_type &code_hash, uint8_t vm_type, uint8_t vm_version, apply_context &context)> substitute_apply
void apply(const digest_type &code_hash, const uint8_t &vm_type, const uint8_t &vm_version, apply_context &context)
virtual ~wasm_runtime_interface()
Defines exception's used by fc.
void serialize(Stream &stream, U8 &i)
datastream< ST > & operator>>(datastream< ST > &s, sysio::chain::may_not_exist< T > &v)
void validate(const bytes &code, const whitelisted_intrinsics_type &intrinsics)
@ configurable_wasm_limits