private boolean processInstance(Instance instance, long size, long retainedSize) throws IOException { if (size != -1) { LongMap.Entry entry = heap.idToOffsetMap.get(instance.getInstanceId()); entry.setRetainedSize((int)(instance.getSize()+retainedSize)); entry.setTreeObj(); if (entry.hasOnlyOneReference()) { long gcRootPointer = entry.getNearestGCRootPointer(); if (gcRootPointer != 0) { if (!unique.contains(gcRootPointer)) { unique.add(gcRootPointer); writeLong(gcRootPointer); } } } return true; } return false; }
private boolean processInstance(Instance instance, long size, long retainedSize) throws IOException { if (size != -1) { LongMap.Entry entry = heap.idToOffsetMap.get(instance.getInstanceId()); entry.setRetainedSize((int)(instance.getSize()+retainedSize)); entry.setTreeObj(); if (entry.hasOnlyOneReference()) { long gcRootPointer = entry.getNearestGCRootPointer(); if (gcRootPointer != 0) { if (!unique.contains(gcRootPointer)) { unique.add(gcRootPointer); writeLong(gcRootPointer); } } } return true; } return false; }
private boolean processInstance(Instance instance, long size, long retainedSize) throws IOException { if (size != -1) { LongMap.Entry entry = heap.idToOffsetMap.get(instance.getInstanceId()); entry.setRetainedSize((int)(instance.getSize()+retainedSize)); entry.setTreeObj(); if (entry.hasOnlyOneReference()) { long gcRootPointer = entry.getNearestGCRootPointer(); if (gcRootPointer != 0) { if (!unique.contains(gcRootPointer)) { unique.add(gcRootPointer); writeLong(gcRootPointer); } } } return true; } return false; }
private void writeLeaf(long instanceId, long size) throws IOException { LongMap.Entry entry = heap.idToOffsetMap.get(instanceId); entry.setTreeObj(); entry.setRetainedSize(size); //leavesCount++; if (entry.hasOnlyOneReference()) { long gcRootPointer = entry.getNearestGCRootPointer(); if (gcRootPointer != 0) { LongMap.Entry gcRootPointerEntry = heap.idToOffsetMap.get(gcRootPointer); if (gcRootPointerEntry.getRetainedSize() == 0) { gcRootPointerEntry.setRetainedSize(-1); leaves.writeLong(gcRootPointer); //firstLevel++; } } } }
private void writeLeaf(long instanceId, long size) throws IOException { LongMap.Entry entry = heap.idToOffsetMap.get(instanceId); entry.setTreeObj(); entry.setRetainedSize(size); //leavesCount++; if (entry.hasOnlyOneReference()) { long gcRootPointer = entry.getNearestGCRootPointer(); if (gcRootPointer != 0) { LongMap.Entry gcRootPointerEntry = heap.idToOffsetMap.get(gcRootPointer); if (gcRootPointerEntry.getRetainedSize() == 0) { gcRootPointerEntry.setRetainedSize(-1); leaves.writeLong(gcRootPointer); //firstLevel++; } } } }
private void writeLeaf(long instanceId, long size) throws IOException { LongMap.Entry entry = heap.idToOffsetMap.get(instanceId); entry.setTreeObj(); entry.setRetainedSize(size); //leavesCount++; if (entry.hasOnlyOneReference()) { long gcRootPointer = entry.getNearestGCRootPointer(); if (gcRootPointer != 0) { LongMap.Entry gcRootPointerEntry = heap.idToOffsetMap.get(gcRootPointer); if (gcRootPointerEntry.getRetainedSize() == 0) { gcRootPointerEntry.setRetainedSize(-1); leaves.writeLong(gcRootPointer); //firstLevel++; } } } }