public class FrameInfoQueryResult extends Object
Modifier and Type | Class and Description |
---|---|
static class |
FrameInfoQueryResult.ValueInfo |
static class |
FrameInfoQueryResult.ValueType |
Modifier and Type | Field and Description |
---|---|
protected FrameInfoQueryResult |
caller |
protected SharedMethod |
deoptMethod |
protected int |
deoptMethodOffset |
protected long |
encodedBci |
protected boolean |
isDeoptEntry |
protected boolean |
needLocalValues |
protected int |
numLocals |
protected int |
numLocks |
protected int |
numStack |
protected Class<?> |
sourceClass |
protected int |
sourceClassIndex |
protected int |
sourceLineNumber |
protected String |
sourceMethodName |
protected int |
sourceMethodNameIndex |
protected FrameInfoQueryResult.ValueInfo[] |
valueInfos |
protected FrameInfoQueryResult.ValueInfo[][] |
virtualObjects |
Constructor and Description |
---|
FrameInfoQueryResult() |
Modifier and Type | Method and Description |
---|---|
int |
getBci()
Returns the bytecode index.
|
FrameInfoQueryResult |
getCaller()
Returns the caller if this frame is an inlined method.
|
SharedMethod |
getDeoptMethod()
Returns the deoptimization target method, or
null if not available. |
org.graalvm.nativeimage.c.function.CodePointer |
getDeoptMethodAddress()
Returns the entry point address of the deoptimization target method.
|
int |
getDeoptMethodOffset()
Returns the offset of the deoptimization target method.
|
long |
getEncodedBci()
Returns an encoding of the bytecode index itself plus the duringCall and rethrowException
flags.
|
String |
getLocalVariableName(int idx)
Returns the name of the local variable with the given index, for debugging purposes only.
|
int |
getNumLocals()
Returns the number of locals variables.
|
int |
getNumLocks()
Returns the number of locked values.
|
int |
getNumStack()
Returns the number of stack values.
|
Class<?> |
getSourceClass() |
String |
getSourceClassName() |
String |
getSourceFileName() |
int |
getSourceLineNumber() |
String |
getSourceMethodName() |
StackTraceElement |
getSourceReference()
Returns the name and source code location of the method, for debugging purposes only.
|
FrameInfoQueryResult.ValueInfo[] |
getValueInfos()
Returns the local variables and expression stack values.
|
FrameInfoQueryResult.ValueInfo[][] |
getVirtualObjects()
Returns the virtual objects.
|
void |
init() |
boolean |
isDeoptEntry()
Returns true if this frame has been marked as a valid deoptimization entry point.
|
boolean |
isNativeMethod() |
Log |
log(Log log) |
protected FrameInfoQueryResult caller
protected SharedMethod deoptMethod
protected int deoptMethodOffset
protected long encodedBci
protected boolean isDeoptEntry
protected boolean needLocalValues
protected int numLocals
protected int numStack
protected int numLocks
protected FrameInfoQueryResult.ValueInfo[] valueInfos
protected FrameInfoQueryResult.ValueInfo[][] virtualObjects
protected Class<?> sourceClass
protected String sourceMethodName
protected int sourceLineNumber
protected int sourceClassIndex
protected int sourceMethodNameIndex
public void init()
public FrameInfoQueryResult getCaller()
public SharedMethod getDeoptMethod()
null
if not available. Only use the
result for debug printing, since it is not available in all cases.public int getDeoptMethodOffset()
code start
of the image
. Together
with the BCI it is used to find the corresponding bytecode frame in the target method. Note
that there is no inlining in target methods, so the method + BCI is unique.public org.graalvm.nativeimage.c.function.CodePointer getDeoptMethodAddress()
public long getEncodedBci()
public int getBci()
public boolean isDeoptEntry()
public int getNumLocals()
FrameInfoQueryResult.getValueInfos()
because trailing illegal values are truncated there. It can be
smaller than the length of FrameInfoQueryResult.getValueInfos()
when expression stack values and locked
values are present.public int getNumLocks()
public int getNumStack()
public FrameInfoQueryResult.ValueInfo[] getValueInfos()
public FrameInfoQueryResult.ValueInfo[][] getVirtualObjects()
inlining chain
.public Class<?> getSourceClass()
public String getSourceClassName()
public String getSourceMethodName()
public String getSourceFileName()
public int getSourceLineNumber()
public StackTraceElement getSourceReference()
public boolean isNativeMethod()
public String getLocalVariableName(int idx)