diff options
Diffstat (limited to 'test/binaryen.js/optimize-levels.js')
-rw-r--r-- | test/binaryen.js/optimize-levels.js | 77 |
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); |