Add/use create_wasi_instance() instead of instantiate_wasi(). (#571)

* Add/use create_wasi_instance() instead of instantiate_wasi().

* rm Result from Instance::from_handle
This commit is contained in:
Yury Delendik
2019-11-15 18:48:05 -06:00
committed by Dan Gohman
parent 9896a5cabd
commit ea56118651
8 changed files with 36 additions and 39 deletions

View File

@@ -9,9 +9,23 @@ use std::collections::HashMap;
use std::fs::File;
use target_lexicon::HOST;
use wasi_common::{WasiCtx, WasiCtxBuilder};
use wasmtime_api as api;
use wasmtime_environ::{translate_signature, Export, Module};
use wasmtime_runtime::{Imports, InstanceHandle, InstantiationError, VMFunctionBody};
/// Creates `api::Instance` object implementing the "wasi" interface.
pub fn create_wasi_instance(
store: &api::HostRef<api::Store>,
preopened_dirs: &[(String, File)],
argv: &[String],
environ: &[(String, String)],
) -> Result<api::Instance, InstantiationError> {
let global_exports = store.borrow().global_exports().clone();
let wasi = instantiate_wasi("", global_exports, preopened_dirs, argv, environ)?;
let instance = api::Instance::from_handle(&store, wasi);
Ok(instance)
}
/// Return an instance implementing the "wasi" interface.
pub fn instantiate_wasi(
prefix: &str,