Bug 69948

Summary: Web Inspector: [Chromium] Heap profiler should designate weak references
Product: WebKit Reporter: Mikhail Naganov <mnaganov>
Component: Web Inspector (Deprecated)Assignee: Mikhail Naganov <mnaganov>
Status: RESOLVED FIXED    
Severity: Normal CC: apavlov, bweinstein, dglazkov, joepeck, keishi, loislo, pfeldman, pmuellr, rik, timothy, webkit.review.bot, yurys
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Bug Depends on:    
Bug Blocks: 72714    
Attachments:
Description Flags
Patch yurys: review+, webkit.review.bot: commit-queue-

Description Mikhail Naganov 2011-10-12 11:36:38 PDT
Weak persistent handles doesn't prevent objects from deletion, so they either should not be shown in retaining paths, or should be marked somehow.
Comment 1 Mikhail Naganov 2011-11-18 04:03:15 PST
See http://code.google.com/p/v8/issues/detail?id=1832 for details.
Comment 2 Mikhail Naganov 2011-12-05 05:31:36 PST
Created attachment 117869 [details]
Patch
Comment 3 Yury Semikhatsky 2011-12-05 05:47:11 PST
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 4 Mikhail Naganov 2011-12-05 08:21:20 PST
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 5 WebKit Review Bot 2011-12-05 09:12:01 PST
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
Comment 6 Mikhail Naganov 2011-12-05 09:31:10 PST
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):