bug-1995021.js (517B)
1 // Test basic behaviour of weak maps with nursery keys. 2 3 gczeal(0); 4 5 let wm = new WeakMap(); 6 7 function size() { 8 return nondeterministicGetWeakMapSize(wm); 9 } 10 11 assertEq(size(), 0); 12 13 wm.set({}, {}); 14 assertEq(size(), 1); 15 16 minorgc(); 17 assertEq(size(), 0); 18 19 let o = {}; 20 wm.set(o, {}); 21 minorgc(); 22 assertEq(size(), 1); 23 24 o = undefined; 25 gc(); 26 assertEq(size(), 0); 27 28 let g = newGlobal({newCompartment: true}); 29 o = g.eval('new Object()'); 30 wm.set(o, {}); 31 minorgc(); 32 assertEq(size(), 1); 33 34 o = undefined; 35 gc(); 36 assertEq(size(), 0);