final class com.oracle.svm.core.genscavenge.StackVerifier
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.oracle.svm.core.genscavenge.StackVerifier
super_class: java.lang.Object
{
private static final com.oracle.svm.core.genscavenge.StackVerifier$VerifyFrameReferencesVisitor verifyFrameReferencesVisitor;
descriptor: Lcom/oracle/svm/core/genscavenge/StackVerifier$VerifyFrameReferencesVisitor;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final com.oracle.svm.core.genscavenge.StackVerifier$StackFrameVerifierVisitor stackFrameVisitor;
descriptor: Lcom/oracle/svm/core/genscavenge/StackVerifier$StackFrameVerifierVisitor;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new com.oracle.svm.core.genscavenge.StackVerifier$VerifyFrameReferencesVisitor
dup
invokespecial com.oracle.svm.core.genscavenge.StackVerifier$VerifyFrameReferencesVisitor.<init>:()V
putstatic com.oracle.svm.core.genscavenge.StackVerifier.verifyFrameReferencesVisitor:Lcom/oracle/svm/core/genscavenge/StackVerifier$VerifyFrameReferencesVisitor;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new com.oracle.svm.core.genscavenge.StackVerifier$StackFrameVerifierVisitor
dup
invokespecial com.oracle.svm.core.genscavenge.StackVerifier$StackFrameVerifierVisitor.<init>:()V
putfield com.oracle.svm.core.genscavenge.StackVerifier.stackFrameVisitor:Lcom/oracle/svm/core/genscavenge/StackVerifier$StackFrameVerifierVisitor;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/svm/core/genscavenge/StackVerifier;
public boolean verifyInAllThreads(org.graalvm.word.Pointer, java.lang.String);
descriptor: (Lorg/graalvm/word/Pointer;Ljava/lang/String;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: invokestatic com.oracle.svm.core.genscavenge.StackVerifier.getTraceLog:()Lcom/oracle/svm/core/log/Log;
astore 3
start local 3 1: aload 3
ldc "[StackVerifier.verifyInAllThreads:"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 2
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
pop
2: invokestatic com.oracle.svm.core.genscavenge.ThreadLocalAllocation.disableAndFlushForAllThreads:()V
3: aload 3
ldc "Current thread "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
invokestatic org.graalvm.nativeimage.CurrentIsolate.getCurrentThread:()Lorg/graalvm/nativeimage/IsolateThread;
invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
ldc ": ["
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
pop
4: aload 1
aload 0
getfield com.oracle.svm.core.genscavenge.StackVerifier.stackFrameVisitor:Lcom/oracle/svm/core/genscavenge/StackVerifier$StackFrameVerifierVisitor;
invokestatic com.oracle.svm.core.stack.JavaStackWalker.walkCurrentThread:(Lorg/graalvm/word/Pointer;Lcom/oracle/svm/core/stack/StackFrameVisitor;)Z
ifne 6
5: iconst_0
ireturn
6: StackMap locals: com.oracle.svm.core.log.Log
StackMap stack:
aload 3
ldc "]"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
pop
7: getstatic com.oracle.svm.core.SubstrateOptions.MultiThreaded:Lcom/oracle/svm/core/option/HostedOptionKey;
invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 18
8: invokestatic com.oracle.svm.core.thread.VMThreads.firstThread:()Lorg/graalvm/nativeimage/IsolateThread;
astore 4
start local 4 9: goto 17
10: StackMap locals: org.graalvm.nativeimage.IsolateThread
StackMap stack:
aload 4
invokestatic org.graalvm.nativeimage.CurrentIsolate.getCurrentThread:()Lorg/graalvm/nativeimage/IsolateThread;
if_acmpne 12
11: goto 16
12: StackMap locals:
StackMap stack:
aload 3
ldc "Thread "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 4
invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
ldc ": ["
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
pop
13: aload 4
aload 0
getfield com.oracle.svm.core.genscavenge.StackVerifier.stackFrameVisitor:Lcom/oracle/svm/core/genscavenge/StackVerifier$StackFrameVerifierVisitor;
invokestatic com.oracle.svm.core.stack.JavaStackWalker.walkThread:(Lorg/graalvm/nativeimage/IsolateThread;Lcom/oracle/svm/core/stack/StackFrameVisitor;)Z
ifne 15
14: iconst_0
ireturn
15: StackMap locals:
StackMap stack:
aload 3
ldc "]"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
pop
16: StackMap locals:
StackMap stack:
aload 4
invokestatic com.oracle.svm.core.thread.VMThreads.nextThread:(Lorg/graalvm/nativeimage/IsolateThread;)Lorg/graalvm/nativeimage/IsolateThread;
astore 4
StackMap locals:
StackMap stack:
17: aload 4
invokeinterface org.graalvm.nativeimage.IsolateThread.isNonNull:()Z
ifne 10
end local 4 18: StackMap locals:
StackMap stack:
aload 3
ldc "]"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
pop
19: iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lcom/oracle/svm/core/genscavenge/StackVerifier;
0 20 1 currentSp Lorg/graalvm/word/Pointer;
0 20 2 message Ljava/lang/String;
1 20 3 trace Lcom/oracle/svm/core/log/Log;
9 18 4 vmThread Lorg/graalvm/nativeimage/IsolateThread;
MethodParameters:
Name Flags
currentSp
message
private static boolean verifyFrame(org.graalvm.word.Pointer, org.graalvm.nativeimage.c.function.CodePointer, com.oracle.svm.core.code.CodeInfo, com.oracle.svm.core.deopt.DeoptimizedFrame);
descriptor: (Lorg/graalvm/word/Pointer;Lorg/graalvm/nativeimage/c/function/CodePointer;Lcom/oracle/svm/core/code/CodeInfo;Lcom/oracle/svm/core/deopt/DeoptimizedFrame;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: invokestatic com.oracle.svm.core.genscavenge.StackVerifier.getTraceLog:()Lcom/oracle/svm/core/log/Log;
astore 4
start local 4 1: aload 4
ldc "[StackVerifier.verifyFrame:"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
pop
2: aload 4
ldc " frameSP: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 0
invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
pop
3: aload 4
ldc " frameIP: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 1
invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
pop
4: aload 4
ldc " pc: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 1
invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
pop
5: aload 4
invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
pop
6: aload 0
aload 1
aload 2
aload 3
getstatic com.oracle.svm.core.genscavenge.StackVerifier.verifyFrameReferencesVisitor:Lcom/oracle/svm/core/genscavenge/StackVerifier$VerifyFrameReferencesVisitor;
invokestatic com.oracle.svm.core.code.CodeInfoTable.visitObjectReferences:(Lorg/graalvm/word/Pointer;Lorg/graalvm/nativeimage/c/function/CodePointer;Lcom/oracle/svm/core/code/CodeInfo;Lcom/oracle/svm/core/deopt/DeoptimizedFrame;Lcom/oracle/svm/core/heap/ObjectReferenceVisitor;)Z
ifne 8
7: iconst_0
ireturn
8: StackMap locals: com.oracle.svm.core.log.Log
StackMap stack:
aload 4
ldc " returns true]"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
pop
9: iconst_1
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 frameSP Lorg/graalvm/word/Pointer;
0 10 1 frameIP Lorg/graalvm/nativeimage/c/function/CodePointer;
0 10 2 codeInfo Lcom/oracle/svm/core/code/CodeInfo;
0 10 3 deoptimizedFrame Lcom/oracle/svm/core/deopt/DeoptimizedFrame;
1 10 4 trace Lcom/oracle/svm/core/log/Log;
MethodParameters:
Name Flags
frameSP
frameIP
codeInfo
deoptimizedFrame
private static com.oracle.svm.core.log.Log getTraceLog();
descriptor: ()Lcom/oracle/svm/core/log/Log;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic com.oracle.svm.core.genscavenge.HeapOptions.TraceStackVerification:Lcom/oracle/svm/core/option/HostedOptionKey;
invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 1
invokestatic com.oracle.svm.core.log.Log.log:()Lcom/oracle/svm/core/log/Log;
goto 2
StackMap locals:
StackMap stack:
1: invokestatic com.oracle.svm.core.log.Log.noopLog:()Lcom/oracle/svm/core/log/Log;
StackMap locals:
StackMap stack: com.oracle.svm.core.log.Log
2: areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "StackVerifier.java"
NestMembers:
com.oracle.svm.core.genscavenge.StackVerifier$StackFrameVerifierVisitor com.oracle.svm.core.genscavenge.StackVerifier$VerifyFrameReferencesVisitor
InnerClasses:
private StackFrameVerifierVisitor = com.oracle.svm.core.genscavenge.StackVerifier$StackFrameVerifierVisitor of com.oracle.svm.core.genscavenge.StackVerifier
private VerifyFrameReferencesVisitor = com.oracle.svm.core.genscavenge.StackVerifier$VerifyFrameReferencesVisitor of com.oracle.svm.core.genscavenge.StackVerifier