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

public Class ScopeDesc

extends Object
Class Inheritance
Imports
java.io.*, java.util.*, sun.jvm.hotspot.debugger.*, sun.jvm.hotspot.oops.*, sun.jvm.hotspot.runtime.*, sun.jvm.hotspot.utilities.*

ScopeDescs contain the information that makes source-level debugging of nmethods possible; each scopeDesc describes a method activation

Field Summary

Modifier and TypeField and Description
private int
private NMethod
code

NMethod information

private int
decodeOffset

Decoding offsets

private int
private int
private Method
private int
private List<ObjectValue>
objects

Scalar replaced objects pool

private boolean
private int

Constructor Summary

AccessConstructor and Description
private
ScopeDesc(NMethod code, int decodeOffset, List<ObjectValue> objects, boolean reexecute)

public
ScopeDesc(NMethod code, int decodeOffset, int objectDecodeOffset, boolean reexecute)

Method Summary

Modifier and TypeMethod and Description
private List<MonitorValue>
decodeMonitorValues(int decodeOffset)

Returns a List<MonitorValue> or null if no values were present

private List<ObjectValue>
decodeObjectValues(int decodeOffset)

Returns a List<ObjectValue> or null if no values were present

private List<ScopeValue>
decodeScopeValues(int decodeOffset)

Returns a List<ScopeValue> or null if no values were present

public boolean
equals(Object arg)

Overrides java.lang.Object.equals.

Indicates whether some other object is "equal to" this one.

public int
public int
getDecodeOffset()

Returns where the scope was decoded

public List<ScopeValue>
getExpressions()

Returns a List<ScopeValue>

public List<ScopeValue>
getLocals()

Returns a List<ScopeValue>

public Method
public List<MonitorValue>
getMonitors()

Returns a List<MonitorValue>

public NMethod
public List<ObjectValue>
getObjects()

Returns a List<ObjectValue>

public boolean
public boolean
isTop()

Tells whether sender() returns null

public void
public void
public ScopeDesc
sender()

Stack walking.

private DebugInfoReadStream
streamAt(int decodeOffset)

Inherited from java.lang.Object:
clonefinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

bciback to summary
private int bci
codeback to summary
private NMethod code

NMethod information

decodeOffsetback to summary
private int decodeOffset

Decoding offsets

expressionsDecodeOffsetback to summary
private int expressionsDecodeOffset
localsDecodeOffsetback to summary
private int localsDecodeOffset
methodback to summary
private Method method
monitorsDecodeOffsetback to summary
private int monitorsDecodeOffset
objectsback to summary
private List<ObjectValue> objects

Scalar replaced objects pool

reexecuteback to summary
private boolean reexecute
senderDecodeOffsetback to summary
private int senderDecodeOffset

Constructor Detail

ScopeDescback to summary
private ScopeDesc(NMethod code, int decodeOffset, List<ObjectValue> objects, boolean reexecute)
ScopeDescback to summary
public ScopeDesc(NMethod code, int decodeOffset, int objectDecodeOffset, boolean reexecute)

Method Detail

decodeMonitorValuesback to summary
private List<MonitorValue> decodeMonitorValues(int decodeOffset)

Returns a List<MonitorValue> or null if no values were present

decodeObjectValuesback to summary
private List<ObjectValue> decodeObjectValues(int decodeOffset)

Returns a List<ObjectValue> or null if no values were present

decodeScopeValuesback to summary
private List<ScopeValue> decodeScopeValues(int decodeOffset)

Returns a List<ScopeValue> or null if no values were present

equalsback to summary
public boolean equals(Object arg)

Overrides java.lang.Object.equals.

Doc from java.lang.Object.equals.

Indicates whether some other object is "equal to" this one.

The equals method implements an equivalence relation on non-null object references:

  • It is reflexive: for any non-null reference value x, x.equals(x) should return true.
  • It is symmetric: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.
  • It is consistent: for any non-null reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the objects is modified.
  • For any non-null reference value x, x.equals(null) should return false.

An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.

getBCIback to summary
public int getBCI()
getDecodeOffsetback to summary
public int getDecodeOffset()

Returns where the scope was decoded

getExpressionsback to summary
public List<ScopeValue> getExpressions()

Returns a List<ScopeValue>

getLocalsback to summary
public List<ScopeValue> getLocals()

Returns a List<ScopeValue>

getMethodback to summary
public Method getMethod()
getMonitorsback to summary
public List<MonitorValue> getMonitors()

Returns a List<MonitorValue>

getNMethodback to summary
public NMethod getNMethod()
getObjectsback to summary
public List<ObjectValue> getObjects()

Returns a List<ObjectValue>

getReexecuteback to summary
public boolean getReexecute()
isTopback to summary
public boolean isTop()

Tells whether sender() returns null

printValueback to summary
public void printValue()
printValueOnback to summary
public void printValueOn(PrintStream tty)
senderback to summary
public ScopeDesc sender()

Stack walking. Returns null if this is the outermost scope.

streamAtback to summary
private DebugInfoReadStream streamAt(int decodeOffset)