Title: [111003] trunk/Source/WebCore
Revision
111003
Author
[email protected]
Date
2012-03-16 06:50:33 -0700 (Fri, 16 Mar 2012)

Log Message

Web Inspector: HeapSnapshot: merge two long operations into one.
https://bugs.webkit.org/show_bug.cgi?id=81347

Reviewed by Yury Semikhatsky.

* inspector/front-end/HeapSnapshot.js:
(WebInspector.HeapSnapshot.prototype.aggregates):
(WebInspector.HeapSnapshot.prototype._buildAggregates):
(WebInspector.HeapSnapshot.prototype._buildAggregates.forDominatedNodes):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (111002 => 111003)


--- trunk/Source/WebCore/ChangeLog	2012-03-16 13:45:40 UTC (rev 111002)
+++ trunk/Source/WebCore/ChangeLog	2012-03-16 13:50:33 UTC (rev 111003)
@@ -1,3 +1,15 @@
+2012-03-16  Ilya Tikhonovsky  <[email protected]>
+
+        Web Inspector: HeapSnapshot: merge two long operations into one.
+        https://bugs.webkit.org/show_bug.cgi?id=81347
+
+        Reviewed by Yury Semikhatsky.
+
+        * inspector/front-end/HeapSnapshot.js:
+        (WebInspector.HeapSnapshot.prototype.aggregates):
+        (WebInspector.HeapSnapshot.prototype._buildAggregates):
+        (WebInspector.HeapSnapshot.prototype._buildAggregates.forDominatedNodes):
+
 2012-03-16  Gavin Peters  <[email protected]>
 
         Add asserts and improve logging in PageCache.

Modified: trunk/Source/WebCore/inspector/front-end/HeapSnapshot.js (111002 => 111003)


--- trunk/Source/WebCore/inspector/front-end/HeapSnapshot.js	2012-03-16 13:45:40 UTC (rev 111002)
+++ trunk/Source/WebCore/inspector/front-end/HeapSnapshot.js	2012-03-16 13:50:33 UTC (rev 111003)
@@ -893,6 +893,9 @@
 
     aggregates: function(sortedIndexes, key, filterString)
     {
+        if (!this._retainers)
+            this._buildRetainers();
+
         if (!this._aggregates) {
             this._aggregates = {};
             this._aggregatesSortedFlags = {};
@@ -1025,7 +1028,7 @@
 
     _buildAggregates: function(filter)
     {
-        function shouldSkip(node, classIndex)
+        function shouldSkip(node)
         {
             if (filter && !filter(node))
                 return true;
@@ -1039,9 +1042,9 @@
         var node = new WebInspector.HeapSnapshotNode(this, this.nodeIndexes[0]);
         for (var i = 0, l = this.nodeCount; i < l; ++i) {
             node.nodeIndex = this.nodeIndexes[i];
+            if (shouldSkip(node))
+                continue;
             var classIndex = node.classIndex;
-            if (shouldSkip(node, classIndex))
-                continue;
             if (!(classIndex in aggregates)) {
                 var nodeType = node.type;
                 var nameMatters = nodeType === "object" || nodeType === "native";
@@ -1065,7 +1068,7 @@
             var node = new WebInspector.HeapSnapshotNode(snapshot, nodeIndex);
             var classIndex = node.classIndex;
             var seen = !!seenClassNameIndexes[classIndex];
-            if (!seen && classIndex in aggregates && !shouldSkip(node, classIndex)) {
+            if (!seen && classIndex in aggregates && !shouldSkip(node)) {
                 aggregates[classIndex].maxRet += node.retainedSize;
                 seenClassNameIndexes[classIndex] = true;
             }
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to