diff options
Diffstat (limited to 'examples/wasm-rust.rs')
| -rw-r--r-- | examples/wasm-rust.rs | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/examples/wasm-rust.rs b/examples/wasm-rust.rs index 928b9e1..7240bef 100644 --- a/examples/wasm-rust.rs +++ b/examples/wasm-rust.rs @@ -1,7 +1,7 @@ use std::hint::black_box; use eyre::{Result, eyre}; -use tinywasm::{FuncContext, HostFunction, Imports, Module, Store}; +use tinywasm::{FuncContext, HostFunction, Imports, ModuleInstance, Store}; /// Examples of using WebAssembly compiled from Rust with tinywasm. /// @@ -72,12 +72,12 @@ fn main() -> Result<()> { } fn tinywasm() -> Result<()> { - let module = Module::parse_file("./examples/rust/out/tinywasm.opt.wasm")?; + let module = tinywasm::parse_file("./examples/rust/out/tinywasm.opt.wasm")?; let mut store = Store::default(); let mut imports = Imports::new(); imports.define("env", "printi32", HostFunction::from(&mut store, |_: FuncContext<'_>, _x: i32| Ok(()))); - let instance = module.instantiate(&mut store, Some(black_box(imports)))?; + let instance = ModuleInstance::instantiate(&mut store, &module, Some(black_box(imports)))?; let hello = instance.func::<(), ()>(&store, "hello")?; hello.call(&mut store, black_box(()))?; @@ -87,12 +87,12 @@ fn tinywasm() -> Result<()> { } fn tinywasm_no_std() -> Result<()> { - let module = Module::parse_file("./examples/rust/out/tinywasm_no_std.wasm")?; + let module = tinywasm::parse_file("./examples/rust/out/tinywasm_no_std.wasm")?; let mut store = Store::default(); let mut imports = Imports::new(); imports.define("env", "printi32", HostFunction::from(&mut store, |_: FuncContext<'_>, _x: i32| Ok(()))); - let instance = module.instantiate(&mut store, Some(black_box(imports)))?; + let instance = ModuleInstance::instantiate(&mut store, &module, Some(black_box(imports)))?; let hello = instance.func::<(), ()>(&store, "hello")?; hello.call(&mut store, black_box(()))?; @@ -102,7 +102,7 @@ fn tinywasm_no_std() -> Result<()> { } fn hello() -> Result<()> { - let module = Module::parse_file("./examples/rust/out/hello.opt.wasm")?; + let module = tinywasm::parse_file("./examples/rust/out/hello.opt.wasm")?; let mut store = Store::default(); let print_utf8 = HostFunction::from(&mut store, |ctx: FuncContext<'_>, (ptr, len): (i64, i32)| { @@ -115,7 +115,7 @@ fn hello() -> Result<()> { let mut imports = Imports::new(); imports.define("env", "print_utf8", print_utf8); - let instance = module.instantiate(&mut store, Some(imports))?; + let instance = ModuleInstance::instantiate(&mut store, &module, Some(imports))?; let arg_ptr = instance.func::<(), i32>(&store, "arg_ptr")?.call(&mut store, ())?; let arg = b"world"; @@ -127,7 +127,7 @@ fn hello() -> Result<()> { } fn host_fn() -> Result<()> { - let module = Module::parse_file("./examples/rust/out/host_fn.opt.wasm")?; + let module = tinywasm::parse_file("./examples/rust/out/host_fn.opt.wasm")?; let mut store = Store::default(); let bar = HostFunction::from(&mut store, |_: FuncContext<'_>, (left, right): (i64, i32)| { @@ -139,14 +139,14 @@ fn host_fn() -> Result<()> { let mut imports = Imports::new(); imports.define("env", "bar", bar); - let instance = module.instantiate(&mut store, Some(imports))?; + let instance = ModuleInstance::instantiate(&mut store, &module, Some(imports))?; let host_fn = instance.func::<(), i32>(&store, "foo")?; assert_eq!(host_fn.call(&mut store, ())?, 3); Ok(()) } fn printi32() -> Result<()> { - let module = Module::parse_file("./examples/rust/out/print.opt.wasm")?; + let module = tinywasm::parse_file("./examples/rust/out/print.opt.wasm")?; let mut store = Store::default(); let printi32 = HostFunction::from(&mut store, |_: FuncContext<'_>, x: i32| { @@ -157,7 +157,7 @@ fn printi32() -> Result<()> { let mut imports = Imports::new(); imports.define("env", "printi32", printi32); - let instance = module.instantiate(&mut store, Some(imports))?; + let instance = ModuleInstance::instantiate(&mut store, &module, Some(imports))?; let add_and_print = instance.func::<(i32, i32), ()>(&store, "add_and_print")?; add_and_print.call(&mut store, (1, 2))?; @@ -165,10 +165,10 @@ fn printi32() -> Result<()> { } fn fibonacci() -> Result<()> { - let module = Module::parse_file("./examples/rust/out/fibonacci.opt.wasm")?; + let module = tinywasm::parse_file("./examples/rust/out/fibonacci.opt.wasm")?; let mut store = Store::default(); - let instance = module.instantiate(&mut store, None)?; + let instance = ModuleInstance::instantiate(&mut store, &module, None)?; let fibonacci = instance.func::<i32, i32>(&store, "fibonacci_recursive")?; let n = 26; let result = fibonacci.call(&mut store, n)?; @@ -178,10 +178,10 @@ fn fibonacci() -> Result<()> { } fn argon2id() -> Result<()> { - let module = Module::parse_file("./examples/rust/out/argon2id.opt.wasm")?; + let module = tinywasm::parse_file("./examples/rust/out/argon2id.opt.wasm")?; let mut store = Store::default(); - let instance = module.instantiate(&mut store, None)?; + let instance = ModuleInstance::instantiate(&mut store, &module, None)?; let argon2id = instance.func::<(i32, i32, i32), i32>(&store, "argon2id")?; argon2id.call(&mut store, (1000, 2, 1))?; |
