summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/debug/Memory-drainAllocationsLog-15.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/debug/Memory-drainAllocationsLog-15.js')
-rw-r--r--js/src/jit-test/tests/debug/Memory-drainAllocationsLog-15.js33
1 files changed, 33 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/debug/Memory-drainAllocationsLog-15.js b/js/src/jit-test/tests/debug/Memory-drainAllocationsLog-15.js
new file mode 100644
index 000000000..471e8ce39
--- /dev/null
+++ b/js/src/jit-test/tests/debug/Memory-drainAllocationsLog-15.js
@@ -0,0 +1,33 @@
+// Test drainAllocationsLog() and [[Class]] names.
+if (!('Promise' in this))
+ quit(0);
+
+const root = newGlobal();
+const dbg = new Debugger();
+const wrappedRoot = dbg.addDebuggee(root)
+
+root.eval(
+ `
+ this.tests = [
+ { expected: "Object", test: () => new Object },
+ { expected: "Array", test: () => [] },
+ { expected: "Date", test: () => new Date },
+ { expected: "RegExp", test: () => /problems/ },
+ { expected: "Int8Array", test: () => new Int8Array },
+ { expected: "Promise", test: () => new Promise(function (){})},
+ ];
+ `
+);
+
+
+for (let { expected, test } of root.tests) {
+ print(expected);
+
+ dbg.memory.trackingAllocationSites = true;
+ test();
+ let allocs = dbg.memory.drainAllocationsLog();
+ dbg.memory.trackingAllocationSites = false;
+
+ assertEq(allocs.some(a => a.class === expected), true);
+}
+