// 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); |