| // Copyright 2020 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: --allow-natives-syntax |
| |
| function f1(n) { |
| var a = n + 2; |
| return a + 3; |
| } |
| |
| %PrepareFunctionForOptimization(f1); |
| assertEquals(f1(1), 6); |
| assertEquals(f1(2), 7); |
| %OptimizeFunctionOnNextCall(f1); |
| assertEquals(f1(13), 18); |
| assertEquals(f1(14), 19); |
| |
| function f2(n, odd) { |
| var a = n + 2; |
| if (odd) return a; |
| return a + 3; |
| } |
| |
| %PrepareFunctionForOptimization(f2); |
| assertEquals(f2(1, true), 3); |
| assertEquals(f2(2, false), 7); |
| %OptimizeFunctionOnNextCall(f2); |
| assertEquals(f2(13, true), 15); |
| assertEquals(f2(14, false), 19); |