//------------------------------------------------------------------------------------------------------- | |
// Copyright (C) Microsoft. All rights reserved. | |
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information. | |
//------------------------------------------------------------------------------------------------------- | |
/* | |
*******************************UNIT TEST FOR SWITCH CASE OPTIMIZATION******************************* | |
* Test for Bug 232738 | |
* Exprgen:CAS: JIT is causing a bad code gen with Switches: -maxinterpretcount:1 -bgjit- -loopinterpretcount:1 | |
* | |
*/ | |
var shouldBailout = false; | |
function test0(){ | |
var g = 1; | |
if(shouldBailout) | |
{ | |
g = { valueOf: function() { WScript.Echo('g value1Of'); return 3; } } | |
} | |
var __loopvar2 = 1; | |
do { | |
switch(g) { | |
case 1: | |
d = 1; | |
case 2: | |
d = 2; | |
case 3: | |
d = 3; | |
case 4: | |
d = 4; | |
default: | |
d = -1; | |
} | |
} while(__loopvar2 < 1) | |
return d; | |
}; | |
WScript.Echo(test0()); | |
shouldBailout = true; | |
WScript.Echo(test0()); |