// Copyright 2014 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

a = {
  y: 1.5
};
a.y = 0;
b = a.y;
c = {
  y: {}
};

function f() {
  return 1;
}

function g() {
  var e = {y: b};
  var d = {x: f()};
  var d = {x: f()};
  return [e, d];
};
%PrepareFunctionForOptimization(g);
g();
g();
%OptimizeFunctionOnNextCall(g);
assertEquals(1, g()[1].x);
