//------------------------------------------------------------------------------------------------------- // Copyright (C) Microsoft. All rights reserved. // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information. //------------------------------------------------------------------------------------------------------- var shouldBailout = false; function test0(){ var obj0 = {}; var obj1 = {}; var func0 = function(){ } var func1 = function(argObj0,argArr1,argMath2){ eval(""); func0(); } Object.prototype.method0 = func1; obj1.length = ((shouldBailout ? func0 = obj0.method0 : 1), func0()); }; var testOutcome = false; try { // generate profile test0(); // run JITted code runningJITtedCode = true; test0(); // run code with bailouts enabled shouldBailout = true; test0(); } catch(e) { WScript.Echo("Caught expected exception. Type of exception: " + e); if (e == "Error: Out of stack space") { testOutcome = true; } } if (testOutcome) { WScript.Echo("Passed"); } else { WScript.Echo("Failed"); }