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