blob: 55b3ff1cfacc6fd67b94fd5ad3453d4fba88592c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
// Try to test that we handle shape regeneration correctly.
// This is a fragile test, but as of this writing, on dmandelin's
// windows box, we have the same shape number with different
// logical shapes in the two assertEq lines.
var o;
var p;
var zz;
var o2;
function f(x) {
return x.a;
}
gczeal(1);
gc();
zz = { q: 11 };
o = { a: 77, b: 88 };
o2 = { c: 11 };
p = { b: 99, a: 11 };
//print('s ' + shapeOf(zz) + ' ' + shapeOf(o) + ' ' + shapeOf(o2) + ' ' + shapeOf(p));
assertEq(f(o), 77);
o = undefined;
gczeal(1);
gc();
//print('s ' + 'x' + ' ' + shapeOf(p));
assertEq(f(p), 11);
|