diff options
Diffstat (limited to 'js/src/jit-test/tests/ion/bug816786.js')
-rw-r--r-- | js/src/jit-test/tests/ion/bug816786.js | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/ion/bug816786.js b/js/src/jit-test/tests/ion/bug816786.js new file mode 100644 index 000000000..dde740963 --- /dev/null +++ b/js/src/jit-test/tests/ion/bug816786.js @@ -0,0 +1,38 @@ +var g; +function test(a, b) { + + g = 0; + for(var i=0; i<100; i++) { + g += i + } + + var t = a*b; + + for(var i=0; i<100; i++) { + t = x.y + t; + return t; + } + +} + +function negzero(x) { + return x===0 && (1/x)===-Infinity; +} + + +var x = {y:0}; +var a = 0; +var b = 0; +for(var i=0; i<58; i++) { + var o = test(a, b); + + // Test returns + // * 0, if i < 50 + // * -0, if i >= 50 + assertEq(negzero(o), i>50); + + if (i == 50) { + a = -1 + x.y = -0 + } +} |