| //------------------------------------------------------------------------------------------------------- |
| // 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); |
| } |
| |