// 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 useObject(obj) {
  if (!Object.isFrozen(obj)) {
    var t = obj.f;
    obj.f = t * 2;
  }
  return obj.f;
}

%PrepareFunctionForOptimization(useObject);
var o = {f: 1, g: 2}
assertEquals(useObject(o), 2);
assertEquals(useObject(o), 4);
%OptimizeFunctionOnNextCall(useObject);
Object.freeze(o);
assertEquals(useObject(o), 4);
