// 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 var foo = { x : 0, y : 1 } function f(b) { h(b); return foo.x; } function h(b) { g(b); return foo.x; } function g(b) { if (b) { foo = { x : 536 }; } // It should trigger an eager deoptimization when b=true. } %PrepareFunctionForOptimization(f); f(false); f(false); %OptimizeFunctionOnNextCall(f); f(false); assertEquals(f(true), 536);