Home | History | Annotate | Download | only in regress
      1 // Copyright 2016 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: --harmony-tailcalls --allow-natives-syntax
      6 
      7 "use strict";
      8 
      9 function deopt_function(func) {
     10   %DeoptimizeFunction(func);
     11 }
     12 
     13 function f(x) {
     14   return deopt_function(h);
     15 }
     16 
     17 function g(x) {
     18   return f(x, 1);
     19 }
     20 
     21 function h(x) {
     22   g(x, 1);
     23 }
     24 
     25 %SetForceInlineFlag(g);
     26 %SetForceInlineFlag(f);
     27 %NeverOptimizeFunction(deopt_function);
     28 
     29 h(1);
     30 h(1);
     31 %OptimizeFunctionOnNextCall(h);
     32 h(1);
     33