APIdia Launch Partner
Top Description Inners Fields Constructors Methods
sun.jvm.hotspot.utilities

public Class ReversePtrsAnalysis

extends Object
Class Inheritance
Imports
java.io.*, java.util.*, sun.jvm.hotspot.debugger.*, sun.jvm.hotspot.classfile.*, sun.jvm.hotspot.gc.shared.*, sun.jvm.hotspot.memory.*, sun.jvm.hotspot.oops.*, sun.jvm.hotspot.runtime.*

For a set of known roots, descends recursively into the object graph, for each object recording those objects (and their fields) which point to it.

Note

currently only a subset of the roots known to the VM is exposed to the SA: objects on the stack, static fields in classes, and JNI handles. These should be most of the user-level roots keeping objects alive.

Nested and Inner Type Summary

Modifier and TypeClass and Description
pack-priv class

Field Summary

Modifier and TypeField and Description
private static final boolean
private int
private ObjectHeap
private double
private MarkBits
private static final double
private HeapProgressThunk
private ReversePtrs
private long
private long

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
private void
private void
private void
doStack(JavaThread thread, AddressVisitor oopVisitor)

private void
private void
markAndTraverse(final Oop obj)

private void
public void
run()

Runs the analysis algorithm

public void
setHeapProgressThunk(HeapProgressThunk thunk)

Sets an optional progress thunk

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

DEBUGback to summary
private static final boolean DEBUG
depthback to summary
private int depth
heapback to summary
private ObjectHeap heap
lastNotificationFractionback to summary
private double lastNotificationFraction
markBitsback to summary
private MarkBits markBits
MINIMUM_NOTIFICATION_FRACTIONback to summary
private static final double MINIMUM_NOTIFICATION_FRACTION
progressThunkback to summary
private HeapProgressThunk progressThunk
rpback to summary
private ReversePtrs rp
usedSizeback to summary
private long usedSize
visitedSizeback to summary
private long visitedSize

Constructor Detail

ReversePtrsAnalysisback to summary
public ReversePtrsAnalysis()

Method Detail

doJNIHandleBlockback to summary
private void doJNIHandleBlock(JNIHandleBlock handles, AddressVisitor oopVisitor)
doOopStorageback to summary
private void doOopStorage(OopStorage oopSet, AddressVisitor oopVisitor)
doStackback to summary
private void doStack(JavaThread thread, AddressVisitor oopVisitor)
markAndTraverseback to summary
private void markAndTraverse(OopHandle handle)
markAndTraverseback to summary
private void markAndTraverse(final Oop obj)
printHeaderback to summary
private void printHeader()
runback to summary
public void run()

Runs the analysis algorithm

setHeapProgressThunkback to summary
public void setHeapProgressThunk(HeapProgressThunk thunk)

Sets an optional progress thunk

sun.jvm.hotspot.utilities back to summary

pack-priv Class ReversePtrsAnalysis.RootVisitor

extends Object
implements AddressVisitor
Class Inheritance
All Implemented Interfaces
sun.jvm.hotspot.runtime.AddressVisitor

Field Summary

Modifier and TypeField and Description
private String

Constructor Summary

AccessConstructor and Description
pack-priv
RootVisitor(String baseRootDescription)

Method Summary

Modifier and TypeMethod and Description
public void
public void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

baseRootDescriptionback to summary
private String baseRootDescription

Constructor Detail

RootVisitorback to summary
pack-priv RootVisitor(String baseRootDescription)

Method Detail

visitAddressback to summary
public void visitAddress(Address addr)

Implements sun.jvm.hotspot.runtime.AddressVisitor.visitAddress.

visitCompOopAddressback to summary
public void visitCompOopAddress(Address addr)

Implements sun.jvm.hotspot.runtime.AddressVisitor.visitCompOopAddress.