Changeset 117296 in webkit


Ignore:
Timestamp:
May 16, 2012 8:49:36 AM (12 years ago)
Author:
commit-queue@webkit.org
Message:

Web Inspector: Speedup heap snapshot postprocessing
https://bugs.webkit.org/show_bug.cgi?id=86635

Patch by Alexei Filippov <alexeif@chromium.org> on 2012-05-16
Reviewed by Yury Semikhatsky.

  • inspector/front-end/HeapSnapshot.js:

(WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):

Location:
trunk/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r117295 r117296  
     12012-05-16  Alexei Filippov  <alexeif@chromium.org>
     2
     3        Web Inspector: Speedup heap snapshot postprocessing
     4        https://bugs.webkit.org/show_bug.cgi?id=86635
     5
     6        Reviewed by Yury Semikhatsky.
     7
     8        * inspector/front-end/HeapSnapshot.js:
     9        (WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):
     10
    1112012-05-16  Alexander Pavlov  <apavlov@chromium.org>
    212
  • trunk/Source/WebCore/inspector/front-end/HeapSnapshot.js

    r117051 r117296  
    11671167        // can cause a crash due to insonsistent state of internal properties of wrappers.
    11681168        var flag = this._nodeFlags.canBeQueried;
    1169 
     1169        var hiddenEdgeType = this._edgeHiddenType;
     1170        var internalEdgeType = this._edgeInternalType;
     1171        var invisibleEdgeType = this._edgeInvisibleType;
     1172        var edgeToNodeOffset = this._edgeToNodeOffset;
     1173        var edgeTypeOffset = this._edgeTypeOffset;
     1174        var edgeFieldsCount = this._edgeFieldsCount;
     1175
     1176        var flags = this._flags;
    11701177        var list = [];
    11711178        for (var iter = this.rootNode.edges; iter.hasNext(); iter.next()) {
     
    11741181        }
    11751182
    1176         var edge = new WebInspector.HeapSnapshotEdge(this, undefined);
    11771183        var node = new WebInspector.HeapSnapshotNode(this);
    11781184        while (list.length) {
    11791185            var nodeIndex = list.pop();
    1180             if (this._flags[nodeIndex] & flag)
     1186            if (flags[nodeIndex] & flag)
    11811187                continue;
    11821188            node.nodeIndex = nodeIndex;
    1183             this._flags[nodeIndex] |= flag;
     1189            flags[nodeIndex] |= flag;
    11841190            var edgesCount = node.edgesCount;
    1185             edge._edges = node.rawEdges;
     1191            var edges = node.rawEdges;
    11861192            for (var j = 0; j < edgesCount; ++j) {
    1187                 edge.edgeIndex = j * this._edgeFieldsCount;
    1188                 nodeIndex = edge.nodeIndex;
    1189                 if (this._flags[nodeIndex] & flag)
     1193                var edgeIndex = j * edgeFieldsCount;
     1194                nodeIndex = edges.item(edgeIndex + edgeToNodeOffset);
     1195                if (flags[nodeIndex] & flag)
    11901196                    continue;
    1191                 if (edge.isHidden || edge.isInvisible)
    1192                     continue;
    1193                 if (edge.isInternal)
    1194                     continue;
    1195                 var name = edge.name;
    1196                 if (!name)
     1197                var type = edges.item(edgeIndex + edgeTypeOffset);
     1198                if (type === hiddenEdgeType || type === invisibleEdgeType || type === internalEdgeType)
    11971199                    continue;
    11981200                list.push(nodeIndex);
Note: See TracChangeset for help on using the changeset viewer.