final class com.oracle.svm.core.genscavenge.Space
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.oracle.svm.core.genscavenge.Space
  super_class: java.lang.Object
{
  private final java.lang.String name;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean isFromSpace;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int age;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.oracle.svm.core.genscavenge.SpaceAccounting accounting;
    descriptor: Lcom/oracle/svm/core/genscavenge/SpaceAccounting;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader firstAlignedHeapChunk;
    descriptor: Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
    flags: (0x0002) ACC_PRIVATE

  private com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader lastAlignedHeapChunk;
    descriptor: Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
    flags: (0x0002) ACC_PRIVATE

  private com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader firstUnalignedHeapChunk;
    descriptor: Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;
    flags: (0x0002) ACC_PRIVATE

  private com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader lastUnalignedHeapChunk;
    descriptor: Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;
    flags: (0x0002) ACC_PRIVATE

  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=1, locals=0, args_size=0
         0: .line 60
            ldc Lcom/oracle/svm/core/genscavenge/Space;
            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.Space.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(java.lang.String, boolean, int);
    descriptor: (Ljava/lang/String;ZI)V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.svm.core.genscavenge.Space this
        start local 1 // java.lang.String name
        start local 2 // boolean isFromSpace
        start local 3 // int age
         0: .line 78
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 79
            aload 0 /* this */
            aload 1 /* name */
            putfield com.oracle.svm.core.genscavenge.Space.name:Ljava/lang/String;
         2: .line 80
            getstatic com.oracle.svm.core.genscavenge.Space.$assertionsDisabled:Z
            ifne 3
            aload 1 /* name */
            ifnonnull 3
            new java.lang.AssertionError
            dup
            ldc "Space name should not be null."
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 81
      StackMap locals: com.oracle.svm.core.genscavenge.Space java.lang.String int int
      StackMap stack:
            aload 0 /* this */
            iload 2 /* isFromSpace */
            putfield com.oracle.svm.core.genscavenge.Space.isFromSpace:Z
         4: .line 82
            aload 0 /* this */
            iload 3 /* age */
            putfield com.oracle.svm.core.genscavenge.Space.age:I
         5: .line 83
            aload 0 /* this */
            new com.oracle.svm.core.genscavenge.SpaceAccounting
            dup
            invokespecial com.oracle.svm.core.genscavenge.SpaceAccounting.<init>:()V
            putfield com.oracle.svm.core.genscavenge.Space.accounting:Lcom/oracle/svm/core/genscavenge/SpaceAccounting;
         6: .line 84
            return
        end local 3 // int age
        end local 2 // boolean isFromSpace
        end local 1 // java.lang.String name
        end local 0 // com.oracle.svm.core.genscavenge.Space this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Lcom/oracle/svm/core/genscavenge/Space;
            0    7     1         name  Ljava/lang/String;
            0    7     2  isFromSpace  Z
            0    7     3          age  I
    RuntimeVisibleAnnotations: 
      org.graalvm.nativeimage.Platforms(value = {Lorg/graalvm/nativeimage/Platform$HOSTED_ONLY;})
    MethodParameters:
             Name  Flags
      name         
      isFromSpace  
      age          

  public java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.core.genscavenge.Space this
         0: .line 88
            aload 0 /* this */
            getfield com.oracle.svm.core.genscavenge.Space.name:Ljava/lang/String;
            areturn
        end local 0 // com.oracle.svm.core.genscavenge.Space this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/core/genscavenge/Space;
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.Uninterruptible(reason = "Called from uninterruptible code.", mayBeInlined = true)

  public boolean isEmpty();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.core.genscavenge.Space this
         0: .line 92
            aload 0 /* this */
            invokevirtual com.oracle.svm.core.genscavenge.Space.getFirstAlignedHeapChunk:()Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            invokeinterface com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader.isNull:()Z
            ifeq 1
            aload 0 /* this */
            invokevirtual com.oracle.svm.core.genscavenge.Space.getFirstUnalignedHeapChunk:()Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;
            invokeinterface com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader.isNull:()Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.oracle.svm.core.genscavenge.Space this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/svm/core/genscavenge/Space;

  void tearDown();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.core.genscavenge.Space this
         0: .line 97
            aload 0 /* this */
            invokevirtual com.oracle.svm.core.genscavenge.Space.getFirstAlignedHeapChunk:()Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            invokestatic com.oracle.svm.core.genscavenge.HeapChunkProvider.freeAlignedChunkList:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)V
         1: .line 98
            aload 0 /* this */
            invokevirtual com.oracle.svm.core.genscavenge.Space.getFirstUnalignedHeapChunk:()Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;
            invokestatic com.oracle.svm.core.genscavenge.HeapChunkProvider.freeUnalignedChunkList:(Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;)V
         2: .line 99
            return
        end local 0 // com.oracle.svm.core.genscavenge.Space this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/svm/core/genscavenge/Space;
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.Uninterruptible(reason = "Called from uninterruptible code.", mayBeInlined = true)

  boolean isEdenSpace();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.core.genscavenge.Space this
         0: .line 103
            aload 0 /* this */
            getfield com.oracle.svm.core.genscavenge.Space.age:I
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.oracle.svm.core.genscavenge.Space this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/svm/core/genscavenge/Space;
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.Uninterruptible(reason = "Called from uninterruptible code.", mayBeInlined = true)

  boolean isYoungSpace();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.svm.core.genscavenge.Space this
         0: .line 107
            aload 0 /* this */
            getfield com.oracle.svm.core.genscavenge.Space.age:I
            invokestatic com.oracle.svm.core.genscavenge.HeapPolicy.getMaxSurvivorSpaces:()I
            if_icmpgt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.oracle.svm.core.genscavenge.Space this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/svm/core/genscavenge/Space;

  boolean isSurvivorSpace();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.svm.core.genscavenge.Space this
         0: .line 111
            aload 0 /* this */
            getfield com.oracle.svm.core.genscavenge.Space.age:I
            ifle 1
            aload 0 /* this */
            getfield com.oracle.svm.core.genscavenge.Space.age:I
            invokestatic com.oracle.svm.core.genscavenge.HeapPolicy.getMaxSurvivorSpaces:()I
            if_icmpgt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.oracle.svm.core.genscavenge.Space this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/svm/core/genscavenge/Space;

  boolean isOldSpace();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.svm.core.genscavenge.Space this
         0: .line 116
            aload 0 /* this */
            getfield com.oracle.svm.core.genscavenge.Space.age:I
            invokestatic com.oracle.svm.core.genscavenge.HeapPolicy.getMaxSurvivorSpaces:()I
            iconst_1
            iadd
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.oracle.svm.core.genscavenge.Space this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/svm/core/genscavenge/Space;
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.Uninterruptible(reason = "Called from uninterruptible code.", mayBeInlined = true)

  int getAge();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.core.genscavenge.Space this
         0: .line 120
            aload 0 /* this */
            getfield com.oracle.svm.core.genscavenge.Space.age:I
            ireturn
        end local 0 // com.oracle.svm.core.genscavenge.Space this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/core/genscavenge/Space;

  int getNextAgeForPromotion();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.svm.core.genscavenge.Space this
         0: .line 124
            aload 0 /* this */
            getfield com.oracle.svm.core.genscavenge.Space.age:I
            iconst_1
            iadd
            ireturn
        end local 0 // com.oracle.svm.core.genscavenge.Space this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/core/genscavenge/Space;

  boolean isFromSpace();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.core.genscavenge.Space this
         0: .line 128
            aload 0 /* this */
            getfield com.oracle.svm.core.genscavenge.Space.isFromSpace:Z
            ireturn
        end local 0 // com.oracle.svm.core.genscavenge.Space this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/core/genscavenge/Space;

  public boolean walkObjects(com.oracle.svm.core.heap.ObjectVisitor);
    descriptor: (Lcom/oracle/svm/core/heap/ObjectVisitor;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // com.oracle.svm.core.genscavenge.Space this
        start local 1 // com.oracle.svm.core.heap.ObjectVisitor visitor
         0: .line 132
            aload 0 /* this */
            invokevirtual com.oracle.svm.core.genscavenge.Space.getFirstAlignedHeapChunk:()Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            astore 2 /* aChunk */
        start local 2 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader aChunk
         1: .line 133
            goto 5
         2: .line 134
      StackMap locals: com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader
      StackMap stack:
            aload 2 /* aChunk */
            aload 1 /* visitor */
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.walkObjects:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;Lcom/oracle/svm/core/heap/ObjectVisitor;)Z
            ifne 4
         3: .line 135
            iconst_0
            ireturn
         4: .line 137
      StackMap locals:
      StackMap stack:
            aload 2 /* aChunk */
            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 /* aChunk */
         5: .line 133
      StackMap locals:
      StackMap stack:
            aload 2 /* aChunk */
            invokeinterface com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader.isNonNull:()Z
            ifne 2
         6: .line 139
            aload 0 /* this */
            invokevirtual com.oracle.svm.core.genscavenge.Space.getFirstUnalignedHeapChunk:()Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;
            astore 3 /* uChunk */
        start local 3 // com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader uChunk
         7: .line 140
            goto 11
         8: .line 141
      StackMap locals: com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader
      StackMap stack:
            aload 3 /* uChunk */
            aload 1 /* visitor */
            invokestatic com.oracle.svm.core.genscavenge.UnalignedHeapChunk.walkObjects:(Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;Lcom/oracle/svm/core/heap/ObjectVisitor;)Z
            ifne 10
         9: .line 142
            iconst_0
            ireturn
        10: .line 144
      StackMap locals:
      StackMap stack:
            aload 3 /* uChunk */
            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 /* uChunk */
        11: .line 140
      StackMap locals:
      StackMap stack:
            aload 3 /* uChunk */
            invokeinterface com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader.isNonNull:()Z
            ifne 8
        12: .line 146
            iconst_1
            ireturn
        end local 3 // com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader uChunk
        end local 2 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader aChunk
        end local 1 // com.oracle.svm.core.heap.ObjectVisitor visitor
        end local 0 // com.oracle.svm.core.genscavenge.Space this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Lcom/oracle/svm/core/genscavenge/Space;
            0   13     1  visitor  Lcom/oracle/svm/core/heap/ObjectVisitor;
            1   13     2   aChunk  Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            7   13     3   uChunk  Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;
    MethodParameters:
         Name  Flags
      visitor  

  public boolean walkDirtyObjects(com.oracle.svm.core.heap.ObjectVisitor, boolean);
    descriptor: (Lcom/oracle/svm/core/heap/ObjectVisitor;Z)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // com.oracle.svm.core.genscavenge.Space this
        start local 1 // com.oracle.svm.core.heap.ObjectVisitor visitor
        start local 2 // boolean clean
         0: .line 150
            invokestatic com.oracle.svm.core.log.Log.noopLog:()Lcom/oracle/svm/core/log/Log;
            ldc "[Space.walkDirtyObjects:"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            astore 3 /* trace */
        start local 3 // com.oracle.svm.core.log.Log trace
         1: .line 151
            aload 3 /* trace */
            ldc "  space: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 0 /* this */
            invokevirtual com.oracle.svm.core.genscavenge.Space.getName:()Ljava/lang/String;
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            ldc "  clean: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            iload 2 /* clean */
            invokevirtual com.oracle.svm.core.log.Log.bool:(Z)Lcom/oracle/svm/core/log/Log;
            pop
         2: .line 152
            aload 0 /* this */
            invokevirtual com.oracle.svm.core.genscavenge.Space.getFirstAlignedHeapChunk:()Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            astore 4 /* aChunk */
        start local 4 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader aChunk
         3: .line 153
            goto 10
         4: .line 154
      StackMap locals: com.oracle.svm.core.log.Log com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader
      StackMap stack:
            aload 3 /* trace */
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            ldc "  aChunk: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 4 /* aChunk */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            pop
         5: .line 155
            aload 4 /* aChunk */
            aload 1 /* visitor */
            iload 2 /* clean */
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.walkDirtyObjects:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;Lcom/oracle/svm/core/heap/ObjectVisitor;Z)Z
            ifne 9
         6: .line 156
            invokestatic com.oracle.svm.core.log.Log.log:()Lcom/oracle/svm/core/log/Log;
            ldc "[Space.walkDirtyObjects:"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            astore 5 /* failureLog */
        start local 5 // com.oracle.svm.core.log.Log failureLog
         7: .line 157
            aload 5 /* failureLog */
            ldc "  aChunk.walkDirtyObjects fails"
            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: .line 158
            iconst_0
            ireturn
        end local 5 // com.oracle.svm.core.log.Log failureLog
         9: .line 160
      StackMap locals:
      StackMap stack:
            aload 4 /* aChunk */
            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 4 /* aChunk */
        10: .line 153
      StackMap locals:
      StackMap stack:
            aload 4 /* aChunk */
            invokeinterface com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader.isNonNull:()Z
            ifne 4
        11: .line 162
            aload 0 /* this */
            invokevirtual com.oracle.svm.core.genscavenge.Space.getFirstUnalignedHeapChunk:()Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;
            astore 5 /* uChunk */
        start local 5 // com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader uChunk
        12: .line 163
            goto 19
        13: .line 164
      StackMap locals: com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader
      StackMap stack:
            aload 3 /* trace */
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            ldc "  uChunk: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 5 /* uChunk */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            pop
        14: .line 165
            aload 5 /* uChunk */
            aload 1 /* visitor */
            iload 2 /* clean */
            invokestatic com.oracle.svm.core.genscavenge.UnalignedHeapChunk.walkDirtyObjects:(Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;Lcom/oracle/svm/core/heap/ObjectVisitor;Z)Z
            ifne 18
        15: .line 166
            invokestatic com.oracle.svm.core.log.Log.log:()Lcom/oracle/svm/core/log/Log;
            ldc "[Space.walkDirtyObjects:"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            astore 6 /* failureLog */
        start local 6 // com.oracle.svm.core.log.Log failureLog
        16: .line 167
            aload 6 /* failureLog */
            ldc "  uChunk.walkDirtyObjects fails"
            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: .line 168
            iconst_0
            ireturn
        end local 6 // com.oracle.svm.core.log.Log failureLog
        18: .line 170
      StackMap locals:
      StackMap stack:
            aload 5 /* uChunk */
            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 5 /* uChunk */
        19: .line 163
      StackMap locals:
      StackMap stack:
            aload 5 /* uChunk */
            invokeinterface com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader.isNonNull:()Z
            ifne 13
        20: .line 172
            aload 3 /* trace */
            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: .line 173
            iconst_1
            ireturn
        end local 5 // com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader uChunk
        end local 4 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader aChunk
        end local 3 // com.oracle.svm.core.log.Log trace
        end local 2 // boolean clean
        end local 1 // com.oracle.svm.core.heap.ObjectVisitor visitor
        end local 0 // com.oracle.svm.core.genscavenge.Space this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   22     0        this  Lcom/oracle/svm/core/genscavenge/Space;
            0   22     1     visitor  Lcom/oracle/svm/core/heap/ObjectVisitor;
            0   22     2       clean  Z
            1   22     3       trace  Lcom/oracle/svm/core/log/Log;
            3   22     4      aChunk  Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            7    9     5  failureLog  Lcom/oracle/svm/core/log/Log;
           12   22     5      uChunk  Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;
           16   18     6  failureLog  Lcom/oracle/svm/core/log/Log;
    MethodParameters:
         Name  Flags
      visitor  
      clean    

  public com.oracle.svm.core.log.Log report(com.oracle.svm.core.log.Log, boolean);
    descriptor: (Lcom/oracle/svm/core/log/Log;Z)Lcom/oracle/svm/core/log/Log;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // com.oracle.svm.core.genscavenge.Space this
        start local 1 // com.oracle.svm.core.log.Log log
        start local 2 // boolean traceHeapChunks
         0: .line 178
            aload 1 /* log */
            ldc "["
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 0 /* this */
            invokevirtual com.oracle.svm.core.genscavenge.Space.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;
            iconst_1
            invokevirtual com.oracle.svm.core.log.Log.indent:(Z)Lcom/oracle/svm/core/log/Log;
            pop
         1: .line 179
            aload 0 /* this */
            getfield com.oracle.svm.core.genscavenge.Space.accounting:Lcom/oracle/svm/core/genscavenge/SpaceAccounting;
            aload 1 /* log */
            invokevirtual com.oracle.svm.core.genscavenge.SpaceAccounting.report:(Lcom/oracle/svm/core/log/Log;)V
         2: .line 180
            iload 2 /* traceHeapChunks */
            ifeq 19
         3: .line 181
            aload 0 /* this */
            invokevirtual com.oracle.svm.core.genscavenge.Space.getFirstAlignedHeapChunk:()Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            invokeinterface com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader.isNonNull:()Z
            ifeq 11
         4: .line 182
            aload 1 /* log */
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            ldc "aligned chunks:"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            iconst_1
            invokevirtual com.oracle.svm.core.log.Log.redent:(Z)Lcom/oracle/svm/core/log/Log;
            pop
         5: .line 183
            aload 0 /* this */
            invokevirtual com.oracle.svm.core.genscavenge.Space.getFirstAlignedHeapChunk:()Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            astore 3 /* aChunk */
        start local 3 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader aChunk
         6: goto 9
         7: .line 184
      StackMap locals: com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader
      StackMap stack:
            aload 1 /* log */
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            aload 3 /* aChunk */
            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;
            aload 3 /* aChunk */
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getObjectsStart:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/Pointer;
            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;
            aload 3 /* aChunk */
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.getTopPointer:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)Lorg/graalvm/word/Pointer;
            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;
            pop
         8: .line 183
            aload 3 /* aChunk */
            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 3 /* aChunk */
      StackMap locals:
      StackMap stack:
         9: aload 3 /* aChunk */
            invokeinterface com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader.isNonNull:()Z
            ifne 7
        end local 3 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader aChunk
        10: .line 186
            aload 1 /* log */
            iconst_0
            invokevirtual com.oracle.svm.core.log.Log.redent:(Z)Lcom/oracle/svm/core/log/Log;
            pop
        11: .line 188
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.svm.core.genscavenge.Space.getFirstUnalignedHeapChunk:()Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;
            invokeinterface com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader.isNonNull:()Z
            ifeq 19
        12: .line 189
            aload 1 /* log */
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            ldc "unaligned chunks:"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            iconst_1
            invokevirtual com.oracle.svm.core.log.Log.redent:(Z)Lcom/oracle/svm/core/log/Log;
            pop
        13: .line 190
            aload 0 /* this */
            invokevirtual com.oracle.svm.core.genscavenge.Space.getFirstUnalignedHeapChunk:()Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;
            astore 3 /* uChunk */
        start local 3 // com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader uChunk
        14: goto 17
        15: .line 191
      StackMap locals: com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader
      StackMap stack:
            aload 1 /* log */
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            aload 3 /* uChunk */
            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;
            aload 3 /* uChunk */
            invokestatic com.oracle.svm.core.genscavenge.UnalignedHeapChunk.getObjectStart:(Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;)Lorg/graalvm/word/Pointer;
            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;
            aload 3 /* uChunk */
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.getTopPointer:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)Lorg/graalvm/word/Pointer;
            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;
            pop
        16: .line 190
            aload 3 /* uChunk */
            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 /* uChunk */
      StackMap locals:
      StackMap stack:
        17: aload 3 /* uChunk */
            invokeinterface com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader.isNonNull:()Z
            ifne 15
        end local 3 // com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader uChunk
        18: .line 193
            aload 1 /* log */
            iconst_0
            invokevirtual com.oracle.svm.core.log.Log.redent:(Z)Lcom/oracle/svm/core/log/Log;
            pop
        19: .line 196
      StackMap locals:
      StackMap stack:
            aload 1 /* log */
            iconst_0
            invokevirtual com.oracle.svm.core.log.Log.redent:(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;
            pop
        20: .line 197
            aload 1 /* log */
            areturn
        end local 2 // boolean traceHeapChunks
        end local 1 // com.oracle.svm.core.log.Log log
        end local 0 // com.oracle.svm.core.genscavenge.Space this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   21     0             this  Lcom/oracle/svm/core/genscavenge/Space;
            0   21     1              log  Lcom/oracle/svm/core/log/Log;
            0   21     2  traceHeapChunks  Z
            6   10     3           aChunk  Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
           14   18     3           uChunk  Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;
    MethodParameters:
                 Name  Flags
      log              
      traceHeapChunks  

  private org.graalvm.word.Pointer allocateMemory(org.graalvm.word.UnsignedWord);
    descriptor: (Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // com.oracle.svm.core.genscavenge.Space this
        start local 1 // org.graalvm.word.UnsignedWord objectSize
         0: .line 206
            invokestatic com.oracle.svm.core.log.Log.noopLog:()Lcom/oracle/svm/core/log/Log;
            ldc "[Space.allocateMemory:"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            ldc "  space: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 0 /* this */
            invokevirtual com.oracle.svm.core.genscavenge.Space.getName:()Ljava/lang/String;
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            ldc "  size: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 1 /* objectSize */
            invokevirtual com.oracle.svm.core.log.Log.unsigned:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            astore 2 /* trace */
        start local 2 // com.oracle.svm.core.log.Log trace
         1: .line 207
            invokestatic org.graalvm.word.WordFactory.nullPointer:()Lorg/graalvm/word/PointerBase;
            checkcast org.graalvm.word.Pointer
            astore 3 /* result */
        start local 3 // org.graalvm.word.Pointer result
         2: .line 209
            aload 0 /* this */
            invokevirtual com.oracle.svm.core.genscavenge.Space.getLastAlignedHeapChunk:()Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            astore 4 /* oldChunk */
        start local 4 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader oldChunk
         3: .line 210
            aload 2 /* trace */
            ldc "  oldChunk: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 4 /* oldChunk */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            pop
         4: .line 211
            aload 4 /* oldChunk */
            invokeinterface com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader.isNonNull:()Z
            ifeq 7
         5: .line 212
            aload 4 /* oldChunk */
            aload 1 /* objectSize */
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.allocateMemory:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
            astore 3 /* result */
         6: .line 213
            aload 2 /* trace */
            ldc "  oldChunk provides: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 3 /* result */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            pop
         7: .line 216
      StackMap locals: com.oracle.svm.core.log.Log org.graalvm.word.Pointer com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader
      StackMap stack:
            aload 3 /* result */
            invokeinterface org.graalvm.word.Pointer.isNull:()Z
            ifeq 16
         8: .line 217
            aload 0 /* this */
            invokevirtual com.oracle.svm.core.genscavenge.Space.requestAlignedHeapChunk:()Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            astore 5 /* newChunk */
        start local 5 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader newChunk
         9: .line 218
            aload 2 /* trace */
            ldc "  newChunk: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 5 /* newChunk */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            pop
        10: .line 219
            aload 5 /* newChunk */
            invokeinterface com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader.isNonNull:()Z
            ifeq 16
        11: .line 221
            aload 5 /* newChunk */
            aload 1 /* objectSize */
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.allocateMemory:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
            astore 3 /* result */
        12: .line 222
            aload 0 /* this */
            invokevirtual com.oracle.svm.core.genscavenge.Space.isSurvivorSpace:()Z
            ifeq 15
        13: .line 223
            aload 2 /* trace */
            ldc "  newSurvivorChunk provides: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 3 /* result */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            pop
        14: .line 224
            goto 16
        15: .line 225
      StackMap locals: com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader
      StackMap stack:
            aload 2 /* trace */
            ldc "  newChunk provides: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 3 /* result */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            pop
        end local 5 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader newChunk
        16: .line 229
      StackMap locals:
      StackMap stack:
            aload 2 /* trace */
            ldc "  returns: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 3 /* result */
            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
        17: .line 230
            aload 3 /* result */
            areturn
        end local 4 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader oldChunk
        end local 3 // org.graalvm.word.Pointer result
        end local 2 // com.oracle.svm.core.log.Log trace
        end local 1 // org.graalvm.word.UnsignedWord objectSize
        end local 0 // com.oracle.svm.core.genscavenge.Space this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   18     0        this  Lcom/oracle/svm/core/genscavenge/Space;
            0   18     1  objectSize  Lorg/graalvm/word/UnsignedWord;
            1   18     2       trace  Lcom/oracle/svm/core/log/Log;
            2   18     3      result  Lorg/graalvm/word/Pointer;
            3   18     4    oldChunk  Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            9   16     5    newChunk  Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
    MethodParameters:
            Name  Flags
      objectSize  

  void promoteObjectChunk(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.oracle.svm.core.genscavenge.Space this
        start local 1 // java.lang.Object original
         0: .line 240
            aload 1 /* original */
            invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.isAlignedObject:(Ljava/lang/Object;)Z
            ifeq 6
         1: .line 241
            aload 1 /* original */
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getEnclosingChunk:(Ljava/lang/Object;)Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            astore 2 /* aChunk */
        start local 2 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader aChunk
         2: .line 242
            aload 2 /* aChunk */
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.getSpace:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)Lcom/oracle/svm/core/genscavenge/Space;
            astore 3 /* originalSpace */
        start local 3 // com.oracle.svm.core.genscavenge.Space originalSpace
         3: .line 243
            aload 3 /* originalSpace */
            invokevirtual com.oracle.svm.core.genscavenge.Space.isFromSpace:()Z
            ifeq 11
         4: .line 244
            aload 0 /* this */
            aload 2 /* aChunk */
            aload 3 /* originalSpace */
            invokevirtual com.oracle.svm.core.genscavenge.Space.promoteAlignedHeapChunk:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;Lcom/oracle/svm/core/genscavenge/Space;)V
        end local 3 // com.oracle.svm.core.genscavenge.Space originalSpace
        end local 2 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader aChunk
         5: .line 246
            goto 11
         6: .line 247
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.svm.core.genscavenge.Space.$assertionsDisabled:Z
            ifne 7
            aload 1 /* original */
            invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.isUnalignedObject:(Ljava/lang/Object;)Z
            ifne 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 248
      StackMap locals:
      StackMap stack:
            aload 1 /* original */
            invokestatic com.oracle.svm.core.genscavenge.UnalignedHeapChunk.getEnclosingChunk:(Ljava/lang/Object;)Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;
            astore 2 /* uChunk */
        start local 2 // com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader uChunk
         8: .line 249
            aload 2 /* uChunk */
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.getSpace:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)Lcom/oracle/svm/core/genscavenge/Space;
            astore 3 /* originalSpace */
        start local 3 // com.oracle.svm.core.genscavenge.Space originalSpace
         9: .line 250
            aload 3 /* originalSpace */
            invokevirtual com.oracle.svm.core.genscavenge.Space.isFromSpace:()Z
            ifeq 11
        10: .line 251
            aload 0 /* this */
            aload 2 /* uChunk */
            aload 3 /* originalSpace */
            invokevirtual com.oracle.svm.core.genscavenge.Space.promoteUnalignedHeapChunk:(Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;Lcom/oracle/svm/core/genscavenge/Space;)V
        end local 3 // com.oracle.svm.core.genscavenge.Space originalSpace
        end local 2 // com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader uChunk
        11: .line 254
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Object original
        end local 0 // com.oracle.svm.core.genscavenge.Space this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   12     0           this  Lcom/oracle/svm/core/genscavenge/Space;
            0   12     1       original  Ljava/lang/Object;
            2    5     2         aChunk  Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            3    5     3  originalSpace  Lcom/oracle/svm/core/genscavenge/Space;
            8   11     2         uChunk  Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;
            9   11     3  originalSpace  Lcom/oracle/svm/core/genscavenge/Space;
    MethodParameters:
          Name  Flags
      original  

  public void releaseChunks(com.oracle.svm.core.genscavenge.GCImpl$ChunkReleaser);
    descriptor: (Lcom/oracle/svm/core/genscavenge/GCImpl$ChunkReleaser;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.svm.core.genscavenge.Space this
        start local 1 // com.oracle.svm.core.genscavenge.GCImpl$ChunkReleaser chunkReleaser
         0: .line 257
            aload 1 /* chunkReleaser */
            aload 0 /* this */
            getfield com.oracle.svm.core.genscavenge.Space.firstAlignedHeapChunk:Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            invokevirtual com.oracle.svm.core.genscavenge.GCImpl$ChunkReleaser.add:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)V
         1: .line 258
            aload 1 /* chunkReleaser */
            aload 0 /* this */
            getfield com.oracle.svm.core.genscavenge.Space.firstUnalignedHeapChunk:Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;
            invokevirtual com.oracle.svm.core.genscavenge.GCImpl$ChunkReleaser.add:(Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;)V
         2: .line 260
            aload 0 /* this */
            invokestatic org.graalvm.word.WordFactory.nullPointer:()Lorg/graalvm/word/PointerBase;
            checkcast com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader
            putfield com.oracle.svm.core.genscavenge.Space.firstAlignedHeapChunk:Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
         3: .line 261
            aload 0 /* this */
            invokestatic org.graalvm.word.WordFactory.nullPointer:()Lorg/graalvm/word/PointerBase;
            checkcast com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader
            putfield com.oracle.svm.core.genscavenge.Space.lastAlignedHeapChunk:Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
         4: .line 262
            aload 0 /* this */
            invokestatic org.graalvm.word.WordFactory.nullPointer:()Lorg/graalvm/word/PointerBase;
            checkcast com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader
            putfield com.oracle.svm.core.genscavenge.Space.firstUnalignedHeapChunk:Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;
         5: .line 263
            aload 0 /* this */
            invokestatic org.graalvm.word.WordFactory.nullPointer:()Lorg/graalvm/word/PointerBase;
            checkcast com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader
            putfield com.oracle.svm.core.genscavenge.Space.lastUnalignedHeapChunk:Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;
         6: .line 264
            aload 0 /* this */
            getfield com.oracle.svm.core.genscavenge.Space.accounting:Lcom/oracle/svm/core/genscavenge/SpaceAccounting;
            invokevirtual com.oracle.svm.core.genscavenge.SpaceAccounting.reset:()V
         7: .line 265
            return
        end local 1 // com.oracle.svm.core.genscavenge.GCImpl$ChunkReleaser chunkReleaser
        end local 0 // com.oracle.svm.core.genscavenge.Space this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    8     0           this  Lcom/oracle/svm/core/genscavenge/Space;
            0    8     1  chunkReleaser  Lcom/oracle/svm/core/genscavenge/GCImpl$ChunkReleaser;
    MethodParameters:
               Name  Flags
      chunkReleaser  

  void cleanRememberedSet();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.core.genscavenge.Space this
         0: .line 268
            aload 0 /* this */
            invokevirtual com.oracle.svm.core.genscavenge.Space.cleanRememberedSetAlignedHeapChunks:()V
         1: .line 269
            aload 0 /* this */
            invokevirtual com.oracle.svm.core.genscavenge.Space.cleanRememberedSetUnalignedHeapChunks:()V
         2: .line 270
            return
        end local 0 // com.oracle.svm.core.genscavenge.Space this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/svm/core/genscavenge/Space;

  private void cleanRememberedSetAlignedHeapChunks();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // com.oracle.svm.core.genscavenge.Space this
         0: .line 273
            invokestatic com.oracle.svm.core.log.Log.noopLog:()Lcom/oracle/svm/core/log/Log;
            ldc "[Space.cleanRememberedSetAlignedHeapChunks:"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            ldc "  space: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 0 /* this */
            invokevirtual com.oracle.svm.core.genscavenge.Space.getName:()Ljava/lang/String;
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            astore 1 /* trace */
        start local 1 // com.oracle.svm.core.log.Log trace
         1: .line 274
            aload 0 /* this */
            invokevirtual com.oracle.svm.core.genscavenge.Space.getFirstAlignedHeapChunk:()Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            astore 2 /* aChunk */
        start local 2 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader aChunk
         2: .line 275
            goto 6
         3: .line 276
      StackMap locals: com.oracle.svm.core.log.Log com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader
      StackMap stack:
            aload 1 /* trace */
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            ldc "  aChunk: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 2 /* aChunk */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            pop
         4: .line 277
            aload 2 /* aChunk */
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.cleanRememberedSet:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)V
         5: .line 278
            aload 2 /* aChunk */
            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 /* aChunk */
         6: .line 275
      StackMap locals:
      StackMap stack:
            aload 2 /* aChunk */
            invokeinterface com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader.isNonNull:()Z
            ifne 3
         7: .line 280
            aload 1 /* trace */
            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: .line 281
            return
        end local 2 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader aChunk
        end local 1 // com.oracle.svm.core.log.Log trace
        end local 0 // com.oracle.svm.core.genscavenge.Space this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lcom/oracle/svm/core/genscavenge/Space;
            1    9     1   trace  Lcom/oracle/svm/core/log/Log;
            2    9     2  aChunk  Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;

  private void cleanRememberedSetUnalignedHeapChunks();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // com.oracle.svm.core.genscavenge.Space this
         0: .line 284
            invokestatic com.oracle.svm.core.log.Log.noopLog:()Lcom/oracle/svm/core/log/Log;
            ldc "[Space.cleanRememberedSetUnalignedHeapChunks:"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            ldc "  space: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 0 /* this */
            invokevirtual com.oracle.svm.core.genscavenge.Space.getName:()Ljava/lang/String;
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            astore 1 /* trace */
        start local 1 // com.oracle.svm.core.log.Log trace
         1: .line 285
            aload 0 /* this */
            invokevirtual com.oracle.svm.core.genscavenge.Space.getFirstUnalignedHeapChunk:()Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;
            astore 2 /* uChunk */
        start local 2 // com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader uChunk
         2: .line 286
            goto 6
         3: .line 287
      StackMap locals: com.oracle.svm.core.log.Log com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader
      StackMap stack:
            aload 1 /* trace */
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            ldc "  uChunk: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 2 /* uChunk */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            pop
         4: .line 288
            aload 2 /* uChunk */
            invokestatic com.oracle.svm.core.genscavenge.UnalignedHeapChunk.cleanRememberedSet:(Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;)V
         5: .line 289
            aload 2 /* uChunk */
            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 2 /* uChunk */
         6: .line 286
      StackMap locals:
      StackMap stack:
            aload 2 /* uChunk */
            invokeinterface com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader.isNonNull:()Z
            ifne 3
         7: .line 291
            aload 1 /* trace */
            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: .line 292
            return
        end local 2 // com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader uChunk
        end local 1 // com.oracle.svm.core.log.Log trace
        end local 0 // com.oracle.svm.core.genscavenge.Space this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lcom/oracle/svm/core/genscavenge/Space;
            1    9     1   trace  Lcom/oracle/svm/core/log/Log;
            2    9     2  uChunk  Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;

  void appendAlignedHeapChunk(com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader);
    descriptor: (Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.svm.core.genscavenge.Space this
        start local 1 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader aChunk
         0: .line 300
            getstatic com.oracle.svm.core.SubstrateOptions.MultiThreaded: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 2
         1: .line 301
            ldc "Trying to append an aligned heap chunk but no mutual exclusion."
            invokestatic com.oracle.svm.core.thread.VMThreads.guaranteeOwnsThreadMutex:(Ljava/lang/String;)V
         2: .line 303
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* aChunk */
            invokevirtual com.oracle.svm.core.genscavenge.Space.appendAlignedHeapChunkUninterruptibly:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)V
         3: .line 304
            aload 0 /* this */
            getfield com.oracle.svm.core.genscavenge.Space.accounting:Lcom/oracle/svm/core/genscavenge/SpaceAccounting;
            aload 1 /* aChunk */
            invokevirtual com.oracle.svm.core.genscavenge.SpaceAccounting.noteAlignedHeapChunk:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)V
         4: .line 305
            return
        end local 1 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader aChunk
        end local 0 // com.oracle.svm.core.genscavenge.Space this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lcom/oracle/svm/core/genscavenge/Space;
            0    5     1  aChunk  Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.Uninterruptible(reason = "Called from uninterruptible code.", mayBeInlined = true)
    MethodParameters:
        Name  Flags
      aChunk  

  private void appendAlignedHeapChunkUninterruptibly(com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader);
    descriptor: (Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.oracle.svm.core.genscavenge.Space this
        start local 1 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader aChunk
         0: .line 309
            aload 0 /* this */
            invokevirtual com.oracle.svm.core.genscavenge.Space.getLastAlignedHeapChunk:()Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            astore 2 /* oldLast */
        start local 2 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader oldLast
         1: .line 310
            aload 1 /* aChunk */
            aload 0 /* this */
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.setSpace:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;Lcom/oracle/svm/core/genscavenge/Space;)V
         2: .line 311
            aload 1 /* aChunk */
            aload 2 /* oldLast */
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.setPrevious:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)V
         3: .line 312
            aload 1 /* aChunk */
            invokestatic org.graalvm.word.WordFactory.nullPointer:()Lorg/graalvm/word/PointerBase;
            checkcast com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.setNext:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)V
         4: .line 313
            aload 2 /* oldLast */
            invokeinterface com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader.isNonNull:()Z
            ifeq 6
         5: .line 314
            aload 2 /* oldLast */
            aload 1 /* aChunk */
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.setNext:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)V
         6: .line 316
      StackMap locals: com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader
      StackMap stack:
            aload 0 /* this */
            aload 1 /* aChunk */
            invokevirtual com.oracle.svm.core.genscavenge.Space.setLastAlignedHeapChunk:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)V
         7: .line 317
            aload 0 /* this */
            invokevirtual com.oracle.svm.core.genscavenge.Space.getFirstAlignedHeapChunk:()Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            invokeinterface com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader.isNull:()Z
            ifeq 9
         8: .line 318
            aload 0 /* this */
            aload 1 /* aChunk */
            invokevirtual com.oracle.svm.core.genscavenge.Space.setFirstAlignedHeapChunk:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)V
         9: .line 320
      StackMap locals:
      StackMap stack:
            return
        end local 2 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader oldLast
        end local 1 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader aChunk
        end local 0 // com.oracle.svm.core.genscavenge.Space this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lcom/oracle/svm/core/genscavenge/Space;
            0   10     1   aChunk  Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            1   10     2  oldLast  Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.Uninterruptible(reason = "Must not interact with garbage collections.")
    MethodParameters:
        Name  Flags
      aChunk  

  void extractAlignedHeapChunk(com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader);
    descriptor: (Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.svm.core.genscavenge.Space this
        start local 1 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader aChunk
         0: .line 323
            getstatic com.oracle.svm.core.genscavenge.Space.$assertionsDisabled:Z
            ifne 1
            invokestatic com.oracle.svm.core.thread.VMOperation.isGCInProgress:()Z
            ifne 1
            new java.lang.AssertionError
            dup
            ldc "Should only be called by the collector."
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 324
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* aChunk */
            invokevirtual com.oracle.svm.core.genscavenge.Space.extractAlignedHeapChunkUninterruptibly:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)V
         2: .line 325
            aload 0 /* this */
            getfield com.oracle.svm.core.genscavenge.Space.accounting:Lcom/oracle/svm/core/genscavenge/SpaceAccounting;
            aload 1 /* aChunk */
            invokevirtual com.oracle.svm.core.genscavenge.SpaceAccounting.unnoteAlignedHeapChunk:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)V
         3: .line 326
            return
        end local 1 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader aChunk
        end local 0 // com.oracle.svm.core.genscavenge.Space this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lcom/oracle/svm/core/genscavenge/Space;
            0    4     1  aChunk  Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
    MethodParameters:
        Name  Flags
      aChunk  

  private void extractAlignedHeapChunkUninterruptibly(com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader);
    descriptor: (Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // com.oracle.svm.core.genscavenge.Space this
        start local 1 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader aChunk
         0: .line 330
            aload 1 /* aChunk */
            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 /* chunkNext */
        start local 2 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader chunkNext
         1: .line 331
            aload 1 /* aChunk */
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.getPrevious:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;
            checkcast com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader
            astore 3 /* chunkPrev */
        start local 3 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader chunkPrev
         2: .line 332
            aload 3 /* chunkPrev */
            invokeinterface com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader.isNonNull:()Z
            ifeq 5
         3: .line 333
            aload 3 /* chunkPrev */
            aload 2 /* chunkNext */
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.setNext:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)V
         4: .line 334
            goto 6
         5: .line 335
      StackMap locals: com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader
      StackMap stack:
            aload 0 /* this */
            aload 2 /* chunkNext */
            invokevirtual com.oracle.svm.core.genscavenge.Space.setFirstAlignedHeapChunk:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)V
         6: .line 337
      StackMap locals:
      StackMap stack:
            aload 2 /* chunkNext */
            invokeinterface com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader.isNonNull:()Z
            ifeq 9
         7: .line 338
            aload 2 /* chunkNext */
            aload 3 /* chunkPrev */
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.setPrevious:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)V
         8: .line 339
            goto 10
         9: .line 340
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* chunkPrev */
            invokevirtual com.oracle.svm.core.genscavenge.Space.setLastAlignedHeapChunk:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)V
        10: .line 342
      StackMap locals:
      StackMap stack:
            aload 1 /* aChunk */
            invokestatic org.graalvm.word.WordFactory.nullPointer:()Lorg/graalvm/word/PointerBase;
            checkcast com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.setNext:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)V
        11: .line 343
            aload 1 /* aChunk */
            invokestatic org.graalvm.word.WordFactory.nullPointer:()Lorg/graalvm/word/PointerBase;
            checkcast com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.setPrevious:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)V
        12: .line 344
            aload 1 /* aChunk */
            aconst_null
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.setSpace:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;Lcom/oracle/svm/core/genscavenge/Space;)V
        13: .line 345
            return
        end local 3 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader chunkPrev
        end local 2 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader chunkNext
        end local 1 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader aChunk
        end local 0 // com.oracle.svm.core.genscavenge.Space this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0       this  Lcom/oracle/svm/core/genscavenge/Space;
            0   14     1     aChunk  Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            1   14     2  chunkNext  Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            2   14     3  chunkPrev  Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.Uninterruptible(reason = "Must not interact with garbage collections.")
    MethodParameters:
        Name  Flags
      aChunk  

  void appendUnalignedHeapChunk(com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader);
    descriptor: (Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.svm.core.genscavenge.Space this
        start local 1 // com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader uChunk
         0: .line 353
            getstatic com.oracle.svm.core.SubstrateOptions.MultiThreaded: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 2
         1: .line 354
            ldc "Trying to append an unaligned chunk but no mutual exclusion."
            invokestatic com.oracle.svm.core.thread.VMThreads.guaranteeOwnsThreadMutex:(Ljava/lang/String;)V
         2: .line 356
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* uChunk */
            invokevirtual com.oracle.svm.core.genscavenge.Space.appendUnalignedHeapChunkUninterruptibly:(Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;)V
         3: .line 357
            aload 0 /* this */
            getfield com.oracle.svm.core.genscavenge.Space.accounting:Lcom/oracle/svm/core/genscavenge/SpaceAccounting;
            aload 1 /* uChunk */
            invokevirtual com.oracle.svm.core.genscavenge.SpaceAccounting.noteUnalignedHeapChunk:(Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;)V
         4: .line 358
            return
        end local 1 // com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader uChunk
        end local 0 // com.oracle.svm.core.genscavenge.Space this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lcom/oracle/svm/core/genscavenge/Space;
            0    5     1  uChunk  Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.Uninterruptible(reason = "Called from uninterruptible code.", mayBeInlined = true)
    MethodParameters:
        Name  Flags
      uChunk  

  private void appendUnalignedHeapChunkUninterruptibly(com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader);
    descriptor: (Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.oracle.svm.core.genscavenge.Space this
        start local 1 // com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader uChunk
         0: .line 362
            aload 0 /* this */
            invokevirtual com.oracle.svm.core.genscavenge.Space.getLastUnalignedHeapChunk:()Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;
            astore 2 /* oldLast */
        start local 2 // com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader oldLast
         1: .line 363
            aload 1 /* uChunk */
            aload 0 /* this */
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.setSpace:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;Lcom/oracle/svm/core/genscavenge/Space;)V
         2: .line 364
            aload 1 /* uChunk */
            aload 2 /* oldLast */
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.setPrevious:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)V
         3: .line 365
            aload 1 /* uChunk */
            invokestatic org.graalvm.word.WordFactory.nullPointer:()Lorg/graalvm/word/PointerBase;
            checkcast com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.setNext:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)V
         4: .line 366
            aload 2 /* oldLast */
            invokeinterface com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader.isNonNull:()Z
            ifeq 6
         5: .line 367
            aload 2 /* oldLast */
            aload 1 /* uChunk */
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.setNext:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)V
         6: .line 369
      StackMap locals: com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader
      StackMap stack:
            aload 0 /* this */
            aload 1 /* uChunk */
            invokevirtual com.oracle.svm.core.genscavenge.Space.setLastUnalignedHeapChunk:(Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;)V
         7: .line 370
            aload 0 /* this */
            invokevirtual com.oracle.svm.core.genscavenge.Space.getFirstUnalignedHeapChunk:()Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;
            invokeinterface com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader.isNull:()Z
            ifeq 9
         8: .line 371
            aload 0 /* this */
            aload 1 /* uChunk */
            invokevirtual com.oracle.svm.core.genscavenge.Space.setFirstUnalignedHeapChunk:(Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;)V
         9: .line 373
      StackMap locals:
      StackMap stack:
            return
        end local 2 // com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader oldLast
        end local 1 // com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader uChunk
        end local 0 // com.oracle.svm.core.genscavenge.Space this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lcom/oracle/svm/core/genscavenge/Space;
            0   10     1   uChunk  Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;
            1   10     2  oldLast  Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.Uninterruptible(reason = "Must not interact with garbage collections.")
    MethodParameters:
        Name  Flags
      uChunk  

  void extractUnalignedHeapChunk(com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader);
    descriptor: (Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.svm.core.genscavenge.Space this
        start local 1 // com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader uChunk
         0: .line 376
            getstatic com.oracle.svm.core.genscavenge.Space.$assertionsDisabled:Z
            ifne 1
            invokestatic com.oracle.svm.core.thread.VMOperation.isGCInProgress:()Z
            ifne 1
            new java.lang.AssertionError
            dup
            ldc "Trying to extract an unaligned chunk but not in a VMOperation."
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 377
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* uChunk */
            invokevirtual com.oracle.svm.core.genscavenge.Space.extractUnalignedHeapChunkUninterruptibly:(Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;)V
         2: .line 378
            aload 0 /* this */
            getfield com.oracle.svm.core.genscavenge.Space.accounting:Lcom/oracle/svm/core/genscavenge/SpaceAccounting;
            aload 1 /* uChunk */
            invokevirtual com.oracle.svm.core.genscavenge.SpaceAccounting.unnoteUnalignedHeapChunk:(Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;)V
         3: .line 379
            return
        end local 1 // com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader uChunk
        end local 0 // com.oracle.svm.core.genscavenge.Space this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lcom/oracle/svm/core/genscavenge/Space;
            0    4     1  uChunk  Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;
    MethodParameters:
        Name  Flags
      uChunk  

  private void extractUnalignedHeapChunkUninterruptibly(com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader);
    descriptor: (Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // com.oracle.svm.core.genscavenge.Space this
        start local 1 // com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader uChunk
         0: .line 383
            aload 1 /* uChunk */
            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 2 /* chunkNext */
        start local 2 // com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader chunkNext
         1: .line 384
            aload 1 /* uChunk */
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.getPrevious:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;
            checkcast com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader
            astore 3 /* chunkPrev */
        start local 3 // com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader chunkPrev
         2: .line 385
            aload 3 /* chunkPrev */
            invokeinterface com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader.isNonNull:()Z
            ifeq 5
         3: .line 386
            aload 3 /* chunkPrev */
            aload 2 /* chunkNext */
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.setNext:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)V
         4: .line 387
            goto 6
         5: .line 388
      StackMap locals: com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader
      StackMap stack:
            aload 0 /* this */
            aload 2 /* chunkNext */
            invokevirtual com.oracle.svm.core.genscavenge.Space.setFirstUnalignedHeapChunk:(Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;)V
         6: .line 390
      StackMap locals:
      StackMap stack:
            aload 2 /* chunkNext */
            invokeinterface com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader.isNonNull:()Z
            ifeq 9
         7: .line 391
            aload 2 /* chunkNext */
            aload 3 /* chunkPrev */
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.setPrevious:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)V
         8: .line 392
            goto 10
         9: .line 393
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* chunkPrev */
            invokevirtual com.oracle.svm.core.genscavenge.Space.setLastUnalignedHeapChunk:(Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;)V
        10: .line 396
      StackMap locals:
      StackMap stack:
            aload 1 /* uChunk */
            invokestatic org.graalvm.word.WordFactory.nullPointer:()Lorg/graalvm/word/PointerBase;
            checkcast com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.setNext:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)V
        11: .line 397
            aload 1 /* uChunk */
            invokestatic org.graalvm.word.WordFactory.nullPointer:()Lorg/graalvm/word/PointerBase;
            checkcast com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.setPrevious:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)V
        12: .line 398
            aload 1 /* uChunk */
            aconst_null
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.setSpace:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;Lcom/oracle/svm/core/genscavenge/Space;)V
        13: .line 399
            return
        end local 3 // com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader chunkPrev
        end local 2 // com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader chunkNext
        end local 1 // com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader uChunk
        end local 0 // com.oracle.svm.core.genscavenge.Space this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0       this  Lcom/oracle/svm/core/genscavenge/Space;
            0   14     1     uChunk  Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;
            1   14     2  chunkNext  Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;
            2   14     3  chunkPrev  Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.Uninterruptible(reason = "Must not interact with garbage collections.")
    MethodParameters:
        Name  Flags
      uChunk  

  com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader getFirstAlignedHeapChunk();
    descriptor: ()Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.core.genscavenge.Space this
         0: .line 403
            aload 0 /* this */
            getfield com.oracle.svm.core.genscavenge.Space.firstAlignedHeapChunk:Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            areturn
        end local 0 // com.oracle.svm.core.genscavenge.Space this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/core/genscavenge/Space;
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.Uninterruptible(reason = "Called from uninterruptible code.", mayBeInlined = true)

  private void setFirstAlignedHeapChunk(com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader);
    descriptor: (Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.svm.core.genscavenge.Space this
        start local 1 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader chunk
         0: .line 408
            aload 0 /* this */
            aload 1 /* chunk */
            putfield com.oracle.svm.core.genscavenge.Space.firstAlignedHeapChunk:Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
         1: .line 409
            return
        end local 1 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader chunk
        end local 0 // com.oracle.svm.core.genscavenge.Space this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/oracle/svm/core/genscavenge/Space;
            0    2     1  chunk  Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.Uninterruptible(reason = "Called from uninterruptible code.", mayBeInlined = true)
    MethodParameters:
       Name  Flags
      chunk  

  com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader getLastAlignedHeapChunk();
    descriptor: ()Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.core.genscavenge.Space this
         0: .line 413
            aload 0 /* this */
            getfield com.oracle.svm.core.genscavenge.Space.lastAlignedHeapChunk:Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            areturn
        end local 0 // com.oracle.svm.core.genscavenge.Space this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/core/genscavenge/Space;
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.Uninterruptible(reason = "Called from uninterruptible code.", mayBeInlined = true)

  private void setLastAlignedHeapChunk(com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader);
    descriptor: (Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.svm.core.genscavenge.Space this
        start local 1 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader chunk
         0: .line 418
            aload 0 /* this */
            aload 1 /* chunk */
            putfield com.oracle.svm.core.genscavenge.Space.lastAlignedHeapChunk:Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
         1: .line 419
            return
        end local 1 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader chunk
        end local 0 // com.oracle.svm.core.genscavenge.Space this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/oracle/svm/core/genscavenge/Space;
            0    2     1  chunk  Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.Uninterruptible(reason = "Called from uninterruptible code.", mayBeInlined = true)
    MethodParameters:
       Name  Flags
      chunk  

  com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader getFirstUnalignedHeapChunk();
    descriptor: ()Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.core.genscavenge.Space this
         0: .line 423
            aload 0 /* this */
            getfield com.oracle.svm.core.genscavenge.Space.firstUnalignedHeapChunk:Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;
            areturn
        end local 0 // com.oracle.svm.core.genscavenge.Space this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/core/genscavenge/Space;
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.Uninterruptible(reason = "Called from uninterruptible code.", mayBeInlined = true)

  private void setFirstUnalignedHeapChunk(com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader);
    descriptor: (Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.svm.core.genscavenge.Space this
        start local 1 // com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader chunk
         0: .line 428
            aload 0 /* this */
            aload 1 /* chunk */
            putfield com.oracle.svm.core.genscavenge.Space.firstUnalignedHeapChunk:Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;
         1: .line 429
            return
        end local 1 // com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader chunk
        end local 0 // com.oracle.svm.core.genscavenge.Space this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/oracle/svm/core/genscavenge/Space;
            0    2     1  chunk  Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.Uninterruptible(reason = "Called from uninterruptible code.", mayBeInlined = true)
    MethodParameters:
       Name  Flags
      chunk  

  com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader getLastUnalignedHeapChunk();
    descriptor: ()Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.core.genscavenge.Space this
         0: .line 433
            aload 0 /* this */
            getfield com.oracle.svm.core.genscavenge.Space.lastUnalignedHeapChunk:Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;
            areturn
        end local 0 // com.oracle.svm.core.genscavenge.Space this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/core/genscavenge/Space;
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.Uninterruptible(reason = "Called from uninterruptible code.", mayBeInlined = true)

  private void setLastUnalignedHeapChunk(com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader);
    descriptor: (Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.svm.core.genscavenge.Space this
        start local 1 // com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader chunk
         0: .line 438
            aload 0 /* this */
            aload 1 /* chunk */
            putfield com.oracle.svm.core.genscavenge.Space.lastUnalignedHeapChunk:Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;
         1: .line 439
            return
        end local 1 // com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader chunk
        end local 0 // com.oracle.svm.core.genscavenge.Space this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/oracle/svm/core/genscavenge/Space;
            0    2     1  chunk  Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.Uninterruptible(reason = "Called from uninterruptible code.", mayBeInlined = true)
    MethodParameters:
       Name  Flags
      chunk  

  java.lang.Object promoteAlignedObject(java.lang.Object, com.oracle.svm.core.genscavenge.Space);
    descriptor: (Ljava/lang/Object;Lcom/oracle/svm/core/genscavenge/Space;)Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // com.oracle.svm.core.genscavenge.Space this
        start local 1 // java.lang.Object original
        start local 2 // com.oracle.svm.core.genscavenge.Space originalSpace
         0: .line 443
            getstatic com.oracle.svm.core.genscavenge.Space.$assertionsDisabled:Z
            ifne 1
            aload 1 /* original */
            invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.isAlignedObject:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 444
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.svm.core.genscavenge.Space.$assertionsDisabled:Z
            ifne 3
            aload 0 /* this */
            aload 2 /* originalSpace */
            if_acmpeq 2
            aload 2 /* originalSpace */
            invokevirtual com.oracle.svm.core.genscavenge.Space.isFromSpace:()Z
            ifne 3
      StackMap locals:
      StackMap stack:
         2: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 446
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.svm.core.genscavenge.HeapOptions.TraceObjectPromotion: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 6
         4: .line 447
            invokestatic com.oracle.svm.core.log.Log.log:()Lcom/oracle/svm/core/log/Log;
            ldc "[promoteAlignedObject:"
            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 /* original */
            invokevirtual com.oracle.svm.core.log.Log.object:(Ljava/lang/Object;)Lcom/oracle/svm/core/log/Log;
            ldc "  fromSpace: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 2 /* originalSpace */
            invokevirtual com.oracle.svm.core.genscavenge.Space.getName:()Ljava/lang/String;
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            ldc "  toSpace: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 0 /* this */
            invokevirtual com.oracle.svm.core.genscavenge.Space.getName:()Ljava/lang/String;
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
         5: .line 448
            ldc "  size: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 1 /* original */
            invokestatic com.oracle.svm.core.hub.LayoutEncoding.getSizeFromObject:(Ljava/lang/Object;)Lorg/graalvm/word/UnsignedWord;
            invokevirtual com.oracle.svm.core.log.Log.unsigned:(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: .line 451
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* original */
            invokevirtual com.oracle.svm.core.genscavenge.Space.copyAlignedObject:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* copy */
        start local 3 // java.lang.Object copy
         7: .line 452
            aload 1 /* original */
            aload 3 /* copy */
            invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.installForwardingPointer:(Ljava/lang/Object;Ljava/lang/Object;)V
         8: .line 453
            aload 3 /* copy */
            areturn
        end local 3 // java.lang.Object copy
        end local 2 // com.oracle.svm.core.genscavenge.Space originalSpace
        end local 1 // java.lang.Object original
        end local 0 // com.oracle.svm.core.genscavenge.Space this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           this  Lcom/oracle/svm/core/genscavenge/Space;
            0    9     1       original  Ljava/lang/Object;
            0    9     2  originalSpace  Lcom/oracle/svm/core/genscavenge/Space;
            7    9     3           copy  Ljava/lang/Object;
    MethodParameters:
               Name  Flags
      original       
      originalSpace  

  private java.lang.Object copyAlignedObject(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // com.oracle.svm.core.genscavenge.Space this
        start local 1 // java.lang.Object originalObj
         0: .line 457
            getstatic com.oracle.svm.core.genscavenge.Space.$assertionsDisabled:Z
            ifne 1
            invokestatic com.oracle.svm.core.thread.VMOperation.isGCInProgress:()Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 458
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.svm.core.genscavenge.Space.$assertionsDisabled:Z
            ifne 2
            aload 1 /* originalObj */
            invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.isAlignedObject:(Ljava/lang/Object;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 460
      StackMap locals:
      StackMap stack:
            aload 1 /* originalObj */
            invokestatic com.oracle.svm.core.hub.LayoutEncoding.getSizeFromObject:(Ljava/lang/Object;)Lorg/graalvm/word/UnsignedWord;
            astore 2 /* size */
        start local 2 // org.graalvm.word.UnsignedWord size
         3: .line 461
            aload 0 /* this */
            aload 2 /* size */
            invokevirtual com.oracle.svm.core.genscavenge.Space.allocateMemory:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
            astore 3 /* copyMemory */
        start local 3 // org.graalvm.word.Pointer copyMemory
         4: .line 462
            ldc 1.0000000000287557E-6
            aload 3 /* copyMemory */
            invokeinterface org.graalvm.word.Pointer.isNull:()Z
            invokestatic org.graalvm.compiler.nodes.extended.BranchProbabilityNode.probability:(DZ)Z
            ifeq 10
         5: .line 463
            invokestatic com.oracle.svm.core.log.Log.log:()Lcom/oracle/svm/core/log/Log;
            ldc "[! Space.copyAlignedObject:"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            iconst_1
            invokevirtual com.oracle.svm.core.log.Log.indent:(Z)Lcom/oracle/svm/core/log/Log;
            astore 4 /* failureLog */
        start local 4 // com.oracle.svm.core.log.Log failureLog
         6: .line 464
            aload 4 /* failureLog */
            ldc "  failure to allocate "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 2 /* size */
            invokevirtual com.oracle.svm.core.log.Log.unsigned:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            ldc " bytes"
            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
         7: .line 465
            aload 4 /* failureLog */
            ldc "  object to be promoted: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 1 /* originalObj */
            invokevirtual com.oracle.svm.core.log.Log.object:(Ljava/lang/Object;)Lcom/oracle/svm/core/log/Log;
            ldc " header "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 1 /* originalObj */
            invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.readHeaderFromObject:(Ljava/lang/Object;)Lorg/graalvm/word/UnsignedWord;
            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
         8: .line 466
            aload 4 /* failureLog */
            ldc " !]"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            iconst_0
            invokevirtual com.oracle.svm.core.log.Log.indent:(Z)Lcom/oracle/svm/core/log/Log;
            pop
         9: .line 467
            ldc "Promotion failure"
            invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 4 // com.oracle.svm.core.log.Log failureLog
        10: .line 470
      StackMap locals: org.graalvm.word.UnsignedWord org.graalvm.word.Pointer
      StackMap stack:
            aload 1 /* originalObj */
            invokestatic org.graalvm.compiler.word.Word.objectToUntrackedPointer:(Ljava/lang/Object;)Lorg/graalvm/compiler/word/Word;
            astore 4 /* originalMemory */
        start local 4 // org.graalvm.word.Pointer originalMemory
        11: .line 471
            invokestatic org.graalvm.word.WordFactory.zero:()Lorg/graalvm/word/WordBase;
            checkcast org.graalvm.word.UnsignedWord
            astore 5 /* offset */
        start local 5 // org.graalvm.word.UnsignedWord offset
        12: .line 472
            goto 15
        13: .line 480
      StackMap locals: org.graalvm.word.Pointer org.graalvm.word.UnsignedWord
      StackMap stack:
            aload 3 /* copyMemory */
            aload 5 /* offset */
            aload 4 /* originalMemory */
            aload 5 /* offset */
            invokeinterface org.graalvm.word.Pointer.readWord:(Lorg/graalvm/word/WordBase;)Lorg/graalvm/word/WordBase;
            invokeinterface org.graalvm.word.Pointer.writeWord:(Lorg/graalvm/word/WordBase;Lorg/graalvm/word/WordBase;)V
        14: .line 481
            aload 5 /* offset */
            invokestatic com.oracle.svm.core.config.ConfigurationValues.getTarget:()Lcom/oracle/svm/core/SubstrateTargetDescription;
            getfield com.oracle.svm.core.SubstrateTargetDescription.wordSize:I
            invokeinterface org.graalvm.word.UnsignedWord.add:(I)Lorg/graalvm/word/UnsignedWord;
            astore 5 /* offset */
        15: .line 472
      StackMap locals:
      StackMap stack:
            ldc 0.9
            aload 5 /* offset */
            aload 2 /* size */
            invokeinterface org.graalvm.word.UnsignedWord.belowThan:(Lorg/graalvm/word/UnsignedWord;)Z
            invokestatic org.graalvm.compiler.nodes.extended.BranchProbabilityNode.probability:(DZ)Z
            ifne 13
        16: .line 485
            aload 3 /* copyMemory */
            invokeinterface org.graalvm.word.Pointer.toObject:()Ljava/lang/Object;
            astore 6 /* copy */
        start local 6 // java.lang.Object copy
        17: .line 486
            aload 6 /* copy */
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getEnclosingChunk:(Ljava/lang/Object;)Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            astore 7 /* copyChunk */
        start local 7 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader copyChunk
        18: .line 490
            aload 7 /* copyChunk */
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.getSpace:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)Lcom/oracle/svm/core/genscavenge/Space;
            invokevirtual com.oracle.svm.core.genscavenge.Space.isOldSpace:()Z
            ifeq 20
        19: .line 491
            aload 7 /* copyChunk */
            aload 6 /* copy */
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.setUpRememberedSetForObject:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;Ljava/lang/Object;)V
        20: .line 493
      StackMap locals: java.lang.Object com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader
      StackMap stack:
            aload 6 /* copy */
            areturn
        end local 7 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader copyChunk
        end local 6 // java.lang.Object copy
        end local 5 // org.graalvm.word.UnsignedWord offset
        end local 4 // org.graalvm.word.Pointer originalMemory
        end local 3 // org.graalvm.word.Pointer copyMemory
        end local 2 // org.graalvm.word.UnsignedWord size
        end local 1 // java.lang.Object originalObj
        end local 0 // com.oracle.svm.core.genscavenge.Space this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   21     0            this  Lcom/oracle/svm/core/genscavenge/Space;
            0   21     1     originalObj  Ljava/lang/Object;
            3   21     2            size  Lorg/graalvm/word/UnsignedWord;
            4   21     3      copyMemory  Lorg/graalvm/word/Pointer;
            6   10     4      failureLog  Lcom/oracle/svm/core/log/Log;
           11   21     4  originalMemory  Lorg/graalvm/word/Pointer;
           12   21     5          offset  Lorg/graalvm/word/UnsignedWord;
           17   21     6            copy  Ljava/lang/Object;
           18   21     7       copyChunk  Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
    MethodParameters:
             Name  Flags
      originalObj  

  private void promoteAlignedHeapChunk(com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader, com.oracle.svm.core.genscavenge.Space);
    descriptor: (Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;Lcom/oracle/svm/core/genscavenge/Space;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.svm.core.genscavenge.Space this
        start local 1 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader chunk
        start local 2 // com.oracle.svm.core.genscavenge.Space originalSpace
         0: .line 498
            getstatic com.oracle.svm.core.genscavenge.Space.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            aload 2 /* originalSpace */
            if_acmpeq 1
            aload 2 /* originalSpace */
            invokevirtual com.oracle.svm.core.genscavenge.Space.isFromSpace:()Z
            ifne 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 500
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.svm.core.genscavenge.HeapOptions.TraceObjectPromotion: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 5
         3: .line 501
            invokestatic com.oracle.svm.core.log.Log.log:()Lcom/oracle/svm/core/log/Log;
            ldc "[promoteAlignedHeapChunk:"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            ldc "  chunk: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 1 /* chunk */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            ldc "  fromSpace: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 2 /* originalSpace */
            invokevirtual com.oracle.svm.core.genscavenge.Space.getName:()Ljava/lang/String;
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            ldc "  toSpace: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 0 /* this */
            invokevirtual com.oracle.svm.core.genscavenge.Space.getName:()Ljava/lang/String;
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
         4: .line 502
            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: .line 505
      StackMap locals:
      StackMap stack:
            aload 2 /* originalSpace */
            aload 1 /* chunk */
            invokevirtual com.oracle.svm.core.genscavenge.Space.extractAlignedHeapChunk:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)V
         6: .line 506
            aload 0 /* this */
            aload 1 /* chunk */
            invokevirtual com.oracle.svm.core.genscavenge.Space.appendAlignedHeapChunk:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)V
         7: .line 507
            aload 0 /* this */
            invokevirtual com.oracle.svm.core.genscavenge.Space.isOldSpace:()Z
            ifeq 9
            aload 2 /* originalSpace */
            invokevirtual com.oracle.svm.core.genscavenge.Space.isYoungSpace:()Z
            ifeq 9
         8: .line 508
            aload 1 /* chunk */
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.constructRememberedSet:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)V
         9: .line 510
      StackMap locals:
      StackMap stack:
            return
        end local 2 // com.oracle.svm.core.genscavenge.Space originalSpace
        end local 1 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader chunk
        end local 0 // com.oracle.svm.core.genscavenge.Space this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   10     0           this  Lcom/oracle/svm/core/genscavenge/Space;
            0   10     1          chunk  Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            0   10     2  originalSpace  Lcom/oracle/svm/core/genscavenge/Space;
    MethodParameters:
               Name  Flags
      chunk          
      originalSpace  

  void promoteUnalignedHeapChunk(com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader, com.oracle.svm.core.genscavenge.Space);
    descriptor: (Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;Lcom/oracle/svm/core/genscavenge/Space;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.svm.core.genscavenge.Space this
        start local 1 // com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader chunk
        start local 2 // com.oracle.svm.core.genscavenge.Space originalSpace
         0: .line 514
            getstatic com.oracle.svm.core.genscavenge.Space.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            aload 2 /* originalSpace */
            if_acmpeq 1
            aload 2 /* originalSpace */
            invokevirtual com.oracle.svm.core.genscavenge.Space.isFromSpace:()Z
            ifne 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 516
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.svm.core.genscavenge.HeapOptions.TraceObjectPromotion: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 5
         3: .line 517
            invokestatic com.oracle.svm.core.log.Log.log:()Lcom/oracle/svm/core/log/Log;
            ldc "[promoteUnalignedHeapChunk:"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            ldc "  chunk: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 1 /* chunk */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            ldc "  fromSpace: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 2 /* originalSpace */
            invokevirtual com.oracle.svm.core.genscavenge.Space.getName:()Ljava/lang/String;
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            ldc "  toSpace: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 0 /* this */
            invokevirtual com.oracle.svm.core.genscavenge.Space.getName:()Ljava/lang/String;
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
         4: .line 518
            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: .line 521
      StackMap locals:
      StackMap stack:
            aload 2 /* originalSpace */
            aload 1 /* chunk */
            invokevirtual com.oracle.svm.core.genscavenge.Space.extractUnalignedHeapChunk:(Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;)V
         6: .line 522
            aload 0 /* this */
            aload 1 /* chunk */
            invokevirtual com.oracle.svm.core.genscavenge.Space.appendUnalignedHeapChunk:(Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;)V
         7: .line 524
            aload 0 /* this */
            invokevirtual com.oracle.svm.core.genscavenge.Space.isOldSpace:()Z
            ifeq 9
         8: .line 525
            aload 1 /* chunk */
            invokestatic com.oracle.svm.core.genscavenge.UnalignedHeapChunk.setUpRememberedSet:(Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;)V
         9: .line 527
      StackMap locals:
      StackMap stack:
            return
        end local 2 // com.oracle.svm.core.genscavenge.Space originalSpace
        end local 1 // com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader chunk
        end local 0 // com.oracle.svm.core.genscavenge.Space this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   10     0           this  Lcom/oracle/svm/core/genscavenge/Space;
            0   10     1          chunk  Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;
            0   10     2  originalSpace  Lcom/oracle/svm/core/genscavenge/Space;
    MethodParameters:
               Name  Flags
      chunk          
      originalSpace  

  private com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader requestAlignedHeapChunk();
    descriptor: ()Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // com.oracle.svm.core.genscavenge.Space this
         0: .line 530
            getstatic com.oracle.svm.core.genscavenge.Space.$assertionsDisabled:Z
            ifne 1
            invokestatic com.oracle.svm.core.thread.VMOperation.isGCInProgress:()Z
            ifne 1
            new java.lang.AssertionError
            dup
            ldc "Should only be called from the collector."
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 531
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.svm.core.log.Log.noopLog:()Lcom/oracle/svm/core/log/Log;
            ldc "[Space.requestAlignedHeapChunk:"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            ldc "  space: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 0 /* this */
            invokevirtual com.oracle.svm.core.genscavenge.Space.getName:()Ljava/lang/String;
            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;
            astore 1 /* trace */
        start local 1 // com.oracle.svm.core.log.Log trace
         2: .line 532
            invokestatic com.oracle.svm.core.genscavenge.HeapImpl.getChunkProvider:()Lcom/oracle/svm/core/genscavenge/HeapChunkProvider;
            invokevirtual com.oracle.svm.core.genscavenge.HeapChunkProvider.produceAlignedChunk:()Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            astore 2 /* aChunk */
        start local 2 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader aChunk
         3: .line 533
            aload 1 /* trace */
            ldc "  aChunk: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 2 /* aChunk */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            pop
         4: .line 534
            aload 2 /* aChunk */
            invokeinterface com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader.isNonNull:()Z
            ifeq 6
         5: .line 535
            aload 0 /* this */
            aload 2 /* aChunk */
            invokevirtual com.oracle.svm.core.genscavenge.Space.appendAlignedHeapChunk:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)V
         6: .line 537
      StackMap locals: com.oracle.svm.core.log.Log com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader
      StackMap stack:
            aload 1 /* trace */
            ldc "  Space.requestAlignedHeapChunk returns: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 2 /* aChunk */
            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
         7: .line 538
            aload 2 /* aChunk */
            areturn
        end local 2 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader aChunk
        end local 1 // com.oracle.svm.core.log.Log trace
        end local 0 // com.oracle.svm.core.genscavenge.Space this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lcom/oracle/svm/core/genscavenge/Space;
            2    8     1   trace  Lcom/oracle/svm/core/log/Log;
            3    8     2  aChunk  Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;

  void absorb(com.oracle.svm.core.genscavenge.Space);
    descriptor: (Lcom/oracle/svm/core/genscavenge/Space;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // com.oracle.svm.core.genscavenge.Space this
        start local 1 // com.oracle.svm.core.genscavenge.Space src
         0: .line 546
            aload 1 /* src */
            invokevirtual com.oracle.svm.core.genscavenge.Space.getFirstAlignedHeapChunk:()Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            astore 2 /* aChunk */
        start local 2 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader aChunk
         1: .line 547
            goto 6
         2: .line 548
      StackMap locals: com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader
      StackMap stack:
            aload 2 /* aChunk */
            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 3 /* next */
        start local 3 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader next
         3: .line 549
            aload 1 /* src */
            aload 2 /* aChunk */
            invokevirtual com.oracle.svm.core.genscavenge.Space.extractAlignedHeapChunk:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)V
         4: .line 550
            aload 0 /* this */
            aload 2 /* aChunk */
            invokevirtual com.oracle.svm.core.genscavenge.Space.appendAlignedHeapChunk:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)V
         5: .line 551
            aload 3 /* next */
            astore 2 /* aChunk */
        end local 3 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader next
         6: .line 547
      StackMap locals:
      StackMap stack:
            aload 2 /* aChunk */
            invokeinterface com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader.isNonNull:()Z
            ifne 2
         7: .line 553
            aload 1 /* src */
            invokevirtual com.oracle.svm.core.genscavenge.Space.getFirstUnalignedHeapChunk:()Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;
            astore 3 /* uChunk */
        start local 3 // com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader uChunk
         8: .line 554
            goto 13
         9: .line 555
      StackMap locals: com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader
      StackMap stack:
            aload 3 /* uChunk */
            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 4 /* next */
        start local 4 // com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader next
        10: .line 556
            aload 1 /* src */
            aload 3 /* uChunk */
            invokevirtual com.oracle.svm.core.genscavenge.Space.extractUnalignedHeapChunk:(Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;)V
        11: .line 557
            aload 0 /* this */
            aload 3 /* uChunk */
            invokevirtual com.oracle.svm.core.genscavenge.Space.appendUnalignedHeapChunk:(Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;)V
        12: .line 558
            aload 4 /* next */
            astore 3 /* uChunk */
        end local 4 // com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader next
        13: .line 554
      StackMap locals:
      StackMap stack:
            aload 3 /* uChunk */
            invokeinterface com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader.isNonNull:()Z
            ifne 9
        14: .line 560
            return
        end local 3 // com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader uChunk
        end local 2 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader aChunk
        end local 1 // com.oracle.svm.core.genscavenge.Space src
        end local 0 // com.oracle.svm.core.genscavenge.Space this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   15     0    this  Lcom/oracle/svm/core/genscavenge/Space;
            0   15     1     src  Lcom/oracle/svm/core/genscavenge/Space;
            1   15     2  aChunk  Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            3    6     3    next  Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            8   15     3  uChunk  Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;
           10   13     4    next  Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;
    MethodParameters:
      Name  Flags
      src   

  boolean walkHeapChunks(com.oracle.svm.core.MemoryWalker$Visitor);
    descriptor: (Lcom/oracle/svm/core/MemoryWalker$Visitor;)Z
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // com.oracle.svm.core.genscavenge.Space this
        start local 1 // com.oracle.svm.core.MemoryWalker$Visitor visitor
         0: .line 563
            iconst_1
            istore 2 /* continueVisiting */
        start local 2 // boolean continueVisiting
         1: .line 564
            aload 0 /* this */
            invokevirtual com.oracle.svm.core.genscavenge.Space.getFirstAlignedHeapChunk:()Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            astore 3 /* aChunk */
        start local 3 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader aChunk
         2: .line 565
            goto 5
         3: .line 566
      StackMap locals: int com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader
      StackMap stack:
            aload 1 /* visitor */
            aload 3 /* aChunk */
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getMemoryWalkerAccess:()Lcom/oracle/svm/core/MemoryWalker$HeapChunkAccess;
            invokeinterface com.oracle.svm.core.MemoryWalker$Visitor.visitHeapChunk:(Lorg/graalvm/word/PointerBase;Lcom/oracle/svm/core/MemoryWalker$HeapChunkAccess;)Z
            istore 2 /* continueVisiting */
         4: .line 567
            aload 3 /* aChunk */
            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 3 /* aChunk */
         5: .line 565
      StackMap locals:
      StackMap stack:
            iload 2 /* continueVisiting */
            ifeq 6
            aload 3 /* aChunk */
            invokeinterface com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader.isNonNull:()Z
            ifne 3
         6: .line 569
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.svm.core.genscavenge.Space.getFirstUnalignedHeapChunk:()Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;
            astore 4 /* uChunk */
        start local 4 // com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader uChunk
         7: .line 570
            goto 10
         8: .line 571
      StackMap locals: com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader
      StackMap stack:
            aload 1 /* visitor */
            aload 4 /* uChunk */
            invokestatic com.oracle.svm.core.genscavenge.UnalignedHeapChunk.getMemoryWalkerAccess:()Lcom/oracle/svm/core/MemoryWalker$HeapChunkAccess;
            invokeinterface com.oracle.svm.core.MemoryWalker$Visitor.visitHeapChunk:(Lorg/graalvm/word/PointerBase;Lcom/oracle/svm/core/MemoryWalker$HeapChunkAccess;)Z
            istore 2 /* continueVisiting */
         9: .line 572
            aload 4 /* uChunk */
            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 4 /* uChunk */
        10: .line 570
      StackMap locals:
      StackMap stack:
            iload 2 /* continueVisiting */
            ifeq 11
            aload 4 /* uChunk */
            invokeinterface com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader.isNonNull:()Z
            ifne 8
        11: .line 574
      StackMap locals:
      StackMap stack:
            iload 2 /* continueVisiting */
            ireturn
        end local 4 // com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader uChunk
        end local 3 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader aChunk
        end local 2 // boolean continueVisiting
        end local 1 // com.oracle.svm.core.MemoryWalker$Visitor visitor
        end local 0 // com.oracle.svm.core.genscavenge.Space this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   12     0              this  Lcom/oracle/svm/core/genscavenge/Space;
            0   12     1           visitor  Lcom/oracle/svm/core/MemoryWalker$Visitor;
            1   12     2  continueVisiting  Z
            2   12     3            aChunk  Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            7   12     4            uChunk  Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;
    MethodParameters:
         Name  Flags
      visitor  

  org.graalvm.word.UnsignedWord getChunkBytes();
    descriptor: ()Lorg/graalvm/word/UnsignedWord;
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.svm.core.genscavenge.Space this
         0: .line 583
            getstatic com.oracle.svm.core.genscavenge.Space.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            invokevirtual com.oracle.svm.core.genscavenge.Space.isEdenSpace:()Z
            ifeq 1
            invokestatic com.oracle.svm.core.thread.VMOperation.isGCInProgress:()Z
            ifne 1
            new java.lang.AssertionError
            dup
            ldc "eden data is only accurate during a GC"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 584
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.core.genscavenge.Space.accounting:Lcom/oracle/svm/core/genscavenge/SpaceAccounting;
            invokevirtual com.oracle.svm.core.genscavenge.SpaceAccounting.getAlignedChunkBytes:()Lorg/graalvm/word/UnsignedWord;
            aload 0 /* this */
            getfield com.oracle.svm.core.genscavenge.Space.accounting:Lcom/oracle/svm/core/genscavenge/SpaceAccounting;
            invokevirtual com.oracle.svm.core.genscavenge.SpaceAccounting.getUnalignedChunkBytes:()Lorg/graalvm/word/UnsignedWord;
            invokeinterface org.graalvm.word.UnsignedWord.add:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
            areturn
        end local 0 // com.oracle.svm.core.genscavenge.Space this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/svm/core/genscavenge/Space;
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.Uninterruptible(reason = "Called from uninterruptible code.", mayBeInlined = true)

  org.graalvm.word.UnsignedWord computeObjectBytes();
    descriptor: ()Lorg/graalvm/word/UnsignedWord;
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.svm.core.genscavenge.Space this
         0: .line 588
            getstatic com.oracle.svm.core.genscavenge.Space.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            invokevirtual com.oracle.svm.core.genscavenge.Space.isEdenSpace:()Z
            ifeq 1
            invokestatic com.oracle.svm.core.thread.VMOperation.isGCInProgress:()Z
            ifne 1
            new java.lang.AssertionError
            dup
            ldc "eden data is only accurate during a GC"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 589
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.svm.core.genscavenge.Space.computeAlignedObjectBytes:()Lorg/graalvm/word/UnsignedWord;
            aload 0 /* this */
            invokevirtual com.oracle.svm.core.genscavenge.Space.computeUnalignedObjectBytes:()Lorg/graalvm/word/UnsignedWord;
            invokeinterface org.graalvm.word.UnsignedWord.add:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
            areturn
        end local 0 // com.oracle.svm.core.genscavenge.Space this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/svm/core/genscavenge/Space;

  private org.graalvm.word.UnsignedWord computeAlignedObjectBytes();
    descriptor: ()Lorg/graalvm/word/UnsignedWord;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // com.oracle.svm.core.genscavenge.Space this
         0: .line 593
            invokestatic org.graalvm.word.WordFactory.zero:()Lorg/graalvm/word/WordBase;
            checkcast org.graalvm.word.UnsignedWord
            astore 1 /* result */
        start local 1 // org.graalvm.word.UnsignedWord result
         1: .line 594
            aload 0 /* this */
            invokevirtual com.oracle.svm.core.genscavenge.Space.getFirstAlignedHeapChunk:()Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            astore 2 /* aChunk */
        start local 2 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader aChunk
         2: .line 595
            goto 6
         3: .line 596
      StackMap locals: org.graalvm.word.UnsignedWord com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader
      StackMap stack:
            aload 2 /* aChunk */
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.getTopOffset:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)Lorg/graalvm/word/UnsignedWord;
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getObjectsStartOffset:()Lorg/graalvm/word/UnsignedWord;
            invokeinterface org.graalvm.word.UnsignedWord.subtract:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
            astore 3 /* allocatedBytes */
        start local 3 // org.graalvm.word.UnsignedWord allocatedBytes
         4: .line 597
            aload 1 /* result */
            aload 3 /* allocatedBytes */
            invokeinterface org.graalvm.word.UnsignedWord.add:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
            astore 1 /* result */
         5: .line 598
            aload 2 /* aChunk */
            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 /* aChunk */
        end local 3 // org.graalvm.word.UnsignedWord allocatedBytes
         6: .line 595
      StackMap locals:
      StackMap stack:
            aload 2 /* aChunk */
            invokeinterface com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader.isNonNull:()Z
            ifne 3
         7: .line 600
            aload 1 /* result */
            areturn
        end local 2 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader aChunk
        end local 1 // org.graalvm.word.UnsignedWord result
        end local 0 // com.oracle.svm.core.genscavenge.Space this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    8     0            this  Lcom/oracle/svm/core/genscavenge/Space;
            1    8     1          result  Lorg/graalvm/word/UnsignedWord;
            2    8     2          aChunk  Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            4    6     3  allocatedBytes  Lorg/graalvm/word/UnsignedWord;

  private org.graalvm.word.UnsignedWord computeUnalignedObjectBytes();
    descriptor: ()Lorg/graalvm/word/UnsignedWord;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // com.oracle.svm.core.genscavenge.Space this
         0: .line 604
            invokestatic org.graalvm.word.WordFactory.zero:()Lorg/graalvm/word/WordBase;
            checkcast org.graalvm.word.UnsignedWord
            astore 1 /* result */
        start local 1 // org.graalvm.word.UnsignedWord result
         1: .line 605
            aload 0 /* this */
            invokevirtual com.oracle.svm.core.genscavenge.Space.getFirstUnalignedHeapChunk:()Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;
            astore 2 /* uChunk */
        start local 2 // com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader uChunk
         2: .line 606
            goto 6
         3: .line 607
      StackMap locals: org.graalvm.word.UnsignedWord com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader
      StackMap stack:
            aload 2 /* uChunk */
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.getTopOffset:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)Lorg/graalvm/word/UnsignedWord;
            invokestatic com.oracle.svm.core.genscavenge.UnalignedHeapChunk.getObjectStartOffset:()Lorg/graalvm/word/UnsignedWord;
            invokeinterface org.graalvm.word.UnsignedWord.subtract:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
            astore 3 /* allocatedBytes */
        start local 3 // org.graalvm.word.UnsignedWord allocatedBytes
         4: .line 608
            aload 1 /* result */
            aload 3 /* allocatedBytes */
            invokeinterface org.graalvm.word.UnsignedWord.add:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
            astore 1 /* result */
         5: .line 609
            aload 2 /* uChunk */
            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 2 /* uChunk */
        end local 3 // org.graalvm.word.UnsignedWord allocatedBytes
         6: .line 606
      StackMap locals:
      StackMap stack:
            aload 2 /* uChunk */
            invokeinterface com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader.isNonNull:()Z
            ifne 3
         7: .line 611
            aload 1 /* result */
            areturn
        end local 2 // com.oracle.svm.core.genscavenge.UnalignedHeapChunk$UnalignedHeader uChunk
        end local 1 // org.graalvm.word.UnsignedWord result
        end local 0 // com.oracle.svm.core.genscavenge.Space this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    8     0            this  Lcom/oracle/svm/core/genscavenge/Space;
            1    8     1          result  Lorg/graalvm/word/UnsignedWord;
            2    8     2          uChunk  Lcom/oracle/svm/core/genscavenge/UnalignedHeapChunk$UnalignedHeader;
            4    6     3  allocatedBytes  Lorg/graalvm/word/UnsignedWord;

  public void verifyDirtyCards();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.oracle.svm.core.genscavenge.Space this
         0: .line 615
            aload 0 /* this */
            invokevirtual com.oracle.svm.core.genscavenge.Space.getFirstAlignedHeapChunk:()Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            astore 1 /* aChunk */
        start local 1 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader aChunk
         1: .line 616
            goto 11
         2: .line 617
      StackMap locals: com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader
      StackMap stack:
            aload 1 /* aChunk */
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getCardTableStart:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/Pointer;
         3: .line 618
            aload 1 /* aChunk */
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getFirstObjectTableStart:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/Pointer;
         4: .line 619
            aload 1 /* aChunk */
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getObjectsStart:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/Pointer;
         5: .line 620
            aload 1 /* aChunk */
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.getTopPointer:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)Lorg/graalvm/word/Pointer;
         6: .line 617
            invokestatic com.oracle.svm.core.genscavenge.CardTable.verify:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/Pointer;Lorg/graalvm/word/Pointer;Lorg/graalvm/word/Pointer;)Z
         7: .line 620
            ifne 10
         8: .line 621
            invokestatic com.oracle.svm.core.log.Log.log:()Lcom/oracle/svm/core/log/Log;
            ldc "AlignedChunk card verification failed!"
            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: .line 622
            invokestatic com.oracle.svm.core.log.Log.log:()Lcom/oracle/svm/core/log/Log;
            invokevirtual com.oracle.svm.core.log.Log.flush:()Lcom/oracle/svm/core/log/Log;
            pop
        10: .line 624
      StackMap locals:
      StackMap stack:
            aload 1 /* aChunk */
            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 1 /* aChunk */
        11: .line 616
      StackMap locals:
      StackMap stack:
            aload 1 /* aChunk */
            invokeinterface com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader.isNonNull:()Z
            ifne 2
        12: .line 626
            return
        end local 1 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader aChunk
        end local 0 // com.oracle.svm.core.genscavenge.Space this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   13     0    this  Lcom/oracle/svm/core/genscavenge/Space;
            1   13     1  aChunk  Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
}
SourceFile: "Space.java"
InnerClasses:
  public abstract HeapChunkAccess = com.oracle.svm.core.MemoryWalker$HeapChunkAccess of com.oracle.svm.core.MemoryWalker
  public abstract Visitor = com.oracle.svm.core.MemoryWalker$Visitor of com.oracle.svm.core.MemoryWalker
  public abstract AlignedHeader = com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader of com.oracle.svm.core.genscavenge.AlignedHeapChunk
  public ChunkReleaser = com.oracle.svm.core.genscavenge.GCImpl$ChunkReleaser of com.oracle.svm.core.genscavenge.GCImpl
  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