// Test basic usage of drainAllocationsLog() const root = newGlobal(); const dbg = new Debugger(); const wrappedRoot = dbg.addDebuggee(root) dbg.memory.trackingAllocationSites = true; root.eval("(" + function immediate() { this.tests = [ ({}), [], /(two|2)\s*problems/, new function Ctor(){}, new Object(), new Array(), new Date(), ]; } + "());"); const allocs = dbg.memory.drainAllocationsLog(); print(allocs.join("\n--------------------------------------------------------------------------\n")); print("Total number of allocations logged: " + allocs.length); let idx = -1; for (let object of root.tests) { let wrappedObject = wrappedRoot.makeDebuggeeValue(object); let allocSite = wrappedObject.allocationSite; let newIdx = allocs.map(x => x.frame).indexOf(allocSite); assertEq(newIdx > idx, true); idx = newIdx; }