long getInstanceId() { return heap.dumpBuffer.getID(fileOffset + 1); } }
private static long[] collectIDs(HprofByteBuffer buf, int len, long off) { long[] array = new long[len]; long ptr = off; long idSize = buf.getIDSize(); for(int i = 0; i != len; ++i) { array[i] = buf.getID(ptr); ptr += idSize; } Arrays.sort(array); return array; } }
protected long getInstanceID(int index) { return dumpBuffer.getID(offset + ((long)index * (long)idSize)); }
public Instance getInstance() { HprofHeap heap = dumpClass.getHprof(); HprofByteBuffer dumpBuffer = heap.dumpBuffer; int idSize = dumpBuffer.getIDSize(); long instanceId = dumpBuffer.getID(instanceArrayOffset + 1 + idSize + 4 + 4 + idSize + ((long)index * (long)idSize)); return heap.getInstanceByID(instanceId); } }
public long getInstanceId() { HprofByteBuffer dumpBuffer = instance.dumpClass.getHprofBuffer(); return dumpBuffer.getID(fileOffset); } }
StackFrame[] getStackFrames() { HprofByteBuffer buf = getHprofBuffer(); int frames = buf.getInt(fileOffset + stackTraceSegment.numberOfFramesOffset); StackFrame[] fr = new StackFrame[frames]; long idOffset = fileOffset + stackTraceSegment.framesListOffset; StackFrameSegment stackFrameSegment = stackTraceSegment.hprofHeap.getStackFrameSegment(); for (int i=0;i<frames;i++,idOffset+=buf.getIDSize()) { long frameID = buf.getID(idOffset); fr[i] = stackFrameSegment.getStackFrameByID(frameID); } return fr; }
protected Instance getInstance(int index) { return heap.getInstanceByID(dumpBuffer.getID(offset + ((long)index * (long)idSize))); }
public long getInstanceId() { HprofByteBuffer dumpBuffer = classDump.getHprofBuffer(); return dumpBuffer.getID(fileOffset + classDump.classDumpSegment.fieldValueOffset); }
long getNameID() { return getHprofBuffer().getID(fileOffset + loadClassSegment.nameStringIDOffset); }
public long getJavaClassId() { return getHprofBuffer().getID(fileOffset + classDumpSegment.classIDOffset); }
public long getInstanceId() { return dumpClass.getHprofBuffer().getID(fileOffset + 1); }
long getClassObjectID() { return getHprofBuffer().getID(fileOffset + loadClassSegment.classIDOffset); }
static void scan(HprofHeap heap) { long[] pointer = new long[1]; TagBounds bounds = heap.getAllInstanceDumpBounds(); pointer[0] = bounds.startOffset; while(pointer[0] < bounds.endOffset) { long ptr = pointer[0]; int tag = heap.readDumpTag(pointer); if ( tag == HprofHeap.INSTANCE_DUMP || tag == HprofHeap.OBJECT_ARRAY_DUMP || tag == HprofHeap.PRIMITIVE_ARRAY_DUMP) { long iid = heap.dumpBuffer.getID(ptr + 1); System.out.println(ptr + " - " + iid); } } }
private long readStringTag(long[] offset) { long start = offset[0]; if (hprofHeap.readTag(offset) != HprofHeap.STRING) { return 0; } return getDumpBuffer().getID(start + stringIDOffset); }
private long readStackFrameTag(long[] offset) { long start = offset[0]; if (hprofHeap.readTag(offset) != HprofHeap.STACK_FRAME) { return 0; } return getDumpBuffer().getID(start + stackFrameIDOffset); } }
private long readLoadClassID(long[] offset) { long start = offset[0]; if (hprofHeap.readTag(offset) != HprofHeap.LOAD_CLASS) { return 0; } return getDumpBuffer().getID(start + classIDOffset); } }
public JavaClass getSuperClass() { long superClassId = getHprofBuffer().getID(fileOffset + classDumpSegment.superClassIDOffset); return classDumpSegment.getClassDumpByID(superClassId); }
private long readID() { TagBounds bounds = heap.getAllInstanceDumpBounds(); while(pointer[0] < bounds.endOffset) { long ptr = pointer[0]; int tag = heap.readDumpTag(pointer); if ( tag == HprofHeap.INSTANCE_DUMP || tag == HprofHeap.OBJECT_ARRAY_DUMP || tag == HprofHeap.PRIMITIVE_ARRAY_DUMP) { return dumpBuffer.getID(ptr + 1); } } return -1; }
private String getStringByOffset(long offset) { long stringID = getHprofBuffer().getID(fileOffset + offset); return stackFrameSegment.hprofHeap.getStringSegment().getStringByID(stringID); } }
public String getName() { long nameID = classDump.getHprofBuffer().getID(fileOffset); return classDump.getHprof().getStringSegment().getStringByID(nameID); }