| 12345678910111213141516171819202122232425262728293031323334 |
- //-------------------------------------------------------------------------------------------------------
- // Copyright (C) Microsoft. All rights reserved.
- // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
- //-------------------------------------------------------------------------------------------------------
- var funcstr = "var t = function() { var a = 1073741823; var arr = new Array(); ";
- for (var i = 0; i < 2048; i++)
- {
- funcstr += " arr[0] = a * 2; ";
- }
- funcstr += "return arr; }";
- var keep = new Array();
- var scale = 1;
- for (var i = 0; i < 20 * scale; i++)
- {
- eval("var b = " + i + "; " + funcstr);
- CollectGarbage();
- var ret = t();
- if (ret[0] != 2147483646) { WScript.Echo("fail"); throw 0;}
- keep.push(ret[0]);
-
- if (i % (5 * scale) == 0)
- {
- for (var j = 0; j < keep.length; j++)
- {
- if (keep[j] != 2147483646) { WScript.Echo("fail"); throw 1; }
- }
- keep.length = 0;
- }
- }
- WScript.Echo("pass");
|