| description( |
| "Tests that spilling an int52 works for a program that is more tricky and wouldn't be subject to reassociation." |
| ); |
| |
| function foo(x, a) { |
| var y0 = a[47 + 0] + 3000000000; |
| var y1 = a[47 + 1] + 3000000000; |
| var y2 = a[47 + 2] + 3000000000; |
| var y3 = a[47 + 3] + 3000000000; |
| var y4 = a[47 + 4] + 3000000000; |
| var y5 = a[47 + 5] + 3000000000; |
| var y6 = a[47 + 6] + 3000000000; |
| var y7 = a[47 + 7] + 3000000000; |
| var y8 = a[47 + 8] + 3000000000; |
| var y9 = a[47 + 9] + 3000000000; |
| var y10 = a[47 + 10] + 3000000000; |
| var y11 = a[47 + 11] + 3000000000; |
| var y12 = a[47 + 12] + 3000000000; |
| var y13 = a[47 + 13] + 3000000000; |
| var y14 = a[47 + 14] + 3000000000; |
| var y15 = a[47 + 15] + 3000000000; |
| var y16 = a[47 + 16] + 3000000000; |
| var y17 = a[47 + 17] + 3000000000; |
| var y18 = a[47 + 18] + 3000000000; |
| var y19 = a[47 + 19] + 3000000000; |
| var y20 = a[47 + 20] + 3000000000; |
| var y21 = a[47 + 21] + 3000000000; |
| var y22 = a[47 + 22] + 3000000000; |
| var y23 = a[47 + 23] + 3000000000; |
| var y24 = a[47 + 24] + 3000000000; |
| var y25 = a[47 + 25] + 3000000000; |
| var y26 = a[47 + 26] + 3000000000; |
| var y27 = a[47 + 27] + 3000000000; |
| var y28 = a[47 + 28] + 3000000000; |
| var y29 = a[47 + 29] + 3000000000; |
| var y30 = a[47 + 30] + 3000000000; |
| var y31 = a[47 + 31] + 3000000000; |
| var y32 = a[47 + 32] + 3000000000; |
| var y33 = a[47 + 33] + 3000000000; |
| var y34 = a[47 + 34] + 3000000000; |
| var y35 = a[47 + 35] + 3000000000; |
| var y36 = a[47 + 36] + 3000000000; |
| var y37 = a[47 + 37] + 3000000000; |
| var y38 = a[47 + 38] + 3000000000; |
| var y39 = a[47 + 39] + 3000000000; |
| |
| var b = a[1]; |
| var c = a[2]; |
| var d = a[3]; |
| var e = a[4]; |
| var f = a[5]; |
| var g = a[6]; |
| var h = a[7]; |
| var i = a[8]; |
| var j = a[9]; |
| var k = a[10]; |
| var l = a[11]; |
| var m = a[12]; |
| var n = a[13]; |
| var o = a[14]; |
| var p = a[15]; |
| var q = a[16]; |
| var r = a[17]; |
| var s = a[18]; |
| var t = a[19]; |
| var u = a[20]; |
| var v = a[21]; |
| var w = a[22]; |
| var A = a[23]; |
| var B = a[24]; |
| var C = a[25]; |
| var D = a[26]; |
| var E = a[27]; |
| var F = a[28]; |
| var G = a[29]; |
| var H = a[30]; |
| var I = a[31]; |
| var J = a[32]; |
| var K = a[33]; |
| var L = a[34]; |
| var M = a[35]; |
| var N = a[36]; |
| var O = a[37]; |
| var P = a[38]; |
| var Q = a[39]; |
| var R = a[40]; |
| var S = a[41]; |
| var T = a[42]; |
| var U = a[43]; |
| var V = a[44]; |
| var W = a[45]; |
| var X = a[46]; |
| var Y = a[47]; |
| var Z = a[0]; |
| |
| return b + c + d + e + f + g + h + i + j + k + l + m + n + o + p + q + r + s + t + u + v + w + A + B + C + D + E + F + G + H + I + J + K + L + M + N + O + P + Q + R + S + T + U + V + W + X + Y + Z + y0 + y1 + y2 + y3 + y4 + y5 + y6 + y7 + y8 + y9 + y10 + y11 + y12 + y13 + y14 + y15 + y16 + y17 + y18 + y19 + y20 + y21 + y22 + y23 + y24 + y25 + y26 + y27 + y28 + y29 + y30 + y31 + y32 + y33 + y34 + y35 + y36 + y37 + y38 + y39; |
| } |
| |
| var array = []; |
| for (var i = 0; i < 100; ++i) |
| array[i] = i; |
| |
| dfgShouldBe(foo, "foo(2000000000, array)", "120000003788"); |