integer-2.js (335B)
1 function foo(x, y, z, a) { 2 for (var i = 0x7fff; i < 0xffff; i++) { 3 var y = ((x + y) + (z + a[0])) | 0; 4 } 5 return y; 6 } 7 assertEq(foo(0x7fffffff, 0x7fffffff, 0x7fffffff, [0x7fffffff]), 2147385343); 8 9 var q = [0x7fffffff]; 10 assertEq(eval("foo(0x7fffffff, 0x7fffffff, {valueOf:function() {q[0] = 'e4'; return 0;}}, q)"), 438048096);