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