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