- java.lang.Object
-
- com.ibm.jvm.dtfjview.heapdump.portable.PortableHeapDumpRecord
-
- Direct Known Subclasses:
ClassRecord,LongPrimitiveArrayRecord,ObjectRecord,PrimitiveArrayRecord
public abstract class PortableHeapDumpRecord extends Object
Base class for all PHD records. Contains logic common to relative-addressed entities with references
-
-
Field Summary
Fields Modifier and Type Field Description protected long_baseAddressAddress diff-addresses are based fromprotected long_gapPrecedingprotected byte_gapSizeprotected int_numberOfReferencesprotected byte_referenceFieldSizeprotected ReferenceIterator_referencesstatic intADDRESS_SHIFT_SIZEstatic byteEIGHT_BYTE_REFstatic byteFOUR_BYTE_REFstatic byteONE_BYTE_REFstatic byteTWO_BYTE_REF
-
Constructor Summary
Constructors Modifier Constructor Description protectedPortableHeapDumpRecord(long address, long previousAddress, ReferenceIterator references)Constructor
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected static longgetAddressDifference(long address, long base)protected ReferenceIteratorgetDifferenceReferences(ReferenceIterator input, long base)protected static bytesizeofReference(long reference)protected abstract voidwriteHeapDump(DataOutput out)protected voidwriteReference(DataOutput dos, byte size, long reference)protected voidwriteReferences(DataOutput out)
-
-
-
Field Detail
-
ONE_BYTE_REF
public static final byte ONE_BYTE_REF
- See Also:
- Constant Field Values
-
TWO_BYTE_REF
public static final byte TWO_BYTE_REF
- See Also:
- Constant Field Values
-
FOUR_BYTE_REF
public static final byte FOUR_BYTE_REF
- See Also:
- Constant Field Values
-
EIGHT_BYTE_REF
public static final byte EIGHT_BYTE_REF
- See Also:
- Constant Field Values
-
ADDRESS_SHIFT_SIZE
public static final int ADDRESS_SHIFT_SIZE
- See Also:
- Constant Field Values
-
_baseAddress
protected final long _baseAddress
Address diff-addresses are based from
-
_references
protected final ReferenceIterator _references
-
_referenceFieldSize
protected final byte _referenceFieldSize
-
_gapPreceding
protected final long _gapPreceding
-
_gapSize
protected final byte _gapSize
-
_numberOfReferences
protected int _numberOfReferences
-
-
Constructor Detail
-
PortableHeapDumpRecord
protected PortableHeapDumpRecord(long address, long previousAddress, ReferenceIterator references)Constructor- Parameters:
baseAddress- The address to base the relative reference addresses fromreferences- Iterator of regular (absolute) references
-
-
Method Detail
-
sizeofReference
protected static byte sizeofReference(long reference)
-
getDifferenceReferences
protected ReferenceIterator getDifferenceReferences(ReferenceIterator input, long base)
-
getAddressDifference
protected static long getAddressDifference(long address, long base)
-
writeReferences
protected final void writeReferences(DataOutput out) throws IOException
- Throws:
IOException
-
writeReference
protected void writeReference(DataOutput dos, byte size, long reference) throws IOException
- Throws:
IOException
-
writeHeapDump
protected abstract void writeHeapDump(DataOutput out) throws IOException
- Throws:
IOException
-
-