fold-linear-arith-bug1528829.js (486B)
1 // |jit-test| --ion-warmup-threshold=0; --ion-check-range-analysis 2 3 function f(o) { 4 // Int32 math does an overflow check. 5 o += 1; 6 // Int32 math does an underflow check. 7 o += -2147483647; 8 // If previous math operations are folded, we should keep the smallest 9 // overflow check and the highest underflow check to stay within the 10 // expected range deduced by Range Analysis. 11 for (let i = 0; i < 1; ++i) { 12 o -= 1; 13 } 14 } 15 f(0); 16 f(0); 17 f(2147483647);