mirror of
https://github.com/mii443/wasmer.git
synced 2025-12-08 21:58:20 +00:00
Improved memory type
This commit is contained in:
4
lib/js-api/src/externals/memory.rs
vendored
4
lib/js-api/src/externals/memory.rs
vendored
@@ -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.
|
||||||
|
|||||||
@@ -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]
|
||||||
|
|||||||
Reference in New Issue
Block a user