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
3// found in the LICENSE file.
4
5// Flags: --allow-natives-syntax
6
7"use strict";
8function f1(d) {
9  return 1 + f2(f3(d));
10}
11
12function f2(v) { return v; }
13
14function f3(d) {
15  if (d) %DeoptimizeFunction(f1);
16  return 2;
17}
18
19%NeverOptimizeFunction(f3);
20
21f1(false);
22f1(false);
23%OptimizeFunctionOnNextCall(f1);
24assertEquals(3, f1(true));
25