- java.lang.Object
-
- com.ibm.dtfj.java.j9.JavaAbstractClass
-
- All Implemented Interfaces:
JavaClass
- Direct Known Subclasses:
JavaArrayClass
,JavaClass
public abstract class JavaAbstractClass extends Object implements JavaClass
-
-
Field Summary
Fields Modifier and Type Field Description protected ImagePointer
_classPointer
protected JavaRuntime
_javaVM
-
Fields declared in interface com.ibm.dtfj.java.JavaClass
MODIFIERS_UNAVAILABLE
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
JavaAbstractClass(JavaRuntime vm, ImagePointer id, int modifiers, long loaderID, ImagePointer objectID, int flagOffset, int hashcodeSlot)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected void
addClassLoaderReference(Collection coll)
protected void
addClassObjectReference(Collection coll)
void
addInterfaceName(String interfaceName)
protected void
addSuperclassReference(Collection coll)
int
getHashcodeSlotSize()
Returns the size of the extra slot needed for stored hashcode - if the object was moved - in JVMs built with J9VM_OPT_NEW_OBJECT_HASH.abstract int
getInstanceSize(JavaObject instance)
int
readFlagsFromInstance(JavaObject instance)
-
Methods declared in class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods declared in interface com.ibm.dtfj.java.JavaClass
equals, getClassLoader, getComponentType, getConstantPoolReferences, getDeclaredFields, getDeclaredMethods, getID, getInstanceSize, getInterfaces, getModifiers, getName, getObject, getProtectionDomain, getReferences, getSuperclass, hashCode, isArray
-
-
-
-
Field Detail
-
_classPointer
protected ImagePointer _classPointer
-
_javaVM
protected JavaRuntime _javaVM
-
-
Constructor Detail
-
JavaAbstractClass
protected JavaAbstractClass(JavaRuntime vm, ImagePointer id, int modifiers, long loaderID, ImagePointer objectID, int flagOffset, int hashcodeSlot)
-
-
Method Detail
-
addInterfaceName
public void addInterfaceName(String interfaceName)
-
getInstanceSize
public abstract int getInstanceSize(JavaObject instance)
- Parameters:
instance
- The instance is needed for array types to calculate the size of a per-instance basis- Returns:
- The size, in bytes, of an instance of this class (required for iterating the heap)
-
getHashcodeSlotSize
public int getHashcodeSlotSize()
Returns the size of the extra slot needed for stored hashcode - if the object was moved - in JVMs built with J9VM_OPT_NEW_OBJECT_HASH. If the hashcode could fit in spare space in the object header, this will return 0. . *- Returns:
- object instance size delta, in bytes
-
readFlagsFromInstance
public int readFlagsFromInstance(JavaObject instance) throws MemoryAccessException, CorruptDataException
-
addClassLoaderReference
protected void addClassLoaderReference(Collection coll)
-
addSuperclassReference
protected void addSuperclassReference(Collection coll)
-
addClassObjectReference
protected void addClassObjectReference(Collection coll)
-
-