diff options
Diffstat (limited to 'js/src/jit-test/tests/ion/fold-linear-arith-bug1528829.js')
-rw-r--r-- | js/src/jit-test/tests/ion/fold-linear-arith-bug1528829.js | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/ion/fold-linear-arith-bug1528829.js b/js/src/jit-test/tests/ion/fold-linear-arith-bug1528829.js new file mode 100644 index 0000000000..e4529c1bfb --- /dev/null +++ b/js/src/jit-test/tests/ion/fold-linear-arith-bug1528829.js @@ -0,0 +1,18 @@ +// |jit-test| --ion-warmup-threshold=0; --ion-check-range-analysis + +function f(o) { + // Int32 math does an overflow check. + o += 1; + // Int32 math does an underflow check. + o += -2147483647; + // If previous math operations are folded, we should keep the smallest + // overflow check and the highest underflow check to stay within the + // expected range deduced by Range Analysis. + for (let i = 0; i < 1; ++i) { + o -= 1; + } +} +f(0); +f(0); +f(2147483647); + |