summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/debug/Memory-drainAllocationsLog-16.js
diff options
context:
space:
mode:
authorMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
committerMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
commit5f8de423f190bbb79a62f804151bc24824fa32d8 (patch)
tree10027f336435511475e392454359edea8e25895d /js/src/jit-test/tests/debug/Memory-drainAllocationsLog-16.js
parent49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff)
downloadUXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip
Add m-esr52 at 52.6.0
Diffstat (limited to 'js/src/jit-test/tests/debug/Memory-drainAllocationsLog-16.js')
-rw-r--r--js/src/jit-test/tests/debug/Memory-drainAllocationsLog-16.js47
1 files changed, 47 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/debug/Memory-drainAllocationsLog-16.js b/js/src/jit-test/tests/debug/Memory-drainAllocationsLog-16.js
new file mode 100644
index 000000000..b147d6ded
--- /dev/null
+++ b/js/src/jit-test/tests/debug/Memory-drainAllocationsLog-16.js
@@ -0,0 +1,47 @@
+// Test drainAllocationsLog() and constructor names.
+
+const root = newGlobal();
+const dbg = new Debugger();
+const wrappedRoot = dbg.addDebuggee(root);
+
+root.eval(
+ `
+ function Ctor() {}
+
+ var nested = {};
+ nested.Ctor = function () {};
+
+ function makeInstance() {
+ let LexicalCtor = function () {};
+ return new LexicalCtor;
+ }
+
+ function makeObject() {
+ let object = {};
+ return object;
+ }
+
+ this.tests = [
+ { name: "Ctor", fn: () => new Ctor },
+ { name: "nested.Ctor", fn: () => new nested.Ctor },
+ { name: "makeInstance/LexicalCtor", fn: () => makeInstance() },
+ { name: null, fn: () => ({}) },
+ { name: null, fn: () => (nested.object = {}) },
+ { name: null, fn: () => makeObject() },
+ ];
+ `
+);
+
+for (let { name, fn } of root.tests) {
+ print(name);
+
+ dbg.memory.trackingAllocationSites = true;
+
+ fn();
+
+ let entries = dbg.memory.drainAllocationsLog();
+ let ctors = entries.map(e => e.constructor);
+ assertEq(ctors.some(ctor => ctor === name), true);
+
+ dbg.memory.trackingAllocationSites = false;
+}