diff options
author | Daniel Wirtz <dcode@dcode.io> | 2017-11-21 21:43:12 +0100 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2017-11-21 12:43:12 -0800 |
commit | eedcc291164a46474116e0e54ede3133214a7621 (patch) | |
tree | 6350e315b74464f48c4f02c6c77a1338b630e144 /test/binaryen.js | |
parent | 07c54750eb626ea7434341e439f6cee75efbf4b5 (diff) | |
download | binaryen-eedcc291164a46474116e0e54ede3133214a7621.tar.gz binaryen-eedcc291164a46474116e0e54ede3133214a7621.tar.bz2 binaryen-eedcc291164a46474116e0e54ede3133214a7621.zip |
Running passes on a single function in binaryen-c/.js (#1295)
* Also other function utilities in C and JS APIs
Diffstat (limited to 'test/binaryen.js')
-rw-r--r-- | test/binaryen.js/functions.js | 28 | ||||
-rw-r--r-- | test/binaryen.js/functions.js.txt | 11 |
2 files changed, 39 insertions, 0 deletions
diff --git a/test/binaryen.js/functions.js b/test/binaryen.js/functions.js new file mode 100644 index 000000000..34142941c --- /dev/null +++ b/test/binaryen.js/functions.js @@ -0,0 +1,28 @@ +var module = new Binaryen.Module(); + +var signature = module.addFunctionType("i", Binaryen.i32, []); + +var func = module.addFunction("a-function", signature, [], + module.i32.add( + module.i32.const(1), + module.i32.const(2) + ) +); + +console.log("GetFunction is equal: " + (func === module.getFunction("a-function"))); + +module.runPassesOnFunction(func, ["precompute"]); + +var body = Binaryen.getFunctionBody(func); + +console.log("ExpressionId=" + Binaryen.getExpressionId(body)); +console.log("ExpressionType=" + Binaryen.getExpressionType(body)); +console.log(Binaryen.emitText(body)); + +module.removeFunction("a-function"); + +module.addGlobal("a-global", Binaryen.i32, false, body); + +module.validate(); + +console.log(module.emitText()); diff --git a/test/binaryen.js/functions.js.txt b/test/binaryen.js/functions.js.txt new file mode 100644 index 000000000..a785d1ddf --- /dev/null +++ b/test/binaryen.js/functions.js.txt @@ -0,0 +1,11 @@ +GetFunction is equal: true +ExpressionId=15 +ExpressionType=1 +(i32.const 3) + +(module + (type $i (func (result i32))) + (global $a-global i32 (i32.const 3)) + (memory $0 0) +) + |