Memory-takeCensus-03.js (920B)
1 // Debugger.Memory.prototype.takeCensus behaves plausibly as we add and remove debuggees. 2 3 load(libdir + 'census.js'); 4 5 var dbg = new Debugger; 6 7 var census0 = dbg.memory.takeCensus(); 8 Census.walkCensus(census0, "census0", Census.assertAllZeros); 9 10 var g1 = newGlobal({newCompartment: true}); 11 dbg.addDebuggee(g1); 12 var census1 = dbg.memory.takeCensus(); 13 Census.walkCensus(census1, "census1", Census.assertAllNotLessThan(census0)); 14 15 var g2 = newGlobal({newCompartment: true}); 16 dbg.addDebuggee(g2); 17 var census2 = dbg.memory.takeCensus(); 18 Census.walkCensus(census2, "census2", Census.assertAllNotLessThan(census1), new Set(["bytes"])); 19 20 dbg.removeDebuggee(g2); 21 var census3 = dbg.memory.takeCensus(); 22 Census.walkCensus(census3, "census3", Census.assertAllEqual(census1), new Set(["bytes"])); 23 24 dbg.removeDebuggee(g1); 25 var census4 = dbg.memory.takeCensus(); 26 Census.walkCensus(census4, "census4", Census.assertAllEqual(census0));