feat: update wasmtime
This commit is contained in:
@@ -14,7 +14,7 @@ use wasmtime::*;
|
|||||||
// }
|
// }
|
||||||
fn main() -> Result<()> {
|
fn main() -> Result<()> {
|
||||||
let engine = Engine::default();
|
let engine = Engine::default();
|
||||||
let wasm = std::fs::read("./examples/hello_wasm_bg.wasm").unwrap();
|
let wasm = std::fs::read("./examples/hello_wasm_bg.wasm")?;
|
||||||
let module = Module::new(&engine, wasm)?;
|
let module = Module::new(&engine, wasm)?;
|
||||||
|
|
||||||
let mut linker = Linker::new(&engine);
|
let mut linker = Linker::new(&engine);
|
||||||
@@ -35,14 +35,15 @@ fn main() -> Result<()> {
|
|||||||
|
|
||||||
let memory = instance.get_memory(&mut store, "memory")
|
let memory = instance.get_memory(&mut store, "memory")
|
||||||
.ok_or_else(|| anyhow::format_err!("failed to find `memory` export"))?;
|
.ok_or_else(|| anyhow::format_err!("failed to find `memory` export"))?;
|
||||||
|
// println!("memory size: {}", memory.size(&store));
|
||||||
|
|
||||||
let msg = "hatter".as_bytes();
|
let msg = "hatter".as_bytes();
|
||||||
let malloc = instance.get_typed_func::<i32, i32, _>(&mut store, "__wbindgen_malloc")?;
|
let malloc_fn = instance.get_typed_func::<i32, i32, _>(&mut store, "__wbindgen_malloc")?;
|
||||||
let msg_ptr = malloc.call(&mut store, msg.len() as i32)?;
|
let msg_ptr = malloc_fn.call(&mut store, msg.len() as i32)?;
|
||||||
memory.write(&mut store, msg_ptr as usize, msg)?;
|
memory.write(&mut store, msg_ptr as usize, msg)?;
|
||||||
|
|
||||||
let greet_fn = instance.get_typed_func::<(i32, i32), (), _>(&mut store, "greet")?;
|
let greet_fn = instance.get_typed_func::<(i32, i32), (), _>(&mut store, "greet")?;
|
||||||
greet_fn.call(&mut store, (p, msg.len() as i32))?;
|
greet_fn.call(&mut store, (msg_ptr, msg.len() as i32))?;
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user