public class HotSpotStackFrameReference extends Object implements InspectedFrame
| Modifier and Type | Field and Description |
|---|---|
private int |
bci |
private CompilerToVM |
compilerToVM |
private int |
frameNumber |
private boolean[] |
localIsVirtual |
private Object[] |
locals |
private long |
metaspaceMethod |
private long |
stackPointer |
| Constructor and Description |
|---|
HotSpotStackFrameReference() |
| Modifier and Type | Method and Description |
|---|---|
int |
getBytecodeIndex() |
int |
getFrameNumber() |
Object |
getLocal(int index)
Returns the value of the local at the given index.
|
ResolvedJavaMethod |
getMethod() |
long |
getStackPointer() |
boolean |
hasVirtualObjects()
Returns true if the stack frame is a compiled stack frame and there are virtual objects
anywhere in the current state of the compiled method.
|
boolean |
isMethod(ResolvedJavaMethod method)
Checks if the current method is equal to the given method.
|
boolean |
isVirtual(int index)
Returns whether the local at the given index is a virtual object, and therefore the object
returned by
InspectedFrame.getLocal(int) is a copy. |
void |
materializeVirtualObjects(boolean invalidateCode)
This method will materialize all virtual objects, deoptimize the stack frame and make sure
that subsequent execution of the deoptimized frame uses the materialized values.
|
String |
toString() |
private CompilerToVM compilerToVM
private long stackPointer
private int frameNumber
private int bci
private long metaspaceMethod
private boolean[] localIsVirtual
public HotSpotStackFrameReference()
public long getStackPointer()
public int getFrameNumber()
public Object getLocal(int index)
InspectedFrameInspectedFrame.isVirtual(int) is true.getLocal in interface InspectedFramepublic boolean isVirtual(int index)
InspectedFrameInspectedFrame.getLocal(int) is a copy.isVirtual in interface InspectedFramepublic void materializeVirtualObjects(boolean invalidateCode)
InspectedFramematerializeVirtualObjects in interface InspectedFramepublic int getBytecodeIndex()
getBytecodeIndex in interface InspectedFramepublic ResolvedJavaMethod getMethod()
getMethod in interface InspectedFramepublic boolean isMethod(ResolvedJavaMethod method)
InspectedFramemethod.equals(getMethod()), but can be implemented more efficiently.isMethod in interface InspectedFramepublic boolean hasVirtualObjects()
InspectedFrameInspectedFrame.isVirtual(int) return false for all locals.hasVirtualObjects in interface InspectedFrame