// Copyright 2017 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 f() { %DeoptimizeFunction(g); } %NeverOptimizeFunction(f); function g(o) { f(); return h(o); } function h(o) { return o.x; } %PrepareFunctionForOptimization(g); g({x : 1}); g({x : 2}); %OptimizeFunctionOnNextCall(g); g({x : 3}); %PrepareFunctionForOptimization(h); %OptimizeFunctionOnNextCall(h); g({x : 4}); g({y : 1, x : 3});