1// Copyright 2014 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: --allow-natives-syntax --track-field-types --use-gvn
6
7function A(id) {
8  this.id = id;
9}
10
11var a1 = new A(1);
12var a2 = new A(2);
13
14
15var g;
16function f(o, value) {
17  g = o.o;
18  o.o = value;
19  return o.o;
20}
21
22var obj = {o: a1};
23
24f(obj, a1);
25f(obj, a1);
26%OptimizeFunctionOnNextCall(f);
27assertEquals(a2.id, f(obj, a2).id);
28