- java.lang.Object
-
- com.ibm.j9ddr.vm29.pointer.helper.J9ObjectHelper
-
- com.ibm.j9ddr.vm29.pointer.helper.J9IndexableObjectHelper
-
public class J9IndexableObjectHelper extends J9ObjectHelper
-
-
Field Summary
-
Fields declared in class com.ibm.j9ddr.vm29.pointer.helper.J9ObjectHelper
compressObjectReferences, mixedReferenceMode
-
-
Constructor Summary
Constructors Constructor Description J9IndexableObjectHelper()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static com.ibm.j9ddr.vm29.pointer.generated.J9ArrayClassPointer
clazz(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer objPointer)
static long
contiguousHeaderSize()
Get the header size of a contiguous indexable object.static long
discontiguousHeaderSize()
Get the header size of a discontiguous indexable object.static U32
flags(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer objPointer)
static void
getBooleanData(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer objPointer, boolean[] dst, int start, int length, int destStart)
static void
getByteData(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer objPointer, byte[] dst, int start, int length, int destStart)
static void
getCharData(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer objPointer, char[] dst, int start, int length, int destStart)
static String
getClassName(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer objPointer)
static Object
getData(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer objPointer)
static void
getData(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer objPointer, Object dst, int start, int length, int destStart)
Get the requested array data elements and output these elements to the dst method parameter.static VoidPointer
getDataAddrForIndexable(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer objPointer)
Get the dataAddr field for the indexable object.static String
getDataAsString(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer array)
static String
getDataAsString(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer array, int dumpLimit, int characterDumpLimit)
static void
getDoubleData(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer objPointer, double[] dst, int start, int length, int destStart)
static VoidPointer
getElementEA(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer objPointer, int index, int dataSize)
Get the address for the desired element in the array.static void
getFloatData(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer objPointer, float[] dst, int start, int length, int destStart)
static void
getIntData(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer objPointer, int[] dst, int start, int length, int destStart)
static void
getLongData(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer objPointer, long[] dst, int start, int length, int destStart)
static void
getObjectData(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer objPointer, com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer[] dst, int start, int length, int destStart)
static void
getShortData(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer objPointer, short[] dst, int start, int length, int destStart)
static boolean
hasCorrectDataAddrPointer(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer objPointer)
Determine the validity of the data address belonging to objPointer.static UDATA
monitor(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer objPointer)
static U32
rawSize(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer objPointer)
static U32
size(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer objPointer)
static U32
size(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer objPointer)
-
Methods declared in class com.ibm.j9ddr.vm29.pointer.helper.J9ObjectHelper
clazz, flags, getBooleanField, getByteField, getByteFromArrayByIndex, getCharField, getClassName, getDoubleField, getFieldOffset, getFloatField, getIntField, getJavaName, getLongField, getObjectField, getShortField, getStringField, headerSize, isIndexable, monitor, rawClazz, reportClassCacheStats, stringValue
-
-
-
-
Method Detail
-
flags
public static U32 flags(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer objPointer) throws CorruptDataException
- Throws:
CorruptDataException
-
clazz
public static com.ibm.j9ddr.vm29.pointer.generated.J9ArrayClassPointer clazz(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer objPointer) throws CorruptDataException
- Throws:
CorruptDataException
-
monitor
public static UDATA monitor(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer objPointer) throws CorruptDataException
- Throws:
CorruptDataException
-
getClassName
public static String getClassName(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer objPointer) throws CorruptDataException
- Throws:
CorruptDataException
-
rawSize
public static U32 rawSize(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer objPointer) throws CorruptDataException
- Throws:
CorruptDataException
-
size
public static U32 size(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer objPointer) throws CorruptDataException
- Throws:
CorruptDataException
-
size
public static U32 size(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer objPointer) throws CorruptDataException
- Throws:
CorruptDataException
-
contiguousHeaderSize
public static long contiguousHeaderSize()
Get the header size of a contiguous indexable object.
-
discontiguousHeaderSize
public static long discontiguousHeaderSize()
Get the header size of a discontiguous indexable object.
-
getDataAddrForIndexable
public static VoidPointer getDataAddrForIndexable(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer objPointer) throws CorruptDataException, NoSuchFieldException
Get the dataAddr field for the indexable object.- Parameters:
objPointer
- the array object whose dataAddr field we are accessing- Throws:
CorruptDataException
- if there's a problem accessing the indexable object dataAddr fieldNoSuchFieldException
- if the indexable object dataAddr field does not exist on the build that generated the core file
-
getElementEA
public static VoidPointer getElementEA(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer objPointer, int index, int dataSize) throws CorruptDataException
Get the address for the desired element in the array.- Parameters:
objPointer
- array object whose elements we are accessingindex
- the desired index within then arraydataSize
- size of the data held in the array- Returns:
- the address for the desired element in the array
- Throws:
CorruptDataException
-
hasCorrectDataAddrPointer
public static boolean hasCorrectDataAddrPointer(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer objPointer) throws CorruptDataException
Determine the validity of the data address belonging to objPointer.- Parameters:
objPointer
- array object who's data address validity we are checking- Returns:
- true if the data address of objPointer is valid, false otherwise
- Throws:
CorruptDataException
- if there's a problem accessing the indexable object dataAddr field
-
getData
public static void getData(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer objPointer, Object dst, int start, int length, int destStart) throws CorruptDataException
Get the requested array data elements and output these elements to the dst method parameter.- Parameters:
objPointer
- array object whose elements we are accessingdst
- destination array where we will output the elementsstart
- starting index of the elements we are interested inlength
- number of elements to outputdestStart
- starting index of destination array where we will start outputting elements- Throws:
CorruptDataException
-
getByteData
public static void getByteData(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer objPointer, byte[] dst, int start, int length, int destStart) throws CorruptDataException
- Throws:
CorruptDataException
-
getCharData
public static void getCharData(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer objPointer, char[] dst, int start, int length, int destStart) throws CorruptDataException
- Throws:
CorruptDataException
-
getDoubleData
public static void getDoubleData(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer objPointer, double[] dst, int start, int length, int destStart) throws CorruptDataException
- Throws:
CorruptDataException
-
getFloatData
public static void getFloatData(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer objPointer, float[] dst, int start, int length, int destStart) throws CorruptDataException
- Throws:
CorruptDataException
-
getIntData
public static void getIntData(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer objPointer, int[] dst, int start, int length, int destStart) throws CorruptDataException
- Throws:
CorruptDataException
-
getLongData
public static void getLongData(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer objPointer, long[] dst, int start, int length, int destStart) throws CorruptDataException
- Throws:
CorruptDataException
-
getShortData
public static void getShortData(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer objPointer, short[] dst, int start, int length, int destStart) throws CorruptDataException
- Throws:
CorruptDataException
-
getBooleanData
public static void getBooleanData(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer objPointer, boolean[] dst, int start, int length, int destStart) throws CorruptDataException
- Throws:
CorruptDataException
-
getObjectData
public static void getObjectData(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer objPointer, com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer[] dst, int start, int length, int destStart) throws CorruptDataException
- Throws:
CorruptDataException
-
getData
public static Object getData(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer objPointer) throws CorruptDataException
- Throws:
CorruptDataException
-
getDataAsString
public static String getDataAsString(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer array) throws CorruptDataException
- Throws:
CorruptDataException
-
getDataAsString
public static String getDataAsString(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer array, int dumpLimit, int characterDumpLimit) throws CorruptDataException
- Throws:
CorruptDataException
-
-