diff --git a/src/module.rs b/src/module.rs index e755c4b..bbce6de 100644 --- a/src/module.rs +++ b/src/module.rs @@ -11,6 +11,7 @@ use hashmap_core::HashMap; use std::collections::HashMap; use common::{DEFAULT_MEMORY_INDEX, DEFAULT_TABLE_INDEX}; +use core::cell::Ref; use func::{FuncBody, FuncInstance, FuncRef}; use global::{GlobalInstance, GlobalRef}; use host::Externals; @@ -215,6 +216,12 @@ impl ModuleInstance { self.globals.borrow_mut().push(global) } + /// Access all globals. This is a non-standard API so it's unlikely to be + /// portable to other engines. + pub fn globals<'a>(&self) -> Ref> { + self.globals.borrow() + } + fn insert_export>(&self, name: N, extern_val: ExternVal) { self.exports.borrow_mut().insert(name.into(), extern_val); }