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.js90
1 files changed, 41 insertions, 49 deletions
diff --git a/test/binaryen.js/optimize-levels.js b/test/binaryen.js/optimize-levels.js
index b3ae66a43..b3dd2adbd 100644
--- a/test/binaryen.js/optimize-levels.js
+++ b/test/binaryen.js/optimize-levels.js
@@ -1,7 +1,3 @@
-function assert(x) {
- if (!x) throw 'error!';
-}
-
var wast = `
(module
(type $i (func (param i32) (result i32)))
@@ -19,51 +15,47 @@ var wast = `
)
`;
-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);
-
- 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();
-
- // 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();
-
- // Use -Os (should remove the block and convert to a select)
- module = Binaryen.parseText(wast);
+console.log("=== input wast ===" + wast);
- Binaryen.setOptimizeLevel(2);
- Binaryen.setShrinkLevel(1);
- module.optimize();
- console.log("=== optimized with -Os ===");
- printOptions();
- assert(module.validate());
- console.log(module.emitText());
- module.dispose();
+function printOptions() {
+ console.log("optimizeLevel=" + binaryen.getOptimizeLevel());
+ console.log("shrinkLevel=" + binaryen.getShrinkLevel());
}
-Binaryen.ready.then(test);
+// Use defaults (should be equal to -Os below)
+var module = binaryen.parseText(wast);
+
+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();
+
+// 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();
+
+// 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();