Title: [117296] trunk/Source/WebCore
- Revision
- 117296
- Author
- [email protected]
- Date
- 2012-05-16 08:49:36 -0700 (Wed, 16 May 2012)
Log Message
Web Inspector: Speedup heap snapshot postprocessing
https://bugs.webkit.org/show_bug.cgi?id=86635
Patch by Alexei Filippov <[email protected]> on 2012-05-16
Reviewed by Yury Semikhatsky.
* inspector/front-end/HeapSnapshot.js:
(WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (117295 => 117296)
--- trunk/Source/WebCore/ChangeLog 2012-05-16 15:48:01 UTC (rev 117295)
+++ trunk/Source/WebCore/ChangeLog 2012-05-16 15:49:36 UTC (rev 117296)
@@ -1,3 +1,13 @@
+2012-05-16 Alexei Filippov <[email protected]>
+
+ Web Inspector: Speedup heap snapshot postprocessing
+ https://bugs.webkit.org/show_bug.cgi?id=86635
+
+ Reviewed by Yury Semikhatsky.
+
+ * inspector/front-end/HeapSnapshot.js:
+ (WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):
+
2012-05-16 Alexander Pavlov <[email protected]>
Unreviewed, followup for r117273 that fixes the Web Inspector's Computed Style pane layout.
Modified: trunk/Source/WebCore/inspector/front-end/HeapSnapshot.js (117295 => 117296)
--- trunk/Source/WebCore/inspector/front-end/HeapSnapshot.js 2012-05-16 15:48:01 UTC (rev 117295)
+++ trunk/Source/WebCore/inspector/front-end/HeapSnapshot.js 2012-05-16 15:49:36 UTC (rev 117296)
@@ -1166,35 +1166,37 @@
// via regular properties, and for DOM wrappers. Trying to access random objects
// can cause a crash due to insonsistent state of internal properties of wrappers.
var flag = this._nodeFlags.canBeQueried;
+ var hiddenEdgeType = this._edgeHiddenType;
+ var internalEdgeType = this._edgeInternalType;
+ var invisibleEdgeType = this._edgeInvisibleType;
+ var edgeToNodeOffset = this._edgeToNodeOffset;
+ var edgeTypeOffset = this._edgeTypeOffset;
+ var edgeFieldsCount = this._edgeFieldsCount;
+ var flags = this._flags;
var list = [];
for (var iter = this.rootNode.edges; iter.hasNext(); iter.next()) {
if (iter.edge.node.isWindow)
list.push(iter.edge.node.nodeIndex);
}
- var edge = new WebInspector.HeapSnapshotEdge(this, undefined);
var node = new WebInspector.HeapSnapshotNode(this);
while (list.length) {
var nodeIndex = list.pop();
- if (this._flags[nodeIndex] & flag)
+ if (flags[nodeIndex] & flag)
continue;
node.nodeIndex = nodeIndex;
- this._flags[nodeIndex] |= flag;
+ flags[nodeIndex] |= flag;
var edgesCount = node.edgesCount;
- edge._edges = node.rawEdges;
+ var edges = node.rawEdges;
for (var j = 0; j < edgesCount; ++j) {
- edge.edgeIndex = j * this._edgeFieldsCount;
- nodeIndex = edge.nodeIndex;
- if (this._flags[nodeIndex] & flag)
+ var edgeIndex = j * edgeFieldsCount;
+ nodeIndex = edges.item(edgeIndex + edgeToNodeOffset);
+ if (flags[nodeIndex] & flag)
continue;
- if (edge.isHidden || edge.isInvisible)
+ var type = edges.item(edgeIndex + edgeTypeOffset);
+ if (type === hiddenEdgeType || type === invisibleEdgeType || type === internalEdgeType)
continue;
- if (edge.isInternal)
- continue;
- var name = edge.name;
- if (!name)
- continue;
list.push(nodeIndex);
}
}
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes