Improved memory type

This commit is contained in:
Syrus Akbary
2021-07-12 21:01:49 -07:00
parent 2c75468c9e
commit ee006c3ad4
2 changed files with 13 additions and 5 deletions

View File

@@ -97,7 +97,9 @@ impl Memory {
/// assert_eq!(m.ty(), mt); /// assert_eq!(m.ty(), mt);
/// ``` /// ```
pub fn ty(&self) -> MemoryType { pub fn ty(&self) -> MemoryType {
self.vm_memory.ty.clone() let mut ty = self.vm_memory.ty.clone();
ty.minimum = self.size();
ty
} }
/// Returns the [`Store`] where the `Memory` belongs. /// Returns the [`Store`] where the `Memory` belongs.

View File

@@ -42,7 +42,7 @@ use wasmer_js::*;
#[wasm_bindgen_test] #[wasm_bindgen_test]
fn test_exported_memory() { fn test_exported_memory() {
let store = Store::default(); let store = Store::default();
let module = Module::new( let mut module = Module::new(
&store, &store,
br#" br#"
(module (module
@@ -51,17 +51,23 @@ fn test_exported_memory() {
"#, "#,
) )
.unwrap(); .unwrap();
module.set_type_hints(ModuleTypeHints {
imports: vec![],
exports: vec![ExternType::Memory(MemoryType::new(Pages(1), None, false))],
});
let import_object = imports! {}; let import_object = imports! {};
let instance = Instance::new(&module, &import_object).unwrap(); let instance = Instance::new(&module, &import_object).unwrap();
let memory = instance.exports.get_memory("mem").unwrap(); let memory = instance.exports.get_memory("mem").unwrap();
assert_eq!(memory.ty(), MemoryType::new(Pages(1), None, false));
assert_eq!(memory.size(), Pages(1)); assert_eq!(memory.size(), Pages(1));
assert_eq!(memory.data_size(), 65536); assert_eq!(memory.data_size(), 65536);
// let load = instance memory.grow(Pages(1)).unwrap();
// .exports assert_eq!(memory.ty(), MemoryType::new(Pages(2), None, false));
// .get_native_function::<(), (WasmPtr<u8, Array>, i32)>("load")?; assert_eq!(memory.size(), Pages(2));
assert_eq!(memory.data_size(), 65536 * 2);
} }
#[wasm_bindgen_test] #[wasm_bindgen_test]