1 // Copyright 2015 the V8 project authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 // Flags: --allow-natives-syntax --use-osr --turbo-osr 6 7 function foo(a) { 8 var i = a | 0; 9 while (true) { 10 if (i == 0) { i = 1; continue; } 11 if (i == 1) { i = 2; continue; } 12 if (i == 2) { i = 3; continue; } 13 if (i == 3) { i = 4; continue; } 14 if (i == 4) { i = 5; continue; } 15 if (i == 5) { i = 6; continue; } 16 if (i == 6) { i = 7; continue; } 17 if (i == 7) { i = 8; continue; } 18 for (var j = 0; j < 10; j++) { if (i == 5) %OptimizeOsr(); } 19 break; 20 } 21 return j; 22 } 23 24 function test(func, tv, fv) { 25 assertEquals(tv, func(0)); 26 assertEquals(tv, func(0)); 27 assertEquals(fv, func(9)); 28 assertEquals(fv, func(9)); 29 } 30 31 test(foo, 10, 10); 32