Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(647)

Unified Diff: third_party/WebKit/Source/devtools/front_end/heap_snapshot_worker/AllocationProfile.js

Issue 2466123002: DevTools: reformat front-end code to match chromium style. (Closed)
Patch Set: all done Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/devtools/front_end/heap_snapshot_worker/AllocationProfile.js
diff --git a/third_party/WebKit/Source/devtools/front_end/heap_snapshot_worker/AllocationProfile.js b/third_party/WebKit/Source/devtools/front_end/heap_snapshot_worker/AllocationProfile.js
index 532ff6781d71879c0ec0773a0803deb96a9264b3..1a420277d7654ef32bb95d59a05e76fd7b421034 100644
--- a/third_party/WebKit/Source/devtools/front_end/heap_snapshot_worker/AllocationProfile.js
+++ b/third_party/WebKit/Source/devtools/front_end/heap_snapshot_worker/AllocationProfile.js
@@ -27,12 +27,11 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-
/**
- * @constructor
+ * @unrestricted
*/
-WebInspector.AllocationProfile = function(profile, liveObjectStats)
-{
+WebInspector.AllocationProfile = class {
+ constructor(profile, liveObjectStats) {
this._strings = profile.strings;
this._liveObjectStats = liveObjectStats;
@@ -46,235 +45,192 @@ WebInspector.AllocationProfile = function(profile, liveObjectStats)
this._buildFunctionAllocationInfos(profile);
this._traceTree = this._buildAllocationTree(profile, liveObjectStats);
-};
-
-WebInspector.AllocationProfile.prototype = {
- _buildFunctionAllocationInfos: function(profile)
- {
- var strings = this._strings;
-
- var functionInfoFields = profile.snapshot.meta.trace_function_info_fields;
- var functionNameOffset = functionInfoFields.indexOf("name");
- var scriptNameOffset = functionInfoFields.indexOf("script_name");
- var scriptIdOffset = functionInfoFields.indexOf("script_id");
- var lineOffset = functionInfoFields.indexOf("line");
- var columnOffset = functionInfoFields.indexOf("column");
- var functionInfoFieldCount = functionInfoFields.length;
-
- var rawInfos = profile.trace_function_infos;
- var infoLength = rawInfos.length;
- var functionInfos = this._functionInfos = new Array(infoLength / functionInfoFieldCount);
- var index = 0;
- for (var i = 0; i < infoLength; i += functionInfoFieldCount) {
- functionInfos[index++] = new WebInspector.FunctionAllocationInfo(
- strings[rawInfos[i + functionNameOffset]],
- strings[rawInfos[i + scriptNameOffset]],
- rawInfos[i + scriptIdOffset],
- rawInfos[i + lineOffset],
- rawInfos[i + columnOffset]);
- }
- },
-
- _buildAllocationTree: function(profile, liveObjectStats)
- {
- var traceTreeRaw = profile.trace_tree;
- var functionInfos = this._functionInfos;
- var idToTopDownNode = this._idToTopDownNode;
-
- var traceNodeFields = profile.snapshot.meta.trace_node_fields;
- var nodeIdOffset = traceNodeFields.indexOf("id");
- var functionInfoIndexOffset = traceNodeFields.indexOf("function_info_index");
- var allocationCountOffset = traceNodeFields.indexOf("count");
- var allocationSizeOffset = traceNodeFields.indexOf("size");
- var childrenOffset = traceNodeFields.indexOf("children");
- var nodeFieldCount = traceNodeFields.length;
-
- function traverseNode(rawNodeArray, nodeOffset, parent)
- {
- var functionInfo = functionInfos[rawNodeArray[nodeOffset + functionInfoIndexOffset]];
- var id = rawNodeArray[nodeOffset + nodeIdOffset];
- var stats = liveObjectStats[id];
- var liveCount = stats ? stats.count : 0;
- var liveSize = stats ? stats.size : 0;
- var result = new WebInspector.TopDownAllocationNode(
- id,
- functionInfo,
- rawNodeArray[nodeOffset + allocationCountOffset],
- rawNodeArray[nodeOffset + allocationSizeOffset],
- liveCount,
- liveSize,
- parent);
- idToTopDownNode[id] = result;
- functionInfo.addTraceTopNode(result);
-
- var rawChildren = rawNodeArray[nodeOffset + childrenOffset];
- for (var i = 0; i < rawChildren.length; i += nodeFieldCount) {
- result.children.push(traverseNode(rawChildren, i, result));
- }
- return result;
- }
-
- return traverseNode(traceTreeRaw, 0, null);
- },
-
- /**
- * @return {!Array.<!WebInspector.HeapSnapshotCommon.SerializedAllocationNode>}
- */
- serializeTraceTops: function()
- {
- if (this._traceTops)
- return this._traceTops;
- var result = this._traceTops = [];
- var functionInfos = this._functionInfos;
- for (var i = 0; i < functionInfos.length; i++) {
- var info = functionInfos[i];
- if (info.totalCount === 0)
- continue;
- var nodeId = this._nextNodeId++;
- var isRoot = i === 0;
- result.push(this._serializeNode(
- nodeId,
- info,
- info.totalCount,
- info.totalSize,
- info.totalLiveCount,
- info.totalLiveSize,
- !isRoot));
- this._collapsedTopNodeIdToFunctionInfo[nodeId] = info;
- }
- result.sort(function(a, b) {
- return b.size - a.size;
- });
- return result;
- },
-
- /**
- * @param {number} nodeId
- * @return {!WebInspector.HeapSnapshotCommon.AllocationNodeCallers}
- */
- serializeCallers: function(nodeId)
- {
- var node = this._ensureBottomUpNode(nodeId);
- var nodesWithSingleCaller = [];
- while (node.callers().length === 1) {
- node = node.callers()[0];
- nodesWithSingleCaller.push(this._serializeCaller(node));
- }
-
- var branchingCallers = [];
- var callers = node.callers();
- for (var i = 0; i < callers.length; i++) {
- branchingCallers.push(this._serializeCaller(callers[i]));
- }
- return new WebInspector.HeapSnapshotCommon.AllocationNodeCallers(nodesWithSingleCaller, branchingCallers);
- },
-
- /**
- * @param {number} traceNodeId
- * @return {!Array.<!WebInspector.HeapSnapshotCommon.AllocationStackFrame>}
- */
- serializeAllocationStack: function(traceNodeId)
- {
- var node = this._idToTopDownNode[traceNodeId];
- var result = [];
- while (node) {
- var functionInfo = node.functionInfo;
- result.push(new WebInspector.HeapSnapshotCommon.AllocationStackFrame(
- functionInfo.functionName,
- functionInfo.scriptName,
- functionInfo.scriptId,
- functionInfo.line,
- functionInfo.column
- ));
- node = node.parent;
- }
- return result;
- },
-
- /**
- * @param {number} allocationNodeId
- * @return {!Array.<number>}
- */
- traceIds: function(allocationNodeId)
- {
- return this._ensureBottomUpNode(allocationNodeId).traceTopIds;
- },
-
- /**
- * @param {number} nodeId
- * @return {!WebInspector.BottomUpAllocationNode}
- */
- _ensureBottomUpNode: function(nodeId)
- {
- var node = this._idToNode[nodeId];
- if (!node) {
- var functionInfo = this._collapsedTopNodeIdToFunctionInfo[nodeId];
- node = functionInfo.bottomUpRoot();
- delete this._collapsedTopNodeIdToFunctionInfo[nodeId];
- this._idToNode[nodeId] = node;
- }
- return node;
- },
+ }
+
+ _buildFunctionAllocationInfos(profile) {
+ var strings = this._strings;
+
+ var functionInfoFields = profile.snapshot.meta.trace_function_info_fields;
+ var functionNameOffset = functionInfoFields.indexOf('name');
+ var scriptNameOffset = functionInfoFields.indexOf('script_name');
+ var scriptIdOffset = functionInfoFields.indexOf('script_id');
+ var lineOffset = functionInfoFields.indexOf('line');
+ var columnOffset = functionInfoFields.indexOf('column');
+ var functionInfoFieldCount = functionInfoFields.length;
+
+ var rawInfos = profile.trace_function_infos;
+ var infoLength = rawInfos.length;
+ var functionInfos = this._functionInfos = new Array(infoLength / functionInfoFieldCount);
+ var index = 0;
+ for (var i = 0; i < infoLength; i += functionInfoFieldCount) {
+ functionInfos[index++] = new WebInspector.FunctionAllocationInfo(
+ strings[rawInfos[i + functionNameOffset]], strings[rawInfos[i + scriptNameOffset]],
+ rawInfos[i + scriptIdOffset], rawInfos[i + lineOffset], rawInfos[i + columnOffset]);
+ }
+ }
+
+ _buildAllocationTree(profile, liveObjectStats) {
+ var traceTreeRaw = profile.trace_tree;
+ var functionInfos = this._functionInfos;
+ var idToTopDownNode = this._idToTopDownNode;
+
+ var traceNodeFields = profile.snapshot.meta.trace_node_fields;
+ var nodeIdOffset = traceNodeFields.indexOf('id');
+ var functionInfoIndexOffset = traceNodeFields.indexOf('function_info_index');
+ var allocationCountOffset = traceNodeFields.indexOf('count');
+ var allocationSizeOffset = traceNodeFields.indexOf('size');
+ var childrenOffset = traceNodeFields.indexOf('children');
+ var nodeFieldCount = traceNodeFields.length;
+
+ function traverseNode(rawNodeArray, nodeOffset, parent) {
+ var functionInfo = functionInfos[rawNodeArray[nodeOffset + functionInfoIndexOffset]];
+ var id = rawNodeArray[nodeOffset + nodeIdOffset];
+ var stats = liveObjectStats[id];
+ var liveCount = stats ? stats.count : 0;
+ var liveSize = stats ? stats.size : 0;
+ var result = new WebInspector.TopDownAllocationNode(
+ id, functionInfo, rawNodeArray[nodeOffset + allocationCountOffset],
+ rawNodeArray[nodeOffset + allocationSizeOffset], liveCount, liveSize, parent);
+ idToTopDownNode[id] = result;
+ functionInfo.addTraceTopNode(result);
+
+ var rawChildren = rawNodeArray[nodeOffset + childrenOffset];
+ for (var i = 0; i < rawChildren.length; i += nodeFieldCount) {
+ result.children.push(traverseNode(rawChildren, i, result));
+ }
+ return result;
+ }
- /**
- * @param {!WebInspector.BottomUpAllocationNode} node
- * @return {!WebInspector.HeapSnapshotCommon.SerializedAllocationNode}
- */
- _serializeCaller: function(node)
- {
- var callerId = this._nextNodeId++;
- this._idToNode[callerId] = node;
- return this._serializeNode(
- callerId,
- node.functionInfo,
- node.allocationCount,
- node.allocationSize,
- node.liveCount,
- node.liveSize,
- node.hasCallers());
- },
+ return traverseNode(traceTreeRaw, 0, null);
+ }
+
+ /**
+ * @return {!Array.<!WebInspector.HeapSnapshotCommon.SerializedAllocationNode>}
+ */
+ serializeTraceTops() {
+ if (this._traceTops)
+ return this._traceTops;
+ var result = this._traceTops = [];
+ var functionInfos = this._functionInfos;
+ for (var i = 0; i < functionInfos.length; i++) {
+ var info = functionInfos[i];
+ if (info.totalCount === 0)
+ continue;
+ var nodeId = this._nextNodeId++;
+ var isRoot = i === 0;
+ result.push(this._serializeNode(
+ nodeId, info, info.totalCount, info.totalSize, info.totalLiveCount, info.totalLiveSize, !isRoot));
+ this._collapsedTopNodeIdToFunctionInfo[nodeId] = info;
+ }
+ result.sort(function(a, b) {
+ return b.size - a.size;
+ });
+ return result;
+ }
+
+ /**
+ * @param {number} nodeId
+ * @return {!WebInspector.HeapSnapshotCommon.AllocationNodeCallers}
+ */
+ serializeCallers(nodeId) {
+ var node = this._ensureBottomUpNode(nodeId);
+ var nodesWithSingleCaller = [];
+ while (node.callers().length === 1) {
+ node = node.callers()[0];
+ nodesWithSingleCaller.push(this._serializeCaller(node));
+ }
- /**
- * @param {number} nodeId
- * @param {!WebInspector.FunctionAllocationInfo} functionInfo
- * @param {number} count
- * @param {number} size
- * @param {number} liveCount
- * @param {number} liveSize
- * @param {boolean} hasChildren
- * @return {!WebInspector.HeapSnapshotCommon.SerializedAllocationNode}
- */
- _serializeNode: function(nodeId, functionInfo, count, size, liveCount, liveSize, hasChildren)
- {
- return new WebInspector.HeapSnapshotCommon.SerializedAllocationNode(
- nodeId,
- functionInfo.functionName,
- functionInfo.scriptName,
- functionInfo.scriptId,
- functionInfo.line,
- functionInfo.column,
- count,
- size,
- liveCount,
- liveSize,
- hasChildren
- );
+ var branchingCallers = [];
+ var callers = node.callers();
+ for (var i = 0; i < callers.length; i++) {
+ branchingCallers.push(this._serializeCaller(callers[i]));
+ }
+ return new WebInspector.HeapSnapshotCommon.AllocationNodeCallers(nodesWithSingleCaller, branchingCallers);
+ }
+
+ /**
+ * @param {number} traceNodeId
+ * @return {!Array.<!WebInspector.HeapSnapshotCommon.AllocationStackFrame>}
+ */
+ serializeAllocationStack(traceNodeId) {
+ var node = this._idToTopDownNode[traceNodeId];
+ var result = [];
+ while (node) {
+ var functionInfo = node.functionInfo;
+ result.push(new WebInspector.HeapSnapshotCommon.AllocationStackFrame(
+ functionInfo.functionName, functionInfo.scriptName, functionInfo.scriptId, functionInfo.line,
+ functionInfo.column));
+ node = node.parent;
+ }
+ return result;
+ }
+
+ /**
+ * @param {number} allocationNodeId
+ * @return {!Array.<number>}
+ */
+ traceIds(allocationNodeId) {
+ return this._ensureBottomUpNode(allocationNodeId).traceTopIds;
+ }
+
+ /**
+ * @param {number} nodeId
+ * @return {!WebInspector.BottomUpAllocationNode}
+ */
+ _ensureBottomUpNode(nodeId) {
+ var node = this._idToNode[nodeId];
+ if (!node) {
+ var functionInfo = this._collapsedTopNodeIdToFunctionInfo[nodeId];
+ node = functionInfo.bottomUpRoot();
+ delete this._collapsedTopNodeIdToFunctionInfo[nodeId];
+ this._idToNode[nodeId] = node;
}
+ return node;
+ }
+
+ /**
+ * @param {!WebInspector.BottomUpAllocationNode} node
+ * @return {!WebInspector.HeapSnapshotCommon.SerializedAllocationNode}
+ */
+ _serializeCaller(node) {
+ var callerId = this._nextNodeId++;
+ this._idToNode[callerId] = node;
+ return this._serializeNode(
+ callerId, node.functionInfo, node.allocationCount, node.allocationSize, node.liveCount, node.liveSize,
+ node.hasCallers());
+ }
+
+ /**
+ * @param {number} nodeId
+ * @param {!WebInspector.FunctionAllocationInfo} functionInfo
+ * @param {number} count
+ * @param {number} size
+ * @param {number} liveCount
+ * @param {number} liveSize
+ * @param {boolean} hasChildren
+ * @return {!WebInspector.HeapSnapshotCommon.SerializedAllocationNode}
+ */
+ _serializeNode(nodeId, functionInfo, count, size, liveCount, liveSize, hasChildren) {
+ return new WebInspector.HeapSnapshotCommon.SerializedAllocationNode(
+ nodeId, functionInfo.functionName, functionInfo.scriptName, functionInfo.scriptId, functionInfo.line,
+ functionInfo.column, count, size, liveCount, liveSize, hasChildren);
+ }
};
-
/**
- * @constructor
- * @param {number} id
- * @param {!WebInspector.FunctionAllocationInfo} functionInfo
- * @param {number} count
- * @param {number} size
- * @param {number} liveCount
- * @param {number} liveSize
- * @param {?WebInspector.TopDownAllocationNode} parent
+ * @unrestricted
*/
-WebInspector.TopDownAllocationNode = function(id, functionInfo, count, size, liveCount, liveSize, parent)
-{
+WebInspector.TopDownAllocationNode = class {
+ /**
+ * @param {number} id
+ * @param {!WebInspector.FunctionAllocationInfo} functionInfo
+ * @param {number} count
+ * @param {number} size
+ * @param {number} liveCount
+ * @param {number} liveSize
+ * @param {?WebInspector.TopDownAllocationNode} parent
+ */
+ constructor(id, functionInfo, count, size, liveCount, liveSize, parent) {
this.id = id;
this.functionInfo = functionInfo;
this.allocationCount = count;
@@ -283,15 +239,17 @@ WebInspector.TopDownAllocationNode = function(id, functionInfo, count, size, liv
this.liveSize = liveSize;
this.parent = parent;
this.children = [];
+ }
};
-
/**
- * @constructor
- * @param {!WebInspector.FunctionAllocationInfo} functionInfo
+ * @unrestricted
*/
-WebInspector.BottomUpAllocationNode = function(functionInfo)
-{
+WebInspector.BottomUpAllocationNode = class {
+ /**
+ * @param {!WebInspector.FunctionAllocationInfo} functionInfo
+ */
+ constructor(functionInfo) {
this.functionInfo = functionInfo;
this.allocationCount = 0;
this.allocationSize = 0;
@@ -299,60 +257,56 @@ WebInspector.BottomUpAllocationNode = function(functionInfo)
this.liveSize = 0;
this.traceTopIds = [];
this._callers = [];
-};
-
-
-WebInspector.BottomUpAllocationNode.prototype = {
- /**
- * @param {!WebInspector.TopDownAllocationNode} traceNode
- * @return {!WebInspector.BottomUpAllocationNode}
- */
- addCaller: function(traceNode)
- {
- var functionInfo = traceNode.functionInfo;
- var result;
- for (var i = 0; i < this._callers.length; i++) {
- var caller = this._callers[i];
- if (caller.functionInfo === functionInfo) {
- result = caller;
- break;
- }
- }
- if (!result) {
- result = new WebInspector.BottomUpAllocationNode(functionInfo);
- this._callers.push(result);
- }
- return result;
- },
-
- /**
- * @return {!Array.<!WebInspector.BottomUpAllocationNode>}
- */
- callers: function()
- {
- return this._callers;
- },
-
- /**
- * @return {boolean}
- */
- hasCallers: function()
- {
- return this._callers.length > 0;
+ }
+
+ /**
+ * @param {!WebInspector.TopDownAllocationNode} traceNode
+ * @return {!WebInspector.BottomUpAllocationNode}
+ */
+ addCaller(traceNode) {
+ var functionInfo = traceNode.functionInfo;
+ var result;
+ for (var i = 0; i < this._callers.length; i++) {
+ var caller = this._callers[i];
+ if (caller.functionInfo === functionInfo) {
+ result = caller;
+ break;
+ }
+ }
+ if (!result) {
+ result = new WebInspector.BottomUpAllocationNode(functionInfo);
+ this._callers.push(result);
}
+ return result;
+ }
+
+ /**
+ * @return {!Array.<!WebInspector.BottomUpAllocationNode>}
+ */
+ callers() {
+ return this._callers;
+ }
+
+ /**
+ * @return {boolean}
+ */
+ hasCallers() {
+ return this._callers.length > 0;
+ }
};
-
/**
- * @constructor
- * @param {string} functionName
- * @param {string} scriptName
- * @param {number} scriptId
- * @param {number} line
- * @param {number} column
+ * @unrestricted
*/
-WebInspector.FunctionAllocationInfo = function(functionName, scriptName, scriptId, line, column)
-{
+WebInspector.FunctionAllocationInfo = class {
+ /**
+ * @param {string} functionName
+ * @param {string} scriptName
+ * @param {number} scriptId
+ * @param {number} line
+ * @param {number} column
+ */
+ constructor(functionName, scriptName, scriptId, line, column) {
this.functionName = functionName;
this.scriptName = scriptName;
this.scriptId = scriptId;
@@ -363,59 +317,55 @@ WebInspector.FunctionAllocationInfo = function(functionName, scriptName, scriptI
this.totalLiveCount = 0;
this.totalLiveSize = 0;
this._traceTops = [];
-};
-
-WebInspector.FunctionAllocationInfo.prototype = {
- /**
- * @param {!WebInspector.TopDownAllocationNode} node
- */
- addTraceTopNode: function(node)
- {
- if (node.allocationCount === 0)
- return;
- this._traceTops.push(node);
- this.totalCount += node.allocationCount;
- this.totalSize += node.allocationSize;
- this.totalLiveCount += node.liveCount;
- this.totalLiveSize += node.liveSize;
- },
-
- /**
- * @return {?WebInspector.BottomUpAllocationNode}
- */
- bottomUpRoot: function()
- {
- if (!this._traceTops.length)
- return null;
- if (!this._bottomUpTree)
- this._buildAllocationTraceTree();
- return this._bottomUpTree;
- },
-
- _buildAllocationTraceTree: function()
- {
- this._bottomUpTree = new WebInspector.BottomUpAllocationNode(this);
-
- for (var i = 0; i < this._traceTops.length; i++) {
- var node = this._traceTops[i];
- var bottomUpNode = this._bottomUpTree;
- var count = node.allocationCount;
- var size = node.allocationSize;
- var liveCount = node.liveCount;
- var liveSize = node.liveSize;
- var traceId = node.id;
- while (true) {
- bottomUpNode.allocationCount += count;
- bottomUpNode.allocationSize += size;
- bottomUpNode.liveCount += liveCount;
- bottomUpNode.liveSize += liveSize;
- bottomUpNode.traceTopIds.push(traceId);
- node = node.parent;
- if (node === null) {
- break;
- }
- bottomUpNode = bottomUpNode.addCaller(node);
- }
+ }
+
+ /**
+ * @param {!WebInspector.TopDownAllocationNode} node
+ */
+ addTraceTopNode(node) {
+ if (node.allocationCount === 0)
+ return;
+ this._traceTops.push(node);
+ this.totalCount += node.allocationCount;
+ this.totalSize += node.allocationSize;
+ this.totalLiveCount += node.liveCount;
+ this.totalLiveSize += node.liveSize;
+ }
+
+ /**
+ * @return {?WebInspector.BottomUpAllocationNode}
+ */
+ bottomUpRoot() {
+ if (!this._traceTops.length)
+ return null;
+ if (!this._bottomUpTree)
+ this._buildAllocationTraceTree();
+ return this._bottomUpTree;
+ }
+
+ _buildAllocationTraceTree() {
+ this._bottomUpTree = new WebInspector.BottomUpAllocationNode(this);
+
+ for (var i = 0; i < this._traceTops.length; i++) {
+ var node = this._traceTops[i];
+ var bottomUpNode = this._bottomUpTree;
+ var count = node.allocationCount;
+ var size = node.allocationSize;
+ var liveCount = node.liveCount;
+ var liveSize = node.liveSize;
+ var traceId = node.id;
+ while (true) {
+ bottomUpNode.allocationCount += count;
+ bottomUpNode.allocationSize += size;
+ bottomUpNode.liveCount += liveCount;
+ bottomUpNode.liveSize += liveSize;
+ bottomUpNode.traceTopIds.push(traceId);
+ node = node.parent;
+ if (node === null) {
+ break;
}
+ bottomUpNode = bottomUpNode.addCaller(node);
+ }
}
+ }
};

Powered by Google App Engine
This is Rietveld 408576698