diff options
Diffstat (limited to 'devtools/shared/heapsnapshot/tests/unit/test_HeapSnapshot_takeCensus_09.js')
-rw-r--r-- | devtools/shared/heapsnapshot/tests/unit/test_HeapSnapshot_takeCensus_09.js | 92 |
1 files changed, 0 insertions, 92 deletions
diff --git a/devtools/shared/heapsnapshot/tests/unit/test_HeapSnapshot_takeCensus_09.js b/devtools/shared/heapsnapshot/tests/unit/test_HeapSnapshot_takeCensus_09.js deleted file mode 100644 index bbacccc8d..000000000 --- a/devtools/shared/heapsnapshot/tests/unit/test_HeapSnapshot_takeCensus_09.js +++ /dev/null @@ -1,92 +0,0 @@ -/* Any copyright is dedicated to the Public Domain. - http://creativecommons.org/publicdomain/zero/1.0/ */ - -// HeapSnapshot.prototype.takeCensus: by: allocationStack breakdown -// -// Ported from js/src/jit-test/tests/debug/Memory-takeCensus-09.js - -function run_test() { - var g = newGlobal(); - var dbg = new Debugger(g); - - g.eval(` // 1 - var log = []; // 2 - function f() { log.push(allocationMarker()); } // 3 - function g() { f(); } // 4 - function h() { f(); } // 5 - `); // 6 - - // Create one allocationMarker with tracking turned off, - // so it will have no associated stack. - g.f(); - - dbg.memory.allocationSamplingProbability = 1; - - for ([func, n] of [[g.f, 20], [g.g, 10], [g.h, 5]]) { - for (let i = 0; i < n; i++) { - dbg.memory.trackingAllocationSites = true; - // All allocations of allocationMarker occur with this line as the oldest - // stack frame. - func(); - dbg.memory.trackingAllocationSites = false; - } - } - - let census = saveHeapSnapshotAndTakeCensus(dbg, { breakdown: { by: "objectClass", - then: { by: "allocationStack", - then: { by: "count", - label: "haz stack" - }, - noStack: { by: "count", - label: "no haz stack" - } - } - } - }); - - let map = census.AllocationMarker; - ok(map instanceof Map, "Should be a Map instance"); - equal(map.size, 4, "Should have 4 allocation stacks (including the lack of a stack)"); - - // Gather the stacks we are expecting to appear as keys, and - // check that there are no unexpected keys. - let stacks = { }; - - map.forEach((v, k) => { - if (k === "noStack") { - // No need to save this key. - } else if (k.functionDisplayName === "f" && - k.parent.functionDisplayName === "run_test") { - stacks.f = k; - } else if (k.functionDisplayName === "f" && - k.parent.functionDisplayName === "g" && - k.parent.parent.functionDisplayName === "run_test") { - stacks.fg = k; - } else if (k.functionDisplayName === "f" && - k.parent.functionDisplayName === "h" && - k.parent.parent.functionDisplayName === "run_test") { - stacks.fh = k; - } else { - dumpn("Unexpected allocation stack:"); - k.toString().split(/\n/g).forEach(s => dumpn(s)); - ok(false); - } - }); - - equal(map.get("noStack").label, "no haz stack"); - equal(map.get("noStack").count, 1); - - ok(stacks.f); - equal(map.get(stacks.f).label, "haz stack"); - equal(map.get(stacks.f).count, 20); - - ok(stacks.fg); - equal(map.get(stacks.fg).label, "haz stack"); - equal(map.get(stacks.fg).count, 10); - - ok(stacks.fh); - equal(map.get(stacks.fh).label, "haz stack"); - equal(map.get(stacks.fh).count, 5); - - do_test_finished(); -} |