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: --allow-natives-syntax --context-specialization --turbo-filter=f | 5 // Flags: --allow-natives-syntax --function-context-specialization |
| 6 // Flags: --turbo-filter=f |
6 | 7 |
7 (function() { | 8 (function() { |
8 "use strict"; | 9 "use strict"; |
9 var a = 23; | 10 var a = 23; |
10 function f() { | 11 function f() { |
11 for (let i = 0; i < 5; ++i) { | 12 for (let i = 0; i < 5; ++i) { |
12 a--; // Make sure {a} is non-immutable, hence context allocated. | 13 a--; // Make sure {a} is non-immutable, hence context allocated. |
13 function g() { return i } // Make sure block has a context. | 14 function g() { return i } // Make sure block has a context. |
14 if (i == 2) %OptimizeOsr(); | 15 if (i == 2) %OptimizeOsr(); |
15 } | 16 } |
16 return a; | 17 return a; |
17 } | 18 } |
18 assertEquals(18, f()); | 19 assertEquals(18, f()); |
19 })(); | 20 })(); |
OLD | NEW |