final class com.oracle.svm.core.jdk.Target_java_lang_StackWalker$StackFrameSpliterator implements java.util.Spliterator<java.lang.StackWalker$StackFrame>
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.oracle.svm.core.jdk.Target_java_lang_StackWalker$StackFrameSpliterator
super_class: java.lang.Object
{
private final java.lang.Thread thread;
descriptor: Ljava/lang/Thread;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private com.oracle.svm.core.stack.JavaStackWalk walk;
descriptor: Lcom/oracle/svm/core/stack/JavaStackWalk;
flags: (0x0002) ACC_PRIVATE
private com.oracle.svm.core.deopt.DeoptimizedFrame$VirtualFrame curDeoptimizedFrame;
descriptor: Lcom/oracle/svm/core/deopt/DeoptimizedFrame$VirtualFrame;
flags: (0x0002) ACC_PRIVATE
private com.oracle.svm.core.code.FrameInfoQueryResult curRegularFrame;
descriptor: Lcom/oracle/svm/core/code/FrameInfoQueryResult;
flags: (0x0002) ACC_PRIVATE
final com.oracle.svm.core.jdk.Target_java_lang_StackWalker this$0;
descriptor: Lcom/oracle/svm/core/jdk/Target_java_lang_StackWalker;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(com.oracle.svm.core.jdk.Target_java_lang_StackWalker, com.oracle.svm.core.stack.JavaStackWalk);
descriptor: (Lcom/oracle/svm/core/jdk/Target_java_lang_StackWalker;Lcom/oracle/svm/core/stack/JavaStackWalk;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 2 0: aload 0
aload 1
putfield com.oracle.svm.core.jdk.Target_java_lang_StackWalker$StackFrameSpliterator.this$0:Lcom/oracle/svm/core/jdk/Target_java_lang_StackWalker;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 2
putfield com.oracle.svm.core.jdk.Target_java_lang_StackWalker$StackFrameSpliterator.walk:Lcom/oracle/svm/core/stack/JavaStackWalk;
2: aload 0
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
putfield com.oracle.svm.core.jdk.Target_java_lang_StackWalker$StackFrameSpliterator.thread:Ljava/lang/Thread;
3: return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/svm/core/jdk/Target_java_lang_StackWalker$StackFrameSpliterator;
0 4 2 walk Lcom/oracle/svm/core/stack/JavaStackWalk;
MethodParameters:
Name Flags
this$0 final
walk
void invalidate();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokestatic org.graalvm.word.WordFactory.nullPointer:()Lorg/graalvm/word/PointerBase;
checkcast com.oracle.svm.core.stack.JavaStackWalk
putfield com.oracle.svm.core.jdk.Target_java_lang_StackWalker$StackFrameSpliterator.walk:Lcom/oracle/svm/core/stack/JavaStackWalk;
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/svm/core/jdk/Target_java_lang_StackWalker$StackFrameSpliterator;
public boolean tryAdvance(java.util.function.Consumer<? super java.lang.StackWalker$StackFrame>);
descriptor: (Ljava/util/function/Consumer;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.svm.core.jdk.Target_java_lang_StackWalker$StackFrameSpliterator.thread:Ljava/lang/Thread;
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
if_acmpeq 2
1: new java.lang.IllegalStateException
dup
ldc "Invalid thread"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.svm.core.jdk.Target_java_lang_StackWalker$StackFrameSpliterator.walk:Lcom/oracle/svm/core/stack/JavaStackWalk;
invokeinterface com.oracle.svm.core.stack.JavaStackWalk.isNull:()Z
ifeq 4
3: new java.lang.IllegalStateException
dup
ldc "Stack traversal no longer valid"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.svm.core.jdk.Target_java_lang_StackWalker$StackFrameSpliterator.this$0:Lcom/oracle/svm/core/jdk/Target_java_lang_StackWalker;
getfield com.oracle.svm.core.jdk.Target_java_lang_StackWalker.options:Ljava/util/Set;
getstatic java.lang.StackWalker$Option.SHOW_HIDDEN_FRAMES:Ljava/lang/StackWalker$Option;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
istore 2
start local 2 5: aload 0
getfield com.oracle.svm.core.jdk.Target_java_lang_StackWalker$StackFrameSpliterator.this$0:Lcom/oracle/svm/core/jdk/Target_java_lang_StackWalker;
getfield com.oracle.svm.core.jdk.Target_java_lang_StackWalker.options:Ljava/util/Set;
getstatic java.lang.StackWalker$Option.SHOW_REFLECT_FRAMES:Ljava/lang/StackWalker$Option;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
istore 3
start local 3 6: StackMap locals: int int
StackMap stack:
aload 0
getfield com.oracle.svm.core.jdk.Target_java_lang_StackWalker$StackFrameSpliterator.curDeoptimizedFrame:Lcom/oracle/svm/core/deopt/DeoptimizedFrame$VirtualFrame;
ifnull 12
7: aload 0
getfield com.oracle.svm.core.jdk.Target_java_lang_StackWalker$StackFrameSpliterator.curDeoptimizedFrame:Lcom/oracle/svm/core/deopt/DeoptimizedFrame$VirtualFrame;
invokevirtual com.oracle.svm.core.deopt.DeoptimizedFrame$VirtualFrame.getFrameInfo:()Lcom/oracle/svm/core/code/FrameInfoQueryResult;
astore 4
start local 4 8: aload 0
aload 0
getfield com.oracle.svm.core.jdk.Target_java_lang_StackWalker$StackFrameSpliterator.curDeoptimizedFrame:Lcom/oracle/svm/core/deopt/DeoptimizedFrame$VirtualFrame;
invokevirtual com.oracle.svm.core.deopt.DeoptimizedFrame$VirtualFrame.getCaller:()Lcom/oracle/svm/core/deopt/DeoptimizedFrame$VirtualFrame;
putfield com.oracle.svm.core.jdk.Target_java_lang_StackWalker$StackFrameSpliterator.curDeoptimizedFrame:Lcom/oracle/svm/core/deopt/DeoptimizedFrame$VirtualFrame;
9: aload 4
iload 2
iload 3
iload 2
invokestatic com.oracle.svm.core.jdk.StackTraceUtils.shouldShowFrame:(Lcom/oracle/svm/core/code/FrameInfoQueryResult;ZZZ)Z
ifeq 6
10: aload 1
new com.oracle.svm.core.jdk.Target_java_lang_StackWalker$StackFrameImpl
dup
aload 0
getfield com.oracle.svm.core.jdk.Target_java_lang_StackWalker$StackFrameSpliterator.this$0:Lcom/oracle/svm/core/jdk/Target_java_lang_StackWalker;
aload 4
invokespecial com.oracle.svm.core.jdk.Target_java_lang_StackWalker$StackFrameImpl.<init>:(Lcom/oracle/svm/core/jdk/Target_java_lang_StackWalker;Lcom/oracle/svm/core/code/FrameInfoQueryResult;)V
invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
11: iconst_1
ireturn
end local 4 12: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.svm.core.jdk.Target_java_lang_StackWalker$StackFrameSpliterator.curRegularFrame:Lcom/oracle/svm/core/code/FrameInfoQueryResult;
ifnull 18
13: aload 0
getfield com.oracle.svm.core.jdk.Target_java_lang_StackWalker$StackFrameSpliterator.curRegularFrame:Lcom/oracle/svm/core/code/FrameInfoQueryResult;
astore 4
start local 4 14: aload 0
aload 0
getfield com.oracle.svm.core.jdk.Target_java_lang_StackWalker$StackFrameSpliterator.curRegularFrame:Lcom/oracle/svm/core/code/FrameInfoQueryResult;
invokevirtual com.oracle.svm.core.code.FrameInfoQueryResult.getCaller:()Lcom/oracle/svm/core/code/FrameInfoQueryResult;
putfield com.oracle.svm.core.jdk.Target_java_lang_StackWalker$StackFrameSpliterator.curRegularFrame:Lcom/oracle/svm/core/code/FrameInfoQueryResult;
15: aload 4
iload 2
iload 3
iload 2
invokestatic com.oracle.svm.core.jdk.StackTraceUtils.shouldShowFrame:(Lcom/oracle/svm/core/code/FrameInfoQueryResult;ZZZ)Z
ifeq 6
16: aload 1
new com.oracle.svm.core.jdk.Target_java_lang_StackWalker$StackFrameImpl
dup
aload 0
getfield com.oracle.svm.core.jdk.Target_java_lang_StackWalker$StackFrameSpliterator.this$0:Lcom/oracle/svm/core/jdk/Target_java_lang_StackWalker;
aload 4
invokespecial com.oracle.svm.core.jdk.Target_java_lang_StackWalker$StackFrameImpl.<init>:(Lcom/oracle/svm/core/jdk/Target_java_lang_StackWalker;Lcom/oracle/svm/core/code/FrameInfoQueryResult;)V
invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
17: iconst_1
ireturn
end local 4 18: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.svm.core.jdk.Target_java_lang_StackWalker$StackFrameSpliterator.walk:Lcom/oracle/svm/core/stack/JavaStackWalk;
invokeinterface com.oracle.svm.core.stack.JavaStackWalk.getSP:()Lorg/graalvm/word/Pointer;
invokeinterface org.graalvm.word.Pointer.isNonNull:()Z
ifeq 21
19: aload 0
invokevirtual com.oracle.svm.core.jdk.Target_java_lang_StackWalker$StackFrameSpliterator.advancePhysically:()V
20: goto 6
21: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lcom/oracle/svm/core/jdk/Target_java_lang_StackWalker$StackFrameSpliterator;
0 22 1 action Ljava/util/function/Consumer<-Ljava/lang/StackWalker$StackFrame;>;
5 22 2 showHiddenFrames Z
6 22 3 showReflectFrames Z
8 12 4 frameInfo Lcom/oracle/svm/core/code/FrameInfoQueryResult;
14 18 4 frameInfo Lcom/oracle/svm/core/code/FrameInfoQueryResult;
Signature: (Ljava/util/function/Consumer<-Ljava/lang/StackWalker$StackFrame;>;)Z
MethodParameters:
Name Flags
action
private void advancePhysically();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=1
start local 0 0: invokestatic com.oracle.svm.core.FrameAccess.singleton:()Lcom/oracle/svm/core/FrameAccess;
aload 0
getfield com.oracle.svm.core.jdk.Target_java_lang_StackWalker$StackFrameSpliterator.walk:Lcom/oracle/svm/core/stack/JavaStackWalk;
invokeinterface com.oracle.svm.core.stack.JavaStackWalk.getSP:()Lorg/graalvm/word/Pointer;
invokevirtual com.oracle.svm.core.FrameAccess.readReturnAddress:(Lorg/graalvm/word/Pointer;)Lorg/graalvm/nativeimage/c/function/CodePointer;
astore 1
start local 1 1: aload 0
getfield com.oracle.svm.core.jdk.Target_java_lang_StackWalker$StackFrameSpliterator.walk:Lcom/oracle/svm/core/stack/JavaStackWalk;
aload 1
invokeinterface com.oracle.svm.core.stack.JavaStackWalk.setPossiblyStaleIP:(Lorg/graalvm/nativeimage/c/function/CodePointer;)V
2: aload 0
getfield com.oracle.svm.core.jdk.Target_java_lang_StackWalker$StackFrameSpliterator.walk:Lcom/oracle/svm/core/stack/JavaStackWalk;
invokeinterface com.oracle.svm.core.stack.JavaStackWalk.getSP:()Lorg/graalvm/word/Pointer;
invokestatic com.oracle.svm.core.deopt.Deoptimizer.checkDeoptimized:(Lorg/graalvm/word/Pointer;)Lcom/oracle/svm/core/deopt/DeoptimizedFrame;
astore 2
start local 2 3: aload 2
ifnull 8
4: aload 0
aload 2
invokevirtual com.oracle.svm.core.deopt.DeoptimizedFrame.getTopFrame:()Lcom/oracle/svm/core/deopt/DeoptimizedFrame$VirtualFrame;
putfield com.oracle.svm.core.jdk.Target_java_lang_StackWalker$StackFrameSpliterator.curDeoptimizedFrame:Lcom/oracle/svm/core/deopt/DeoptimizedFrame$VirtualFrame;
5: aload 0
getfield com.oracle.svm.core.jdk.Target_java_lang_StackWalker$StackFrameSpliterator.walk:Lcom/oracle/svm/core/stack/JavaStackWalk;
invokestatic org.graalvm.word.WordFactory.nullPointer:()Lorg/graalvm/word/PointerBase;
checkcast com.oracle.svm.core.code.UntetheredCodeInfo
invokeinterface com.oracle.svm.core.stack.JavaStackWalk.setIPCodeInfo:(Lcom/oracle/svm/core/code/UntetheredCodeInfo;)V
6: aload 0
getfield com.oracle.svm.core.jdk.Target_java_lang_StackWalker$StackFrameSpliterator.walk:Lcom/oracle/svm/core/stack/JavaStackWalk;
invokestatic org.graalvm.word.WordFactory.nullPointer:()Lorg/graalvm/word/PointerBase;
checkcast com.oracle.svm.core.code.CodeInfo
invokestatic com.oracle.svm.core.stack.JavaStackWalker.continueWalk:(Lcom/oracle/svm/core/stack/JavaStackWalk;Lcom/oracle/svm/core/code/CodeInfo;)Z
pop
7: goto 19
8: StackMap locals: org.graalvm.nativeimage.c.function.CodePointer com.oracle.svm.core.deopt.DeoptimizedFrame
StackMap stack:
aload 1
invokestatic com.oracle.svm.core.code.CodeInfoTable.lookupCodeInfo:(Lorg/graalvm/nativeimage/c/function/CodePointer;)Lcom/oracle/svm/core/code/UntetheredCodeInfo;
astore 3
start local 3 9: aload 0
getfield com.oracle.svm.core.jdk.Target_java_lang_StackWalker$StackFrameSpliterator.walk:Lcom/oracle/svm/core/stack/JavaStackWalk;
aload 3
invokeinterface com.oracle.svm.core.stack.JavaStackWalk.setIPCodeInfo:(Lcom/oracle/svm/core/code/UntetheredCodeInfo;)V
10: aload 3
invokestatic com.oracle.svm.core.code.CodeInfoAccess.acquireTether:(Lcom/oracle/svm/core/code/UntetheredCodeInfo;)Ljava/lang/Object;
astore 4
start local 4 11: aload 3
aload 4
invokestatic com.oracle.svm.core.code.CodeInfoAccess.convert:(Lcom/oracle/svm/core/code/UntetheredCodeInfo;Ljava/lang/Object;)Lcom/oracle/svm/core/code/CodeInfo;
astore 5
start local 5 12: aload 0
aload 0
aload 5
aload 1
invokevirtual com.oracle.svm.core.jdk.Target_java_lang_StackWalker$StackFrameSpliterator.queryFrameInfo:(Lcom/oracle/svm/core/code/CodeInfo;Lorg/graalvm/nativeimage/c/function/CodePointer;)Lcom/oracle/svm/core/code/FrameInfoQueryResult;
putfield com.oracle.svm.core.jdk.Target_java_lang_StackWalker$StackFrameSpliterator.curRegularFrame:Lcom/oracle/svm/core/code/FrameInfoQueryResult;
13: aload 0
getfield com.oracle.svm.core.jdk.Target_java_lang_StackWalker$StackFrameSpliterator.walk:Lcom/oracle/svm/core/stack/JavaStackWalk;
aload 5
invokestatic com.oracle.svm.core.stack.JavaStackWalker.continueWalk:(Lcom/oracle/svm/core/stack/JavaStackWalk;Lcom/oracle/svm/core/code/CodeInfo;)Z
pop
end local 5 14: goto 18
StackMap locals: com.oracle.svm.core.jdk.Target_java_lang_StackWalker$StackFrameSpliterator org.graalvm.nativeimage.c.function.CodePointer com.oracle.svm.core.deopt.DeoptimizedFrame com.oracle.svm.core.code.UntetheredCodeInfo java.lang.Object
StackMap stack: java.lang.Throwable
15: astore 6
16: aload 3
aload 4
invokestatic com.oracle.svm.core.code.CodeInfoAccess.releaseTether:(Lcom/oracle/svm/core/code/UntetheredCodeInfo;Ljava/lang/Object;)V
17: aload 6
athrow
18: StackMap locals:
StackMap stack:
aload 3
aload 4
invokestatic com.oracle.svm.core.code.CodeInfoAccess.releaseTether:(Lcom/oracle/svm/core/code/UntetheredCodeInfo;Ljava/lang/Object;)V
end local 4 end local 3 19: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lcom/oracle/svm/core/jdk/Target_java_lang_StackWalker$StackFrameSpliterator;
1 20 1 ip Lorg/graalvm/nativeimage/c/function/CodePointer;
3 20 2 deoptimizedFrame Lcom/oracle/svm/core/deopt/DeoptimizedFrame;
9 19 3 untetheredInfo Lcom/oracle/svm/core/code/UntetheredCodeInfo;
11 19 4 tether Ljava/lang/Object;
12 14 5 info Lcom/oracle/svm/core/code/CodeInfo;
Exception table:
from to target type
11 15 15 any
RuntimeVisibleAnnotations:
com.oracle.svm.core.annotate.Uninterruptible(reason = "Prevent deoptimization of stack frames while in this method.")
private com.oracle.svm.core.code.FrameInfoQueryResult queryFrameInfo(com.oracle.svm.core.code.CodeInfo, org.graalvm.nativeimage.c.function.CodePointer);
descriptor: (Lcom/oracle/svm/core/code/CodeInfo;Lorg/graalvm/nativeimage/c/function/CodePointer;)Lcom/oracle/svm/core/code/FrameInfoQueryResult;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
invokestatic com.oracle.svm.core.code.CodeInfoTable.lookupCodeInfoQueryResult:(Lcom/oracle/svm/core/code/CodeInfo;Lorg/graalvm/nativeimage/c/function/CodePointer;)Lcom/oracle/svm/core/code/CodeInfoQueryResult;
invokevirtual com.oracle.svm.core.code.CodeInfoQueryResult.getFrameInfo:()Lcom/oracle/svm/core/code/FrameInfoQueryResult;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/core/jdk/Target_java_lang_StackWalker$StackFrameSpliterator;
0 1 1 info Lcom/oracle/svm/core/code/CodeInfo;
0 1 2 ip Lorg/graalvm/nativeimage/c/function/CodePointer;
RuntimeVisibleAnnotations:
com.oracle.svm.core.annotate.Uninterruptible(reason = "Wraps the now safe call to query frame information.", calleeMustBe = false)
MethodParameters:
Name Flags
info
ip
public java.util.Spliterator<java.lang.StackWalker$StackFrame> trySplit();
descriptor: ()Ljava/util/Spliterator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/core/jdk/Target_java_lang_StackWalker$StackFrameSpliterator;
Signature: ()Ljava/util/Spliterator<Ljava/lang/StackWalker$StackFrame;>;
public long estimateSize();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: ldc 9223372036854775807
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/core/jdk/Target_java_lang_StackWalker$StackFrameSpliterator;
public int characteristics();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: sipush 1296
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/core/jdk/Target_java_lang_StackWalker$StackFrameSpliterator;
}
Signature: Ljava/lang/Object;Ljava/util/Spliterator<Ljava/lang/StackWalker$StackFrame;>;
SourceFile: "Target_java_lang_StackWalker.java"
NestHost: com.oracle.svm.core.jdk.Target_java_lang_StackWalker
InnerClasses:
public VirtualFrame = com.oracle.svm.core.deopt.DeoptimizedFrame$VirtualFrame of com.oracle.svm.core.deopt.DeoptimizedFrame
final StackFrameImpl = com.oracle.svm.core.jdk.Target_java_lang_StackWalker$StackFrameImpl of com.oracle.svm.core.jdk.Target_java_lang_StackWalker
final StackFrameSpliterator = com.oracle.svm.core.jdk.Target_java_lang_StackWalker$StackFrameSpliterator of com.oracle.svm.core.jdk.Target_java_lang_StackWalker
public final Option = java.lang.StackWalker$Option of java.lang.StackWalker
public abstract StackFrame = java.lang.StackWalker$StackFrame of java.lang.StackWalker