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
6
7function p(x) {
8  this.x = x;
9}
10
11function f() {
12  var a = new p(1), b = new p(2);
13  for (var i = 0; i < 1; i++) {
14    a.x += b.x;
15  }
16  return a.x;
17}
18
19new p(0.1);  // make 'x' mutable box double field in p.
20
21assertEquals(3, f());
22assertEquals(3, f());
23%OptimizeFunctionOnNextCall(f);
24assertEquals(3, f());
25