//------------------------------------------------------------------------------------------------------- // Copyright (C) Microsoft. All rights reserved. // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information. //------------------------------------------------------------------------------------------------------- function write() { for(var i=0;i a); return a; })()); write("Test case 6"); write((function(){ var a; a <<=1; a = (1 >= a); return a; })()); write("Test case 7"); write((function(){ var a; a <<=1; a = (1 !== a); return a; })()); write("Test case 8"); write((function(){ var a; a <<=1; a = (1 === a); return a; })()); write("Test case 9"); write((function (b){ var a; a <<=1; a = (a <= b); return a; })(1)); write("Test case 10"); write((function (b){ var a; a <<=1; a = (a < b); return a; })(1)); write("Test case 11"); write((function (b){ var a; a <<=1; a = (a == b); return a; })(1)); write("Test case 12"); write((function (b){ var a; a <<=1; a = (a != b); return a; })(1)); write("Test case 13"); write((function (b){ var a; a <<=1; a = (a === b); return a; })(1)); write("Test case 14"); write((function (b){ var a; a <<=1; a = (a !== b); return a; })(1)); write("Test case 15"); write((function (b){ var a; a <<=1; a = (a >= b); return a; })(1)); write("Test case 16"); write((function (b){ var a; a <<=1; a = (a > b); return a; })(1)); write("Test case 17"); write((function (a){ a = (a != a); return a; })(1)); write("Test case 18"); write((function (a){ a = (a === a); return a; })(1)); write("Win 8 935276"); write("Test case 19"); write((function (p2,p3){ return (((p2 = p3* 3) + p2)); })(10,20)); write("Test case 20"); write((function (p2,p3){ return (((p2 = p3 * 3) + (p2 = p3 *4) )); })(46,2)); write("Test case 21"); write((function (p2,p3){ return (((p2 = p3 * -8323432) + p3 )); })(44,23)); write("Test case 22"); write((function (p2,p3){ return ((p3 + (p3 = p2 * p2) )); })(-46,-20)); write("Test case 23"); write((function (p2,p3){ return (((p3 = p2 * p3) + p3 )); })(-23,20)); write("Test case 24"); write((function (p2,p3){ return (((p3 = p2 * p3 * 4) + p3 )); })(10,20)); write("Test case 25"); write((function (p2,p3){ return (((p3 = p2 * 23) + p3 )); })(10, new Number(-234))); write("Test case 26"); write((function (p2,p3,p4){ return (((p3 = p2 * p2) + p3 + (p4=p3*p2) )); })(10, 20, 30)); write("Test case 27"); function test27(){ var obj0 = {}; var arrObj0 = {}; var ui32 = new Uint32Array(256); var c = 1; obj0.prop0 = 1; function bar1 (){ } if(ui32[1] == 1 > 1) { if((new bar1()).prop0 ) { } else { c=arrObj0.prop0; } } }; // generate profile test27(); write("Passed"); write("Test case 28"); function test28(a){ a=String.fromCharCode(a); } test28(10); write("Passed"); write("Test case 29"); function test29helper(_array2tmp) { for(var i in _array2tmp) { write(i); } } function test29(){ var func0 = function(){ test29helper([h]); } var h = -2147483648; func0(); ++h; ++h; //creates a missing value func0(); }; // generate profile test29(); write("Test case 30"); function test30(){ var floatary = [-1.5]; if(floatary.length) { } else { // Array expression var _array1 = [(-1 * -1 - 2147483647)]; } }; test30(); write("Passed"); write("Test case 31"); (function test31() { var func2 = function() { throw new Error(); } function testlinenumber() { var arrObj0 = {}; arrObj0.prop1 = 1; (1 ? 1 : 1) >= func2(); }; try { testlinenumber(); } catch(ex) { write(TrimStackTracePath(ex.stack)); } })(); write("Passed"); write("Test case 32"); (function test32() { var shouldBailout = false; function test0() { var arrObj0 = {}; var func1 = function(){ var __loopvar4 = 0; for(var strvar0 in i32 ) { if(strvar0.indexOf('method') != -1) continue; if(__loopvar4++ > 3) break; arrObj0.length =1; continue ; ary0 = arguments; } } Object.prototype.method0 = func1; var i32 = new Int32Array(1); var e = 1; e &=(shouldBailout ? (Object.defineProperty(arrObj0, 'length', {set: function(_x) { write('arrObj0.length setter'); }, configurable: true}), arrObj0.method0()) : arrObj0.method0()); }; // generate profile test0(); shouldBailout = true; test0(); })(); write("Passed"); write("Test case 33"); (function test33() { try { function inlinee(arg0 , arg1 , arg2) { throw new Object(); } function inliner(arg0 , arg1) { } function func() { inliner(29,39,inlinee(22,33,44,55)); } func(24,42); }catch(e){}; })(); write("Passed"); write("Test case 34"); (function test34() { var a; a = (typeof(a) == "boolean"); write(a); })(); write("Passed"); write("Test case 34"); (function test34() { for (var x = 1; x >= 0; x--) { var f = []; var c = f[0] ; c = f.push(c); write(f[0]); } })(); write("Passed"); write("Test case 35") function test35() { if(typeof EvalError == "test") //use random comparison { return true; } return false; } test35(); write("Passed"); write("Test case 36") function test36() { (function () { for (let hvkbnr in null) throw 'u5623'; }()); } try { test36(); }catch(e) { } try { test36(); }catch(e) { } write("Passed") write("Test case 37") var test37 = function() { }; test37.prototype.B = function(a,b,c,d){return a+b+c+d;}; var A = new test37(); function F() { this.init.apply(this,arguments); } F.prototype.init = function() { A.B.apply(this, arguments); } function bar() { return new F(10,30,40,50); } write(bar()); write(bar()); write("passed"); write("Test case 38") var test38 = function (d, j, a) { do { if (d >= j) { break; } } while(1); for (;d < j;) { } return 10; }; write("passed") write("Test case 40"); (function test31() { function testRuntimeError() { eval(" for (var x in []) { undefinedFunction((test ? false &= 1 : true)); }"); }; try { testRuntimeError(); } catch(ex) { write(TrimStackTracePath(ex.stack)); } })(); write("Passed"); write("Test case 41"); (function test41() { var obj0 = {}; var arrObj0 = {}; var func1 = function () {} obj0.method0 = func1; var IntArr1 = new Array(); Object.prototype.prop0 = 1; var __loopvar0 = 0; for (var _strvar20 in arrObj0) { if (_strvar20.indexOf('method') != -1) continue; if (__loopvar0++ > 3) break; arrObj0[_strvar20] = Math.pow((IntArr1.push(obj0.method0(), (arrObj0.prop1 != arrObj0.prop0), (typeof(obj0.prop0) == 'number'), (typeof(781458996) != 'number'), IntArr1[(((Object.prototype.prop0 >= 0 ? Object.prototype.prop0 : 0)) & 0XF)], (typeof(this.prop0) == 'string'), (typeof(this.prop0) == 'string'))), 1); function func22() { Math.pow((IntArr1.push(obj0.method0(), (arrObj0.prop1 != arrObj0.prop0), (typeof(obj0.prop0) == 'number'), (typeof(781458996) != 'number'), IntArr1[(((Object.prototype.prop0 >= 0 ? Object.prototype.prop0 : 0)) & 0XF)], (typeof(this.prop0) == 'string'), (typeof(this.prop0) == 'string'))), 1); } } })(); write("Passed"); write("Test case 42"); (function test42() { var ary = new Array(10); arrObj0 = Object.prototype; arrObj0[5] = "temp"; ary[1] * ((ary.unshift()) - ary[1]); })(); write("Passed"); write("Test case 43"); (function test43() { //Bug seen with -prejit, adding a generic test case var obj0 = {}; var arrObj0 = {}; var VarArr0 = [arrObj0]; var v58 = { init: function () { return function bar() { arrObj0.prop0; }; } }; CollectGarbage(); obj0.method1 = v58.init(); obj0.method1.prototype = {}; //Property guard should get invalidated arrObj0 = new obj0.method1(); })(); write("Passed"); write("Test case 44"); (function test44() { function test0(){ // Snippet : Native array profile information update function v2496(v2497) { var v2498 = new Array(v2497); for(var v2500 = 0; v2500 < v2497; v2500++) { v2498 = v2500; } return v2498; } function v2502(v2499) { var v2503 = 0; for(var v2501 in v2499) { v2503 += v2499[v2501]; } return v2503; } var v2504 = v2496(5); v2502(v2504); // create missing value and transform the array if((1 % 5) <= 3) { v2504[v2504.length + 5] = 1; } var v2505 = v2496(10); v2502(v2505); }; // generate profile test0(); test0(); test0(); })(); write("Passed"); write("Test case 45"); (function test45() { write((Function("return"))()); write((Function("return;"))()); write((Function("return 25;"))()); })(); write("Passed"); write("Test case 46"); (function test46() { function compare(a, b){} var boundFunction = compare.bind(); write(Object.getOwnPropertyNames(boundFunction)); })(); write("Passed"); write("Test case 47"); (function test47() { Function('label\n:foo') localLabel : write("\\n in label accepted"); })(); write("Passed"); write("Test case 48"); (function test48() { var a = Math.random(); })(); write("Passed");