Skip to content

Commit f2f27d6

Browse files
cwdickFacebook Github Bot
authored andcommitted
add marked block overhead to JSC heap capture aggrow
Reviewed By: bnham Differential Revision: D3728678 fbshipit-source-id: 2c17003449dddb0ea68d3f6b097fd7704758cf5f
1 parent db1b0e9 commit f2f27d6

File tree

2 files changed

+31
-5
lines changed

2 files changed

+31
-5
lines changed

local-cli/server/middleware/heapCapture/out/heapCapture.js

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,9 @@ var rowCount=0;
204204
for(var id in capture.refs){// eslint-disable-line no-unused-vars
205205
rowCount++;
206206
}
207+
for(var _id3 in capture.markedBlocks){// eslint-disable-line no-unused-vars
208+
rowCount++;
209+
}
207210
console.log(
208211
'increasing row data from '+(this.data.length*4).toString()+'B to '+
209212
(this.data.length*4+rowCount*numFields*4).toString()+'B');
@@ -221,18 +224,18 @@ this.stacks,
221224
reactComponentTreeMap);
222225

223226
var internedCaptureId=this.strings.intern(captureId);
224-
for(var _id3 in capture.refs){
225-
var ref=capture.refs[_id3];
226-
newData[dataOffset+idField]=parseInt(_id3,16);
227+
for(var _id4 in capture.refs){
228+
var ref=capture.refs[_id4];
229+
newData[dataOffset+idField]=parseInt(_id4,16);
227230
newData[dataOffset+typeField]=this.strings.intern(getTypeName(ref));
228231
newData[dataOffset+sizeField]=ref.size;
229232
newData[dataOffset+traceField]=internedCaptureId;
230-
var pathNode=rootPathMap[_id3];
233+
var pathNode=rootPathMap[_id4];
231234
if(pathNode===undefined){
232235
throw'did not find path for ref!';
233236
}
234237
newData[dataOffset+pathField]=pathNode.id;
235-
var reactTree=reactComponentTreeMap[_id3];
238+
var reactTree=reactComponentTreeMap[_id4];
236239
if(reactTree===undefined){
237240
newData[dataOffset+reactField]=
238241
this.stacks.insert(this.stacks.root,'<not-under-tree>').id;
@@ -241,6 +244,16 @@ newData[dataOffset+reactField]=reactTree.id;
241244
}
242245
dataOffset+=numFields;
243246
}
247+
for(var _id5 in capture.markedBlocks){
248+
var block=capture.markedBlocks[_id5];
249+
newData[dataOffset+idField]=parseInt(_id5,16);
250+
newData[dataOffset+typeField]=this.strings.intern('Marked Block Overhead');
251+
newData[dataOffset+sizeField]=block.capacity-block.size;
252+
newData[dataOffset+traceField]=internedCaptureId;
253+
newData[dataOffset+pathField]=this.stacks.root;
254+
newData[dataOffset+reactField]=this.stacks.root;
255+
dataOffset+=numFields;
256+
}
244257
this.data=newData;
245258
},
246259
getAggrow:function getAggrow(){

local-cli/server/middleware/heapCapture/src/heapCapture.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,9 @@ function captureRegistry() {
204204
for (const id in capture.refs) { // eslint-disable-line no-unused-vars
205205
rowCount++;
206206
}
207+
for (const id in capture.markedBlocks) { // eslint-disable-line no-unused-vars
208+
rowCount++;
209+
}
207210
console.log(
208211
'increasing row data from ' + (this.data.length * 4).toString() + 'B to ' +
209212
(this.data.length * 4 + rowCount * numFields * 4).toString() + 'B'
@@ -241,6 +244,16 @@ function captureRegistry() {
241244
}
242245
dataOffset += numFields;
243246
}
247+
for (const id in capture.markedBlocks) {
248+
const block = capture.markedBlocks[id];
249+
newData[dataOffset + idField] = parseInt(id, 16);
250+
newData[dataOffset + typeField] = this.strings.intern('Marked Block Overhead');
251+
newData[dataOffset + sizeField] = block.capacity - block.size;
252+
newData[dataOffset + traceField] = internedCaptureId;
253+
newData[dataOffset + pathField] = this.stacks.root;
254+
newData[dataOffset + reactField] = this.stacks.root;
255+
dataOffset += numFields;
256+
}
244257
this.data = newData;
245258
},
246259
getAggrow: function getAggrow() {

0 commit comments

Comments
 (0)