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 --turbo-osr 6 7function foo() { 8 var sum = 0; 9 for (var i = 0; i < 100000; i++) { 10 sum += i; 11 } 12 return function() { return sum; } 13} 14 15assertEquals(4999950000, foo()()); 16assertEquals(4999950000, foo()()); 17assertEquals(4999950000, foo()()); 18 19function 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 29assertEquals(4049955000, bar()()); 30assertEquals(4049955000, bar()()); 31assertEquals(4049955000, bar()()); 32