deps: update v8 to 4.3.61.21
[platform/upstream/nodejs.git] / deps / v8 / test / mjsunit / regress / regress-4027.js
1 // Copyright 2015 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
6
7 function Inner() {
8   this.inner_name = "inner";
9 }
10
11 function Boom() {
12   this.boom = "boom";
13 }
14
15 function Outer() {
16   this.outer_name = "outer";
17 }
18
19 function SetInner(inner, value) {
20   inner.prop = value;
21 }
22
23 function SetOuter(outer, value) {
24   outer.inner = value;
25 }
26
27 var inner1 = new Inner();
28 var inner2 = new Inner();
29
30 SetInner(inner1, 10);
31 SetInner(inner2, 10);
32
33 var outer1 = new Outer();
34 var outer2 = new Outer();
35 var outer3 = new Outer();
36
37 SetOuter(outer1, inner1);
38 SetOuter(outer1, inner1);
39 SetOuter(outer1, inner1);
40
41 SetOuter(outer2, inner2);
42 SetOuter(outer2, inner2);
43 SetOuter(outer2, inner2);
44
45 SetOuter(outer3, inner2);
46 SetOuter(outer3, inner2);
47 SetOuter(outer3, inner2);
48
49
50 SetInner(inner2, 6.5);
51
52 outer1 = null;
53 inner1 = null;
54
55 gc();
56
57 var boom = new Boom();
58 SetOuter(outer2, boom);
59
60 gc();