summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/debug/Memory-takeCensus-03.js
blob: 4284f642d83030f7768b395f8376b83c99b9f43c (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
// Debugger.Memory.prototype.takeCensus behaves plausibly as we add and remove debuggees.

load(libdir + 'census.js');

var dbg = new Debugger;

var census0 = dbg.memory.takeCensus();
Census.walkCensus(census0, "census0", Census.assertAllZeros);

var g1 = newGlobal({newCompartment: true});
dbg.addDebuggee(g1);
var census1 = dbg.memory.takeCensus();
Census.walkCensus(census1, "census1", Census.assertAllNotLessThan(census0));

var g2 = newGlobal({newCompartment: true});
dbg.addDebuggee(g2);
var census2 = dbg.memory.takeCensus();
Census.walkCensus(census2, "census2", Census.assertAllNotLessThan(census1), new Set(["bytes"]));

dbg.removeDebuggee(g2);
var census3 = dbg.memory.takeCensus();
Census.walkCensus(census3, "census3", Census.assertAllEqual(census1), new Set(["bytes"]));

dbg.removeDebuggee(g1);
var census4 = dbg.memory.takeCensus();
Census.walkCensus(census4, "census4", Census.assertAllEqual(census0));