Changeset 117296 in webkit
- Timestamp:
- May 16, 2012 8:49:36 AM (12 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r117295 r117296 1 2012-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 1 11 2012-05-16 Alexander Pavlov <apavlov@chromium.org> 2 12 -
trunk/Source/WebCore/inspector/front-end/HeapSnapshot.js
r117051 r117296 1167 1167 // can cause a crash due to insonsistent state of internal properties of wrappers. 1168 1168 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; 1170 1177 var list = []; 1171 1178 for (var iter = this.rootNode.edges; iter.hasNext(); iter.next()) { … … 1174 1181 } 1175 1182 1176 var edge = new WebInspector.HeapSnapshotEdge(this, undefined);1177 1183 var node = new WebInspector.HeapSnapshotNode(this); 1178 1184 while (list.length) { 1179 1185 var nodeIndex = list.pop(); 1180 if ( this._flags[nodeIndex] & flag)1186 if (flags[nodeIndex] & flag) 1181 1187 continue; 1182 1188 node.nodeIndex = nodeIndex; 1183 this._flags[nodeIndex] |= flag;1189 flags[nodeIndex] |= flag; 1184 1190 var edgesCount = node.edgesCount; 1185 edge._edges = node.rawEdges;1191 var edges = node.rawEdges; 1186 1192 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) 1190 1196 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) 1197 1199 continue; 1198 1200 list.push(nodeIndex);
Note: See TracChangeset
for help on using the changeset viewer.