summaryrefslogtreecommitdiff
path: root/test/binaryen.js/optimize-levels.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/binaryen.js/optimize-levels.js')
-rw-r--r--test/binaryen.js/optimize-levels.js77
1 files changed, 41 insertions, 36 deletions
diff --git a/test/binaryen.js/optimize-levels.js b/test/binaryen.js/optimize-levels.js
index e42bd5409..b3ae66a43 100644
--- a/test/binaryen.js/optimize-levels.js
+++ b/test/binaryen.js/optimize-levels.js
@@ -18,47 +18,52 @@ var wast = `
)
)
`;
-console.log("=== input wast ===" + wast);
-function printOptions() {
- console.log("optimizeLevel=" + Binaryen.getOptimizeLevel());
- console.log("shrinkLevel=" + Binaryen.getShrinkLevel());
-}
+function test() {
+ console.log("=== input wast ===" + wast);
+
+ function printOptions() {
+ console.log("optimizeLevel=" + Binaryen.getOptimizeLevel());
+ console.log("shrinkLevel=" + Binaryen.getShrinkLevel());
+ }
-// Use defaults (should be equal to -Os below)
-var module = Binaryen.parseText(wast);
+ // Use defaults (should be equal to -Os below)
+ var module = Binaryen.parseText(wast);
-console.log("=== unoptimized ===");
-assert(module.validate());
-console.log(module.emitText());
+ console.log("=== unoptimized ===");
+ assert(module.validate());
+ console.log(module.emitText());
-module.optimize();
-console.log("=== optimized using defaults ===");
-printOptions();
-assert(module.validate());
-console.log(module.emitText());
-module.dispose();
+ module.optimize();
+ console.log("=== optimized using defaults ===");
+ printOptions();
+ assert(module.validate());
+ console.log(module.emitText());
+ module.dispose();
-// Use -O0 (should remove the block)
-module = Binaryen.parseText(wast);
+ // Use -O0 (should remove the block)
+ module = Binaryen.parseText(wast);
-Binaryen.setOptimizeLevel(0);
-Binaryen.setShrinkLevel(0);
-module.optimize();
-console.log("=== optimized with -O0 ===");
-printOptions();
-assert(module.validate());
-console.log(module.emitText());
-module.dispose();
+ Binaryen.setOptimizeLevel(0);
+ Binaryen.setShrinkLevel(0);
+ module.optimize();
+ console.log("=== optimized with -O0 ===");
+ printOptions();
+ assert(module.validate());
+ console.log(module.emitText());
+ module.dispose();
-// Use -Os (should remove the block and convert to a select)
-module = Binaryen.parseText(wast);
+ // Use -Os (should remove the block and convert to a select)
+ module = Binaryen.parseText(wast);
+
+ Binaryen.setOptimizeLevel(2);
+ Binaryen.setShrinkLevel(1);
+ module.optimize();
+ console.log("=== optimized with -Os ===");
+ printOptions();
+ assert(module.validate());
+ console.log(module.emitText());
+ module.dispose();
+}
-Binaryen.setOptimizeLevel(2);
-Binaryen.setShrinkLevel(1);
-module.optimize();
-console.log("=== optimized with -Os ===");
-printOptions();
-assert(module.validate());
-console.log(module.emitText());
-module.dispose();
+Binaryen.ready.then(test);