blob: d05cabd22261852e864259da29351b27c5348428 [file] [log] [blame]
//-------------------------------------------------------------------------------------------------------
// 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");