class com.oracle.svm.core.genscavenge.PathExhibitor$FrameSlotVisitor extends com.oracle.svm.core.genscavenge.PathExhibitor$AbstractVisitor implements com.oracle.svm.core.heap.ObjectReferenceVisitor
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.svm.core.genscavenge.PathExhibitor$FrameSlotVisitor
super_class: com.oracle.svm.core.genscavenge.PathExhibitor$AbstractVisitor
{
private org.graalvm.nativeimage.c.function.CodePointer ip;
descriptor: Lorg/graalvm/nativeimage/c/function/CodePointer;
flags: (0x0002) ACC_PRIVATE
private com.oracle.svm.core.deopt.DeoptimizedFrame deoptFrame;
descriptor: Lcom/oracle/svm/core/deopt/DeoptimizedFrame;
flags: (0x0002) ACC_PRIVATE
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial com.oracle.svm.core.genscavenge.PathExhibitor$AbstractVisitor.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/svm/core/genscavenge/PathExhibitor$FrameSlotVisitor;
void initialize(org.graalvm.nativeimage.c.function.CodePointer, com.oracle.svm.core.deopt.DeoptimizedFrame, com.oracle.svm.core.genscavenge.PathExhibitor$TargetMatcher, com.oracle.svm.core.genscavenge.PathExhibitor$PathEdge);
descriptor: (Lorg/graalvm/nativeimage/c/function/CodePointer;Lcom/oracle/svm/core/deopt/DeoptimizedFrame;Lcom/oracle/svm/core/genscavenge/PathExhibitor$TargetMatcher;Lcom/oracle/svm/core/genscavenge/PathExhibitor$PathEdge;)V
flags: (0x0000)
Code:
stack=3, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 3
aload 4
invokespecial com.oracle.svm.core.genscavenge.PathExhibitor$AbstractVisitor.initialize:(Lcom/oracle/svm/core/genscavenge/PathExhibitor$TargetMatcher;Lcom/oracle/svm/core/genscavenge/PathExhibitor$PathEdge;)V
1: aload 0
aload 1
putfield com.oracle.svm.core.genscavenge.PathExhibitor$FrameSlotVisitor.ip:Lorg/graalvm/nativeimage/c/function/CodePointer;
2: aload 0
aload 2
putfield com.oracle.svm.core.genscavenge.PathExhibitor$FrameSlotVisitor.deoptFrame:Lcom/oracle/svm/core/deopt/DeoptimizedFrame;
3: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/svm/core/genscavenge/PathExhibitor$FrameSlotVisitor;
0 4 1 ipArg Lorg/graalvm/nativeimage/c/function/CodePointer;
0 4 2 deoptFrameArg Lcom/oracle/svm/core/deopt/DeoptimizedFrame;
0 4 3 targetMatcher Lcom/oracle/svm/core/genscavenge/PathExhibitor$TargetMatcher;
0 4 4 edge Lcom/oracle/svm/core/genscavenge/PathExhibitor$PathEdge;
MethodParameters:
Name Flags
ipArg
deoptFrameArg
targetMatcher
edge
public boolean visitObjectReference(org.graalvm.word.Pointer, boolean);
descriptor: (Lorg/graalvm/word/Pointer;Z)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: invokestatic com.oracle.svm.core.log.Log.noopLog:()Lcom/oracle/svm/core/log/Log;
astore 3
start local 3 1: aload 1
invokeinterface org.graalvm.word.Pointer.isNull:()Z
ifeq 3
2: iconst_1
ireturn
3: StackMap locals: com.oracle.svm.core.log.Log
StackMap stack:
invokestatic com.oracle.svm.core.heap.ReferenceAccess.singleton:()Lcom/oracle/svm/core/heap/ReferenceAccess;
aload 1
iload 2
invokeinterface com.oracle.svm.core.heap.ReferenceAccess.readObjectAsUntrackedPointer:(Lorg/graalvm/word/Pointer;Z)Lorg/graalvm/compiler/word/Word;
astore 4
start local 4 4: aload 3
ldc " referentPointer: "
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;
pop
5: aload 0
getfield com.oracle.svm.core.genscavenge.PathExhibitor$FrameSlotVisitor.target:Lcom/oracle/svm/core/genscavenge/PathExhibitor$TargetMatcher;
aload 4
invokeinterface org.graalvm.word.Pointer.toObject:()Ljava/lang/Object;
invokeinterface com.oracle.svm.core.genscavenge.PathExhibitor$TargetMatcher.matches:(Ljava/lang/Object;)Z
ifeq 8
6: aload 0
getfield com.oracle.svm.core.genscavenge.PathExhibitor$FrameSlotVisitor.result:Lcom/oracle/svm/core/genscavenge/PathExhibitor$PathEdge;
new com.oracle.svm.core.genscavenge.PathExhibitor$StackElement
dup
aload 1
aload 0
getfield com.oracle.svm.core.genscavenge.PathExhibitor$FrameSlotVisitor.ip:Lorg/graalvm/nativeimage/c/function/CodePointer;
aload 0
getfield com.oracle.svm.core.genscavenge.PathExhibitor$FrameSlotVisitor.deoptFrame:Lcom/oracle/svm/core/deopt/DeoptimizedFrame;
invokespecial com.oracle.svm.core.genscavenge.PathExhibitor$StackElement.<init>:(Lorg/graalvm/word/Pointer;Lorg/graalvm/nativeimage/c/function/CodePointer;Lcom/oracle/svm/core/deopt/DeoptimizedFrame;)V
new com.oracle.svm.core.genscavenge.PathExhibitor$LeafElement
dup
aload 4
invokeinterface org.graalvm.word.Pointer.toObject:()Ljava/lang/Object;
invokespecial com.oracle.svm.core.genscavenge.PathExhibitor$LeafElement.<init>:(Ljava/lang/Object;)V
invokevirtual com.oracle.svm.core.genscavenge.PathExhibitor$PathEdge.fill:(Lcom/oracle/svm/core/genscavenge/PathExhibitor$PathElement;Lcom/oracle/svm/core/genscavenge/PathExhibitor$PathElement;)V
7: iconst_0
ireturn
8: StackMap locals: org.graalvm.word.Pointer
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 9 0 this Lcom/oracle/svm/core/genscavenge/PathExhibitor$FrameSlotVisitor;
0 9 1 stackSlot Lorg/graalvm/word/Pointer;
0 9 2 compressed Z
1 9 3 trace Lcom/oracle/svm/core/log/Log;
4 9 4 referentPointer Lorg/graalvm/word/Pointer;
MethodParameters:
Name Flags
stackSlot
compressed
}
SourceFile: "PathExhibitor.java"
NestHost: com.oracle.svm.core.genscavenge.PathExhibitor
InnerClasses:
AbstractVisitor = com.oracle.svm.core.genscavenge.PathExhibitor$AbstractVisitor of com.oracle.svm.core.genscavenge.PathExhibitor
private FrameSlotVisitor = com.oracle.svm.core.genscavenge.PathExhibitor$FrameSlotVisitor of com.oracle.svm.core.genscavenge.PathExhibitor
public LeafElement = com.oracle.svm.core.genscavenge.PathExhibitor$LeafElement of com.oracle.svm.core.genscavenge.PathExhibitor
public PathEdge = com.oracle.svm.core.genscavenge.PathExhibitor$PathEdge of com.oracle.svm.core.genscavenge.PathExhibitor
public abstract PathElement = com.oracle.svm.core.genscavenge.PathExhibitor$PathElement of com.oracle.svm.core.genscavenge.PathExhibitor
public StackElement = com.oracle.svm.core.genscavenge.PathExhibitor$StackElement of com.oracle.svm.core.genscavenge.PathExhibitor
abstract TargetMatcher = com.oracle.svm.core.genscavenge.PathExhibitor$TargetMatcher of com.oracle.svm.core.genscavenge.PathExhibitor