- 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
_baseAddress
Address diff-addresses are based fromprotected long
_gapPreceding
protected byte
_gapSize
protected int
_numberOfReferences
protected byte
_referenceFieldSize
protected ReferenceIterator
_references
static int
ADDRESS_SHIFT_SIZE
static byte
EIGHT_BYTE_REF
static byte
FOUR_BYTE_REF
static byte
ONE_BYTE_REF
static byte
TWO_BYTE_REF
-
Constructor Summary
Constructors Modifier Constructor Description protected
PortableHeapDumpRecord(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 long
getAddressDifference(long address, long base)
protected ReferenceIterator
getDifferenceReferences(ReferenceIterator input, long base)
protected static byte
sizeofReference(long reference)
protected abstract void
writeHeapDump(DataOutput out)
protected void
writeReference(DataOutput dos, byte size, long reference)
protected void
writeReferences(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
-
-