mirror of
https://github.com/fluencelabs/parity-wasm
synced 2025-06-05 02:51:40 +00:00
25 lines
985 B
Rust
25 lines
985 B
Rust
mod basics;
|
|
mod wabt;
|
|
mod wasm;
|
|
|
|
mod utils {
|
|
use elements::{ExportEntry, InitExpr, Opcode, ValueType, GlobalType, GlobalEntry, MemoryType, TableType};
|
|
use interpreter::{ProgramInstance, HostModuleBuilder, MemoryInstance, TableInstance, GlobalInstance, RuntimeValue};
|
|
use std::rc::Rc;
|
|
|
|
pub fn program_with_default_env<St: 'static>() -> ProgramInstance<St> {
|
|
let mut program = ProgramInstance::<St>::new();
|
|
|
|
let mut builder = HostModuleBuilder::<St>::new();
|
|
// TODO: Alloc
|
|
builder.insert_memory("memory", Rc::new(MemoryInstance::new(&MemoryType::new(256, None)).unwrap()));
|
|
builder.insert_table("table", Rc::new(TableInstance::new(&TableType::new(64, None)).unwrap()));
|
|
builder.insert_global("tableBase", Rc::new(GlobalInstance::new(RuntimeValue::I32(0), false)));
|
|
builder.insert_global("memoryBase", Rc::new(GlobalInstance::new(RuntimeValue::I32(0), false)));
|
|
let env_host_module = builder.build();
|
|
|
|
program.add_host_module("env", env_host_module);
|
|
program
|
|
}
|
|
}
|