mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-07 16:28:38 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
137
devtools/shared/heapsnapshot/tests/unit/test_census_diff_06.js
Normal file
137
devtools/shared/heapsnapshot/tests/unit/test_census_diff_06.js
Normal file
|
|
@ -0,0 +1,137 @@
|
|||
/* Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/publicdomain/zero/1.0/ */
|
||||
|
||||
// Test diffing census reports of a "complex" and "realistic" breakdown.
|
||||
|
||||
const BREAKDOWN = {
|
||||
by: "coarseType",
|
||||
objects: {
|
||||
by: "allocationStack",
|
||||
then: {
|
||||
by: "objectClass",
|
||||
then: { by: "count", count: false, bytes: true },
|
||||
other: { by: "count", count: false, bytes: true }
|
||||
},
|
||||
noStack: {
|
||||
by: "objectClass",
|
||||
then: { by: "count", count: false, bytes: true },
|
||||
other: { by: "count", count: false, bytes: true }
|
||||
}
|
||||
},
|
||||
strings: {
|
||||
by: "internalType",
|
||||
then: { by: "count", count: false, bytes: true }
|
||||
},
|
||||
scripts: {
|
||||
by: "internalType",
|
||||
then: { by: "count", count: false, bytes: true }
|
||||
},
|
||||
other: {
|
||||
by: "internalType",
|
||||
then: { by: "count", count: false, bytes: true }
|
||||
},
|
||||
};
|
||||
|
||||
const stack1 = saveStack();
|
||||
const stack2 = saveStack();
|
||||
const stack3 = saveStack();
|
||||
|
||||
const REPORT1 = {
|
||||
objects: new Map([
|
||||
[stack1, { Function: { bytes: 1 },
|
||||
Object: { bytes: 2 },
|
||||
other: { bytes: 0 },
|
||||
}],
|
||||
[stack2, { Array: { bytes: 3 },
|
||||
Date: { bytes: 4 },
|
||||
other: { bytes: 0 },
|
||||
}],
|
||||
["noStack", { Object: { bytes: 3 }}],
|
||||
]),
|
||||
strings: {
|
||||
JSAtom: { bytes: 10 },
|
||||
JSLinearString: { bytes: 5 },
|
||||
},
|
||||
scripts: {
|
||||
JSScript: { bytes: 1 },
|
||||
"js::jit::JitCode": { bytes: 2 },
|
||||
},
|
||||
other: {
|
||||
"mozilla::dom::Thing": { bytes: 1 },
|
||||
}
|
||||
};
|
||||
|
||||
const REPORT2 = {
|
||||
objects: new Map([
|
||||
[stack2, { Array: { bytes: 1 },
|
||||
Date: { bytes: 2 },
|
||||
other: { bytes: 3 },
|
||||
}],
|
||||
[stack3, { Function: { bytes: 1 },
|
||||
Object: { bytes: 2 },
|
||||
other: { bytes: 0 },
|
||||
}],
|
||||
["noStack", { Object: { bytes: 3 }}],
|
||||
]),
|
||||
strings: {
|
||||
JSAtom: { bytes: 5 },
|
||||
JSLinearString: { bytes: 10 },
|
||||
},
|
||||
scripts: {
|
||||
JSScript: { bytes: 2 },
|
||||
"js::LazyScript": { bytes: 42 },
|
||||
"js::jit::JitCode": { bytes: 1 },
|
||||
},
|
||||
other: {
|
||||
"mozilla::dom::OtherThing": { bytes: 1 },
|
||||
}
|
||||
};
|
||||
|
||||
const EXPECTED = {
|
||||
"objects": new Map([
|
||||
[stack1, { Function: { bytes: -1 },
|
||||
Object: { bytes: -2 },
|
||||
other: { bytes: 0 },
|
||||
}],
|
||||
[stack2, { Array: { bytes: -2 },
|
||||
Date: { bytes: -2 },
|
||||
other: { bytes: 3 },
|
||||
}],
|
||||
[stack3, { Function: { bytes: 1 },
|
||||
Object: { bytes: 2 },
|
||||
other: { bytes: 0 },
|
||||
}],
|
||||
["noStack", { Object: { bytes: 0 }}],
|
||||
]),
|
||||
"scripts": {
|
||||
"JSScript": {
|
||||
"bytes": 1
|
||||
},
|
||||
"js::jit::JitCode": {
|
||||
"bytes": -1
|
||||
},
|
||||
"js::LazyScript": {
|
||||
"bytes": 42
|
||||
}
|
||||
},
|
||||
"strings": {
|
||||
"JSAtom": {
|
||||
"bytes": -5
|
||||
},
|
||||
"JSLinearString": {
|
||||
"bytes": 5
|
||||
}
|
||||
},
|
||||
"other": {
|
||||
"mozilla::dom::Thing": {
|
||||
"bytes": -1
|
||||
},
|
||||
"mozilla::dom::OtherThing": {
|
||||
"bytes": 1
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
function run_test() {
|
||||
assertDiff(BREAKDOWN, REPORT1, REPORT2, EXPECTED);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue