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 String |
sourceClassName |
protected int |
sourceClassNameIndex |
protected String |
sourceFileName |
protected int |
sourceFileNameIndex |
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.
|
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.
|
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 String sourceClassName
protected String sourceMethodName
protected String sourceFileName
protected int sourceLineNumber
protected int sourceClassNameIndex
protected int sourceMethodNameIndex
protected int sourceFileNameIndex
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 StackTraceElement getSourceReference()
public String getLocalVariableName(int idx)