public static class ThreadStackPrinter.Stage0StackFramePrintVisitor extends ParameterizedStackFrameVisitor<Log>
Modifier and Type | Field and Description |
---|---|
static ThreadStackPrinter.Stage0StackFramePrintVisitor |
SINGLETON |
Modifier and Type | Method and Description |
---|---|
protected void |
logFrame(Log log,
org.graalvm.word.Pointer sp,
org.graalvm.nativeimage.c.function.CodePointer ip,
CodeInfo codeInfo,
DeoptimizedFrame deoptFrame) |
protected static void |
logFrameRaw(Log log,
org.graalvm.word.Pointer sp,
org.graalvm.nativeimage.c.function.CodePointer ip) |
protected boolean |
unknownFrame(org.graalvm.word.Pointer sp,
org.graalvm.nativeimage.c.function.CodePointer ip,
DeoptimizedFrame deoptimizedFrame,
Log log)
Called when no
frame metadata can be found for a frame. |
protected boolean |
visitFrame(org.graalvm.word.Pointer sp,
org.graalvm.nativeimage.c.function.CodePointer ip,
CodeInfo codeInfo,
DeoptimizedFrame deoptFrame,
Log log)
Called for each frame that is visited.
|
public static ThreadStackPrinter.Stage0StackFramePrintVisitor SINGLETON
protected final boolean visitFrame(org.graalvm.word.Pointer sp, org.graalvm.nativeimage.c.function.CodePointer ip, CodeInfo codeInfo, DeoptimizedFrame deoptFrame, Log log)
ParameterizedStackFrameVisitor
Uninterruptible
or executing within a safepoint, the frame on the stack could be
deoptimized at any safepoint check. Nevertheless, the passed codeInfo remains valid for
accessing information about the code at the (possibly outdated) instruction pointer (this is
ensured by the caller).visitFrame
in class ParameterizedStackFrameVisitor<Log>
sp
- The stack pointer of the frame being visited.ip
- The instruction pointer of the frame being visited.codeInfo
- Information on the code at the IP, for use with CodeInfoAccess
.deoptFrame
- The information about a deoptimized frame, or null
if the
frame is not deoptimized.log
- An arbitrary data value passed through the stack walker.protected final boolean unknownFrame(org.graalvm.word.Pointer sp, org.graalvm.nativeimage.c.function.CodePointer ip, DeoptimizedFrame deoptimizedFrame, Log log)
ParameterizedStackFrameVisitor
frame metadata
can be found for a frame. That usually means
that the VM is in an inconsistent state. The default implementation therefore aborts VM
execution with a fatal error. Stack walking for diagnostic purposes can override this method
to just report a message.unknownFrame
in class ParameterizedStackFrameVisitor<Log>
sp
- The stack pointer of the frame being visited.ip
- The instruction pointer of the frame being visited.deoptimizedFrame
- The information about a deoptimized frame, or null
if the
frame is not deoptimized.log
- An arbitrary data value passed through the stack walker.protected void logFrame(Log log, org.graalvm.word.Pointer sp, org.graalvm.nativeimage.c.function.CodePointer ip, CodeInfo codeInfo, DeoptimizedFrame deoptFrame)
protected static void logFrameRaw(Log log, org.graalvm.word.Pointer sp, org.graalvm.nativeimage.c.function.CodePointer ip)