Remove the need for HostRef<Module>

This commit continues previous work and also #708 by removing the need
to use `HostRef<Module>` in the API of the `wasmtime` crate. The API
changes performed here are:

* The `Module` type is now itself internally reference counted.
* The `Module::store` function now returns the `Store` that was used to
  create a `Module`
* Documentation for `Module` and its methods have been expanded.
This commit is contained in:
Alex Crichton
2020-01-08 08:30:57 -08:00
parent eb1991c579
commit 1fe76ef9e3
20 changed files with 194 additions and 110 deletions

View File

@@ -662,7 +662,7 @@ pub unsafe extern "C" fn wasm_instance_new(
let import = *imports.add(i);
externs.push((*import).ext.clone());
}
let module = &(*module).module;
let module = &(*module).module.borrow();
match Instance::new(store, module, &externs) {
Ok(instance) => {
let instance = Box::new(wasm_instance_t {