java.lang.Object
com.ibm.j9ddr.vm29.pointer.helper.ValueTypeHelper
Value type helper class
areValueTypesSupported() must return true before using any other methods in this class
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionboolean
Queries if the JVM that produced the core file supports value types.boolean
classRequires4BytePrePadding
(com.ibm.j9ddr.vm29.pointer.generated.J9ClassPointer clazz) Queries if class is has 4byte pre-padding in the stand-alone casecom.ibm.j9ddr.vm29.pointer.generated.J9ClassPointer
findJ9ClassInFlattenedClassCacheWithFieldName
(com.ibm.j9ddr.vm29.pointer.generated.J9ClassPointer clazz, String fieldName) Searches the flattenedClassCache (FCC) for a J9Class given a field name.com.ibm.j9ddr.vm29.pointer.generated.J9ClassPointer
findJ9ClassInFlattenedClassCacheWithSigName
(com.ibm.j9ddr.vm29.pointer.generated.J9ClassPointer clazz, String fieldSig) Searches the flattenedClassCache (FCC) for a J9Class given a field signature.com.ibm.j9ddr.vm29.pointer.generated.J9ClassPointer[]
findNestedClassHierarchy
(com.ibm.j9ddr.vm29.pointer.generated.J9ClassPointer containerClazz, String[] nestingHierarchy) Returns an array of J9ClassPointers that contains the containerClazz passed in addition to the J9ClassPointers that correspond to the types of the field names passed in the nestingHierarchy array.static ValueTypeHelper
Factory method that returns a valueTypeHelper instance.boolean
isFieldInClassFlattened
(com.ibm.j9ddr.vm29.pointer.generated.J9ClassPointer clazz, com.ibm.j9ddr.vm29.pointer.generated.J9ROMFieldShapePointer fieldShape) Queries whether field is flattened of not.boolean
isFlattenableFieldSignature
(String signature) Queries if field signature is flattenableboolean
isJ9ClassAValueType
(com.ibm.j9ddr.vm29.pointer.generated.J9ClassPointer clazz) Queries if J9Class is a value typeboolean
isJ9ClassIsFlattened
(com.ibm.j9ddr.vm29.pointer.generated.J9ClassPointer clazz) Queries if class is flattenedboolean
isJ9ClassLargestAlignmentConstraintDouble
(com.ibm.j9ddr.vm29.pointer.generated.J9ClassPointer clazz) Queries if class contains a field with a double (64 bit) alignment constraintboolean
isJ9ClassLargestAlignmentConstraintReference
(com.ibm.j9ddr.vm29.pointer.generated.J9ClassPointer clazz) Queries if class contains a field with a reference alignment constraintboolean
isJ9FieldIsFlattened
(com.ibm.j9ddr.vm29.pointer.generated.J9ClassPointer fieldClazz, com.ibm.j9ddr.vm29.pointer.generated.J9ROMFieldShapePointer fieldShape) Queries if a field in a class is flattenedboolean
isRomClassAValueType
(com.ibm.j9ddr.vm29.pointer.generated.J9ROMClassPointer romClass) Queries if J9ROMClass is a value type
-
Field Details
-
logger
-
-
Method Details
-
getValueTypeHelper
Factory method that returns a valueTypeHelper instance.- Returns:
- valueTypeHelper
-
areValueTypesSupported
public boolean areValueTypesSupported()Queries if the JVM that produced the core file supports value types. This must be called before any other ValueTypeHelper functions are called.- Returns:
- true if value types are supported, false otherwise
-
findJ9ClassInFlattenedClassCacheWithFieldName
public com.ibm.j9ddr.vm29.pointer.generated.J9ClassPointer findJ9ClassInFlattenedClassCacheWithFieldName(com.ibm.j9ddr.vm29.pointer.generated.J9ClassPointer clazz, String fieldName) throws CorruptDataException Searches the flattenedClassCache (FCC) for a J9Class given a field name. areValueTypesSupported() must return true before using this method.- Parameters:
clazz
- J9Class pointer that owns the FCC to be searchedfieldName
- name of the field to lookup in the FCC- Returns:
- J9Class of the fieldName if found, J9ClassPointer.NULL otherwise
- Throws:
CorruptDataException
-
findNestedClassHierarchy
public com.ibm.j9ddr.vm29.pointer.generated.J9ClassPointer[] findNestedClassHierarchy(com.ibm.j9ddr.vm29.pointer.generated.J9ClassPointer containerClazz, String[] nestingHierarchy) throws CorruptDataException Returns an array of J9ClassPointers that contains the containerClazz passed in addition to the J9ClassPointers that correspond to the types of the field names passed in the nestingHierarchy array. Each subsequent field name in the nestingHierarchy array is a nested field of the previous element. For example nestingHierarchy[1] is a member of nestingHierarchy[0], and nestingHierarchy[2] is a member of nestingHierarchy[1]. nestingHierarchy[0] is the first nested member in the containerClazz. The resulting array contains at least one element (containerClazz). areValueTypesSupported() must return true before using this method.- Parameters:
containerClazz
- type that contains all the nested membersnestingHierarchy
- array that contains field names for nested members. Must be non-NULL- Returns:
- an array containing at least the containerClazz, and J9ClassPointer's corresponding to the names passed in the nestingHierarchy
- Throws:
CorruptDataException
-
findJ9ClassInFlattenedClassCacheWithSigName
public com.ibm.j9ddr.vm29.pointer.generated.J9ClassPointer findJ9ClassInFlattenedClassCacheWithSigName(com.ibm.j9ddr.vm29.pointer.generated.J9ClassPointer clazz, String fieldSig) throws CorruptDataException Searches the flattenedClassCache (FCC) for a J9Class given a field signature. areValueTypesSupported() must return true before using this method.- Parameters:
clazz
- J9Class pointer that owns the FCC to be searchedfieldSig
- signature to lookup in the FCC- Returns:
- J9ClassPointer corresponding to the signature if found, J9ClassPointer.NULL otherwise
- Throws:
CorruptDataException
-
isRomClassAValueType
public boolean isRomClassAValueType(com.ibm.j9ddr.vm29.pointer.generated.J9ROMClassPointer romClass) throws CorruptDataException Queries if J9ROMClass is a value type- Parameters:
romClass
- clazz to query- Returns:
- true if romClass is a value type, false otherwise
- Throws:
CorruptDataException
-
isJ9ClassAValueType
public boolean isJ9ClassAValueType(com.ibm.j9ddr.vm29.pointer.generated.J9ClassPointer clazz) throws CorruptDataException Queries if J9Class is a value type- Parameters:
clazz
- clazz to query- Returns:
- true if class is a value type, false otherwise
- Throws:
CorruptDataException
-
isFieldInClassFlattened
public boolean isFieldInClassFlattened(com.ibm.j9ddr.vm29.pointer.generated.J9ClassPointer clazz, com.ibm.j9ddr.vm29.pointer.generated.J9ROMFieldShapePointer fieldShape) throws CorruptDataException Queries whether field is flattened of not.- Parameters:
clazz
- clazz containing the fieldfieldShape
- J9ROMFieldShapePointer- Returns:
- true if field is flattened, false otherwise
- Throws:
CorruptDataException
-
isFlattenableFieldSignature
Queries if field signature is flattenable- Parameters:
signature
- field signature- Returns:
- true if field signature is flattenable, false otherwise
-
isJ9ClassLargestAlignmentConstraintDouble
public boolean isJ9ClassLargestAlignmentConstraintDouble(com.ibm.j9ddr.vm29.pointer.generated.J9ClassPointer clazz) throws CorruptDataException Queries if class contains a field with a double (64 bit) alignment constraint- Parameters:
clazz
- J9Class- Returns:
- true if clazz has double alignment constraint, false otherwise
- Throws:
CorruptDataException
-
isJ9ClassLargestAlignmentConstraintReference
public boolean isJ9ClassLargestAlignmentConstraintReference(com.ibm.j9ddr.vm29.pointer.generated.J9ClassPointer clazz) throws CorruptDataException Queries if class contains a field with a reference alignment constraint- Parameters:
clazz
- J9Class- Returns:
- true if clazz has reference alignment constraint, false otherwise
- Throws:
CorruptDataException
-
isJ9ClassIsFlattened
public boolean isJ9ClassIsFlattened(com.ibm.j9ddr.vm29.pointer.generated.J9ClassPointer clazz) throws CorruptDataException Queries if class is flattened- Parameters:
clazz
- J9Class- Returns:
- true if clazz is flattened, false otherwise
- Throws:
CorruptDataException
-
isJ9FieldIsFlattened
public boolean isJ9FieldIsFlattened(com.ibm.j9ddr.vm29.pointer.generated.J9ClassPointer fieldClazz, com.ibm.j9ddr.vm29.pointer.generated.J9ROMFieldShapePointer fieldShape) throws CorruptDataException Queries if a field in a class is flattened- Parameters:
fieldClazz
- J9Class of the fieldfieldShape
- J9ROMFieldShapePointer- Returns:
- true if the field is flattened, false otherwise
- Throws:
CorruptDataException
-
classRequires4BytePrePadding
public boolean classRequires4BytePrePadding(com.ibm.j9ddr.vm29.pointer.generated.J9ClassPointer clazz) throws CorruptDataException Queries if class is has 4byte pre-padding in the stand-alone case- Parameters:
clazz
- J9Class- Returns:
- true if clazz is requires pre-padding, false otherwise
- Throws:
CorruptDataException
-