public final class com.oracle.svm.core.genscavenge.ImageHeapWalker
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.oracle.svm.core.genscavenge.ImageHeapWalker
  super_class: java.lang.Object
{
  private static final com.oracle.svm.core.MemoryWalker$NativeImageHeapRegionAccess<com.oracle.svm.core.genscavenge.ImageHeapInfo> READ_ONLY_PRIMITIVE_WALKER;
    descriptor: Lcom/oracle/svm/core/MemoryWalker$NativeImageHeapRegionAccess;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Lcom/oracle/svm/core/MemoryWalker$NativeImageHeapRegionAccess<Lcom/oracle/svm/core/genscavenge/ImageHeapInfo;>;

  private static final com.oracle.svm.core.MemoryWalker$NativeImageHeapRegionAccess<com.oracle.svm.core.genscavenge.ImageHeapInfo> READ_ONLY_REFERENCE_WALKER;
    descriptor: Lcom/oracle/svm/core/MemoryWalker$NativeImageHeapRegionAccess;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Lcom/oracle/svm/core/MemoryWalker$NativeImageHeapRegionAccess<Lcom/oracle/svm/core/genscavenge/ImageHeapInfo;>;

  private static final com.oracle.svm.core.MemoryWalker$NativeImageHeapRegionAccess<com.oracle.svm.core.genscavenge.ImageHeapInfo> READ_ONLY_RELOCATABLE_WALKER;
    descriptor: Lcom/oracle/svm/core/MemoryWalker$NativeImageHeapRegionAccess;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Lcom/oracle/svm/core/MemoryWalker$NativeImageHeapRegionAccess<Lcom/oracle/svm/core/genscavenge/ImageHeapInfo;>;

  private static final com.oracle.svm.core.MemoryWalker$NativeImageHeapRegionAccess<com.oracle.svm.core.genscavenge.ImageHeapInfo> WRITABLE_PRIMITIVE_WALKER;
    descriptor: Lcom/oracle/svm/core/MemoryWalker$NativeImageHeapRegionAccess;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Lcom/oracle/svm/core/MemoryWalker$NativeImageHeapRegionAccess<Lcom/oracle/svm/core/genscavenge/ImageHeapInfo;>;

  private static final com.oracle.svm.core.MemoryWalker$NativeImageHeapRegionAccess<com.oracle.svm.core.genscavenge.ImageHeapInfo> WRITABLE_REFERENCE_WALKER;
    descriptor: Lcom/oracle/svm/core/MemoryWalker$NativeImageHeapRegionAccess;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Lcom/oracle/svm/core/MemoryWalker$NativeImageHeapRegionAccess<Lcom/oracle/svm/core/genscavenge/ImageHeapInfo;>;

  private static final com.oracle.svm.core.MemoryWalker$NativeImageHeapRegionAccess<com.oracle.svm.core.genscavenge.ImageHeapInfo> WRITABLE_HUGE_WALKER;
    descriptor: Lcom/oracle/svm/core/MemoryWalker$NativeImageHeapRegionAccess;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Lcom/oracle/svm/core/MemoryWalker$NativeImageHeapRegionAccess<Lcom/oracle/svm/core/genscavenge/ImageHeapInfo;>;

  private static final com.oracle.svm.core.MemoryWalker$NativeImageHeapRegionAccess<com.oracle.svm.core.genscavenge.ImageHeapInfo> READ_ONLY_HUGE_WALKER;
    descriptor: Lcom/oracle/svm/core/MemoryWalker$NativeImageHeapRegionAccess;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Lcom/oracle/svm/core/MemoryWalker$NativeImageHeapRegionAccess<Lcom/oracle/svm/core/genscavenge/ImageHeapInfo;>;

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 45
            ldc Lcom/oracle/svm/core/genscavenge/ImageHeapWalker;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic com.oracle.svm.core.genscavenge.ImageHeapWalker.$assertionsDisabled:Z
         3: .line 46
            new com.oracle.svm.core.genscavenge.ReadOnlyPrimitiveMemoryWalkerAccess
            dup
            invokespecial com.oracle.svm.core.genscavenge.ReadOnlyPrimitiveMemoryWalkerAccess.<init>:()V
            putstatic com.oracle.svm.core.genscavenge.ImageHeapWalker.READ_ONLY_PRIMITIVE_WALKER:Lcom/oracle/svm/core/MemoryWalker$NativeImageHeapRegionAccess;
         4: .line 47
            new com.oracle.svm.core.genscavenge.ReadOnlyReferenceMemoryWalkerAccess
            dup
            invokespecial com.oracle.svm.core.genscavenge.ReadOnlyReferenceMemoryWalkerAccess.<init>:()V
            putstatic com.oracle.svm.core.genscavenge.ImageHeapWalker.READ_ONLY_REFERENCE_WALKER:Lcom/oracle/svm/core/MemoryWalker$NativeImageHeapRegionAccess;
         5: .line 48
            new com.oracle.svm.core.genscavenge.ReadOnlyRelocatableMemoryWalkerAccess
            dup
            invokespecial com.oracle.svm.core.genscavenge.ReadOnlyRelocatableMemoryWalkerAccess.<init>:()V
            putstatic com.oracle.svm.core.genscavenge.ImageHeapWalker.READ_ONLY_RELOCATABLE_WALKER:Lcom/oracle/svm/core/MemoryWalker$NativeImageHeapRegionAccess;
         6: .line 49
            new com.oracle.svm.core.genscavenge.WritablePrimitiveMemoryWalkerAccess
            dup
            invokespecial com.oracle.svm.core.genscavenge.WritablePrimitiveMemoryWalkerAccess.<init>:()V
            putstatic com.oracle.svm.core.genscavenge.ImageHeapWalker.WRITABLE_PRIMITIVE_WALKER:Lcom/oracle/svm/core/MemoryWalker$NativeImageHeapRegionAccess;
         7: .line 50
            new com.oracle.svm.core.genscavenge.WritableReferenceMemoryWalkerAccess
            dup
            invokespecial com.oracle.svm.core.genscavenge.WritableReferenceMemoryWalkerAccess.<init>:()V
            putstatic com.oracle.svm.core.genscavenge.ImageHeapWalker.WRITABLE_REFERENCE_WALKER:Lcom/oracle/svm/core/MemoryWalker$NativeImageHeapRegionAccess;
         8: .line 51
            new com.oracle.svm.core.genscavenge.WritableHugeMemoryWalkerAccess
            dup
            invokespecial com.oracle.svm.core.genscavenge.WritableHugeMemoryWalkerAccess.<init>:()V
            putstatic com.oracle.svm.core.genscavenge.ImageHeapWalker.WRITABLE_HUGE_WALKER:Lcom/oracle/svm/core/MemoryWalker$NativeImageHeapRegionAccess;
         9: .line 52
            new com.oracle.svm.core.genscavenge.ReadOnlyHugeMemoryWalkerAccess
            dup
            invokespecial com.oracle.svm.core.genscavenge.ReadOnlyHugeMemoryWalkerAccess.<init>:()V
            putstatic com.oracle.svm.core.genscavenge.ImageHeapWalker.READ_ONLY_HUGE_WALKER:Lcom/oracle/svm/core/MemoryWalker$NativeImageHeapRegionAccess;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.core.genscavenge.ImageHeapWalker this
         0: .line 54
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 55
            return
        end local 0 // com.oracle.svm.core.genscavenge.ImageHeapWalker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/svm/core/genscavenge/ImageHeapWalker;

  public static boolean walkRegions(com.oracle.svm.core.genscavenge.ImageHeapInfo, com.oracle.svm.core.MemoryWalker$ImageHeapRegionVisitor);
    descriptor: (Lcom/oracle/svm/core/genscavenge/ImageHeapInfo;Lcom/oracle/svm/core/MemoryWalker$ImageHeapRegionVisitor;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.svm.core.genscavenge.ImageHeapInfo heapInfo
        start local 1 // com.oracle.svm.core.MemoryWalker$ImageHeapRegionVisitor visitor
         0: .line 58
            aload 1 /* visitor */
            aload 0 /* heapInfo */
            getstatic com.oracle.svm.core.genscavenge.ImageHeapWalker.READ_ONLY_PRIMITIVE_WALKER:Lcom/oracle/svm/core/MemoryWalker$NativeImageHeapRegionAccess;
            invokeinterface com.oracle.svm.core.MemoryWalker$ImageHeapRegionVisitor.visitNativeImageHeapRegion:(Ljava/lang/Object;Lcom/oracle/svm/core/MemoryWalker$NativeImageHeapRegionAccess;)Z
            ifeq 8
         1: .line 59
            aload 1 /* visitor */
            aload 0 /* heapInfo */
            getstatic com.oracle.svm.core.genscavenge.ImageHeapWalker.READ_ONLY_REFERENCE_WALKER:Lcom/oracle/svm/core/MemoryWalker$NativeImageHeapRegionAccess;
            invokeinterface com.oracle.svm.core.MemoryWalker$ImageHeapRegionVisitor.visitNativeImageHeapRegion:(Ljava/lang/Object;Lcom/oracle/svm/core/MemoryWalker$NativeImageHeapRegionAccess;)Z
            ifeq 8
         2: .line 60
            aload 1 /* visitor */
            aload 0 /* heapInfo */
            getstatic com.oracle.svm.core.genscavenge.ImageHeapWalker.READ_ONLY_RELOCATABLE_WALKER:Lcom/oracle/svm/core/MemoryWalker$NativeImageHeapRegionAccess;
            invokeinterface com.oracle.svm.core.MemoryWalker$ImageHeapRegionVisitor.visitNativeImageHeapRegion:(Ljava/lang/Object;Lcom/oracle/svm/core/MemoryWalker$NativeImageHeapRegionAccess;)Z
            ifeq 8
         3: .line 61
            aload 1 /* visitor */
            aload 0 /* heapInfo */
            getstatic com.oracle.svm.core.genscavenge.ImageHeapWalker.WRITABLE_PRIMITIVE_WALKER:Lcom/oracle/svm/core/MemoryWalker$NativeImageHeapRegionAccess;
            invokeinterface com.oracle.svm.core.MemoryWalker$ImageHeapRegionVisitor.visitNativeImageHeapRegion:(Ljava/lang/Object;Lcom/oracle/svm/core/MemoryWalker$NativeImageHeapRegionAccess;)Z
            ifeq 8
         4: .line 62
            aload 1 /* visitor */
            aload 0 /* heapInfo */
            getstatic com.oracle.svm.core.genscavenge.ImageHeapWalker.WRITABLE_REFERENCE_WALKER:Lcom/oracle/svm/core/MemoryWalker$NativeImageHeapRegionAccess;
            invokeinterface com.oracle.svm.core.MemoryWalker$ImageHeapRegionVisitor.visitNativeImageHeapRegion:(Ljava/lang/Object;Lcom/oracle/svm/core/MemoryWalker$NativeImageHeapRegionAccess;)Z
            ifeq 8
         5: .line 63
            aload 1 /* visitor */
            aload 0 /* heapInfo */
            getstatic com.oracle.svm.core.genscavenge.ImageHeapWalker.WRITABLE_HUGE_WALKER:Lcom/oracle/svm/core/MemoryWalker$NativeImageHeapRegionAccess;
            invokeinterface com.oracle.svm.core.MemoryWalker$ImageHeapRegionVisitor.visitNativeImageHeapRegion:(Ljava/lang/Object;Lcom/oracle/svm/core/MemoryWalker$NativeImageHeapRegionAccess;)Z
            ifeq 8
         6: .line 64
            aload 1 /* visitor */
            aload 0 /* heapInfo */
            getstatic com.oracle.svm.core.genscavenge.ImageHeapWalker.READ_ONLY_HUGE_WALKER:Lcom/oracle/svm/core/MemoryWalker$NativeImageHeapRegionAccess;
            invokeinterface com.oracle.svm.core.MemoryWalker$ImageHeapRegionVisitor.visitNativeImageHeapRegion:(Ljava/lang/Object;Lcom/oracle/svm/core/MemoryWalker$NativeImageHeapRegionAccess;)Z
            ifeq 8
         7: .line 58
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         8: iconst_0
            ireturn
        end local 1 // com.oracle.svm.core.MemoryWalker$ImageHeapRegionVisitor visitor
        end local 0 // com.oracle.svm.core.genscavenge.ImageHeapInfo heapInfo
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0  heapInfo  Lcom/oracle/svm/core/genscavenge/ImageHeapInfo;
            0    9     1   visitor  Lcom/oracle/svm/core/MemoryWalker$ImageHeapRegionVisitor;
    MethodParameters:
          Name  Flags
      heapInfo  
      visitor   

  public static boolean walkImageHeapObjects(com.oracle.svm.core.genscavenge.ImageHeapInfo, com.oracle.svm.core.heap.ObjectVisitor);
    descriptor: (Lcom/oracle/svm/core/genscavenge/ImageHeapInfo;Lcom/oracle/svm/core/heap/ObjectVisitor;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.oracle.svm.core.genscavenge.ImageHeapInfo heapInfo
        start local 1 // com.oracle.svm.core.heap.ObjectVisitor visitor
         0: .line 68
            aload 0 /* heapInfo */
            getfield com.oracle.svm.core.genscavenge.ImageHeapInfo.firstReadOnlyPrimitiveObject:Ljava/lang/Object;
            aload 0 /* heapInfo */
            getfield com.oracle.svm.core.genscavenge.ImageHeapInfo.lastReadOnlyPrimitiveObject:Ljava/lang/Object;
            aload 1 /* visitor */
            iconst_1
            invokestatic com.oracle.svm.core.genscavenge.ImageHeapWalker.walkPartition:(Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/svm/core/heap/ObjectVisitor;Z)Z
            ifeq 8
         1: .line 69
            aload 0 /* heapInfo */
            getfield com.oracle.svm.core.genscavenge.ImageHeapInfo.firstReadOnlyReferenceObject:Ljava/lang/Object;
            aload 0 /* heapInfo */
            getfield com.oracle.svm.core.genscavenge.ImageHeapInfo.lastReadOnlyReferenceObject:Ljava/lang/Object;
            aload 1 /* visitor */
            iconst_1
            invokestatic com.oracle.svm.core.genscavenge.ImageHeapWalker.walkPartition:(Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/svm/core/heap/ObjectVisitor;Z)Z
            ifeq 8
         2: .line 70
            aload 0 /* heapInfo */
            getfield com.oracle.svm.core.genscavenge.ImageHeapInfo.firstReadOnlyRelocatableObject:Ljava/lang/Object;
            aload 0 /* heapInfo */
            getfield com.oracle.svm.core.genscavenge.ImageHeapInfo.lastReadOnlyRelocatableObject:Ljava/lang/Object;
            aload 1 /* visitor */
            iconst_1
            invokestatic com.oracle.svm.core.genscavenge.ImageHeapWalker.walkPartition:(Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/svm/core/heap/ObjectVisitor;Z)Z
            ifeq 8
         3: .line 71
            aload 0 /* heapInfo */
            getfield com.oracle.svm.core.genscavenge.ImageHeapInfo.firstWritablePrimitiveObject:Ljava/lang/Object;
            aload 0 /* heapInfo */
            getfield com.oracle.svm.core.genscavenge.ImageHeapInfo.lastWritablePrimitiveObject:Ljava/lang/Object;
            aload 1 /* visitor */
            iconst_1
            invokestatic com.oracle.svm.core.genscavenge.ImageHeapWalker.walkPartition:(Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/svm/core/heap/ObjectVisitor;Z)Z
            ifeq 8
         4: .line 72
            aload 0 /* heapInfo */
            getfield com.oracle.svm.core.genscavenge.ImageHeapInfo.firstWritableReferenceObject:Ljava/lang/Object;
            aload 0 /* heapInfo */
            getfield com.oracle.svm.core.genscavenge.ImageHeapInfo.lastWritableReferenceObject:Ljava/lang/Object;
            aload 1 /* visitor */
            iconst_1
            invokestatic com.oracle.svm.core.genscavenge.ImageHeapWalker.walkPartition:(Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/svm/core/heap/ObjectVisitor;Z)Z
            ifeq 8
         5: .line 73
            aload 0 /* heapInfo */
            getfield com.oracle.svm.core.genscavenge.ImageHeapInfo.firstWritableHugeObject:Ljava/lang/Object;
            aload 0 /* heapInfo */
            getfield com.oracle.svm.core.genscavenge.ImageHeapInfo.lastWritableHugeObject:Ljava/lang/Object;
            aload 1 /* visitor */
            iconst_0
            invokestatic com.oracle.svm.core.genscavenge.ImageHeapWalker.walkPartition:(Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/svm/core/heap/ObjectVisitor;Z)Z
            ifeq 8
         6: .line 74
            aload 0 /* heapInfo */
            getfield com.oracle.svm.core.genscavenge.ImageHeapInfo.firstReadOnlyHugeObject:Ljava/lang/Object;
            aload 0 /* heapInfo */
            getfield com.oracle.svm.core.genscavenge.ImageHeapInfo.lastReadOnlyHugeObject:Ljava/lang/Object;
            aload 1 /* visitor */
            iconst_0
            invokestatic com.oracle.svm.core.genscavenge.ImageHeapWalker.walkPartition:(Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/svm/core/heap/ObjectVisitor;Z)Z
            ifeq 8
         7: .line 68
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         8: iconst_0
            ireturn
        end local 1 // com.oracle.svm.core.heap.ObjectVisitor visitor
        end local 0 // com.oracle.svm.core.genscavenge.ImageHeapInfo heapInfo
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0  heapInfo  Lcom/oracle/svm/core/genscavenge/ImageHeapInfo;
            0    9     1   visitor  Lcom/oracle/svm/core/heap/ObjectVisitor;
    MethodParameters:
          Name  Flags
      heapInfo  
      visitor   

  static boolean walkPartition(java.lang.Object, java.lang.Object, com.oracle.svm.core.heap.ObjectVisitor, boolean);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/svm/core/heap/ObjectVisitor;Z)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // java.lang.Object firstObject
        start local 1 // java.lang.Object lastObject
        start local 2 // com.oracle.svm.core.heap.ObjectVisitor visitor
        start local 3 // boolean alignedChunks
         0: .line 78
            aload 0 /* firstObject */
            aload 1 /* lastObject */
            aload 2 /* visitor */
            iload 3 /* alignedChunks */
            iconst_0
            invokestatic com.oracle.svm.core.genscavenge.ImageHeapWalker.walkPartitionInline:(Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/svm/core/heap/ObjectVisitor;ZZ)Z
            ireturn
        end local 3 // boolean alignedChunks
        end local 2 // com.oracle.svm.core.heap.ObjectVisitor visitor
        end local 1 // java.lang.Object lastObject
        end local 0 // java.lang.Object firstObject
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0    firstObject  Ljava/lang/Object;
            0    1     1     lastObject  Ljava/lang/Object;
            0    1     2        visitor  Lcom/oracle/svm/core/heap/ObjectVisitor;
            0    1     3  alignedChunks  Z
    MethodParameters:
               Name  Flags
      firstObject    
      lastObject     
      visitor        
      alignedChunks  

  static boolean walkPartitionInline(java.lang.Object, java.lang.Object, com.oracle.svm.core.heap.ObjectVisitor, boolean);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/svm/core/heap/ObjectVisitor;Z)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // java.lang.Object firstObject
        start local 1 // java.lang.Object lastObject
        start local 2 // com.oracle.svm.core.heap.ObjectVisitor visitor
        start local 3 // boolean alignedChunks
         0: .line 83
            aload 0 /* firstObject */
            aload 1 /* lastObject */
            aload 2 /* visitor */
            iload 3 /* alignedChunks */
            iconst_1
            invokestatic com.oracle.svm.core.genscavenge.ImageHeapWalker.walkPartitionInline:(Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/svm/core/heap/ObjectVisitor;ZZ)Z
            ireturn
        end local 3 // boolean alignedChunks
        end local 2 // com.oracle.svm.core.heap.ObjectVisitor visitor
        end local 1 // java.lang.Object lastObject
        end local 0 // java.lang.Object firstObject
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0    firstObject  Ljava/lang/Object;
            0    1     1     lastObject  Ljava/lang/Object;
            0    1     2        visitor  Lcom/oracle/svm/core/heap/ObjectVisitor;
            0    1     3  alignedChunks  Z
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.AlwaysInline(value = "GC performance")
    MethodParameters:
               Name  Flags
      firstObject    
      lastObject     
      visitor        
      alignedChunks  

  private static boolean walkPartitionInline(java.lang.Object, java.lang.Object, com.oracle.svm.core.heap.ObjectVisitor, boolean, boolean);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/svm/core/heap/ObjectVisitor;ZZ)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=12, args_size=5
        start local 0 // java.lang.Object firstObject
        start local 1 // java.lang.Object lastObject
        start local 2 // com.oracle.svm.core.heap.ObjectVisitor visitor
        start local 3 // boolean alignedChunks
        start local 4 // boolean inlineObjectVisit
         0: .line 88
            aload 0 /* firstObject */
            ifnull 1
            aload 1 /* lastObject */
            ifnonnull 4
         1: .line 89
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.svm.core.genscavenge.ImageHeapWalker.$assertionsDisabled:Z
            ifne 3
            aload 0 /* firstObject */
            ifnonnull 2
            aload 1 /* lastObject */
            ifnull 3
      StackMap locals:
      StackMap stack:
         2: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 90
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         4: .line 92
      StackMap locals:
      StackMap stack:
            aload 0 /* firstObject */
            invokestatic org.graalvm.compiler.word.Word.objectToUntrackedPointer:(Ljava/lang/Object;)Lorg/graalvm/compiler/word/Word;
            astore 5 /* firstPointer */
        start local 5 // org.graalvm.word.Pointer firstPointer
         5: .line 93
            aload 1 /* lastObject */
            invokestatic org.graalvm.compiler.word.Word.objectToUntrackedPointer:(Ljava/lang/Object;)Lorg/graalvm/compiler/word/Word;
            astore 6 /* lastPointer */
        start local 6 // org.graalvm.word.Pointer lastPointer
         6: .line 94
            aload 5 /* firstPointer */
            astore 7 /* current */
        start local 7 // org.graalvm.word.Pointer current
         7: .line 95
            invokestatic org.graalvm.word.WordFactory.nullPointer:()Lorg/graalvm/word/PointerBase;
            checkcast com.oracle.svm.core.genscavenge.HeapChunk$Header
            astore 8 /* currentChunk */
        start local 8 // com.oracle.svm.core.genscavenge.HeapChunk$Header currentChunk
         8: .line 96
            invokestatic com.oracle.svm.core.genscavenge.HeapImpl.usesImageHeapChunks:()Z
            ifeq 17
         9: .line 97
            invokestatic org.graalvm.word.WordFactory.zero:()Lorg/graalvm/word/WordBase;
            checkcast org.graalvm.word.Pointer
            astore 9 /* base */
        start local 9 // org.graalvm.word.Pointer base
        10: .line 98
            invokestatic com.oracle.svm.core.os.CommittedMemoryProvider.get:()Lcom/oracle/svm/core/os/CommittedMemoryProvider;
            invokeinterface com.oracle.svm.core.os.CommittedMemoryProvider.guaranteesHeapPreferredAddressSpaceAlignment:()Z
            ifne 12
        11: .line 99
            invokestatic org.graalvm.nativeimage.CurrentIsolate.getIsolate:()Lorg/graalvm/nativeimage/Isolate;
            invokestatic com.oracle.svm.core.Isolates.getHeapBase:(Lorg/graalvm/nativeimage/Isolate;)Lorg/graalvm/word/PointerBase;
            checkcast org.graalvm.word.Pointer
            astore 9 /* base */
        12: .line 101
      StackMap locals: java.lang.Object java.lang.Object com.oracle.svm.core.heap.ObjectVisitor int int org.graalvm.word.Pointer org.graalvm.word.Pointer org.graalvm.word.Pointer com.oracle.svm.core.genscavenge.HeapChunk$Header org.graalvm.word.Pointer
      StackMap stack:
            aload 7 /* current */
            aload 9 /* base */
            invokeinterface org.graalvm.word.Pointer.subtract:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
            astore 10 /* offset */
        start local 10 // org.graalvm.word.Pointer offset
        13: .line 102
            iload 3 /* alignedChunks */
            ifeq 14
            aload 10 /* offset */
            invokestatic com.oracle.svm.core.genscavenge.HeapPolicy.getAlignedHeapChunkAlignment:()Lorg/graalvm/word/UnsignedWord;
            invokestatic com.oracle.svm.core.util.UnsignedUtils.roundDown:(Lorg/graalvm/word/UnsignedWord;Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
            goto 15
        14: .line 103
      StackMap locals: org.graalvm.word.Pointer
      StackMap stack:
            aload 10 /* offset */
            invokestatic com.oracle.svm.core.genscavenge.UnalignedHeapChunk.getObjectStartOffset:()Lorg/graalvm/word/UnsignedWord;
            invokeinterface org.graalvm.word.Pointer.subtract:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
        15: .line 102
      StackMap locals:
      StackMap stack: org.graalvm.word.UnsignedWord
            astore 11 /* chunkOffset */
        start local 11 // org.graalvm.word.UnsignedWord chunkOffset
        16: .line 104
            aload 11 /* chunkOffset */
            aload 9 /* base */
            invokeinterface org.graalvm.word.UnsignedWord.add:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
            checkcast com.oracle.svm.core.genscavenge.HeapChunk$Header
            astore 8 /* currentChunk */
        end local 11 // org.graalvm.word.UnsignedWord chunkOffset
        end local 10 // org.graalvm.word.Pointer offset
        end local 9 // org.graalvm.word.Pointer base
        17: .line 110
      StackMap locals:
      StackMap stack:
            aload 6 /* lastPointer */
            astore 9 /* limit */
        start local 9 // org.graalvm.word.Pointer limit
        18: .line 111
            invokestatic com.oracle.svm.core.genscavenge.HeapImpl.usesImageHeapChunks:()Z
            ifeq 30
        19: .line 112
            aload 8 /* currentChunk */
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.getTopPointer:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)Lorg/graalvm/word/Pointer;
            astore 10 /* chunkTop */
        start local 10 // org.graalvm.word.Pointer chunkTop
        20: .line 113
            aload 6 /* lastPointer */
            aload 10 /* chunkTop */
            invokeinterface org.graalvm.word.Pointer.aboveThan:(Lorg/graalvm/word/UnsignedWord;)Z
            ifeq 30
        21: .line 114
            aload 10 /* chunkTop */
            iconst_1
            invokeinterface org.graalvm.word.Pointer.subtract:(I)Lorg/graalvm/word/Pointer;
            astore 9 /* limit */
        end local 10 // org.graalvm.word.Pointer chunkTop
        22: .line 117
            goto 30
        23: .line 118
      StackMap locals: org.graalvm.word.Pointer
      StackMap stack:
            aload 7 /* current */
            invokeinterface org.graalvm.word.Pointer.toObject:()Ljava/lang/Object;
            ldc Ljava/lang/Object;
            invokestatic com.oracle.svm.core.snippets.KnownIntrinsics.convertUnknownValue:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
            astore 10 /* currentObject */
        start local 10 // java.lang.Object currentObject
        24: .line 119
            iload 4 /* inlineObjectVisit */
            ifeq 27
        25: .line 120
            aload 2 /* visitor */
            aload 10 /* currentObject */
            invokeinterface com.oracle.svm.core.heap.ObjectVisitor.visitObjectInline:(Ljava/lang/Object;)Z
            ifne 29
        26: .line 121
            iconst_0
            ireturn
        27: .line 123
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 2 /* visitor */
            aload 10 /* currentObject */
            invokeinterface com.oracle.svm.core.heap.ObjectVisitor.visitObject:(Ljava/lang/Object;)Z
            ifne 29
        28: .line 124
            iconst_0
            ireturn
        29: .line 126
      StackMap locals:
      StackMap stack:
            aload 7 /* current */
            invokeinterface org.graalvm.word.Pointer.toObject:()Ljava/lang/Object;
            invokestatic com.oracle.svm.core.hub.LayoutEncoding.getObjectEnd:(Ljava/lang/Object;)Lorg/graalvm/word/Pointer;
            astore 7 /* current */
        end local 10 // java.lang.Object currentObject
        30: .line 117
      StackMap locals:
      StackMap stack:
            aload 7 /* current */
            aload 9 /* limit */
            invokeinterface org.graalvm.word.Pointer.belowOrEqual:(Lorg/graalvm/word/UnsignedWord;)Z
            ifne 23
        31: .line 128
            invokestatic com.oracle.svm.core.genscavenge.HeapImpl.usesImageHeapChunks:()Z
            ifeq 36
            aload 7 /* current */
            aload 6 /* lastPointer */
            invokeinterface org.graalvm.word.Pointer.belowThan:(Lorg/graalvm/word/UnsignedWord;)Z
            ifeq 36
        32: .line 129
            aload 8 /* currentChunk */
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.getNext:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;
            astore 8 /* currentChunk */
        33: .line 130
            iload 3 /* alignedChunks */
            ifeq 34
            aload 8 /* currentChunk */
            checkcast com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getObjectsStart:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/Pointer;
            goto 35
        34: .line 131
      StackMap locals:
      StackMap stack:
            aload 8 /* currentChunk */
            checkcast com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader
            invokestatic com.oracle.svm.core.genscavenge.UnalignedHeapChunk.getObjectStart:(Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;)Lorg/graalvm/word/Pointer;
        35: .line 130
      StackMap locals:
      StackMap stack: org.graalvm.word.Pointer
            astore 7 /* current */
        end local 9 // org.graalvm.word.Pointer limit
        36: .line 134
      StackMap locals:
      StackMap stack:
            aload 7 /* current */
            aload 6 /* lastPointer */
            invokeinterface org.graalvm.word.Pointer.belowOrEqual:(Lorg/graalvm/word/UnsignedWord;)Z
            ifne 17
        37: .line 135
            iconst_1
            ireturn
        end local 8 // com.oracle.svm.core.genscavenge.HeapChunk$Header currentChunk
        end local 7 // org.graalvm.word.Pointer current
        end local 6 // org.graalvm.word.Pointer lastPointer
        end local 5 // org.graalvm.word.Pointer firstPointer
        end local 4 // boolean inlineObjectVisit
        end local 3 // boolean alignedChunks
        end local 2 // com.oracle.svm.core.heap.ObjectVisitor visitor
        end local 1 // java.lang.Object lastObject
        end local 0 // java.lang.Object firstObject
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   38     0        firstObject  Ljava/lang/Object;
            0   38     1         lastObject  Ljava/lang/Object;
            0   38     2            visitor  Lcom/oracle/svm/core/heap/ObjectVisitor;
            0   38     3      alignedChunks  Z
            0   38     4  inlineObjectVisit  Z
            5   38     5       firstPointer  Lorg/graalvm/word/Pointer;
            6   38     6        lastPointer  Lorg/graalvm/word/Pointer;
            7   38     7            current  Lorg/graalvm/word/Pointer;
            8   38     8       currentChunk  Lcom/oracle/svm/core/genscavenge/HeapChunk$Header<*>;
           10   17     9               base  Lorg/graalvm/word/Pointer;
           13   17    10             offset  Lorg/graalvm/word/Pointer;
           16   17    11        chunkOffset  Lorg/graalvm/word/UnsignedWord;
           18   36     9              limit  Lorg/graalvm/word/Pointer;
           20   22    10           chunkTop  Lorg/graalvm/word/Pointer;
           24   30    10      currentObject  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.AlwaysInline(value = "GC performance")
    MethodParameters:
                   Name  Flags
      firstObject        
      lastObject         
      visitor            
      alignedChunks      
      inlineObjectVisit  

  static void logPartitionBoundaries(com.oracle.svm.core.log.Log, com.oracle.svm.core.genscavenge.ImageHeapInfo);
    descriptor: (Lcom/oracle/svm/core/log/Log;Lcom/oracle/svm/core/genscavenge/ImageHeapInfo;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.svm.core.log.Log log
        start local 1 // com.oracle.svm.core.genscavenge.ImageHeapInfo imageHeapInfo
         0: .line 139
            aload 0 /* log */
            ldc "ReadOnly Primitives: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 1 /* imageHeapInfo */
            getfield com.oracle.svm.core.genscavenge.ImageHeapInfo.firstReadOnlyPrimitiveObject:Ljava/lang/Object;
            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 " .. "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
         1: .line 140
            aload 1 /* imageHeapInfo */
            getfield com.oracle.svm.core.genscavenge.ImageHeapInfo.lastReadOnlyPrimitiveObject:Ljava/lang/Object;
            invokestatic org.graalvm.compiler.word.Word.objectToUntrackedPointer:(Ljava/lang/Object;)Lorg/graalvm/compiler/word/Word;
         2: .line 139
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
         3: .line 140
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            pop
         4: .line 141
            aload 0 /* log */
            ldc "ReadOnly References: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 1 /* imageHeapInfo */
            getfield com.oracle.svm.core.genscavenge.ImageHeapInfo.firstReadOnlyReferenceObject:Ljava/lang/Object;
            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 " .. "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
         5: .line 142
            aload 1 /* imageHeapInfo */
            getfield com.oracle.svm.core.genscavenge.ImageHeapInfo.lastReadOnlyReferenceObject:Ljava/lang/Object;
            invokestatic org.graalvm.compiler.word.Word.objectToUntrackedPointer:(Ljava/lang/Object;)Lorg/graalvm/compiler/word/Word;
         6: .line 141
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
         7: .line 142
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            pop
         8: .line 143
            aload 0 /* log */
            ldc "ReadOnly Relocatables: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 1 /* imageHeapInfo */
            getfield com.oracle.svm.core.genscavenge.ImageHeapInfo.firstReadOnlyRelocatableObject:Ljava/lang/Object;
            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 " .. "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
         9: .line 144
            aload 1 /* imageHeapInfo */
            getfield com.oracle.svm.core.genscavenge.ImageHeapInfo.lastReadOnlyRelocatableObject:Ljava/lang/Object;
            invokestatic org.graalvm.compiler.word.Word.objectToUntrackedPointer:(Ljava/lang/Object;)Lorg/graalvm/compiler/word/Word;
        10: .line 143
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
        11: .line 144
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            pop
        12: .line 145
            aload 0 /* log */
            ldc "Writable Primitives: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 1 /* imageHeapInfo */
            getfield com.oracle.svm.core.genscavenge.ImageHeapInfo.firstWritablePrimitiveObject:Ljava/lang/Object;
            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 " .. "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
        13: .line 146
            aload 1 /* imageHeapInfo */
            getfield com.oracle.svm.core.genscavenge.ImageHeapInfo.lastWritablePrimitiveObject:Ljava/lang/Object;
            invokestatic org.graalvm.compiler.word.Word.objectToUntrackedPointer:(Ljava/lang/Object;)Lorg/graalvm/compiler/word/Word;
        14: .line 145
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
        15: .line 146
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            pop
        16: .line 147
            aload 0 /* log */
            ldc "Writable References: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 1 /* imageHeapInfo */
            getfield com.oracle.svm.core.genscavenge.ImageHeapInfo.firstWritableReferenceObject:Ljava/lang/Object;
            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 " .. "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
        17: .line 148
            aload 1 /* imageHeapInfo */
            getfield com.oracle.svm.core.genscavenge.ImageHeapInfo.lastWritableReferenceObject:Ljava/lang/Object;
            invokestatic org.graalvm.compiler.word.Word.objectToUntrackedPointer:(Ljava/lang/Object;)Lorg/graalvm/compiler/word/Word;
        18: .line 147
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
        19: .line 148
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            pop
        20: .line 149
            aload 0 /* log */
            ldc "Writable Huge: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 1 /* imageHeapInfo */
            getfield com.oracle.svm.core.genscavenge.ImageHeapInfo.firstWritableHugeObject:Ljava/lang/Object;
            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 " .. "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
        21: .line 150
            aload 1 /* imageHeapInfo */
            getfield com.oracle.svm.core.genscavenge.ImageHeapInfo.lastWritableHugeObject:Ljava/lang/Object;
            invokestatic org.graalvm.compiler.word.Word.objectToUntrackedPointer:(Ljava/lang/Object;)Lorg/graalvm/compiler/word/Word;
        22: .line 149
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
        23: .line 150
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            pop
        24: .line 151
            aload 0 /* log */
            ldc "ReadOnly Huge: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 1 /* imageHeapInfo */
            getfield com.oracle.svm.core.genscavenge.ImageHeapInfo.firstReadOnlyHugeObject:Ljava/lang/Object;
            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 " .. "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
        25: .line 152
            aload 1 /* imageHeapInfo */
            getfield com.oracle.svm.core.genscavenge.ImageHeapInfo.lastReadOnlyHugeObject:Ljava/lang/Object;
            invokestatic org.graalvm.compiler.word.Word.objectToUntrackedPointer:(Ljava/lang/Object;)Lorg/graalvm/compiler/word/Word;
        26: .line 151
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            pop
        27: .line 153
            return
        end local 1 // com.oracle.svm.core.genscavenge.ImageHeapInfo imageHeapInfo
        end local 0 // com.oracle.svm.core.log.Log log
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   28     0            log  Lcom/oracle/svm/core/log/Log;
            0   28     1  imageHeapInfo  Lcom/oracle/svm/core/genscavenge/ImageHeapInfo;
    MethodParameters:
               Name  Flags
      log            
      imageHeapInfo  
}
SourceFile: "ImageHeapWalker.java"
InnerClasses:
  public abstract ImageHeapRegionVisitor = com.oracle.svm.core.MemoryWalker$ImageHeapRegionVisitor of com.oracle.svm.core.MemoryWalker
  public abstract NativeImageHeapRegionAccess = com.oracle.svm.core.MemoryWalker$NativeImageHeapRegionAccess of com.oracle.svm.core.MemoryWalker
  public abstract AlignedHeader = com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader of com.oracle.svm.core.genscavenge.AlignedHeapChunk
  public abstract Header = com.oracle.svm.core.genscavenge.HeapChunk$Header of com.oracle.svm.core.genscavenge.HeapChunk
  public abstract UnalignedHeader = com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader of com.oracle.svm.core.genscavenge.UnalignedHeapChunk