mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-26 19:55:39 +00:00
a97c81d4d8
--HG-- rename : js/src/jit-test/tests/debug/Memory-onGarbageCollection-04.js => js/xpconnect/tests/unit/test_onGarbageCollection-04.js
36 lines
602 B
JavaScript
36 lines
602 B
JavaScript
// Test that the onGarbageCollection hook is not reentrant.
|
|
|
|
|
|
function run_test() {
|
|
do_test_pending();
|
|
|
|
const root = newGlobal();
|
|
const dbg = new Debugger();
|
|
const wrappedRoot = dbg.addDebuggee(root)
|
|
|
|
let fired = true;
|
|
let depth = 0;
|
|
|
|
dbg.memory.onGarbageCollection = _ => {
|
|
fired = true;
|
|
|
|
equal(depth, 0);
|
|
depth++;
|
|
try {
|
|
root.eval(`gc()`);
|
|
} finally {
|
|
equal(depth, 1);
|
|
depth--;
|
|
}
|
|
}
|
|
|
|
root.eval(`gc()`);
|
|
|
|
executeSoon(() => {
|
|
ok(fired);
|
|
equal(depth, 0);
|
|
dbg.memory.onGarbageCollection = undefined;
|
|
do_test_finished();
|
|
});
|
|
}
|