Weak persistent handles doesn't prevent objects from deletion, so they either should not be shown in retaining paths, or should be marked somehow.
See http://code.google.com/p/v8/issues/detail?id=1832 for details.
Created attachment 117869 [details] Patch
Comment on attachment 117869 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=117869&action=review > Source/WebCore/inspector/front-end/HeapSnapshot.js:287 > + case "weak": return "[[" + this.name + "]]"; Can we have a tooltip explaining to the user what this text graphics means?
Comment on attachment 117869 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=117869&action=review >> Source/WebCore/inspector/front-end/HeapSnapshot.js:287 >> + case "weak": return "[[" + this.name + "]]"; > > Can we have a tooltip explaining to the user what this text graphics means? This actually should never appear in path traces, as we exclude weak references when building them. So this is mostly for debugging purposes.
Comment on attachment 117869 [details] Patch Attachment 117869 [details] did not pass chromium-ews (chromium-xvfb): Output: http://queues.webkit.org/results/10736347 New failing tests: svg/custom/linking-uri-01-b.svg
Manually committed r102006. 2011-12-05 Mikhail Naganov <mnaganov@chromium.org> Web Inspector: [Chromium] Heap profiler should designate weak references. https://bugs.webkit.org/show_bug.cgi?id=69948 Weak references are now ignored when tracing paths to GC roots. Reviewed by Yury Semikhatsky. * inspector/front-end/HeapSnapshot.js: (WebInspector.HeapSnapshotEdge.prototype.get isWeak): (WebInspector.HeapSnapshotEdge.prototype.toString): (WebInspector.HeapSnapshotEdge.prototype.get _hasStringName): (WebInspector.HeapSnapshotRetainerEdge.prototype.get isWeak): (WebInspector.HeapSnapshot.prototype._init): (WebInspector.HeapSnapshotPathFinder.prototype._fillRootChildren): (WebInspector.HeapSnapshotPathFinder.prototype._skipEdge):