mirror of
https://github.com/fluencelabs/wasmer
synced 2025-06-28 08:01:33 +00:00
Rework imports
This commit is contained in:
@ -1,5 +1,4 @@
|
||||
use hashbrown::HashMap;
|
||||
use std::rc::Rc;
|
||||
use wabt::wat2wasm;
|
||||
use wasmer_clif_backend::CraneliftCompiler;
|
||||
use wasmer_runtime::{
|
||||
@ -31,15 +30,13 @@ fn main() -> Result<(), String> {
|
||||
let mut imports = Imports::new();
|
||||
imports.register("env", env_namespace);
|
||||
|
||||
let imports = Rc::new(imports);
|
||||
|
||||
let inner_instance = inner_module.instantiate(imports)?;
|
||||
let inner_instance = inner_module.instantiate(&imports)?;
|
||||
|
||||
let mut outer_imports = Imports::new();
|
||||
outer_imports.register("env", inner_instance);
|
||||
let outer_imports = Rc::new(outer_imports);
|
||||
|
||||
let outer_module = runtime::compile(EXAMPLE_WASM, &CraneliftCompiler::new())?;
|
||||
let mut outer_instance = outer_module.instantiate(outer_imports)?;
|
||||
let mut outer_instance = outer_module.instantiate(&outer_imports)?;
|
||||
let ret = outer_instance.call("main", &[Value::I32(42)])?;
|
||||
println!("ret: {:?}", ret);
|
||||
|
||||
|
@ -1,4 +1,3 @@
|
||||
use std::rc::Rc;
|
||||
use wabt::wat2wasm;
|
||||
use wasmer_clif_backend::CraneliftCompiler;
|
||||
use wasmer_runtime::{import::Imports, Instance};
|
||||
@ -9,13 +8,13 @@ fn main() {
|
||||
println!("result: {:?}", result);
|
||||
}
|
||||
|
||||
fn generate_imports() -> Rc<Imports> {
|
||||
fn generate_imports() -> Imports {
|
||||
// let wasm_binary = wat2wasm(IMPORT_MODULE.as_bytes()).expect("WAST not valid or malformed");
|
||||
// let module = wasmer_runtime::compile(&wasm_binary[..], &CraneliftCompiler::new()).expect("WASM can't be compiled");
|
||||
// let instance = module.instantiate(Rc::new(Imports::new())).expect("WASM can't be instantiated");
|
||||
let imports = Imports::new();
|
||||
// imports.register("spectest", instance);
|
||||
Rc::new(imports)
|
||||
imports
|
||||
}
|
||||
|
||||
fn create_module_1() -> Instance {
|
||||
@ -34,6 +33,6 @@ fn create_module_1() -> Instance {
|
||||
let module = wasmer_runtime::compile(&wasm_binary[..], &CraneliftCompiler::new())
|
||||
.expect("WASM can't be compiled");
|
||||
module
|
||||
.instantiate(generate_imports())
|
||||
.instantiate(&generate_imports())
|
||||
.expect("WASM can't be instantiated")
|
||||
}
|
||||
|
Reference in New Issue
Block a user