1// Copyright 2016 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 --expose-gc --verify-heap
6
7function A() {}
8
9function g1() {
10  var obj = new A();
11  obj.v0 = 0;
12  obj.v1 = 0;
13  obj.v2 = 0;
14  obj.v3 = 0;
15  obj.v4 = 0;
16  obj.v5 = 0;
17  obj.v6 = 0;
18  obj.v7 = 0;
19  obj.v8 = 0;
20  obj.v9 = 0;
21  return obj;
22}
23
24function g2() {
25  return new A();
26}
27
28var o = g1();
29%OptimizeFunctionOnNextCall(g2);
30g2();
31o = null;
32gc();
33
34for (var i = 0; i < 20; i++) {
35  var o = new A();
36}
37g2();
38
39gc();  // Boom!
40