public class com.oracle.svm.core.jdk.StackTraceUtils
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.svm.core.jdk.StackTraceUtils
super_class: java.lang.Object
{
private static final java.lang.Class<?>[] NO_CLASSES;
descriptor: [Ljava/lang/Class;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: [Ljava/lang/Class<*>;
private static final java.lang.StackTraceElement[] NO_ELEMENTS;
descriptor: [Ljava/lang/StackTraceElement;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: iconst_0
anewarray java.lang.Class
putstatic com.oracle.svm.core.jdk.StackTraceUtils.NO_CLASSES:[Ljava/lang/Class;
1: iconst_0
anewarray java.lang.StackTraceElement
putstatic com.oracle.svm.core.jdk.StackTraceUtils.NO_ELEMENTS:[Ljava/lang/StackTraceElement;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/core/jdk/StackTraceUtils;
public static java.lang.StackTraceElement[] getStackTrace(boolean, org.graalvm.word.Pointer);
descriptor: (ZLorg/graalvm/word/Pointer;)[Ljava/lang/StackTraceElement;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: new com.oracle.svm.core.jdk.BuildStackTraceVisitor
dup
iload 0
getstatic com.oracle.svm.core.SubstrateOptions.MaxJavaStackTraceDepth:Lcom/oracle/svm/core/option/RuntimeOptionKey;
invokevirtual com.oracle.svm.core.option.RuntimeOptionKey.getValue:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
invokespecial com.oracle.svm.core.jdk.BuildStackTraceVisitor.<init>:(ZI)V
astore 2
start local 2 1: aload 1
aload 2
invokestatic com.oracle.svm.core.stack.JavaStackWalker.walkCurrentThread:(Lorg/graalvm/word/Pointer;Lcom/oracle/svm/core/stack/StackFrameVisitor;)Z
pop
2: aload 2
getfield com.oracle.svm.core.jdk.BuildStackTraceVisitor.trace:Ljava/util/ArrayList;
getstatic com.oracle.svm.core.jdk.StackTraceUtils.NO_ELEMENTS:[Ljava/lang/StackTraceElement;
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.StackTraceElement[]
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 filterExceptions Z
0 3 1 startSP Lorg/graalvm/word/Pointer;
1 3 2 visitor Lcom/oracle/svm/core/jdk/BuildStackTraceVisitor;
MethodParameters:
Name Flags
filterExceptions
startSP
public static java.lang.StackTraceElement[] getStackTrace(boolean, org.graalvm.nativeimage.IsolateThread);
descriptor: (ZLorg/graalvm/nativeimage/IsolateThread;)[Ljava/lang/StackTraceElement;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: new com.oracle.svm.core.jdk.BuildStackTraceVisitor
dup
iload 0
getstatic com.oracle.svm.core.SubstrateOptions.MaxJavaStackTraceDepth:Lcom/oracle/svm/core/option/RuntimeOptionKey;
invokevirtual com.oracle.svm.core.option.RuntimeOptionKey.getValue:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
invokespecial com.oracle.svm.core.jdk.BuildStackTraceVisitor.<init>:(ZI)V
astore 2
start local 2 1: aload 1
aload 2
invokestatic com.oracle.svm.core.stack.JavaStackWalker.walkThread:(Lorg/graalvm/nativeimage/IsolateThread;Lcom/oracle/svm/core/stack/StackFrameVisitor;)Z
pop
2: aload 2
getfield com.oracle.svm.core.jdk.BuildStackTraceVisitor.trace:Ljava/util/ArrayList;
getstatic com.oracle.svm.core.jdk.StackTraceUtils.NO_ELEMENTS:[Ljava/lang/StackTraceElement;
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.StackTraceElement[]
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 filterExceptions Z
0 3 1 thread Lorg/graalvm/nativeimage/IsolateThread;
1 3 2 visitor Lcom/oracle/svm/core/jdk/BuildStackTraceVisitor;
MethodParameters:
Name Flags
filterExceptions
thread
public static java.lang.Class<?>[] getClassContext(int, org.graalvm.word.Pointer);
descriptor: (ILorg/graalvm/word/Pointer;)[Ljava/lang/Class;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: new com.oracle.svm.core.jdk.GetClassContextVisitor
dup
iload 0
invokespecial com.oracle.svm.core.jdk.GetClassContextVisitor.<init>:(I)V
astore 2
start local 2 1: aload 1
aload 2
invokestatic com.oracle.svm.core.stack.JavaStackWalker.walkCurrentThread:(Lorg/graalvm/word/Pointer;Lcom/oracle/svm/core/stack/StackFrameVisitor;)Z
pop
2: aload 2
getfield com.oracle.svm.core.jdk.GetClassContextVisitor.trace:Ljava/util/ArrayList;
getstatic com.oracle.svm.core.jdk.StackTraceUtils.NO_CLASSES:[Ljava/lang/Class;
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.Class[]
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 skip I
0 3 1 startSP Lorg/graalvm/word/Pointer;
1 3 2 visitor Lcom/oracle/svm/core/jdk/GetClassContextVisitor;
Signature: (ILorg/graalvm/word/Pointer;)[Ljava/lang/Class<*>;
MethodParameters:
Name Flags
skip
startSP
public static java.lang.Class<?> getCallerClass(org.graalvm.word.Pointer, boolean);
descriptor: (Lorg/graalvm/word/Pointer;Z)Ljava/lang/Class;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
iconst_0
iconst_1
invokestatic com.oracle.svm.core.jdk.StackTraceUtils.getCallerClass:(Lorg/graalvm/word/Pointer;ZIZ)Ljava/lang/Class;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 startSP Lorg/graalvm/word/Pointer;
0 1 1 showLambdaFrames Z
Signature: (Lorg/graalvm/word/Pointer;Z)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
startSP
showLambdaFrames
public static java.lang.Class<?> getCallerClass(org.graalvm.word.Pointer, boolean, int, boolean);
descriptor: (Lorg/graalvm/word/Pointer;ZIZ)Ljava/lang/Class;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new com.oracle.svm.core.jdk.GetCallerClassVisitor
dup
iload 1
iload 2
iload 3
invokespecial com.oracle.svm.core.jdk.GetCallerClassVisitor.<init>:(ZIZ)V
astore 4
start local 4 1: aload 0
aload 4
invokestatic com.oracle.svm.core.stack.JavaStackWalker.walkCurrentThread:(Lorg/graalvm/word/Pointer;Lcom/oracle/svm/core/stack/StackFrameVisitor;)Z
pop
2: aload 4
getfield com.oracle.svm.core.jdk.GetCallerClassVisitor.result:Ljava/lang/Class;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 startSP Lorg/graalvm/word/Pointer;
0 3 1 showLambdaFrames Z
0 3 2 depth I
0 3 3 ignoreFirst Z
1 3 4 visitor Lcom/oracle/svm/core/jdk/GetCallerClassVisitor;
Signature: (Lorg/graalvm/word/Pointer;ZIZ)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
startSP
showLambdaFrames
depth
ignoreFirst
public static boolean shouldShowFrame(com.oracle.svm.core.code.FrameInfoQueryResult, boolean, boolean, boolean);
descriptor: (Lcom/oracle/svm/core/code/FrameInfoQueryResult;ZZZ)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
ifeq 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.svm.core.code.FrameInfoQueryResult.getSourceClass:()Ljava/lang/Class;
astore 4
start local 4 3: aload 4
ifnonnull 5
4: iconst_0
ireturn
5: StackMap locals: java.lang.Class
StackMap stack:
aload 4
ldc Lcom/oracle/svm/core/jdk/InternalVMMethod;
invokestatic org.graalvm.util.DirectAnnotationAccess.isAnnotationPresent:(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;)Z
ifeq 7
6: iconst_0
ireturn
7: StackMap locals:
StackMap stack:
iload 1
ifne 9
aload 4
ldc Lcom/oracle/svm/core/jdk/LambdaFormHiddenMethod;
invokestatic org.graalvm.util.DirectAnnotationAccess.isAnnotationPresent:(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;)Z
ifeq 9
8: iconst_0
ireturn
9: StackMap locals:
StackMap stack:
iload 2
ifne 13
aload 4
ldc Ljava/lang/reflect/Method;
if_acmpne 10
ldc "invoke"
aload 0
invokevirtual com.oracle.svm.core.code.FrameInfoQueryResult.getSourceMethodName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 12
10: StackMap locals:
StackMap stack:
aload 4
ldc Ljava/lang/reflect/Constructor;
if_acmpne 11
ldc "newInstance"
aload 0
invokevirtual com.oracle.svm.core.code.FrameInfoQueryResult.getSourceMethodName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 12
11: StackMap locals:
StackMap stack:
aload 4
ldc Ljava/lang/Class;
if_acmpne 13
ldc "newInstance"
aload 0
invokevirtual com.oracle.svm.core.code.FrameInfoQueryResult.getSourceMethodName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 13
12: StackMap locals:
StackMap stack:
iconst_0
ireturn
13: StackMap locals:
StackMap stack:
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 14 0 frameInfo Lcom/oracle/svm/core/code/FrameInfoQueryResult;
0 14 1 showLambdaFrames Z
0 14 2 showReflectFrames Z
0 14 3 showHiddenFrames Z
3 14 4 clazz Ljava/lang/Class<*>;
MethodParameters:
Name Flags
frameInfo
showLambdaFrames
showReflectFrames
showHiddenFrames
public static boolean shouldShowFrame(jdk.vm.ci.meta.MetaAccessProvider, jdk.vm.ci.meta.ResolvedJavaMethod, boolean, boolean, boolean);
descriptor: (Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/meta/ResolvedJavaMethod;ZZZ)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 4
ifeq 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
astore 5
start local 5 3: aload 5
ldc Lcom/oracle/svm/core/jdk/InternalVMMethod;
invokestatic org.graalvm.util.DirectAnnotationAccess.isAnnotationPresent:(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;)Z
ifeq 5
4: iconst_0
ireturn
5: StackMap locals: jdk.vm.ci.meta.ResolvedJavaType
StackMap stack:
iload 2
ifne 7
aload 5
ldc Lcom/oracle/svm/core/jdk/LambdaFormHiddenMethod;
invokestatic org.graalvm.util.DirectAnnotationAccess.isAnnotationPresent:(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;)Z
ifeq 7
6: iconst_0
ireturn
7: StackMap locals:
StackMap stack:
iload 3
ifne 11
aload 5
aload 0
ldc Ljava/lang/reflect/Method;
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 8
ldc "invoke"
aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 10
8: StackMap locals:
StackMap stack:
aload 5
aload 0
ldc Ljava/lang/reflect/Constructor;
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 9
ldc "newInstance"
aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 10
9: StackMap locals:
StackMap stack:
aload 5
aload 0
ldc Ljava/lang/Class;
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 11
ldc "newInstance"
aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 11
10: StackMap locals:
StackMap stack:
iconst_0
ireturn
11: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
0 12 1 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 12 2 showLambdaFrames Z
0 12 3 showReflectFrames Z
0 12 4 showHiddenFrames Z
3 12 5 clazz Ljdk/vm/ci/meta/ResolvedJavaType;
MethodParameters:
Name Flags
metaAccess
method
showLambdaFrames
showReflectFrames
showHiddenFrames
}
SourceFile: "StackTraceUtils.java"