michael@0: function foo(x, y, z, a) { michael@0: for (var i = 0x7fff; i < 0xffff; i++) { michael@0: var y = ((x + y) + (z + a[0])) | 0; michael@0: } michael@0: return y; michael@0: } michael@0: assertEq(foo(0x7fffffff, 0x7fffffff, 0x7fffffff, [0x7fffffff]), 2147385343); michael@0: michael@0: var q = [0x7fffffff]; michael@0: assertEq(eval("foo(0x7fffffff, 0x7fffffff, {valueOf:function() {q[0] = 'e4'; return 0;}}, q)"), 438048096);