| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- //-------------------------------------------------------------------------------------------------------
- // 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");
|