Top Inners Fields Constructors Methods
sun.jvm.hotspot.utilities

public Class HeapHprofBinWriter

extends AbstractHeapGraphWriter
Class Inheritance
Imports
java.io.*, java.nio.ByteBuffer, .ByteOrder, java.nio.channels.*, java.util.*, java.util.zip.*, sun.jvm.hotspot.debugger.*, sun.jvm.hotspot.memory.*, sun.jvm.hotspot.oops.*, sun.jvm.hotspot.runtime.*, sun.jvm.hotspot.classfile.*

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static class

Field Summary

Modifier and TypeField and Description
private long
private int
private long
private int
private long
private int
private Map<InstanceKlass, HeapHprofBinWriter.ClassData>
private long
private Debugger
private long
private int
private static final int
private static final int
private long
private int
private FileOutputStream
private int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final String
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final long
private static final long
private static final int
private static final int
private static final int
private static final int
private static final int
private OutputStream
private long
private int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private ArrayList<Klass>
private long
private int
private static final long
private HashSet<Symbol>
private int
private long
private ObjectHeap
private DataOutputStream
pack-priv int
private long
private int
private boolean
Inherited from sun.jvm.hotspot.utilities.AbstractHeapGraphWriter:
javaLangClassjavaLangStringjavaLangThread

Constructor Summary

AccessConstructor and Description
public
public
HeapHprofBinWriter(int gzLevel)

Method Summary

Modifier and TypeMethod and Description
private int
calculateArrayMaxLength(long originalArrayLength, int headerSize, long typeSize, String typeName)

private int
private int
private int
private int
private int
protected int
private int
private void
dumpStackFrame(int frameSN, int classSN, Method m, int bci)

private void
private void
private static byte[]
private long
private int
getArrayHeaderSize(boolean isObjectAarray)

private static List<Field>
private int
private int
private int
getSizeForType(int type)

private boolean
public static int
public synchronized void
write(String fileName)

Implements sun.jvm.hotspot.utilities.HeapGraphWriter.write.

writes the heap graph in the given file
private void
writeBooleanArray(TypeArray array, int length)

private void
writeByteArray(TypeArray array, int length)

private void
writeCharArray(TypeArray array, int length)

protected void
private void
private void
private void
private void
private void
writeDoubleArray(TypeArray array, int length)

private void
private void
writeField(Field field, Oop oop)

private void
private void
private void
writeFloatArray(TypeArray array, int length)

protected void
private void
writeHeader(int tag, int len)

protected void
protected void
private void
writeIntArray(TypeArray array, int length)

protected void
protected void
private void
writeLongArray(TypeArray array, int length)

protected void
private void
private void
writeObjectID(long address)

protected void
private void
writeShortArray(TypeArray array, int length)

private void
private void
private void
Inherited from sun.jvm.hotspot.utilities.AbstractHeapGraphWriter:
handleRuntimeExceptionisJavaVisiblewritewriteBooleanFieldwriteByteFieldwriteCharFieldwriteDoubleFieldwriteFloatFieldwriteGlobalJNIHandleswriteHeapFooterwriteHeapHeaderwriteHeapRecordEpiloguewriteHeapRecordProloguewriteInternalObjectwriteIntFieldwriteJavaThreadswriteLongFieldwriteObjectwriteObjectFieldswriteObjectFieldswriteObjectFooterwriteObjectHeaderwriteReferenceFieldwriteShortFieldwriteStringwriteThread

Field Detail

BOOLEAN_BASE_OFFSETback to summary
private long BOOLEAN_BASE_OFFSET
BOOLEAN_SIZEback to summary
private int BOOLEAN_SIZE
BYTE_BASE_OFFSETback to summary
private long BYTE_BASE_OFFSET
BYTE_SIZEback to summary
private int BYTE_SIZE
CHAR_BASE_OFFSETback to summary
private long CHAR_BASE_OFFSET
CHAR_SIZEback to summary
private int CHAR_SIZE
classDataCacheback to summary
private Map<InstanceKlass, HeapHprofBinWriter.ClassData> classDataCache
currentSegmentStartback to summary
private long currentSegmentStart
dbgback to summary
private Debugger dbg
DOUBLE_BASE_OFFSETback to summary
private long DOUBLE_BASE_OFFSET
DOUBLE_SIZEback to summary
private int DOUBLE_SIZE
DUMMY_STACK_TRACE_IDback to summary
private static final int DUMMY_STACK_TRACE_ID
EMPTY_FRAME_DEPTHback to summary
private static final int EMPTY_FRAME_DEPTH
FLOAT_BASE_OFFSETback to summary
private long FLOAT_BASE_OFFSET
FLOAT_SIZEback to summary
private int FLOAT_SIZE
fosback to summary
private FileOutputStream fos
gzLevelback to summary
private int gzLevel
HPROF_ALLOC_SITESback to summary
private static final int HPROF_ALLOC_SITES
HPROF_ARRAY_OBJECTback to summary
private static final int HPROF_ARRAY_OBJECT
HPROF_BOOLEANback to summary
private static final int HPROF_BOOLEAN
HPROF_BYTEback to summary
private static final int HPROF_BYTE
HPROF_CHARback to summary
private static final int HPROF_CHAR
HPROF_CONTROL_SETTINGSback to summary
private static final int HPROF_CONTROL_SETTINGS
HPROF_CPU_SAMPLESback to summary
private static final int HPROF_CPU_SAMPLES
HPROF_DOUBLEback to summary
private static final int HPROF_DOUBLE
HPROF_END_THREADback to summary
private static final int HPROF_END_THREAD
HPROF_FLOATback to summary
private static final int HPROF_FLOAT
HPROF_FRAMEback to summary
private static final int HPROF_FRAME
HPROF_GC_CLASS_DUMPback to summary
private static final int HPROF_GC_CLASS_DUMP
HPROF_GC_INSTANCE_DUMPback to summary
private static final int HPROF_GC_INSTANCE_DUMP
HPROF_GC_OBJ_ARRAY_DUMPback to summary
private static final int HPROF_GC_OBJ_ARRAY_DUMP
HPROF_GC_PRIM_ARRAY_DUMPback to summary
private static final int HPROF_GC_PRIM_ARRAY_DUMP
HPROF_GC_ROOT_JAVA_FRAMEback to summary
private static final int HPROF_GC_ROOT_JAVA_FRAME
HPROF_GC_ROOT_JNI_GLOBALback to summary
private static final int HPROF_GC_ROOT_JNI_GLOBAL
HPROF_GC_ROOT_JNI_LOCALback to summary
private static final int HPROF_GC_ROOT_JNI_LOCAL
HPROF_GC_ROOT_MONITOR_USEDback to summary
private static final int HPROF_GC_ROOT_MONITOR_USED
HPROF_GC_ROOT_NATIVE_STACKback to summary
private static final int HPROF_GC_ROOT_NATIVE_STACK
HPROF_GC_ROOT_STICKY_CLASSback to summary
private static final int HPROF_GC_ROOT_STICKY_CLASS
HPROF_GC_ROOT_THREAD_BLOCKback to summary
private static final int HPROF_GC_ROOT_THREAD_BLOCK
HPROF_GC_ROOT_THREAD_OBJback to summary
private static final int HPROF_GC_ROOT_THREAD_OBJ
HPROF_GC_ROOT_UNKNOWNback to summary
private static final int HPROF_GC_ROOT_UNKNOWN
HPROF_HEADER_1_0_2back to summary
private static final String HPROF_HEADER_1_0_2
HPROF_HEAP_DUMPback to summary
private static final int HPROF_HEAP_DUMP
HPROF_HEAP_DUMP_ENDback to summary
private static final int HPROF_HEAP_DUMP_END
HPROF_HEAP_DUMP_SEGMENTback to summary
private static final int HPROF_HEAP_DUMP_SEGMENT
HPROF_HEAP_SUMMARYback to summary
private static final int HPROF_HEAP_SUMMARY
HPROF_INTback to summary
private static final int HPROF_INT
HPROF_LOAD_CLASSback to summary
private static final int HPROF_LOAD_CLASS
HPROF_LONGback to summary
private static final int HPROF_LONG
HPROF_NORMAL_OBJECTback to summary
private static final int HPROF_NORMAL_OBJECT
HPROF_SEGMENTED_HEAP_DUMP_SEGMENT_SIZEback to summary
private static final long HPROF_SEGMENTED_HEAP_DUMP_SEGMENT_SIZE
HPROF_SEGMENTED_HEAP_DUMP_THRESHOLDback to summary
private static final long HPROF_SEGMENTED_HEAP_DUMP_THRESHOLD
HPROF_SHORTback to summary
private static final int HPROF_SHORT
HPROF_START_THREADback to summary
private static final int HPROF_START_THREAD
HPROF_TRACEback to summary
private static final int HPROF_TRACE
HPROF_UNLOAD_CLASSback to summary
private static final int HPROF_UNLOAD_CLASS
HPROF_UTF8back to summary
private static final int HPROF_UTF8
hprofBufferedOutback to summary
private OutputStream hprofBufferedOut
INT_BASE_OFFSETback to summary
private long INT_BASE_OFFSET
INT_SIZEback to summary
private int INT_SIZE
JVM_SIGNATURE_ARRAYback to summary
private static final int JVM_SIGNATURE_ARRAY
JVM_SIGNATURE_BOOLEANback to summary
private static final int JVM_SIGNATURE_BOOLEAN
JVM_SIGNATURE_BYTEback to summary
private static final int JVM_SIGNATURE_BYTE
JVM_SIGNATURE_CHARback to summary
private static final int JVM_SIGNATURE_CHAR
JVM_SIGNATURE_CLASSback to summary
private static final int JVM_SIGNATURE_CLASS
JVM_SIGNATURE_DOUBLEback to summary
private static final int JVM_SIGNATURE_DOUBLE
JVM_SIGNATURE_FLOATback to summary
private static final int JVM_SIGNATURE_FLOAT
JVM_SIGNATURE_INTback to summary
private static final int JVM_SIGNATURE_INT
JVM_SIGNATURE_LONGback to summary
private static final int JVM_SIGNATURE_LONG
JVM_SIGNATURE_SHORTback to summary
private static final int JVM_SIGNATURE_SHORT
KlassMapback to summary
private ArrayList<Klass> KlassMap
LONG_BASE_OFFSETback to summary
private long LONG_BASE_OFFSET
LONG_SIZEback to summary
private int LONG_SIZE
MAX_U4_VALUEback to summary
private static final long MAX_U4_VALUE
namesback to summary
private HashSet<Symbol> names
OBJ_ID_SIZEback to summary
private int OBJ_ID_SIZE
OBJECT_BASE_OFFSETback to summary
private long OBJECT_BASE_OFFSET
objectHeapback to summary
private ObjectHeap objectHeap
outback to summary
private DataOutputStream out
serialNumback to summary
pack-priv int serialNum
SHORT_BASE_OFFSETback to summary
private long SHORT_BASE_OFFSET
SHORT_SIZEback to summary
private int SHORT_SIZE
useSegmentedHeapDumpback to summary
private boolean useSegmentedHeapDump

Constructor Detail

HeapHprofBinWriterback to summary
public HeapHprofBinWriter()
HeapHprofBinWriterback to summary
public HeapHprofBinWriter(int gzLevel)

Method Detail

calculateArrayMaxLengthback to summary
private int calculateArrayMaxLength(long originalArrayLength, int headerSize, long typeSize, String typeName)
calculateClassDumpRecordSizeback to summary
private int calculateClassDumpRecordSize(Klass k)
calculateClassInstanceDumpRecordSizeback to summary
private int calculateClassInstanceDumpRecordSize(Instance instance)
calculateFieldDescriptorsDumpRecordSizeback to summary
private int calculateFieldDescriptorsDumpRecordSize(List<Field> fields, InstanceKlass ik)
calculateInstanceDumpRecordSizeback to summary
private int calculateInstanceDumpRecordSize(Instance instance)
calculateObjectArrayDumpRecordSizeback to summary
private int calculateObjectArrayDumpRecordSize(ObjArray array)
calculateOopDumpRecordSizeback to summary
protected int calculateOopDumpRecordSize(Oop oop) throws IOException

Implements abstract sun.jvm.hotspot.utilities.AbstractHeapGraphWriter.calculateOopDumpRecordSize.

calculatePrimitiveArrayDumpRecordSizeback to summary
private int calculatePrimitiveArrayDumpRecordSize(TypeArray array) throws IOException
dumpStackFrameback to summary
private void dumpStackFrame(int frameSN, int classSN, Method m, int bci) throws IOException
dumpStackTracesback to summary
private void dumpStackTraces() throws IOException
fillInHeapRecordLengthback to summary
private void fillInHeapRecordLength() throws IOException
genByteArrayFromIntback to summary
private static byte[] genByteArrayFromInt(int value)
getAddressValueback to summary
private long getAddressValue(Address addr)
getArrayHeaderSizeback to summary
private int getArrayHeaderSize(boolean isObjectAarray)
getInstanceFieldsback to summary
private static List<Field> getInstanceFields(InstanceKlass ik)
getSizeForFieldback to summary
private int getSizeForField(Field field)
getSizeForFieldsback to summary
private int getSizeForFields(List<Field> fields)
getSizeForTypeback to summary
private int getSizeForType(int type) throws IOException
isCompressionback to summary
private boolean isCompression()
signatureToHprofKindback to summary
public static int signatureToHprofKind(char ch)
writeback to summary
public synchronized void write(String fileName) throws IOException

Implements sun.jvm.hotspot.utilities.HeapGraphWriter.write.

Doc from sun.jvm.hotspot.utilities.HeapGraphWriter.write.

writes the heap graph in the given file

writeBooleanArrayback to summary
private void writeBooleanArray(TypeArray array, int length) throws IOException
writeByteArrayback to summary
private void writeByteArray(TypeArray array, int length) throws IOException
writeCharArrayback to summary
private void writeCharArray(TypeArray array, int length) throws IOException
writeClassback to summary
protected void writeClass(Instance instance) throws IOException

Overrides sun.jvm.hotspot.utilities.AbstractHeapGraphWriter.writeClass.

writeClassDumpRecordback to summary
private void writeClassDumpRecord(Klass k) throws IOException
writeClassDumpRecordsback to summary
private void writeClassDumpRecords() throws IOException
writeClassesback to summary
private void writeClasses() throws IOException
writeClassSymbolsback to summary
private void writeClassSymbols(Klass k) throws IOException
writeDoubleArrayback to summary
private void writeDoubleArray(TypeArray array, int length) throws IOException
writeDummyTraceback to summary
private void writeDummyTrace() throws IOException
writeFieldback to summary
private void writeField(Field field, Oop oop) throws IOException
writeFieldDescriptorsback to summary
private void writeFieldDescriptors(List<Field> fields, InstanceKlass ik) throws IOException
writeFileHeaderback to summary
private void writeFileHeader() throws IOException
writeFloatArrayback to summary
private void writeFloatArray(TypeArray array, int length) throws IOException
writeGlobalJNIHandleback to summary
protected void writeGlobalJNIHandle(Address handleAddr) throws IOException

Overrides sun.jvm.hotspot.utilities.AbstractHeapGraphWriter.writeGlobalJNIHandle.

writeHeaderback to summary
private void writeHeader(int tag, int len) throws IOException
writeHeapRecordPrologueback to summary
protected void writeHeapRecordPrologue(int size) throws IOException

Overrides sun.jvm.hotspot.utilities.AbstractHeapGraphWriter.writeHeapRecordPrologue.

Annotations
@Override
writeInstanceback to summary
protected void writeInstance(Instance instance) throws IOException

Overrides sun.jvm.hotspot.utilities.AbstractHeapGraphWriter.writeInstance.

writeIntArrayback to summary
private void writeIntArray(TypeArray array, int length) throws IOException
writeJavaThreadback to summary
protected void writeJavaThread(JavaThread jt, int index) throws IOException

Overrides sun.jvm.hotspot.utilities.AbstractHeapGraphWriter.writeJavaThread.

writeLocalJNIHandlesback to summary
protected void writeLocalJNIHandles(JavaThread jt, int index) throws IOException
writeLongArrayback to summary
private void writeLongArray(TypeArray array, int length) throws IOException
writeObjectArrayback to summary
protected void writeObjectArray(ObjArray array) throws IOException

Overrides sun.jvm.hotspot.utilities.AbstractHeapGraphWriter.writeObjectArray.

writeObjectIDback to summary
private void writeObjectID(Oop oop) throws IOException
writeObjectIDback to summary
private void writeObjectID(long address) throws IOException
writePrimitiveArrayback to summary
protected void writePrimitiveArray(TypeArray array) throws IOException

Overrides sun.jvm.hotspot.utilities.AbstractHeapGraphWriter.writePrimitiveArray.

writeShortArrayback to summary
private void writeShortArray(TypeArray array, int length) throws IOException
writeSymbolback to summary
private void writeSymbol(Symbol sym) throws IOException
writeSymbolIDback to summary
private void writeSymbolID(Symbol sym) throws IOException
writeSymbolsback to summary
private void writeSymbols() throws IOException
sun.jvm.hotspot.utilities back to summary

private Class HeapHprofBinWriter.ClassData

extends Object
Class Inheritance

Field Summary

Modifier and TypeField and Description
pack-priv List<Field>
pack-priv int

Constructor Summary

AccessConstructor and Description
pack-priv
ClassData(int instSize, List<Field> fields)

Method Summary

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

fieldsback to summary
pack-priv List<Field> fields
instSizeback to summary
pack-priv int instSize

Constructor Detail

ClassDataback to summary
pack-priv ClassData(int instSize, List<Field> fields)