Class RootScanner
java.lang.Object
com.ibm.j9ddr.vm29.j9.RootScanner
- Direct Known Subclasses:
AddressAwareRootScanner
,DTFJJavaRuntime.DTFJRootScanner
-
Nested Class Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected abstract void
doClass
(com.ibm.j9ddr.vm29.pointer.generated.J9ClassPointer clazz) protected void
doClass
(com.ibm.j9ddr.vm29.pointer.generated.J9ClassPointer clazz, VoidPointer address) protected abstract void
doClassLoader
(com.ibm.j9ddr.vm29.pointer.generated.J9ClassLoaderPointer slot) protected void
doClassLoader
(com.ibm.j9ddr.vm29.pointer.generated.J9ClassLoaderPointer slot, VoidPointer address) protected abstract void
doClassSlot
(com.ibm.j9ddr.vm29.pointer.generated.J9ClassPointer slot) protected void
doClassSlot
(com.ibm.j9ddr.vm29.pointer.generated.J9ClassPointer slot, VoidPointer address) protected abstract void
doFinalizableObject
(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot) protected abstract void
doJNIGlobalReferenceSlot
(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot) protected void
doJNIGlobalReferenceSlot
(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot, VoidPointer address) protected abstract void
doJNIWeakGlobalReference
(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot) protected void
doJNIWeakGlobalReference
(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot, VoidPointer address) protected abstract void
doJVMTIObjectTagSlot
(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot) protected void
doJVMTIObjectTagSlot
(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot, VoidPointer address) protected void
doMemoryAreaSlot
(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot, VoidPointer address) protected abstract void
doMemorySpaceSlot
(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot) protected abstract void
doMonitorLookupCacheSlot
(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectMonitorPointer slot) protected void
doMonitorLookupCacheSlot
(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectMonitorPointer objectMonitor, ObjectMonitorReferencePointer slotAddress) protected abstract void
doMonitorReference
(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectMonitorPointer objectMonitor) protected abstract void
doNonCollectableObjectSlot
(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot) protected void
doNonCollectableObjectSlot
(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot, VoidPointer address) protected abstract void
doOwnableSynchronizerObject
(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot) protected abstract void
doPhantomReferenceSlot
(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot) protected void
doPhantomReferenceSlot
(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot, VoidPointer address) protected abstract void
doRememberedSlot
(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot) protected void
doRememberedSlot
(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot, VoidPointer address) protected abstract void
doSoftReferenceSlot
(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot) protected void
doSoftReferenceSlot
(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot, VoidPointer address) protected abstract void
doStackSlot
(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot) protected void
doStackSlot
(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot, WalkState walkState, VoidPointer stackLocation) protected abstract void
doStringCacheTableSlot
(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot) protected void
doStringCacheTableSlot
(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot, VoidPointer address) protected abstract void
doStringTableSlot
(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot) protected void
doStringTableSlot
(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot, VoidPointer address) protected abstract void
doUnfinalizedObject
(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot) protected abstract void
doVMClassSlot
(com.ibm.j9ddr.vm29.pointer.generated.J9ClassPointer slot) protected void
doVMClassSlot
(com.ibm.j9ddr.vm29.pointer.generated.J9ClassPointer slot, VoidPointer address) protected abstract void
doVMThreadJNISlot
(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot) protected void
doVMThreadJNISlot
(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot, VoidPointer address) protected abstract void
doVMThreadMonitorRecordSlot
(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot) protected void
doVMThreadMonitorRecordSlot
(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot, VoidPointer address) protected abstract void
doVMThreadSlot
(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot) protected void
doVMThreadSlot
(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot, VoidPointer address) protected abstract void
doWeakReferenceSlot
(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot) protected void
doWeakReferenceSlot
(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot, VoidPointer address) protected RootScanner.Reachability
void
Scan all slots which contain references into the heap.protected void
protected void
void
Scan all clearable root set references from the VM into the heap.protected void
protected void
protected void
protected void
protected void
protected void
protected void
protected void
protected void
protected void
protected void
void
Scan all root set references from the VM into the heap.protected void
protected void
protected void
protected void
protected void
protected void
void
setClassDataAsRoots
(boolean classDataAsRoots) void
setIncludeRememberedSetReferences
(boolean includeRememberedSetReferences) void
setIncludeStackFrameClassReferences
(boolean includeStackFrameClassReferences) void
setNurseryReferencesOnly
(boolean nurseryReferencesOnly) void
setNurseryReferencesPossibly
(boolean nurseryReferencesPossibly) void
setScanStackSlots
(boolean scanStackSlots) void
setStringTableAsRoot
(boolean stringTableAsRoot) void
setTrackVisibleStackFrameDepth
(boolean trackVisibleStackFrameDepth)
-
Constructor Details
-
RootScanner
- Throws:
CorruptDataException
-
-
Method Details
-
setStringTableAsRoot
public void setStringTableAsRoot(boolean stringTableAsRoot) -
setNurseryReferencesOnly
public void setNurseryReferencesOnly(boolean nurseryReferencesOnly) -
setNurseryReferencesPossibly
public void setNurseryReferencesPossibly(boolean nurseryReferencesPossibly) -
setIncludeRememberedSetReferences
public void setIncludeRememberedSetReferences(boolean includeRememberedSetReferences) -
setIncludeStackFrameClassReferences
public void setIncludeStackFrameClassReferences(boolean includeStackFrameClassReferences) -
setClassDataAsRoots
public void setClassDataAsRoots(boolean classDataAsRoots) -
setTrackVisibleStackFrameDepth
public void setTrackVisibleStackFrameDepth(boolean trackVisibleStackFrameDepth) -
setScanStackSlots
public void setScanStackSlots(boolean scanStackSlots) -
doClassSlot
protected abstract void doClassSlot(com.ibm.j9ddr.vm29.pointer.generated.J9ClassPointer slot) -
doClass
protected abstract void doClass(com.ibm.j9ddr.vm29.pointer.generated.J9ClassPointer clazz) -
doClassLoader
protected abstract void doClassLoader(com.ibm.j9ddr.vm29.pointer.generated.J9ClassLoaderPointer slot) -
doWeakReferenceSlot
protected abstract void doWeakReferenceSlot(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot) -
doSoftReferenceSlot
protected abstract void doSoftReferenceSlot(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot) -
doPhantomReferenceSlot
protected abstract void doPhantomReferenceSlot(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot) -
doFinalizableObject
protected abstract void doFinalizableObject(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot) -
doUnfinalizedObject
protected abstract void doUnfinalizedObject(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot) -
doOwnableSynchronizerObject
protected abstract void doOwnableSynchronizerObject(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot) -
doMonitorReference
protected abstract void doMonitorReference(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectMonitorPointer objectMonitor) -
doMonitorLookupCacheSlot
protected abstract void doMonitorLookupCacheSlot(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectMonitorPointer slot) -
doJNIWeakGlobalReference
protected abstract void doJNIWeakGlobalReference(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot) -
doJNIGlobalReferenceSlot
protected abstract void doJNIGlobalReferenceSlot(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot) -
doRememberedSlot
protected abstract void doRememberedSlot(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot) -
doJVMTIObjectTagSlot
protected abstract void doJVMTIObjectTagSlot(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot) -
doStringTableSlot
protected abstract void doStringTableSlot(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot) -
doStringCacheTableSlot
protected abstract void doStringCacheTableSlot(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot) -
doVMClassSlot
protected abstract void doVMClassSlot(com.ibm.j9ddr.vm29.pointer.generated.J9ClassPointer slot) -
doVMThreadSlot
protected abstract void doVMThreadSlot(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot) -
doVMThreadJNISlot
protected abstract void doVMThreadJNISlot(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot) -
doVMThreadMonitorRecordSlot
protected abstract void doVMThreadMonitorRecordSlot(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot) -
doNonCollectableObjectSlot
protected abstract void doNonCollectableObjectSlot(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot) -
doMemorySpaceSlot
protected abstract void doMemorySpaceSlot(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot) -
doStackSlot
protected abstract void doStackSlot(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot) -
doClassSlot
protected void doClassSlot(com.ibm.j9ddr.vm29.pointer.generated.J9ClassPointer slot, VoidPointer address) -
doClass
protected void doClass(com.ibm.j9ddr.vm29.pointer.generated.J9ClassPointer clazz, VoidPointer address) -
doClassLoader
protected void doClassLoader(com.ibm.j9ddr.vm29.pointer.generated.J9ClassLoaderPointer slot, VoidPointer address) -
doWeakReferenceSlot
protected void doWeakReferenceSlot(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot, VoidPointer address) -
doSoftReferenceSlot
protected void doSoftReferenceSlot(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot, VoidPointer address) -
doPhantomReferenceSlot
protected void doPhantomReferenceSlot(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot, VoidPointer address) -
doMonitorLookupCacheSlot
protected void doMonitorLookupCacheSlot(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectMonitorPointer objectMonitor, ObjectMonitorReferencePointer slotAddress) -
doJNIWeakGlobalReference
protected void doJNIWeakGlobalReference(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot, VoidPointer address) -
doJNIGlobalReferenceSlot
protected void doJNIGlobalReferenceSlot(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot, VoidPointer address) -
doRememberedSlot
protected void doRememberedSlot(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot, VoidPointer address) -
doJVMTIObjectTagSlot
protected void doJVMTIObjectTagSlot(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot, VoidPointer address) -
doStringTableSlot
protected void doStringTableSlot(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot, VoidPointer address) -
doStringCacheTableSlot
protected void doStringCacheTableSlot(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot, VoidPointer address) -
doVMClassSlot
protected void doVMClassSlot(com.ibm.j9ddr.vm29.pointer.generated.J9ClassPointer slot, VoidPointer address) -
doVMThreadSlot
protected void doVMThreadSlot(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot, VoidPointer address) -
doVMThreadJNISlot
protected void doVMThreadJNISlot(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot, VoidPointer address) -
doVMThreadMonitorRecordSlot
protected void doVMThreadMonitorRecordSlot(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot, VoidPointer address) -
doNonCollectableObjectSlot
protected void doNonCollectableObjectSlot(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot, VoidPointer address) -
doMemoryAreaSlot
protected void doMemoryAreaSlot(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot, VoidPointer address) -
doStackSlot
protected void doStackSlot(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer slot, WalkState walkState, VoidPointer stackLocation) -
scanPermanentClasses
- Throws:
CorruptDataException
-
scanAllSlots
Scan all slots which contain references into the heap.- Throws:
CorruptDataException
-
scanRoots
Scan all root set references from the VM into the heap. For all slots that are hard root references into the heap, the appropriate slot handler will be called.- Throws:
CorruptDataException
-
scanClearable
Scan all clearable root set references from the VM into the heap. For all slots that are clearable root references into the heap, the appropriate slot handler will be called.- Throws:
CorruptDataException
-
scanJVMTIObjectTagTables
- Throws:
CorruptDataException
-
scanNonCollectableObjects
- Throws:
CorruptDataException
-
scanRememberedSet
- Throws:
CorruptDataException
-
scanJNIWeakGlobalReferences
- Throws:
CorruptDataException
-
scanMonitorReferences
- Throws:
CorruptDataException
-
scanUnfinalizedObjects
- Throws:
CorruptDataException
-
scanOwnableSynchronizerObjects
- Throws:
CorruptDataException
-
scanMonitorLookupCaches
- Throws:
CorruptDataException
-
scanPhantomReferenceObjects
- Throws:
CorruptDataException
-
scanSoftReferenceObjects
- Throws:
CorruptDataException
-
scanWeakReferenceObjects
- Throws:
CorruptDataException
-
scanStringTable
- Throws:
CorruptDataException
-
scanJNIGlobalReferences
- Throws:
CorruptDataException
-
scanFinalizableObjects
- Throws:
CorruptDataException
-
scanThreads
- Throws:
CorruptDataException
-
scanClassLoaders
- Throws:
CorruptDataException
-
scanVMClassSlots
- Throws:
CorruptDataException
-
scanClasses
- Throws:
CorruptDataException
-
getReachability
-