Publish with_externvals constructor.
This commit is contained in:
parent
a6b5574704
commit
ade9b32d1c
|
@ -383,10 +383,16 @@ impl ModuleInstance {
|
||||||
Ok(instance)
|
Ok(instance)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn instantiate_with_externvals(
|
/// Instantiate a module with given [external values][ExternVal] as imports.
|
||||||
loaded_module: &Module,
|
///
|
||||||
|
/// See [new] for details.
|
||||||
|
///
|
||||||
|
/// [new]: #method.new
|
||||||
|
/// [ExternVal]: https://webassembly.github.io/spec/core/exec/runtime.html#syntax-externval
|
||||||
|
pub fn with_externvals<'a>(
|
||||||
|
loaded_module: &'a Module,
|
||||||
extern_vals: &[ExternVal],
|
extern_vals: &[ExternVal],
|
||||||
) -> Result<ModuleRef, Error> {
|
) -> Result<NotStartedModuleRef<'a>, Error> {
|
||||||
let module = loaded_module.module();
|
let module = loaded_module.module();
|
||||||
|
|
||||||
let module_ref = ModuleInstance::alloc_module(loaded_module, extern_vals)?;
|
let module_ref = ModuleInstance::alloc_module(loaded_module, extern_vals)?;
|
||||||
|
@ -433,7 +439,10 @@ impl ModuleInstance {
|
||||||
memory_inst.set(offset_val, data_segment.value())?;
|
memory_inst.set(offset_val, data_segment.value())?;
|
||||||
}
|
}
|
||||||
|
|
||||||
Ok(module_ref)
|
Ok(NotStartedModuleRef {
|
||||||
|
loaded_module,
|
||||||
|
instance: module_ref,
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Instantiate a [module][`Module`].
|
/// Instantiate a [module][`Module`].
|
||||||
|
@ -535,11 +544,7 @@ impl ModuleInstance {
|
||||||
extern_vals.push(extern_val);
|
extern_vals.push(extern_val);
|
||||||
}
|
}
|
||||||
|
|
||||||
let instance = Self::instantiate_with_externvals(loaded_module, &extern_vals)?;
|
Self::with_externvals(loaded_module, &extern_vals)
|
||||||
Ok(NotStartedModuleRef {
|
|
||||||
loaded_module,
|
|
||||||
instance,
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Invoke exported function by a name.
|
/// Invoke exported function by a name.
|
||||||
|
|
Loading…
Reference in New Issue