diff options
author | Alon Zakai <alonzakai@gmail.com> | 2016-09-07 10:55:02 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-09-07 10:55:02 -0700 |
commit | 135a20cd110d356d5d098a08a7b447205adaed7a (patch) | |
tree | f5200a6b35f19d1bf95dea1fa7e339f40391413b /test/unit.asm.js | |
parent | fbe77b167002e8a49225b607ca8c37dc7e4b41fe (diff) | |
parent | dd197d3212ac28e778d372df9d03e58b21386648 (diff) | |
download | binaryen-135a20cd110d356d5d098a08a7b447205adaed7a.tar.gz binaryen-135a20cd110d356d5d098a08a7b447205adaed7a.tar.bz2 binaryen-135a20cd110d356d5d098a08a7b447205adaed7a.zip |
Merge pull request #678 from WebAssembly/stack
Stack machine + 0xc update
Diffstat (limited to 'test/unit.asm.js')
-rw-r--r-- | test/unit.asm.js | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/test/unit.asm.js b/test/unit.asm.js index 380c97b41..e76ae1ef9 100644 --- a/test/unit.asm.js +++ b/test/unit.asm.js @@ -9,6 +9,7 @@ function asm(global, env, buffer) { var Math_ceil = global.Math.ceil; var tempDoublePtr = env.tempDoublePtr | 0; var n = env.gb | 0; + var setTempRet0=env.setTempRet0; var abort = env.abort; var print = env.print; @@ -261,6 +262,74 @@ function asm(global, env, buffer) { return x | 0; } + function smallIf() { + do { + if (2) { + lb(3) | 0; + } else { + break; + } + } while (0); + } + + function dropCall() { + if (0) { + phi(); // drop this + setTempRet0(10); // this too + zeroInit(setTempRet0(10) | 0); + } + return phi() | 0; + } + + function useSetGlobal() { + var x = 0; + x = (Int = 10); + Int = 20; + return (Int = 30) | 0; + } + + function usesSetGlobal2() { + return (Int = 40, 50) | 0; + } + + function breakThroughMany($s) { + $s = $s|0; + L1: do { + if ($s) { + while(1) { + if (!($s)) { + break L1; + } + zeroInit(0); + } + } else { + 1337; + } + } while(0); + } + + function ifChainEmpty(label) { + label = label | 0; + if ((label|0) == 4) { + return 0; + } + else if ((label|0) == 7) { + // unreachable; + } + return 0; + } + + function heap8NoShift(x) { + x = x | 0; + return HEAP8[x | 0] | 0; + } + + function conditionalTypeFun() { + var x = 0, y = +0; + x = 1 ? abort(5) | 0 : 2; + y = 3 ? +abort(7) : 4.5; + } + function z() { } function w() { |