track-allocation-sites.js (936B)
1 // Test that we can track allocation sites. 2 3 enableTrackAllocations(); 4 5 const tests = [ 6 { name: "object literal", object: {}, line: Error().lineNumber }, 7 { name: "array literal", object: [], line: Error().lineNumber }, 8 { name: "regexp literal", object: /(two|2)\s*problems/, line: Error().lineNumber }, 9 { name: "new constructor", object: new function Ctor(){}, line: Error().lineNumber }, 10 { name: "new Object", object: new Object(), line: Error().lineNumber }, 11 { name: "new Array", object: new Array(), line: Error().lineNumber }, 12 { name: "new Date", object: new Date(), line: Error().lineNumber } 13 ]; 14 15 disableTrackAllocations(); 16 17 for (let { name, object, line } of tests) { 18 print("Entering test: " + name); 19 20 let allocationSite = getAllocationMetadata(object); 21 print(allocationSite); 22 23 assertEq(allocationSite.line, line); 24 }