blob: a0c70274ac779105c62d124fd0d341382eab9681 [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 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() {
var obj0 = {};
var obj1 = {};
var arrObj0 = {};
var func0 = function(argArrObj0, argFunc1, argMath2, argArr3) {
arrObj0.prop0 = argArr3.push(arrObj0.prop0);
GiantPrintArray.push(arrObj0.prop0);
var _y = argArr3.length;
var _x = argArr3[_y];
GiantPrintArray.push(_x);
}
var func1 = function(argMath4) {
(obj0.length = (c++));
}
var func2 = function(argMath5, argArrObj6, argFunc7) {
GiantPrintArray.push('obj1.prop0 = ' + (obj1.prop0 | 0));
}
obj0.method0 = func1;
var f64 = new Float64Array(256);
var FloatArr0 = [];
var c = 1;
var aliasOfObj0 = obj0;;
var aliasOfarrObj0 = arrObj0;;
var aliasOfFloatArr0 = FloatArr0;;
function bar0(argFunc8, argArrObj9, argMath10, argArrObj11) {
arrObj0.prop0 = 1;
}
if((bar0(1, 1, 1, 1) >= func2.call(arrObj0, obj0.method0.call(obj1, 1), 1, 1))) {
}
else {
aliasOfFloatArr0[(2)] = 1;
}
var __loopvar1 = 0;
for(var strvar0 in f64) {
if(strvar0.indexOf('method') != -1) continue;
if(__loopvar1++ > 3) break;
func0.call(aliasOfObj0, 1, 1, 1, aliasOfFloatArr0);
// Snippet switch2
aliasOfarrObj0.prop0 = (function() {
switch(Object.keys(obj0).length) {
case 1:
return 1;
case 2:
return aliasOfarrObj0.length;
case 3:
return 1;
case 4:
case 5:
case "1":
return 1;
case "2":
return 1;
case "3":
return 1;
case "4":
return 1;
}
})();
}
};
// generate profile
test0();
// run JITted code
runningJITtedCode = true;
test0();
WScript.Echo("pass");