| //------------------------------------------------------------------------------------------------------- | |
| // Copyright (C) Microsoft. All rights reserved. | |
| // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information. | |
| //------------------------------------------------------------------------------------------------------- | |
| var GiantPrintArray = []; | |
| var reuseObjects = false; | |
| var PolymorphicFuncObjArr = []; | |
| var PolyFuncArr = []; | |
| function GetPolymorphicFunction() { | |
| if(PolyFuncArr.length > 1) { | |
| var myFunc = PolyFuncArr.shift(); | |
| PolyFuncArr.push(myFunc); | |
| return myFunc; | |
| } | |
| else { | |
| return PolyFuncArr[0]; | |
| } | |
| } | |
| function GetObjectwithPolymorphicFunction() { | |
| if(reuseObjects) { | |
| if(PolymorphicFuncObjArr.length > 1) { | |
| var myFunc = PolymorphicFuncObjArr.shift(); | |
| PolymorphicFuncObjArr.push(myFunc); | |
| return myFunc | |
| } | |
| else { | |
| return PolymorphicFuncObjArr[0]; | |
| } | |
| } | |
| else { | |
| var obj = {}; | |
| obj.polyfunc = GetPolymorphicFunction(); | |
| PolymorphicFuncObjArr.push(obj) | |
| return obj | |
| } | |
| }; | |
| function InitPolymorphicFunctionArray() { | |
| for(var i = 0; i < arguments.length; i++) { | |
| PolyFuncArr.push(arguments[i]) | |
| } | |
| } | |
| ; | |
| function test0() { | |
| //letconst3.ecs | |
| function v79580() { | |
| var v79581 = -2147483646; | |
| { | |
| const v79581 = 1; | |
| GiantPrintArray.push(v79581); | |
| } | |
| GiantPrintArray.push(v79581); | |
| } | |
| v79580(); | |
| }; | |
| // generate profile | |
| test0(); | |
| // Run Simple JIT | |
| test0(); | |
| test0(); | |
| test0(); | |
| test0(); | |
| test0(); | |
| // run JITted code | |
| runningJITtedCode = true; | |
| test0(); | |
| WScript.Echo("pass"); |