| 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 |