Home | History | Annotate | Download | only in compiler
      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