| //------------------------------------------------------------------------------------------------------- |
| // Copyright (C) Microsoft. All rights reserved. |
| // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information. |
| //------------------------------------------------------------------------------------------------------- |
| |
| var runningJITtedCode = false; |
| |
| 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(args) |
| { |
| PolyFuncArr = []; |
| for(var i=0;i<args.length;i++) |
| { |
| PolyFuncArr.push(args[i]) |
| } |
| } |
| ; |
| function test0(){ |
| var obj0 = {}; |
| var obj1 = {}; |
| var arrObj0 = {}; |
| var func0 = function(){ |
| } |
| var func1 = function(argObj0,argMath1,argStr2){ |
| } |
| obj0.method0 = func0; |
| obj1.method0 = func0; |
| var ui16 = new Uint16Array(256); |
| var f64 = new Float64Array(256); |
| var uic8 = new Uint8ClampedArray(256); |
| var IntArr0 = new Array(); |
| var IntArr1 = 1; |
| var FloatArr0 = [65535,850033435,65535,3.47357153766714E+18,-1014997735,7.30803686256937E+18]; |
| var VarArr0 = [strvar6,-313763887.9]; |
| var b = 1; |
| var d = 1; |
| var e = 1; |
| var f = 1; |
| var g = 1; |
| var strvar4 = 1; |
| var strvar6 = 1; |
| FloatArr0[10] = 1; |
| FloatArr0[6] = 1; |
| function bar0 (argObj5,argObj6){ |
| } |
| InitPolymorphicFunctionArray(new Array(bar0)); |
| var __polyobj = GetObjectwithPolymorphicFunction(); |
| var strvar9 = 'ë*+»!' + '!j!##$c9'; |
| strvar9 = strvar9.substring((strvar9.length)/4,(strvar9.length)/1); |
| var func4 = (argMath7,argFunc8) => { |
| } |
| (IntArr0.unshift(b, (arrObj0.prop0 ? Math.floor(i8[(arrObj0.prop0) & 255]) : (new func0()).prop1 ), ((VarArr0.unshift((/a/ instanceof ((typeof RegExp == 'function' ) ? RegExp : Object)), FloatArr0[(14)], (new __polyobj.polyfunc(obj0,obj0)).prop0 , (new __polyobj.polyfunc(obj1,obj1)).prop1 , obj0.length, -5.58142230095393E+18, obj1.method0.call(arrObj0 ), g, obj1.method0.call(arrObj0 ), func0.call(obj0 ), ((FloatArr0[(14)] * (ui16[(obj0.prop1) & 255] + (obj0.prop0 ? -1 : -1.37703981324473E+18))) * ((parseInt("4044012402201", 5) * obj0.method0.call(arrObj0 ) - ((new Object()) instanceof ((typeof String == 'function' ) ? String : Object))) + obj1.method0())), (2147483647 * (((new Object()) instanceof ((typeof String == 'function' ) ? String : Object)) - arrObj0[(((((FloatArr0[(14)] * (ui16[(obj0.prop1) & 255] + (obj0.prop0 ? -1 : -1.37703981324473E+18))) * ((parseInt("4044012402201", 5) * obj0.method0.call(arrObj0 ) - ((new Object()) instanceof ((typeof String == 'function' ) ? String : Object))) + obj1.method0())) >= 0 ? ((FloatArr0[(14)] * (ui16[(obj0.prop1) & 255] + (obj0.prop0 ? -1 : -1.37703981324473E+18))) * ((parseInt("4044012402201", 5) * obj0.method0.call(arrObj0 ) - ((new Object()) instanceof ((typeof String == 'function' ) ? String : Object))) + obj1.method0())) : 0)) & 0XF)])), (2.16363795434958E+17 instanceof ((typeof RegExp == 'function' ) ? RegExp : Object)))) * ((typeof(d) != null) + (d != f))), IntArr1[(((((f &= ((arrObj0.prop1 <= -679080040) <= (-2147483647))) & ((-2147483649 >= f64[(f) & 255]) ? (arrObj0.prop1 <= -679080040) : bar0.call(arrObj0 , obj0, obj1))) >= 0 ? ((f &= ((arrObj0.prop1 <= -679080040) <= (-2147483647))) & ((-2147483649 >= f64[(f) & 255]) ? (arrObj0.prop1 <= -679080040) : bar0.call(arrObj0 , obj0, obj1))) : 0)) & 0XF)], ('ë*+»!' + '!j!##$c9'.indexOf('9' + '(!,*')), 2.42377081442484E+18, (-106 * (typeof (obj1.length != obj0.prop1)) - 1.98981237618569E+18), (arrObj0.length = (f < obj1.length)), (uic8[((typeof(obj0.prop0) != 'object') ) & 255] ^ -1917286370.9), ((obj0.prop1 = obj0.prop1) * (('#'.indexOf(strvar4)) > (arrObj0.length !== e)) + (obj1.method0.call(obj0 ) !== func1.call(obj1 , obj1, func0.call(arrObj0 ), strvar9))), (('#'.indexOf(strvar4)) * (~ ((new EvalError()) instanceof ((typeof Object == 'function' ) ? Object : Object))) + ((~ strvar4) ? arrObj0.prop0 : (arrObj0.length > obj1.prop0))), (arrObj0.length ^= (typeof(d) == 'number') ))); |
| |
| }; |
| |
| // generate profile |
| test0(); |
| // Run Simple JIT |
| test0(); |
| test0(); |
| |
| // run JITted code |
| runningJITtedCode = true; |
| test0(); |
| WScript.Echo("Pass"); |