diff --git a/lib/emscripten/src/lib.rs b/lib/emscripten/src/lib.rs index ace9b6856..802713f1c 100644 --- a/lib/emscripten/src/lib.rs +++ b/lib/emscripten/src/lib.rs @@ -440,13 +440,13 @@ impl EmscriptenGlobals { } let (table_min, table_max) = get_emscripten_table_size(&module); - let (memory_min, memory_max) = get_emscripten_memory_size(&module); + let (memory_min, memory_max, shared) = get_emscripten_memory_size(&module); // Memory initialization let memory_type = MemoryDescriptor { minimum: memory_min, maximum: memory_max, - shared: false, + shared: shared, }; let memory = Memory::new(memory_type).unwrap(); diff --git a/lib/emscripten/src/utils.rs b/lib/emscripten/src/utils.rs index 7e3bc5318..356b644eb 100644 --- a/lib/emscripten/src/utils.rs +++ b/lib/emscripten/src/utils.rs @@ -36,9 +36,9 @@ pub fn get_emscripten_table_size(module: &Module) -> (u32, Option) { (table.minimum, table.maximum) } -pub fn get_emscripten_memory_size(module: &Module) -> (Pages, Option) { +pub fn get_emscripten_memory_size(module: &Module) -> (Pages, Option, bool) { let (_, memory) = &module.info().imported_memories[ImportedMemoryIndex::new(0)]; - (memory.minimum, memory.maximum) + (memory.minimum, memory.maximum, memory.shared) } /// Reads values written by `-s EMIT_EMSCRIPTEN_METADATA=1`