// Copyright 2015 the V8 project authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // Flags: --use-osr --turbo-osr function foo() { var sum = 0; for (var i = 0; i < 100000; i++) { sum += i; } return function() { return sum; } } assertEquals(4999950000, foo()()); assertEquals(4999950000, foo()()); assertEquals(4999950000, foo()()); function bar() { var sum = 0; var ret = 0; for (var i = 0; i < 90000; i++) { sum += i; if (i == 0) ret = function() { return sum; } } return ret; } assertEquals(4049955000, bar()()); assertEquals(4049955000, bar()()); assertEquals(4049955000, bar()());