Source code

Revision control

Copy as Markdown

Other Tools

Test Info: Warnings

/* Any copyright is dedicated to the Public Domain.
// Test that HeapSnapshot.prototype.takeCensus finds cross compartment
// wrapper GC roots.
//
// Ported from js/src/jit-test/tests/debug/Memory-takeCensus-05.js
/* eslint-disable strict */
function run_test() {
const g = newGlobal();
const dbg = new Debugger(g);
equal(
"AllocationMarker" in saveHeapSnapshotAndTakeCensus(dbg).objects,
false,
"No allocation markers should exist in the census."
);
this.ccw = g.allocationMarker();
const census = saveHeapSnapshotAndTakeCensus(dbg);
equal(
census.objects.AllocationMarker.count,
1,
"Should have one allocation marker in the census, because there " +
"is one cross-compartment wrapper referring to it."
);
do_test_finished();
}