OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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 | 5 // Flags: --allow-natives-syntax |
6 | 6 |
7 "use strict"; | 7 "use strict"; |
8 function f1(d) { | 8 function f1(d) { |
9 return 1 + f2(f3(d)); | 9 return 1 + f2(1, f3(d), d); |
10 } | 10 } |
11 | 11 |
12 function f2(v) { return v; } | 12 function f2(v0, v1, v2) { return v1; } |
13 | 13 |
14 function f3(d) { | 14 function f3(d) { |
15 if (d) %DeoptimizeFunction(f1); | 15 if (d) %DeoptimizeFunction(f1); |
16 return 2; | 16 return 2; |
17 } | 17 } |
18 | 18 |
19 %NeverOptimizeFunction(f3); | 19 %NeverOptimizeFunction(f3); |
20 | 20 |
21 f1(false); | 21 f1(false); |
22 f1(false); | 22 f1(false); |
23 %OptimizeFunctionOnNextCall(f1); | 23 %OptimizeFunctionOnNextCall(f1); |
24 assertEquals(3, f1(true)); | 24 assertEquals(3, f1(true)); |
OLD | NEW |