diff options
author | Shao Cheng <astrohavoc@gmail.com> | 2020-04-22 19:58:33 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-22 10:58:33 -0700 |
commit | d8b414d22b032efc87dbceb50abef8bce5ce8266 (patch) | |
tree | bb9fea7afac25589343783c73131a53c19f842a2 /test/binaryen.js/tail_calls.js | |
parent | a1d562a89423de2b27f808749b4771e35c34622c (diff) | |
download | binaryen-d8b414d22b032efc87dbceb50abef8bce5ce8266.tar.gz binaryen-d8b414d22b032efc87dbceb50abef8bce5ce8266.tar.bz2 binaryen-d8b414d22b032efc87dbceb50abef8bce5ce8266.zip |
Add BinaryenCallIsReturn/BinaryenCallIndirectIsReturn to C/JS API (#2779)
Diffstat (limited to 'test/binaryen.js/tail_calls.js')
-rw-r--r-- | test/binaryen.js/tail_calls.js | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/test/binaryen.js/tail_calls.js b/test/binaryen.js/tail_calls.js new file mode 100644 index 000000000..7ad0bfddd --- /dev/null +++ b/test/binaryen.js/tail_calls.js @@ -0,0 +1,36 @@ +var module = new binaryen.Module(); + +module.setFeatures(binaryen.Features.TailCall); + +module.addTableImport("0", "env", "table"); + +var foo = module.addFunction( + "foo", + binaryen.none, + binaryen.none, + [], + module.returnCall("foo", [], binaryen.none, binaryen.none) +); + +var bar = module.addFunction( + "bar", + binaryen.none, + binaryen.none, + [], + module.returnCallIndirect( + module.i32.const(0), + [], + binaryen.none, + binaryen.none + ) +); + +assert(module.validate()); + +console.log( + binaryen.getExpressionInfo(binaryen.getFunctionInfo(foo).body).isReturn +); + +console.log( + binaryen.getExpressionInfo(binaryen.getFunctionInfo(bar).body).isReturn +); |