OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Flags: --use-osr --turbo-osr | 5 // Flags: --use-osr |
6 | 6 |
7 function foo() { | 7 function foo() { |
8 var sum = 0; | 8 var sum = 0; |
9 for (var i = 0; i < 100000; i++) { | 9 for (var i = 0; i < 100000; i++) { |
10 sum += i; | 10 sum += i; |
11 } | 11 } |
12 return function() { return sum; } | 12 return function() { return sum; } |
13 } | 13 } |
14 | 14 |
15 assertEquals(4999950000, foo()()); | 15 assertEquals(4999950000, foo()()); |
16 assertEquals(4999950000, foo()()); | 16 assertEquals(4999950000, foo()()); |
17 assertEquals(4999950000, foo()()); | 17 assertEquals(4999950000, foo()()); |
18 | 18 |
19 function bar() { | 19 function bar() { |
20 var sum = 0; | 20 var sum = 0; |
21 var ret = 0; | 21 var ret = 0; |
22 for (var i = 0; i < 90000; i++) { | 22 for (var i = 0; i < 90000; i++) { |
23 sum += i; | 23 sum += i; |
24 if (i == 0) ret = function() { return sum; } | 24 if (i == 0) ret = function() { return sum; } |
25 } | 25 } |
26 return ret; | 26 return ret; |
27 } | 27 } |
28 | 28 |
29 assertEquals(4049955000, bar()()); | 29 assertEquals(4049955000, bar()()); |
30 assertEquals(4049955000, bar()()); | 30 assertEquals(4049955000, bar()()); |
31 assertEquals(4049955000, bar()()); | 31 assertEquals(4049955000, bar()()); |
OLD | NEW |