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"; 8 function f1(d) { 9 return 1 + f2(1, f3(d), d); 10 } 11 12 function f2(v0, v1, v2) { return v1; } 13 14 function f3(d) { 15 if (d) %DeoptimizeFunction(f1); 16 return 2; 17 } 18 19 %NeverOptimizeFunction(f3); 20 21 f1(false); 22 f1(false); 23 %OptimizeFunctionOnNextCall(f1); 24 assertEquals(3, f1(true)); 25