class com.oracle.svm.core.genscavenge.PathExhibitor$BootImageHeapObjRefVisitor 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$BootImageHeapObjRefVisitor
super_class: com.oracle.svm.core.genscavenge.PathExhibitor$AbstractVisitor
{
private java.lang.Object container;
descriptor: Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 // com.oracle.svm.core.genscavenge.PathExhibitor$BootImageHeapObjRefVisitor this
0: .line 314
aload 0 /* this */
invokespecial com.oracle.svm.core.genscavenge.PathExhibitor$AbstractVisitor.<init>:()V
1: .line 315
return
end local 0 // com.oracle.svm.core.genscavenge.PathExhibitor$BootImageHeapObjRefVisitor this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/svm/core/genscavenge/PathExhibitor$BootImageHeapObjRefVisitor;
void initialize(java.lang.Object, com.oracle.svm.core.genscavenge.PathExhibitor$TargetMatcher, com.oracle.svm.core.genscavenge.PathExhibitor$PathEdge);
descriptor: (Ljava/lang/Object;Lcom/oracle/svm/core/genscavenge/PathExhibitor$TargetMatcher;Lcom/oracle/svm/core/genscavenge/PathExhibitor$PathEdge;)V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=4
start local 0 // com.oracle.svm.core.genscavenge.PathExhibitor$BootImageHeapObjRefVisitor this
start local 1 // java.lang.Object containerObj
start local 2 // com.oracle.svm.core.genscavenge.PathExhibitor$TargetMatcher targetMatcher
start local 3 // com.oracle.svm.core.genscavenge.PathExhibitor$PathEdge resultPath
0: .line 318
aload 0 /* this */
aload 2 /* targetMatcher */
aload 3 /* resultPath */
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: .line 319
aload 0 /* this */
aload 1 /* containerObj */
putfield com.oracle.svm.core.genscavenge.PathExhibitor$BootImageHeapObjRefVisitor.container:Ljava/lang/Object;
2: .line 320
return
end local 3 // com.oracle.svm.core.genscavenge.PathExhibitor$PathEdge resultPath
end local 2 // com.oracle.svm.core.genscavenge.PathExhibitor$TargetMatcher targetMatcher
end local 1 // java.lang.Object containerObj
end local 0 // com.oracle.svm.core.genscavenge.PathExhibitor$BootImageHeapObjRefVisitor this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/svm/core/genscavenge/PathExhibitor$BootImageHeapObjRefVisitor;
0 3 1 containerObj Ljava/lang/Object;
0 3 2 targetMatcher Lcom/oracle/svm/core/genscavenge/PathExhibitor$TargetMatcher;
0 3 3 resultPath Lcom/oracle/svm/core/genscavenge/PathExhibitor$PathEdge;
MethodParameters:
Name Flags
containerObj
targetMatcher
resultPath
public boolean visitObjectReference(org.graalvm.word.Pointer, boolean);
descriptor: (Lorg/graalvm/word/Pointer;Z)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 // com.oracle.svm.core.genscavenge.PathExhibitor$BootImageHeapObjRefVisitor this
start local 1 // org.graalvm.word.Pointer objRef
start local 2 // boolean compressed
0: .line 324
aload 1 /* objRef */
invokeinterface org.graalvm.word.Pointer.isNull:()Z
ifeq 2
1: .line 325
iconst_1
ireturn
2: .line 327
StackMap locals:
StackMap stack:
invokestatic com.oracle.svm.core.heap.ReferenceAccess.singleton:()Lcom/oracle/svm/core/heap/ReferenceAccess;
aload 1 /* objRef */
iload 2 /* compressed */
invokeinterface com.oracle.svm.core.heap.ReferenceAccess.readObjectAt:(Lorg/graalvm/word/Pointer;Z)Ljava/lang/Object;
astore 3 /* referent */
start local 3 // java.lang.Object referent
3: .line 328
aload 0 /* this */
getfield com.oracle.svm.core.genscavenge.PathExhibitor$BootImageHeapObjRefVisitor.target:Lcom/oracle/svm/core/genscavenge/PathExhibitor$TargetMatcher;
aload 3 /* referent */
invokeinterface com.oracle.svm.core.genscavenge.PathExhibitor$TargetMatcher.matches:(Ljava/lang/Object;)Z
ifeq 7
4: .line 329
aload 1 /* objRef */
aload 0 /* this */
getfield com.oracle.svm.core.genscavenge.PathExhibitor$BootImageHeapObjRefVisitor.container:Ljava/lang/Object;
invokestatic org.graalvm.compiler.word.Word.objectToUntrackedPointer:(Ljava/lang/Object;)Lorg/graalvm/compiler/word/Word;
invokeinterface org.graalvm.word.Pointer.subtract:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
astore 4 /* offset */
start local 4 // org.graalvm.word.UnsignedWord offset
5: .line 330
aload 0 /* this */
getfield com.oracle.svm.core.genscavenge.PathExhibitor$BootImageHeapObjRefVisitor.result:Lcom/oracle/svm/core/genscavenge/PathExhibitor$PathEdge;
new com.oracle.svm.core.genscavenge.PathExhibitor$BootImageHeapElement
dup
aload 0 /* this */
getfield com.oracle.svm.core.genscavenge.PathExhibitor$BootImageHeapObjRefVisitor.container:Ljava/lang/Object;
aload 4 /* offset */
invokespecial com.oracle.svm.core.genscavenge.PathExhibitor$BootImageHeapElement.<init>:(Ljava/lang/Object;Lorg/graalvm/word/UnsignedWord;)V
new com.oracle.svm.core.genscavenge.PathExhibitor$LeafElement
dup
aload 3 /* referent */
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
6: .line 331
iconst_0
ireturn
end local 4 // org.graalvm.word.UnsignedWord offset
7: .line 333
StackMap locals: java.lang.Object
StackMap stack:
iconst_1
ireturn
end local 3 // java.lang.Object referent
end local 2 // boolean compressed
end local 1 // org.graalvm.word.Pointer objRef
end local 0 // com.oracle.svm.core.genscavenge.PathExhibitor$BootImageHeapObjRefVisitor this
LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/svm/core/genscavenge/PathExhibitor$BootImageHeapObjRefVisitor;
0 8 1 objRef Lorg/graalvm/word/Pointer;
0 8 2 compressed Z
3 8 3 referent Ljava/lang/Object;
5 7 4 offset Lorg/graalvm/word/UnsignedWord;
MethodParameters:
Name Flags
objRef
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
public BootImageHeapElement = com.oracle.svm.core.genscavenge.PathExhibitor$BootImageHeapElement of com.oracle.svm.core.genscavenge.PathExhibitor
private BootImageHeapObjRefVisitor = com.oracle.svm.core.genscavenge.PathExhibitor$BootImageHeapObjRefVisitor 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
abstract TargetMatcher = com.oracle.svm.core.genscavenge.PathExhibitor$TargetMatcher of com.oracle.svm.core.genscavenge.PathExhibitor