diff --git a/src/de/inetsoftware/jwebassembly/binary/BinaryModuleWriter.java b/src/de/inetsoftware/jwebassembly/binary/BinaryModuleWriter.java index 15715b2..4a26fa6 100644 --- a/src/de/inetsoftware/jwebassembly/binary/BinaryModuleWriter.java +++ b/src/de/inetsoftware/jwebassembly/binary/BinaryModuleWriter.java @@ -206,6 +206,9 @@ public class BinaryModuleWriter extends ModuleWriter implements InstructionOpcod //stream.writeVaruint32( pages ); // maximum length } wasm.writeSection( SectionType.Memory, stream ); + + // export the memory with the name "memory" + exports.add( new ExportEntry( "memory", ExternalKind.Memory, 0 ) ); } } diff --git a/src/de/inetsoftware/jwebassembly/text/TextModuleWriter.java b/src/de/inetsoftware/jwebassembly/text/TextModuleWriter.java index 694e6b6..435b729 100644 --- a/src/de/inetsoftware/jwebassembly/text/TextModuleWriter.java +++ b/src/de/inetsoftware/jwebassembly/text/TextModuleWriter.java @@ -150,7 +150,7 @@ public class TextModuleWriter extends ModuleWriter { int pages = (dataSize + 0xFFFF) / 0x10000; newline( output ); String pagesStr = Integer.toString( pages ); - output.append( "(memory " ).append( pagesStr ).append( ' ' ).append( pagesStr ).append( ')' ); + output.append( "(memory (export \"memory\") " ).append( pagesStr ).append( ' ' ).append( pagesStr ).append( ')' ); newline( output ); output.append( "(data (i32.const 0) \"" ); byte[] data = dataStream.toByteArray();