summaryrefslogtreecommitdiff
path: root/test/binaryen.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/binaryen.js')
-rw-r--r--test/binaryen.js/zero-filled-memory.js31
-rw-r--r--test/binaryen.js/zero-filled-memory.js.txt28
2 files changed, 59 insertions, 0 deletions
diff --git a/test/binaryen.js/zero-filled-memory.js b/test/binaryen.js/zero-filled-memory.js
new file mode 100644
index 000000000..0638c7744
--- /dev/null
+++ b/test/binaryen.js/zero-filled-memory.js
@@ -0,0 +1,31 @@
+var wast = String.raw`
+(module
+ (import "env" "memory" (memory $0 1))
+ (data (i32.const 1024) "\00\00\00\00")
+ (export "memory" (memory $0))
+)
+`;
+
+console.log("=== input wast ===" + wast);
+
+var module = binaryen.parseText(wast);
+
+console.log("=== unoptimized ===");
+assert(module.validate());
+console.log(module.emitText());
+
+console.log("=== optimized, zeroFilledMemory=" + binaryen.getZeroFilledMemory() + " ===");
+module.optimize();
+assert(module.validate());
+console.log(module.emitText());
+
+binaryen.setZeroFilledMemory(true);
+assert(binaryen.getZeroFilledMemory());
+console.log();
+
+console.log("=== optimized, zeroFilledMemory=" + binaryen.getZeroFilledMemory() + " ===");
+module.optimize();
+assert(module.validate());
+console.log(module.emitText());
+
+module.dispose();
diff --git a/test/binaryen.js/zero-filled-memory.js.txt b/test/binaryen.js/zero-filled-memory.js.txt
new file mode 100644
index 000000000..10f7a3fbe
--- /dev/null
+++ b/test/binaryen.js/zero-filled-memory.js.txt
@@ -0,0 +1,28 @@
+=== input wast ===
+(module
+ (import "env" "memory" (memory $0 1))
+ (data (i32.const 1024) "\00\00\00\00")
+ (export "memory" (memory $0))
+)
+
+=== unoptimized ===
+(module
+ (import "env" "memory" (memory $0 1))
+ (data (i32.const 1024) "\00\00\00\00")
+ (export "memory" (memory $0))
+)
+
+=== optimized, zeroFilledMemory=false ===
+(module
+ (import "env" "memory" (memory $0 1))
+ (data (i32.const 1024) "\00\00\00\00")
+ (export "memory" (memory $0))
+)
+
+
+=== optimized, zeroFilledMemory=true ===
+(module
+ (import "env" "memory" (memory $0 1))
+ (export "memory" (memory $0))
+)
+