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: --use-osr
      6 
      7 function foo() {
      8   var sum = 0;
      9   for (var i = 0; i < 100000; i++) {
     10     sum += i;
     11   }
     12   return function() { return sum; }
     13 }
     14 
     15 assertEquals(4999950000, foo()());
     16 assertEquals(4999950000, foo()());
     17 assertEquals(4999950000, foo()());
     18 
     19 function bar() {
     20   var sum = 0;
     21   var ret = 0;
     22   for (var i = 0; i < 90000; i++) {
     23     sum += i;
     24     if (i == 0) ret = function() { return sum; }
     25   }
     26   return ret;
     27 }
     28 
     29 assertEquals(4049955000, bar()());
     30 assertEquals(4049955000, bar()());
     31 assertEquals(4049955000, bar()());
     32