diff options
Diffstat (limited to 'js/src/jit-test/tests/debug/Memory-takeCensus-11.js')
-rw-r--r-- | js/src/jit-test/tests/debug/Memory-takeCensus-11.js | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/debug/Memory-takeCensus-11.js b/js/src/jit-test/tests/debug/Memory-takeCensus-11.js new file mode 100644 index 000000000..c9c65b003 --- /dev/null +++ b/js/src/jit-test/tests/debug/Memory-takeCensus-11.js @@ -0,0 +1,45 @@ +// Check byte counts produced by takeCensus. + +const g = newGlobal(); +g.eval("setLazyParsingDisabled(true)"); +g.eval("setJitCompilerOption('ion.warmup.trigger', 1000)"); + +const dbg = new Debugger(g); + +g.evaluate("function one() {}", { fileName: "one.js" }); +g.evaluate(`function two1() {} + function two2() {}`, + { fileName: "two.js" }); +g.evaluate(`function three1() {} + function three2() {} + function three3() {}`, + { fileName: "three.js" }); + +const report = dbg.memory.takeCensus({ + breakdown: { + by: "coarseType", + scripts: { + by: "filename", + then: { by: "count", count: true, bytes: false }, + noFilename: { + by: "internalType", + then: { by: "count", count: true, bytes: false } + } + }, + + // Not really interested in these, but they're here for completeness. + objects: { by: "count", count: true, byte: false }, + strings: { by: "count", count: true, byte: false }, + other: { by: "count", count: true, byte: false }, + } +}); + +print(JSON.stringify(report, null, 4)); + +assertEq(report.scripts["one.js"].count, 1); +assertEq(report.scripts["two.js"].count, 2); +assertEq(report.scripts["three.js"].count, 3); + +const noFilename = report.scripts.noFilename; +assertEq(!!noFilename, true); +assertEq(typeof noFilename, "object"); |