public final class com.oracle.svm.core.genscavenge.HeapVerifier
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.oracle.svm.core.genscavenge.HeapVerifier
super_class: java.lang.Object
{
private final com.oracle.svm.core.genscavenge.SpaceVerifier spaceVerifier;
descriptor: Lcom/oracle/svm/core/genscavenge/SpaceVerifier;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.svm.core.genscavenge.CardTable$ReferenceToYoungObjectVisitor referenceToYoungObjectVisitor;
descriptor: Lcom/oracle/svm/core/genscavenge/CardTable$ReferenceToYoungObjectVisitor;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.svm.core.genscavenge.HeapVerifier$ImageHeapRegionVerifier imageHeapRegionVerifier;
descriptor: Lcom/oracle/svm/core/genscavenge/HeapVerifier$ImageHeapRegionVerifier;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.svm.core.log.Log witnessLog;
descriptor: Lcom/oracle/svm/core/log/Log;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.lang.String currentCause;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private static final com.oracle.svm.core.genscavenge.HeapVerifier$NoReferencesOutsideHeapVisitor noReferencesOutsideHeapVisitor;
descriptor: Lcom/oracle/svm/core/genscavenge/HeapVerifier$NoReferencesOutsideHeapVisitor;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final com.oracle.svm.core.genscavenge.HeapVerifier$NoReferencesToForwardedObjectsVisitor noReferencesToForwardedObjectsVisitor;
descriptor: Lcom/oracle/svm/core/genscavenge/HeapVerifier$NoReferencesToForwardedObjectsVisitor;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, 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.HeapVerifier$NoReferencesOutsideHeapVisitor
dup
invokespecial com.oracle.svm.core.genscavenge.HeapVerifier$NoReferencesOutsideHeapVisitor.<init>:()V
putstatic com.oracle.svm.core.genscavenge.HeapVerifier.noReferencesOutsideHeapVisitor:Lcom/oracle/svm/core/genscavenge/HeapVerifier$NoReferencesOutsideHeapVisitor;
1: new com.oracle.svm.core.genscavenge.HeapVerifier$NoReferencesToForwardedObjectsVisitor
dup
invokespecial com.oracle.svm.core.genscavenge.HeapVerifier$NoReferencesToForwardedObjectsVisitor.<init>:()V
putstatic com.oracle.svm.core.genscavenge.HeapVerifier.noReferencesToForwardedObjectsVisitor:Lcom/oracle/svm/core/genscavenge/HeapVerifier$NoReferencesToForwardedObjectsVisitor;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, 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.SpaceVerifier
dup
invokespecial com.oracle.svm.core.genscavenge.SpaceVerifier.<init>:()V
putfield com.oracle.svm.core.genscavenge.HeapVerifier.spaceVerifier:Lcom/oracle/svm/core/genscavenge/SpaceVerifier;
2: aload 0
new com.oracle.svm.core.genscavenge.CardTable$ReferenceToYoungObjectVisitor
dup
new com.oracle.svm.core.genscavenge.CardTable$ReferenceToYoungObjectReferenceVisitor
dup
invokespecial com.oracle.svm.core.genscavenge.CardTable$ReferenceToYoungObjectReferenceVisitor.<init>:()V
invokespecial com.oracle.svm.core.genscavenge.CardTable$ReferenceToYoungObjectVisitor.<init>:(Lcom/oracle/svm/core/genscavenge/CardTable$ReferenceToYoungObjectReferenceVisitor;)V
putfield com.oracle.svm.core.genscavenge.HeapVerifier.referenceToYoungObjectVisitor:Lcom/oracle/svm/core/genscavenge/CardTable$ReferenceToYoungObjectVisitor;
3: aload 0
new com.oracle.svm.core.genscavenge.HeapVerifier$ImageHeapRegionVerifier
dup
aload 0
invokespecial com.oracle.svm.core.genscavenge.HeapVerifier$ImageHeapRegionVerifier.<init>:(Lcom/oracle/svm/core/genscavenge/HeapVerifier;)V
putfield com.oracle.svm.core.genscavenge.HeapVerifier.imageHeapRegionVerifier:Lcom/oracle/svm/core/genscavenge/HeapVerifier$ImageHeapRegionVerifier;
4: aload 0
invokestatic com.oracle.svm.core.log.Log.log:()Lcom/oracle/svm/core/log/Log;
putfield com.oracle.svm.core.genscavenge.HeapVerifier.witnessLog:Lcom/oracle/svm/core/log/Log;
5: aload 0
ldc "Too soon to tell"
putfield com.oracle.svm.core.genscavenge.HeapVerifier.currentCause:Ljava/lang/String;
6: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/svm/core/genscavenge/HeapVerifier;
public java.lang.String getCurrentCause();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.svm.core.genscavenge.HeapVerifier.currentCause:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/core/genscavenge/HeapVerifier;
private void setCurrentCause(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield com.oracle.svm.core.genscavenge.HeapVerifier.currentCause:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/svm/core/genscavenge/HeapVerifier;
0 2 1 cause Ljava/lang/String;
MethodParameters:
Name Flags
cause
boolean verifyObjectAt(org.graalvm.word.Pointer);
descriptor: (Lorg/graalvm/word/Pointer;)Z
flags: (0x0000)
Code:
stack=3, locals=10, args_size=2
start local 0 start local 1 0: ldc "Can only verify from a VMOperation."
invokestatic com.oracle.svm.core.thread.VMOperation.guaranteeInProgress:(Ljava/lang/String;)V
1: invokestatic com.oracle.svm.core.genscavenge.HeapVerifier.getTraceLog:()Lcom/oracle/svm/core/log/Log;
astore 2
start local 2 2: aload 2
ldc "[HeapVerifier.verifyObjectAt:"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
ldc " ptr: "
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
3: aload 1
invokeinterface org.graalvm.word.Pointer.isNull:()Z
ifeq 6
4: aload 0
invokevirtual com.oracle.svm.core.genscavenge.HeapVerifier.getWitnessLog:()Lcom/oracle/svm/core/log/Log;
ldc "[verifyObjectAt(objRef: "
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;
ldc ")"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
ldc " null ptr"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)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
5: iconst_0
ireturn
6: StackMap locals: com.oracle.svm.core.log.Log
StackMap stack:
aload 1
invokestatic com.oracle.svm.core.genscavenge.HeapVerifier.slowlyFindPointer:(Lorg/graalvm/word/Pointer;)Z
ifne 9
7: aload 0
invokevirtual com.oracle.svm.core.genscavenge.HeapVerifier.getWitnessLog:()Lcom/oracle/svm/core/log/Log;
ldc "[HeapVerifier.verifyObjectAt:"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
ldc " ptr: "
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;
ldc " is not in heap."
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)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
8: iconst_0
ireturn
9: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.readHeaderFromPointerCarefully:(Lorg/graalvm/word/Pointer;)Lorg/graalvm/word/UnsignedWord;
astore 3
start local 3 10: aload 2
ldc " header: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 3
invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
pop
11: aload 3
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.isForwardedHeader:(Lorg/graalvm/word/UnsignedWord;)Z
ifeq 18
12: aload 1
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.getForwardedObject:(Lorg/graalvm/word/Pointer;)Ljava/lang/Object;
astore 4
start local 4 13: aload 4
invokestatic org.graalvm.compiler.word.Word.objectToUntrackedPointer:(Ljava/lang/Object;)Lorg/graalvm/compiler/word/Word;
astore 5
start local 5 14: aload 2
ldc " forwards to "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 5
invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
pop
15: aload 0
aload 5
invokevirtual com.oracle.svm.core.genscavenge.HeapVerifier.verifyObjectAt:(Lorg/graalvm/word/Pointer;)Z
ifne 47
16: aload 0
invokevirtual com.oracle.svm.core.genscavenge.HeapVerifier.getWitnessLog:()Lcom/oracle/svm/core/log/Log;
ldc "[HeapVerifier.verifyObjectAt(objRef: "
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;
ldc ")"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
ldc " forwarded object fails to verify"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)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
17: iconst_0
ireturn
end local 5 end local 4 18: StackMap locals: org.graalvm.word.UnsignedWord
StackMap stack:
aload 1
invokeinterface org.graalvm.word.Pointer.toObject:()Ljava/lang/Object;
astore 4
start local 4 19: aload 2
ldc " obj: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 4
invokestatic org.graalvm.compiler.word.Word.objectToUntrackedPointer:(Ljava/lang/Object;)Lorg/graalvm/compiler/word/Word;
invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
ldc " obj.getClass: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 4
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
pop
20: aload 4
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.readDynamicHubFromObjectCarefully:(Ljava/lang/Object;)Lcom/oracle/svm/core/hub/DynamicHub;
astore 5
start local 5 21: aload 5
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
ldc "java.lang.Class"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 24
22: aload 0
invokevirtual com.oracle.svm.core.genscavenge.HeapVerifier.getWitnessLog:()Lcom/oracle/svm/core/log/Log;
ldc "[HeapVerifier.verifyObjectAt(objRef: "
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;
ldc ")"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
ldc " hub is not a class"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)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
23: iconst_0
ireturn
24: StackMap locals: java.lang.Object com.oracle.svm.core.hub.DynamicHub
StackMap stack:
invokestatic com.oracle.svm.core.genscavenge.HeapImpl.getHeapImpl:()Lcom/oracle/svm/core/genscavenge/HeapImpl;
astore 6
start local 6 25: aload 6
aload 4
invokevirtual com.oracle.svm.core.genscavenge.HeapImpl.isInImageHeap:(Ljava/lang/Object;)Z
aload 6
aload 4
invokevirtual com.oracle.svm.core.genscavenge.HeapImpl.isInImageHeapSlow:(Ljava/lang/Object;)Z
if_icmpeq 37
26: aconst_null
astore 7
aconst_null
astore 8
27: aload 0
invokevirtual com.oracle.svm.core.genscavenge.HeapVerifier.getWitnessLog:()Lcom/oracle/svm/core/log/Log;
astore 9
start local 9 28: aload 9
ldc "[HeapVerifier.verifyObjectAt(objRef: "
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;
ldc ")"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
ldc " obj: "
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.object:(Ljava/lang/Object;)Lcom/oracle/svm/core/log/Log;
pop
29: aload 9
ldc " mismatch between isInImageHeap() and isInImageHeapSlow()"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)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
30: aload 9
ifnull 36
aload 9
invokevirtual com.oracle.svm.core.log.Log.close:()V
goto 36
StackMap locals: com.oracle.svm.core.genscavenge.HeapVerifier org.graalvm.word.Pointer com.oracle.svm.core.log.Log org.graalvm.word.UnsignedWord java.lang.Object com.oracle.svm.core.hub.DynamicHub com.oracle.svm.core.genscavenge.HeapImpl java.lang.Throwable java.lang.Throwable com.oracle.svm.core.log.Log
StackMap stack: java.lang.Throwable
31: astore 7
aload 9
ifnull 32
aload 9
invokevirtual com.oracle.svm.core.log.Log.close:()V
end local 9 StackMap locals:
StackMap stack:
32: aload 7
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
33: astore 8
aload 7
ifnonnull 34
aload 8
astore 7
goto 35
StackMap locals:
StackMap stack:
34: aload 7
aload 8
if_acmpeq 35
aload 7
aload 8
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
35: aload 7
athrow
36: StackMap locals:
StackMap stack:
iconst_0
ireturn
37: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
pop
38: aload 0
aload 4
invokevirtual com.oracle.svm.core.genscavenge.HeapVerifier.noReferencesOutsideHeap:(Ljava/lang/Object;)Z
ifne 41
39: aload 0
invokevirtual com.oracle.svm.core.genscavenge.HeapVerifier.getWitnessLog:()Lcom/oracle/svm/core/log/Log;
ldc "[HeapVerifier.verifyObjectAt(objRef: "
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;
ldc ")"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
ldc " contains references outside the heap"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)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
40: iconst_0
ireturn
41: StackMap locals:
StackMap stack:
aload 0
aload 4
invokevirtual com.oracle.svm.core.genscavenge.HeapVerifier.noReferencesToForwardedObjectsVerifier:(Ljava/lang/Object;)Z
ifne 44
42: aload 0
invokevirtual com.oracle.svm.core.genscavenge.HeapVerifier.getWitnessLog:()Lcom/oracle/svm/core/log/Log;
ldc "[HeapVerifier.verifyObjectAt(objRef: "
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;
ldc ")"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
ldc " contains references to forwarded objects"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)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
43: iconst_0
ireturn
44: StackMap locals:
StackMap stack:
aload 4
invokestatic com.oracle.svm.core.genscavenge.HeapVerifier.verifyReferenceObject:(Ljava/lang/Object;)Z
ifne 47
45: aload 0
invokevirtual com.oracle.svm.core.genscavenge.HeapVerifier.getWitnessLog:()Lcom/oracle/svm/core/log/Log;
ldc "[HeapVerifier.verifyObjectAt(objRef: "
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;
ldc ")"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
ldc " Reference object fails to verify."
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)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
46: iconst_0
ireturn
end local 6 end local 5 end local 4 47: StackMap locals:
StackMap stack:
aload 2
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
48: iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 49 0 this Lcom/oracle/svm/core/genscavenge/HeapVerifier;
0 49 1 ptr Lorg/graalvm/word/Pointer;
2 49 2 trace Lcom/oracle/svm/core/log/Log;
10 49 3 header Lorg/graalvm/word/UnsignedWord;
13 18 4 obj Ljava/lang/Object;
14 18 5 op Lorg/graalvm/word/Pointer;
19 47 4 obj Ljava/lang/Object;
21 47 5 hub Lcom/oracle/svm/core/hub/DynamicHub;
25 47 6 heap Lcom/oracle/svm/core/genscavenge/HeapImpl;
28 32 9 witness Lcom/oracle/svm/core/log/Log;
Exception table:
from to target type
28 30 31 any
27 33 33 any
MethodParameters:
Name Flags
ptr
public boolean verify(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: new com.oracle.svm.core.genscavenge.HeapVerifier$VerifyVMOperation
dup
aload 1
aload 0
getstatic com.oracle.svm.core.genscavenge.HeapVerifier$Occasion.BEFORE_COLLECTION:Lcom/oracle/svm/core/genscavenge/HeapVerifier$Occasion;
invokespecial com.oracle.svm.core.genscavenge.HeapVerifier$VerifyVMOperation.<init>:(Ljava/lang/String;Lcom/oracle/svm/core/genscavenge/HeapVerifier;Lcom/oracle/svm/core/genscavenge/HeapVerifier$Occasion;)V
astore 2
start local 2 1: aload 2
invokevirtual com.oracle.svm.core.genscavenge.HeapVerifier$VerifyVMOperation.enqueue:()V
2: aload 2
invokevirtual com.oracle.svm.core.genscavenge.HeapVerifier$VerifyVMOperation.getResult:()Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/svm/core/genscavenge/HeapVerifier;
0 3 1 cause Ljava/lang/String;
1 3 2 op Lcom/oracle/svm/core/genscavenge/HeapVerifier$VerifyVMOperation;
MethodParameters:
Name Flags
cause
boolean verifyOperation(java.lang.String, com.oracle.svm.core.genscavenge.HeapVerifier$Occasion);
descriptor: (Ljava/lang/String;Lcom/oracle/svm/core/genscavenge/HeapVerifier$Occasion;)Z
flags: (0x0000)
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: ldc "Can only verify from a VMOperation."
invokestatic com.oracle.svm.core.thread.VMOperation.guaranteeInProgress:(Ljava/lang/String;)V
1: invokestatic com.oracle.svm.core.genscavenge.HeapVerifier.getTraceLog:()Lcom/oracle/svm/core/log/Log;
astore 3
start local 3 2: aload 3
ldc "[HeapVerifier.verify "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
ldc " occasion: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 2
invokevirtual com.oracle.svm.core.genscavenge.HeapVerifier$Occasion.name:()Ljava/lang/String;
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
ldc " cause: "
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.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
ldc ":"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
pop
3: aload 3
invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
pop
4: aload 0
aload 1
invokevirtual com.oracle.svm.core.genscavenge.HeapVerifier.setCurrentCause:(Ljava/lang/String;)V
5: invokestatic com.oracle.svm.core.genscavenge.ThreadLocalAllocation.disableAndFlushForAllThreads:()V
6: iconst_1
istore 4
start local 4 7: aload 0
invokevirtual com.oracle.svm.core.genscavenge.HeapVerifier.verifyImageHeapObjects:()Z
ifne 10
8: aload 0
invokevirtual com.oracle.svm.core.genscavenge.HeapVerifier.getWitnessLog:()Lcom/oracle/svm/core/log/Log;
ldc "[HeapVerifier.verify:"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
ldc " native image fails to verify"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)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
9: iconst_0
istore 4
10: StackMap locals: com.oracle.svm.core.log.Log int
StackMap stack:
aload 2
invokestatic com.oracle.svm.core.genscavenge.HeapVerifier.verifyYoungGeneration:(Lcom/oracle/svm/core/genscavenge/HeapVerifier$Occasion;)Z
ifne 13
11: aload 0
invokevirtual com.oracle.svm.core.genscavenge.HeapVerifier.getWitnessLog:()Lcom/oracle/svm/core/log/Log;
ldc "[HeapVerifier.verify:"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
ldc " young generation fails to verify"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)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
12: iconst_0
istore 4
13: StackMap locals:
StackMap stack:
aload 2
invokestatic com.oracle.svm.core.genscavenge.HeapVerifier.verifyOldGeneration:(Lcom/oracle/svm/core/genscavenge/HeapVerifier$Occasion;)Z
ifne 16
14: aload 0
invokevirtual com.oracle.svm.core.genscavenge.HeapVerifier.getWitnessLog:()Lcom/oracle/svm/core/log/Log;
ldc "[HeapVerifier.verify:"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
ldc " old generation fails to verify"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)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
15: iconst_0
istore 4
16: StackMap locals:
StackMap stack:
aload 3
ldc " returns: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
iload 4
invokevirtual com.oracle.svm.core.log.Log.bool:(Z)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
17: iload 4
ifne 19
getstatic com.oracle.svm.core.genscavenge.HeapOptions.HeapVerificationFailureIsFatal:Lcom/oracle/svm/core/option/RuntimeOptionKey;
invokevirtual com.oracle.svm.core.option.RuntimeOptionKey.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 19
18: invokestatic com.oracle.svm.core.genscavenge.HeapVerificationError.throwError:()V
19: StackMap locals:
StackMap stack:
iload 4
ireturn
end local 4 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/HeapVerifier;
0 20 1 cause Ljava/lang/String;
0 20 2 occasion Lcom/oracle/svm/core/genscavenge/HeapVerifier$Occasion;
2 20 3 trace Lcom/oracle/svm/core/log/Log;
7 20 4 result Z
MethodParameters:
Name Flags
cause
occasion
static void verifyDirtyCard(boolean);
descriptor: (Z)V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: invokestatic com.oracle.svm.core.genscavenge.HeapImpl.getHeapImpl:()Lcom/oracle/svm/core/genscavenge/HeapImpl;
invokevirtual com.oracle.svm.core.genscavenge.HeapImpl.getOldGeneration:()Lcom/oracle/svm/core/genscavenge/OldGeneration;
astore 1
start local 1 1: aload 1
iload 0
invokevirtual com.oracle.svm.core.genscavenge.OldGeneration.verifyDirtyCards:(Z)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 inToSpace Z
1 3 1 oldGen Lcom/oracle/svm/core/genscavenge/OldGeneration;
MethodParameters:
Name Flags
inToSpace
static com.oracle.svm.core.log.Log getTraceLog();
descriptor: ()Lcom/oracle/svm/core/log/Log;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic com.oracle.svm.core.genscavenge.HeapOptions.TraceHeapVerification: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
com.oracle.svm.core.log.Log getWitnessLog();
descriptor: ()Lcom/oracle/svm/core/log/Log;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.svm.core.genscavenge.HeapVerifier.witnessLog:Lcom/oracle/svm/core/log/Log;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/core/genscavenge/HeapVerifier;
private boolean verifyImageHeapObjects();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.svm.core.genscavenge.HeapVerifier.imageHeapRegionVerifier:Lcom/oracle/svm/core/genscavenge/HeapVerifier$ImageHeapRegionVerifier;
invokevirtual com.oracle.svm.core.genscavenge.HeapVerifier$ImageHeapRegionVerifier.reset:()V
1: invokestatic com.oracle.svm.core.genscavenge.HeapImpl.getImageHeapInfo:()Lcom/oracle/svm/core/genscavenge/ImageHeapInfo;
aload 0
getfield com.oracle.svm.core.genscavenge.HeapVerifier.imageHeapRegionVerifier:Lcom/oracle/svm/core/genscavenge/HeapVerifier$ImageHeapRegionVerifier;
invokestatic com.oracle.svm.core.genscavenge.ImageHeapWalker.walkRegions:(Lcom/oracle/svm/core/genscavenge/ImageHeapInfo;Lcom/oracle/svm/core/MemoryWalker$ImageHeapRegionVisitor;)Z
pop
2: aload 0
getfield com.oracle.svm.core.genscavenge.HeapVerifier.imageHeapRegionVerifier:Lcom/oracle/svm/core/genscavenge/HeapVerifier$ImageHeapRegionVerifier;
getfield com.oracle.svm.core.genscavenge.HeapVerifier$ImageHeapRegionVerifier.verifyResult:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/svm/core/genscavenge/HeapVerifier;
private static boolean verifyYoungGeneration(com.oracle.svm.core.genscavenge.HeapVerifier$Occasion);
descriptor: (Lcom/oracle/svm/core/genscavenge/HeapVerifier$Occasion;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: invokestatic com.oracle.svm.core.genscavenge.HeapImpl.getHeapImpl:()Lcom/oracle/svm/core/genscavenge/HeapImpl;
invokevirtual com.oracle.svm.core.genscavenge.HeapImpl.getYoungGeneration:()Lcom/oracle/svm/core/genscavenge/YoungGeneration;
astore 1
start local 1 1: aload 1
aload 0
invokevirtual com.oracle.svm.core.genscavenge.Generation.verify:(Lcom/oracle/svm/core/genscavenge/HeapVerifier$Occasion;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 occasion Lcom/oracle/svm/core/genscavenge/HeapVerifier$Occasion;
1 2 1 youngGeneration Lcom/oracle/svm/core/genscavenge/Generation;
MethodParameters:
Name Flags
occasion
private static boolean verifyOldGeneration(com.oracle.svm.core.genscavenge.HeapVerifier$Occasion);
descriptor: (Lcom/oracle/svm/core/genscavenge/HeapVerifier$Occasion;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: invokestatic com.oracle.svm.core.genscavenge.HeapImpl.getHeapImpl:()Lcom/oracle/svm/core/genscavenge/HeapImpl;
invokevirtual com.oracle.svm.core.genscavenge.HeapImpl.getOldGeneration:()Lcom/oracle/svm/core/genscavenge/OldGeneration;
astore 1
start local 1 1: aload 1
aload 0
invokevirtual com.oracle.svm.core.genscavenge.OldGeneration.verify:(Lcom/oracle/svm/core/genscavenge/HeapVerifier$Occasion;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 occasion Lcom/oracle/svm/core/genscavenge/HeapVerifier$Occasion;
1 2 1 oldGeneration Lcom/oracle/svm/core/genscavenge/OldGeneration;
MethodParameters:
Name Flags
occasion
private boolean noReferencesOutsideHeap(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=9, args_size=2
start local 0 start local 1 0: invokestatic com.oracle.svm.core.genscavenge.HeapVerifier.getTraceLog:()Lcom/oracle/svm/core/log/Log;
astore 2
start local 2 1: aload 2
ldc "[HeapVerifier.noReferencesOutsideHeap:"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
pop
2: aload 2
ldc " obj: "
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.object:(Ljava/lang/Object;)Lcom/oracle/svm/core/log/Log;
ldc " obj.getClass: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
pop
3: aload 1
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.readHeaderFromObjectCarefully:(Ljava/lang/Object;)Lorg/graalvm/word/UnsignedWord;
astore 3
start local 3 4: aload 2
ldc " header: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 3
invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
pop
5: aload 1
invokestatic org.graalvm.compiler.word.Word.objectToUntrackedPointer:(Ljava/lang/Object;)Lorg/graalvm/compiler/word/Word;
astore 4
start local 4 6: aload 2
ldc " objPointer: "
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
7: aload 1
getstatic com.oracle.svm.core.genscavenge.HeapVerifier.noReferencesOutsideHeapVisitor:Lcom/oracle/svm/core/genscavenge/HeapVerifier$NoReferencesOutsideHeapVisitor;
invokestatic com.oracle.svm.core.hub.InteriorObjRefWalker.walkObject:(Ljava/lang/Object;Lcom/oracle/svm/core/heap/ObjectReferenceVisitor;)Z
istore 5
start local 5 8: iload 5
ifne 20
9: aconst_null
astore 6
aconst_null
astore 7
10: aload 0
invokevirtual com.oracle.svm.core.genscavenge.HeapVerifier.getWitnessLog:()Lcom/oracle/svm/core/log/Log;
astore 8
start local 8 11: aload 8
ldc "[HeapVerifier.noReferencesOutsideHeap:"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
ldc " cause: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 0
invokevirtual com.oracle.svm.core.genscavenge.HeapVerifier.getCurrentCause:()Ljava/lang/String;
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
pop
12: aload 8
ldc " obj: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
ldc "@"
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
13: aload 8
ldc " header: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 3
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
14: aload 8
ifnull 20
aload 8
invokevirtual com.oracle.svm.core.log.Log.close:()V
goto 20
StackMap locals: com.oracle.svm.core.genscavenge.HeapVerifier java.lang.Object com.oracle.svm.core.log.Log org.graalvm.word.UnsignedWord org.graalvm.word.Pointer int java.lang.Throwable java.lang.Throwable com.oracle.svm.core.log.Log
StackMap stack: java.lang.Throwable
15: astore 6
aload 8
ifnull 16
aload 8
invokevirtual com.oracle.svm.core.log.Log.close:()V
end local 8 StackMap locals:
StackMap stack:
16: aload 6
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
17: astore 7
aload 6
ifnonnull 18
aload 7
astore 6
goto 19
StackMap locals:
StackMap stack:
18: aload 6
aload 7
if_acmpeq 19
aload 6
aload 7
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
19: aload 6
athrow
20: StackMap locals:
StackMap stack:
aload 2
ldc " returns: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
iload 5
invokevirtual com.oracle.svm.core.log.Log.bool:(Z)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
21: iload 5
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 22 0 this Lcom/oracle/svm/core/genscavenge/HeapVerifier;
0 22 1 obj Ljava/lang/Object;
1 22 2 trace Lcom/oracle/svm/core/log/Log;
4 22 3 header Lorg/graalvm/word/UnsignedWord;
6 22 4 objPointer Lorg/graalvm/word/Pointer;
8 22 5 result Z
11 16 8 witness Lcom/oracle/svm/core/log/Log;
Exception table:
from to target type
11 14 15 any
10 17 17 any
MethodParameters:
Name Flags
obj
private boolean noReferencesToForwardedObjectsVerifier(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=9, args_size=2
start local 0 start local 1 0: invokestatic com.oracle.svm.core.genscavenge.HeapVerifier.getTraceLog:()Lcom/oracle/svm/core/log/Log;
astore 2
start local 2 1: aload 2
ldc "[HeapVerifier.noReferencesToForwardedObjectsVerifier:"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
pop
2: aload 2
ldc " obj: "
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.object:(Ljava/lang/Object;)Lcom/oracle/svm/core/log/Log;
pop
3: aload 1
invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.readHeaderFromObjectCarefully:(Ljava/lang/Object;)Lorg/graalvm/word/UnsignedWord;
astore 3
start local 3 4: aload 2
ldc " header: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 3
invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
pop
5: aload 1
invokestatic org.graalvm.compiler.word.Word.objectToUntrackedPointer:(Ljava/lang/Object;)Lorg/graalvm/compiler/word/Word;
astore 4
start local 4 6: aload 2
ldc " objPointer: "
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
7: aload 1
getstatic com.oracle.svm.core.genscavenge.HeapVerifier.noReferencesToForwardedObjectsVisitor:Lcom/oracle/svm/core/genscavenge/HeapVerifier$NoReferencesToForwardedObjectsVisitor;
invokestatic com.oracle.svm.core.hub.InteriorObjRefWalker.walkObject:(Ljava/lang/Object;Lcom/oracle/svm/core/heap/ObjectReferenceVisitor;)Z
istore 5
start local 5 8: iload 5
ifne 18
9: aconst_null
astore 6
aconst_null
astore 7
10: aload 0
invokevirtual com.oracle.svm.core.genscavenge.HeapVerifier.getWitnessLog:()Lcom/oracle/svm/core/log/Log;
astore 8
start local 8 11: aload 8
ldc "[HeapVerifier.noReferencesToForwardedObjectsVerifier:"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
ldc " cause: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 0
invokevirtual com.oracle.svm.core.genscavenge.HeapVerifier.getCurrentCause:()Ljava/lang/String;
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
ldc " obj: "
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.object:(Ljava/lang/Object;)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
12: aload 8
ifnull 18
aload 8
invokevirtual com.oracle.svm.core.log.Log.close:()V
goto 18
StackMap locals: com.oracle.svm.core.genscavenge.HeapVerifier java.lang.Object com.oracle.svm.core.log.Log org.graalvm.word.UnsignedWord org.graalvm.word.Pointer int java.lang.Throwable java.lang.Throwable com.oracle.svm.core.log.Log
StackMap stack: java.lang.Throwable
13: astore 6
aload 8
ifnull 14
aload 8
invokevirtual com.oracle.svm.core.log.Log.close:()V
end local 8 StackMap locals:
StackMap stack:
14: aload 6
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
15: astore 7
aload 6
ifnonnull 16
aload 7
astore 6
goto 17
StackMap locals:
StackMap stack:
16: aload 6
aload 7
if_acmpeq 17
aload 6
aload 7
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
17: aload 6
athrow
18: StackMap locals:
StackMap stack:
aload 2
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: iload 5
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 20 0 this Lcom/oracle/svm/core/genscavenge/HeapVerifier;
0 20 1 obj Ljava/lang/Object;
1 20 2 trace Lcom/oracle/svm/core/log/Log;
4 20 3 header Lorg/graalvm/word/UnsignedWord;
6 20 4 objPointer Lorg/graalvm/word/Pointer;
8 20 5 result Z
11 14 8 witness Lcom/oracle/svm/core/log/Log;
Exception table:
from to target type
11 12 13 any
10 15 15 any
MethodParameters:
Name Flags
obj
private static boolean verifyReferenceObject(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
ldc Ljava/lang/Object;
invokestatic com.oracle.svm.core.snippets.KnownIntrinsics.convertUnknownValue:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
astore 1
start local 1 1: aload 1
instanceof java.lang.ref.Reference
ifeq 3
2: aload 1
checkcast java.lang.ref.Reference
invokestatic com.oracle.svm.core.genscavenge.ReferenceObjectProcessing.verify:(Ljava/lang/ref/Reference;)Z
ireturn
3: StackMap locals: java.lang.Object
StackMap stack:
iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 object Ljava/lang/Object;
1 4 1 obj Ljava/lang/Object;
MethodParameters:
Name Flags
object
static boolean slowlyFindPointer(org.graalvm.word.Pointer);
descriptor: (Lorg/graalvm/word/Pointer;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: invokestatic com.oracle.svm.core.genscavenge.HeapImpl.getHeapImpl:()Lcom/oracle/svm/core/genscavenge/HeapImpl;
astore 1
start local 1 1: aload 1
aload 0
invokevirtual com.oracle.svm.core.genscavenge.HeapImpl.isInImageHeapSlow:(Lorg/graalvm/word/Pointer;)Z
ifne 2
aload 0
invokestatic com.oracle.svm.core.genscavenge.HeapVerifier.slowlyFindPointerInYoungGeneration:(Lorg/graalvm/word/Pointer;)Z
ifne 2
aload 0
invokestatic com.oracle.svm.core.genscavenge.HeapVerifier.slowlyFindPointerInOldGeneration:(Lorg/graalvm/word/Pointer;)Z
ifne 2
iconst_0
goto 3
StackMap locals: com.oracle.svm.core.genscavenge.HeapImpl
StackMap stack:
2: iconst_1
StackMap locals:
StackMap stack: int
3: istore 2
start local 2 4: iload 2
ifne 6
5: aload 1
invokevirtual com.oracle.svm.core.genscavenge.HeapImpl.getHeapVerifier:()Lcom/oracle/svm/core/genscavenge/HeapVerifier;
invokevirtual com.oracle.svm.core.genscavenge.HeapVerifier.getWitnessLog:()Lcom/oracle/svm/core/log/Log;
ldc "[HeapVerifier.slowlyFindPointer:"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
ldc " did not find pointer in heap: "
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;
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
6: StackMap locals: int
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 p Lorg/graalvm/word/Pointer;
1 7 1 heap Lcom/oracle/svm/core/genscavenge/HeapImpl;
4 7 2 found Z
MethodParameters:
Name Flags
p
private static boolean slowlyFindPointerInYoungGeneration(org.graalvm.word.Pointer);
descriptor: (Lorg/graalvm/word/Pointer;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: invokestatic com.oracle.svm.core.genscavenge.HeapImpl.getHeapImpl:()Lcom/oracle/svm/core/genscavenge/HeapImpl;
astore 1
start local 1 1: aload 1
invokevirtual com.oracle.svm.core.genscavenge.HeapImpl.getYoungGeneration:()Lcom/oracle/svm/core/genscavenge/YoungGeneration;
astore 2
start local 2 2: aload 2
aload 0
invokevirtual com.oracle.svm.core.genscavenge.YoungGeneration.slowlyFindPointer:(Lorg/graalvm/word/Pointer;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 p Lorg/graalvm/word/Pointer;
1 3 1 heap Lcom/oracle/svm/core/genscavenge/HeapImpl;
2 3 2 youngGen Lcom/oracle/svm/core/genscavenge/YoungGeneration;
MethodParameters:
Name Flags
p
private static boolean slowlyFindPointerInOldGeneration(org.graalvm.word.Pointer);
descriptor: (Lorg/graalvm/word/Pointer;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: invokestatic com.oracle.svm.core.genscavenge.HeapImpl.getHeapImpl:()Lcom/oracle/svm/core/genscavenge/HeapImpl;
astore 1
start local 1 1: aload 1
invokevirtual com.oracle.svm.core.genscavenge.HeapImpl.getOldGeneration:()Lcom/oracle/svm/core/genscavenge/OldGeneration;
astore 2
start local 2 2: aload 2
aload 0
invokevirtual com.oracle.svm.core.genscavenge.OldGeneration.slowlyFindPointer:(Lorg/graalvm/word/Pointer;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 p Lorg/graalvm/word/Pointer;
1 3 1 heap Lcom/oracle/svm/core/genscavenge/HeapImpl;
2 3 2 oldGen Lcom/oracle/svm/core/genscavenge/OldGeneration;
MethodParameters:
Name Flags
p
private static boolean slowlyFindPointerInUnusedSpace(org.graalvm.word.Pointer);
descriptor: (Lorg/graalvm/word/Pointer;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokestatic com.oracle.svm.core.genscavenge.HeapImpl.getChunkProvider:()Lcom/oracle/svm/core/genscavenge/HeapChunkProvider;
aload 0
invokevirtual com.oracle.svm.core.genscavenge.HeapChunkProvider.slowlyFindPointer:(Lorg/graalvm/word/Pointer;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 p Lorg/graalvm/word/Pointer;
MethodParameters:
Name Flags
p
static boolean slowlyFindPointerInSpace(com.oracle.svm.core.genscavenge.Space, org.graalvm.word.Pointer);
descriptor: (Lcom/oracle/svm/core/genscavenge/Space;Lorg/graalvm/word/Pointer;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.svm.core.genscavenge.Space.getFirstAlignedHeapChunk:()Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
astore 2
start local 2 1: goto 6
2: StackMap locals: com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader
StackMap stack:
aload 2
invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getObjectsStart:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/Pointer;
astore 3
start local 3 3: aload 3
aload 1
invokeinterface org.graalvm.word.Pointer.belowOrEqual:(Lorg/graalvm/word/UnsignedWord;)Z
ifeq 5
aload 1
aload 2
invokestatic com.oracle.svm.core.genscavenge.HeapChunk.getTopPointer:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)Lorg/graalvm/word/Pointer;
invokeinterface org.graalvm.word.Pointer.belowThan:(Lorg/graalvm/word/UnsignedWord;)Z
ifeq 5
4: iconst_1
ireturn
5: StackMap locals: org.graalvm.word.Pointer
StackMap stack:
aload 2
invokestatic com.oracle.svm.core.genscavenge.HeapChunk.getNext:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;
checkcast com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader
astore 2
end local 3 6: StackMap locals:
StackMap stack:
aload 2
invokeinterface com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader.isNonNull:()Z
ifne 2
7: aload 0
invokevirtual com.oracle.svm.core.genscavenge.Space.getFirstUnalignedHeapChunk:()Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;
astore 3
start local 3 8: goto 13
9: StackMap locals: com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader
StackMap stack:
aload 3
invokestatic com.oracle.svm.core.genscavenge.UnalignedHeapChunk.getObjectStart:(Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;)Lorg/graalvm/word/Pointer;
astore 4
start local 4 10: aload 4
aload 1
invokeinterface org.graalvm.word.Pointer.belowOrEqual:(Lorg/graalvm/word/UnsignedWord;)Z
ifeq 12
aload 1
aload 3
invokestatic com.oracle.svm.core.genscavenge.HeapChunk.getTopPointer:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)Lorg/graalvm/word/Pointer;
invokeinterface org.graalvm.word.Pointer.belowThan:(Lorg/graalvm/word/UnsignedWord;)Z
ifeq 12
11: iconst_1
ireturn
12: StackMap locals: org.graalvm.word.Pointer
StackMap stack:
aload 3
invokestatic com.oracle.svm.core.genscavenge.HeapChunk.getNext:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;
checkcast com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader
astore 3
end local 4 13: StackMap locals:
StackMap stack:
aload 3
invokeinterface com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader.isNonNull:()Z
ifne 9
14: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 space Lcom/oracle/svm/core/genscavenge/Space;
0 15 1 p Lorg/graalvm/word/Pointer;
1 15 2 aChunk Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
3 6 3 start Lorg/graalvm/word/Pointer;
8 15 3 uChunk Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;
10 13 4 start Lorg/graalvm/word/Pointer;
MethodParameters:
Name Flags
space
p
public static int classifyObject(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic org.graalvm.compiler.word.Word.objectToUntrackedPointer:(Ljava/lang/Object;)Lorg/graalvm/compiler/word/Word;
invokestatic com.oracle.svm.core.genscavenge.HeapVerifier.classifyPointer:(Lorg/graalvm/word/Pointer;)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 o Ljava/lang/Object;
MethodParameters:
Name Flags
o
static int classifyPointer(org.graalvm.word.Pointer);
descriptor: (Lorg/graalvm/word/Pointer;)I
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: invokestatic com.oracle.svm.core.genscavenge.HeapImpl.getHeapImpl:()Lcom/oracle/svm/core/genscavenge/HeapImpl;
astore 1
start local 1 1: aload 1
invokevirtual com.oracle.svm.core.genscavenge.HeapImpl.getYoungGeneration:()Lcom/oracle/svm/core/genscavenge/YoungGeneration;
astore 2
start local 2 2: aload 1
invokevirtual com.oracle.svm.core.genscavenge.HeapImpl.getOldGeneration:()Lcom/oracle/svm/core/genscavenge/OldGeneration;
astore 3
start local 3 3: aload 0
invokeinterface org.graalvm.word.Pointer.isNull:()Z
ifeq 5
4: iconst_0
ireturn
5: StackMap locals: com.oracle.svm.core.genscavenge.HeapImpl com.oracle.svm.core.genscavenge.YoungGeneration com.oracle.svm.core.genscavenge.OldGeneration
StackMap stack:
invokestatic com.oracle.svm.core.genscavenge.HeapImpl.getHeapImpl:()Lcom/oracle/svm/core/genscavenge/HeapImpl;
aload 0
invokevirtual com.oracle.svm.core.genscavenge.HeapImpl.isInImageHeapSlow:(Lorg/graalvm/word/Pointer;)Z
ifeq 7
6: iconst_1
ireturn
7: StackMap locals:
StackMap stack:
aload 2
aload 0
invokevirtual com.oracle.svm.core.genscavenge.YoungGeneration.slowlyFindPointer:(Lorg/graalvm/word/Pointer;)Z
ifeq 9
8: iconst_2
ireturn
9: StackMap locals:
StackMap stack:
aload 3
aload 0
invokevirtual com.oracle.svm.core.genscavenge.OldGeneration.classifyPointer:(Lorg/graalvm/word/Pointer;)I
istore 4
start local 4 10: iload 4
ifle 12
11: iconst_2
iload 4
iadd
ireturn
12: StackMap locals: int
StackMap stack:
aload 0
invokestatic com.oracle.svm.core.genscavenge.HeapVerifier.slowlyFindPointerInUnusedSpace:(Lorg/graalvm/word/Pointer;)Z
ifeq 14
13: iconst_m1
ireturn
14: StackMap locals:
StackMap stack:
bipush -2
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 p Lorg/graalvm/word/Pointer;
1 15 1 heap Lcom/oracle/svm/core/genscavenge/HeapImpl;
2 15 2 youngGen Lcom/oracle/svm/core/genscavenge/YoungGeneration;
3 15 3 oldGen Lcom/oracle/svm/core/genscavenge/OldGeneration;
10 15 4 oldGenClassification I
MethodParameters:
Name Flags
p
com.oracle.svm.core.genscavenge.CardTable$ReferenceToYoungObjectVisitor getReferenceToYoungObjectVisitor();
descriptor: ()Lcom/oracle/svm/core/genscavenge/CardTable$ReferenceToYoungObjectVisitor;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.svm.core.genscavenge.HeapVerifier.referenceToYoungObjectVisitor:Lcom/oracle/svm/core/genscavenge/CardTable$ReferenceToYoungObjectVisitor;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/core/genscavenge/HeapVerifier;
com.oracle.svm.core.genscavenge.SpaceVerifier getSpaceVerifier();
descriptor: ()Lcom/oracle/svm/core/genscavenge/SpaceVerifier;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.svm.core.genscavenge.HeapVerifier.spaceVerifier:Lcom/oracle/svm/core/genscavenge/SpaceVerifier;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/core/genscavenge/HeapVerifier;
}
SourceFile: "HeapVerifier.java"
NestMembers:
com.oracle.svm.core.genscavenge.HeapVerifier$ImageHeapObjectVerifier com.oracle.svm.core.genscavenge.HeapVerifier$ImageHeapRegionVerifier com.oracle.svm.core.genscavenge.HeapVerifier$NoReferencesOutsideHeapVisitor com.oracle.svm.core.genscavenge.HeapVerifier$NoReferencesToForwardedObjectsVisitor com.oracle.svm.core.genscavenge.HeapVerifier$Occasion com.oracle.svm.core.genscavenge.HeapVerifier$VerifyVMOperation
InnerClasses:
public abstract ImageHeapRegionVisitor = com.oracle.svm.core.MemoryWalker$ImageHeapRegionVisitor of com.oracle.svm.core.MemoryWalker
public abstract AlignedHeader = com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader of com.oracle.svm.core.genscavenge.AlignedHeapChunk
ReferenceToYoungObjectReferenceVisitor = com.oracle.svm.core.genscavenge.CardTable$ReferenceToYoungObjectReferenceVisitor of com.oracle.svm.core.genscavenge.CardTable
ReferenceToYoungObjectVisitor = com.oracle.svm.core.genscavenge.CardTable$ReferenceToYoungObjectVisitor of com.oracle.svm.core.genscavenge.CardTable
public abstract Header = com.oracle.svm.core.genscavenge.HeapChunk$Header of com.oracle.svm.core.genscavenge.HeapChunk
ImageHeapObjectVerifier = com.oracle.svm.core.genscavenge.HeapVerifier$ImageHeapObjectVerifier of com.oracle.svm.core.genscavenge.HeapVerifier
ImageHeapRegionVerifier = com.oracle.svm.core.genscavenge.HeapVerifier$ImageHeapRegionVerifier of com.oracle.svm.core.genscavenge.HeapVerifier
private NoReferencesOutsideHeapVisitor = com.oracle.svm.core.genscavenge.HeapVerifier$NoReferencesOutsideHeapVisitor of com.oracle.svm.core.genscavenge.HeapVerifier
private NoReferencesToForwardedObjectsVisitor = com.oracle.svm.core.genscavenge.HeapVerifier$NoReferencesToForwardedObjectsVisitor of com.oracle.svm.core.genscavenge.HeapVerifier
public final Occasion = com.oracle.svm.core.genscavenge.HeapVerifier$Occasion of com.oracle.svm.core.genscavenge.HeapVerifier
final VerifyVMOperation = com.oracle.svm.core.genscavenge.HeapVerifier$VerifyVMOperation of com.oracle.svm.core.genscavenge.HeapVerifier
public abstract UnalignedHeader = com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader of com.oracle.svm.core.genscavenge.UnalignedHeapChunk