diff -r 000000000000 -r 6474c204b198 js/src/jit-test/tests/pic/shape_regen.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/js/src/jit-test/tests/pic/shape_regen.js Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,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);