//------------------------------------------------------------------------------------------------------- // Copyright (C) Microsoft. All rights reserved. // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information. //------------------------------------------------------------------------------------------------------- //Switches: -maxinterpretcount:1 -sse:3 -force:atom -forceserialized //Arch: AMD64 var shouldBailout = false; var repeatCount = 0; function test0(){ var obj0 = {}; var obj1 = {}; var arrObj0 = {}; repeatCount = 0; var func0 = function(argMath0,argArr1){ } var func1 = function(argObj2,argMath3,argArrObj4,argMath5){ } obj0.method0 = func1; var i8 = new Int8Array(3); d = func1.call(obj1 , 1, func0.call(arrObj0 , (shouldBailout ? (Object.defineProperty(this, 'prop1', {get: function() {WScript.Echo(""); return 3; }, configurable: true}), 1) : 1), 1), 1, 1); // regalloc.ecs Snippet WIN8:748330: crash due to bad register allocation obj1 = {}; var f = 6.20856440617424E+18; obj1.prop0 = {prop0: 1, prop1: 1, prop2: 1, prop3: ((f + (1 <= 1)) / (((1 instanceof Object) <= 1) == 0 ? 1 : ((1 instanceof Object) <= 1))), prop4: 1, prop5: 1, prop6: 1, prop7: 1}; for(var v477409 = 0; v477409 < 3; ++v477409) { } obj1.method0 = function(){ //Snippets:newobjinlining1.ecs function v477410(arg1 , arg2 , arg3) { this.v477411 = arg1; this.v477412 = arg2; this.v477413 = arg3; this.v477414 = 2; this.v477413= 2; } function v477415() { v477410.prototype = {}; var __loopvar2 = 0; for(var strvar0 in i8 ) { if(strvar0.indexOf('method') != -1) continue; if(__loopvar2++ > 3) break; //Code Snippet: NegativeArgumentBug.ecs (Blue15423) for (var _i in arguments[obj0.method0.call(obj0 , 1, ((this.prop1 != obj0.prop0)||(arrObj0.prop0 > this.prop1)), 1, 1)]) { }; obj0.length -=arrObj0.method0(1, 1, 1, 1); } var v477416 = new v477410(1,1,1); GiantPrintArray.push(v477416.v477413); GiantPrintArray.push(v477416.v477411); GiantPrintArray.push(v477416.v477412); GiantPrintArray.push(v477416.v477414); } repeatCount++; if (repeatCount > 200) return 1; v477415(); v477415(); Object.defineProperty(v477410.prototype,"v477414",{get:function(){return 100},configurable:false }); v477415(); return 1; } if(shouldBailout){ obj0.method0 = obj1.method0; } obj0.method0(1, 1, 1, 1); }; try { // generate profile test0(); // run JITted code runningJITtedCode = true; test0(); // run code with bailouts enabled shouldBailout = true; test0(); } catch (e) { WScript.Echo(e); }