public final class com.oracle.svm.core.genscavenge.AlignedHeapChunk
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.oracle.svm.core.genscavenge.AlignedHeapChunk
  super_class: java.lang.Object
{
  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 83
            ldc Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk;
            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.AlignedHeapChunk.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

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

  static org.graalvm.word.Pointer getCardTableStart(com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader);
    descriptor: (Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/Pointer;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader that
         0: .line 98
            aload 0 /* that */
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.asPointer:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)Lorg/graalvm/word/Pointer;
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getCardTableStartOffset:()Lorg/graalvm/word/UnsignedWord;
            invokeinterface org.graalvm.word.Pointer.add:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
            areturn
        end local 0 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader that
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  that  Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
    MethodParameters:
      Name  Flags
      that  

  static org.graalvm.word.Pointer getCardTableLimit(com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader);
    descriptor: (Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/Pointer;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader that
         0: .line 102
            aload 0 /* that */
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.asPointer:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)Lorg/graalvm/word/Pointer;
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getCardTableLimitOffset:()Lorg/graalvm/word/UnsignedWord;
            invokeinterface org.graalvm.word.Pointer.add:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
            areturn
        end local 0 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader that
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  that  Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
    MethodParameters:
      Name  Flags
      that  

  static org.graalvm.word.Pointer getFirstObjectTableStart(com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader);
    descriptor: (Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/Pointer;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader that
         0: .line 106
            aload 0 /* that */
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.asPointer:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)Lorg/graalvm/word/Pointer;
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getFirstObjectTableStartOffset:()Lorg/graalvm/word/UnsignedWord;
            invokeinterface org.graalvm.word.Pointer.add:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
            areturn
        end local 0 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader that
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  that  Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
    MethodParameters:
      Name  Flags
      that  

  static org.graalvm.word.Pointer getFirstObjectTableLimit(com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader);
    descriptor: (Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/Pointer;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader that
         0: .line 110
            aload 0 /* that */
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.asPointer:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)Lorg/graalvm/word/Pointer;
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getFirstObjectTableLimitOffset:()Lorg/graalvm/word/UnsignedWord;
            invokeinterface org.graalvm.word.Pointer.add:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
            areturn
        end local 0 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader that
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  that  Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
    MethodParameters:
      Name  Flags
      that  

  static org.graalvm.word.Pointer getObjectsStart(com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader);
    descriptor: (Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/Pointer;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader that
         0: .line 114
            aload 0 /* that */
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.asPointer:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)Lorg/graalvm/word/Pointer;
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getObjectsStartOffset:()Lorg/graalvm/word/UnsignedWord;
            invokeinterface org.graalvm.word.Pointer.add:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
            areturn
        end local 0 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader that
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  that  Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
    MethodParameters:
      Name  Flags
      that  

  static org.graalvm.word.Pointer allocateMemory(com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader, org.graalvm.word.UnsignedWord);
    descriptor: (Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader that
        start local 1 // org.graalvm.word.UnsignedWord size
         0: .line 119
            invokestatic org.graalvm.word.WordFactory.nullPointer:()Lorg/graalvm/word/PointerBase;
            checkcast org.graalvm.word.Pointer
            astore 2 /* result */
        start local 2 // org.graalvm.word.Pointer result
         1: .line 120
            aload 0 /* that */
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.availableObjectMemory:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)Lorg/graalvm/word/UnsignedWord;
            astore 3 /* available */
        start local 3 // org.graalvm.word.UnsignedWord available
         2: .line 121
            aload 1 /* size */
            aload 3 /* available */
            invokeinterface org.graalvm.word.UnsignedWord.belowOrEqual:(Lorg/graalvm/word/UnsignedWord;)Z
            ifeq 6
         3: .line 122
            aload 0 /* that */
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.getTopPointer:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)Lorg/graalvm/word/Pointer;
            astore 2 /* result */
         4: .line 123
            aload 2 /* result */
            aload 1 /* size */
            invokeinterface org.graalvm.word.Pointer.add:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
            astore 4 /* newTop */
        start local 4 // org.graalvm.word.Pointer newTop
         5: .line 124
            aload 0 /* that */
            aload 4 /* newTop */
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.setTopPointerCarefully:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;Lorg/graalvm/word/Pointer;)V
        end local 4 // org.graalvm.word.Pointer newTop
         6: .line 126
      StackMap locals: org.graalvm.word.Pointer org.graalvm.word.UnsignedWord
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 3 // org.graalvm.word.UnsignedWord available
        end local 2 // org.graalvm.word.Pointer result
        end local 1 // org.graalvm.word.UnsignedWord size
        end local 0 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader that
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       that  Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            0    7     1       size  Lorg/graalvm/word/UnsignedWord;
            1    7     2     result  Lorg/graalvm/word/Pointer;
            2    7     3  available  Lorg/graalvm/word/UnsignedWord;
            5    6     4     newTop  Lorg/graalvm/word/Pointer;
    MethodParameters:
      Name  Flags
      that  
      size  

  static org.graalvm.word.UnsignedWord getCommittedObjectMemory(com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader);
    descriptor: (Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/UnsignedWord;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader that
         0: .line 131
            aload 0 /* that */
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.getEndOffset:(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;
            areturn
        end local 0 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader that
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  that  Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.Uninterruptible(reason = "Called from uninterruptible code.", mayBeInlined = true)
    MethodParameters:
      Name  Flags
      that  

  static com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader getEnclosingChunk(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // java.lang.Object obj
         0: .line 135
            aload 0 /* obj */
            invokestatic org.graalvm.compiler.word.Word.objectToUntrackedPointer:(Ljava/lang/Object;)Lorg/graalvm/compiler/word/Word;
            astore 1 /* ptr */
        start local 1 // org.graalvm.word.Pointer ptr
         1: .line 136
            aload 1 /* ptr */
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getEnclosingChunkFromObjectPointer:(Lorg/graalvm/word/Pointer;)Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            areturn
        end local 1 // org.graalvm.word.Pointer ptr
        end local 0 // java.lang.Object obj
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   obj  Ljava/lang/Object;
            1    2     1   ptr  Lorg/graalvm/word/Pointer;
    MethodParameters:
      Name  Flags
      obj   

  static com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader getEnclosingChunkFromObjectPointer(org.graalvm.word.Pointer);
    descriptor: (Lorg/graalvm/word/Pointer;)Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.word.Pointer ptr
         0: .line 140
            aload 0 /* ptr */
            invokestatic com.oracle.svm.core.genscavenge.HeapPolicy.getAlignedHeapChunkAlignment:()Lorg/graalvm/word/UnsignedWord;
            invokestatic com.oracle.svm.core.util.PointerUtils.roundDown:(Lorg/graalvm/word/PointerBase;Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
            checkcast com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader
            areturn
        end local 0 // org.graalvm.word.Pointer ptr
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   ptr  Lorg/graalvm/word/Pointer;
    MethodParameters:
      Name  Flags
      ptr   

  static void cleanRememberedSet(com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader);
    descriptor: (Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader that
         0: .line 144
            aload 0 /* that */
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getCardTableStart:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/Pointer;
            astore 1 /* cardTableStart */
        start local 1 // org.graalvm.word.Pointer cardTableStart
         1: .line 145
            aload 0 /* that */
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getCardTableIndexLimitForCurrentTop:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/UnsignedWord;
            astore 2 /* indexLimit */
        start local 2 // org.graalvm.word.UnsignedWord indexLimit
         2: .line 146
            aload 1 /* cardTableStart */
            aload 2 /* indexLimit */
            invokestatic com.oracle.svm.core.genscavenge.CardTable.cleanTableToIndex:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
            pop
         3: .line 147
            return
        end local 2 // org.graalvm.word.UnsignedWord indexLimit
        end local 1 // org.graalvm.word.Pointer cardTableStart
        end local 0 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader that
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0            that  Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            1    4     1  cardTableStart  Lorg/graalvm/word/Pointer;
            2    4     2      indexLimit  Lorg/graalvm/word/UnsignedWord;
    MethodParameters:
      Name  Flags
      that  

  private static org.graalvm.word.UnsignedWord getCardTableIndexLimitForCurrentTop(com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader);
    descriptor: (Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/UnsignedWord;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader that
         0: .line 150
            aload 0 /* that */
            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 1 /* memorySize */
        start local 1 // org.graalvm.word.UnsignedWord memorySize
         1: .line 151
            aload 1 /* memorySize */
            invokestatic com.oracle.svm.core.genscavenge.CardTable.indexLimitForMemorySize:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
            areturn
        end local 1 // org.graalvm.word.UnsignedWord memorySize
        end local 0 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader that
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        that  Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            1    2     1  memorySize  Lorg/graalvm/word/UnsignedWord;
    MethodParameters:
      Name  Flags
      that  

  static void setUpRememberedSetForObject(com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader, java.lang.Object);
    descriptor: (Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;Ljava/lang/Object;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader that
        start local 1 // java.lang.Object obj
         0: .line 156
            getstatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.$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 157
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.$assertionsDisabled:Z
            ifne 2
            aload 0 /* that */
            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.isYoungSpace:()Z
            ifeq 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 162
      StackMap locals:
      StackMap stack:
            aload 0 /* that */
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getFirstObjectTableStart:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/Pointer;
            astore 2 /* fotStart */
        start local 2 // org.graalvm.word.Pointer fotStart
         3: .line 163
            aload 0 /* that */
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getObjectsStart:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/Pointer;
            astore 3 /* memoryStart */
        start local 3 // org.graalvm.word.Pointer memoryStart
         4: .line 164
            aload 1 /* obj */
            invokestatic org.graalvm.compiler.word.Word.objectToUntrackedPointer:(Ljava/lang/Object;)Lorg/graalvm/compiler/word/Word;
            astore 4 /* objStart */
        start local 4 // org.graalvm.word.Pointer objStart
         5: .line 165
            aload 1 /* obj */
            invokestatic com.oracle.svm.core.hub.LayoutEncoding.getObjectEnd:(Ljava/lang/Object;)Lorg/graalvm/word/Pointer;
            astore 5 /* objEnd */
        start local 5 // org.graalvm.word.Pointer objEnd
         6: .line 166
            aload 2 /* fotStart */
            aload 3 /* memoryStart */
            aload 4 /* objStart */
            aload 5 /* objEnd */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.setTableForObject:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/Pointer;Lorg/graalvm/word/Pointer;Lorg/graalvm/word/Pointer;)V
         7: .line 167
            aload 1 /* obj */
            invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.setRememberedSetBit:(Ljava/lang/Object;)V
         8: .line 168
            return
        end local 5 // org.graalvm.word.Pointer objEnd
        end local 4 // org.graalvm.word.Pointer objStart
        end local 3 // org.graalvm.word.Pointer memoryStart
        end local 2 // org.graalvm.word.Pointer fotStart
        end local 1 // java.lang.Object obj
        end local 0 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader that
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         that  Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            0    9     1          obj  Ljava/lang/Object;
            3    9     2     fotStart  Lorg/graalvm/word/Pointer;
            4    9     3  memoryStart  Lorg/graalvm/word/Pointer;
            5    9     4     objStart  Lorg/graalvm/word/Pointer;
            6    9     5       objEnd  Lorg/graalvm/word/Pointer;
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.AlwaysInline(value = "GC performance")
    MethodParameters:
      Name  Flags
      that  
      obj   

  static void constructRememberedSet(com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader);
    descriptor: (Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader that
         0: .line 179
            invokestatic com.oracle.svm.core.genscavenge.GCImpl.getGCImpl:()Lcom/oracle/svm/core/genscavenge/GCImpl;
            invokevirtual com.oracle.svm.core.genscavenge.GCImpl.getRememberedSetConstructor:()Lcom/oracle/svm/core/genscavenge/GCImpl$RememberedSetConstructor;
            astore 1 /* constructor */
        start local 1 // com.oracle.svm.core.genscavenge.GCImpl$RememberedSetConstructor constructor
         1: .line 180
            aload 1 /* constructor */
            aload 0 /* that */
            invokevirtual com.oracle.svm.core.genscavenge.GCImpl$RememberedSetConstructor.initialize:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)V
         2: .line 181
            aload 0 /* that */
            aload 0 /* that */
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getObjectsStart:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/Pointer;
            aload 1 /* constructor */
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.walkObjectsFromInline:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;Lorg/graalvm/word/Pointer;Lcom/oracle/svm/core/heap/ObjectVisitor;)Z
            pop
         3: .line 182
            aload 1 /* constructor */
            invokevirtual com.oracle.svm.core.genscavenge.GCImpl$RememberedSetConstructor.reset:()V
         4: .line 183
            return
        end local 1 // com.oracle.svm.core.genscavenge.GCImpl$RememberedSetConstructor constructor
        end local 0 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader that
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         that  Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            1    5     1  constructor  Lcom/oracle/svm/core/genscavenge/GCImpl$RememberedSetConstructor;
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.RestrictHeapAccess(access = com.oracle.svm.core.annotate.RestrictHeapAccess$Access.UNRESTRICTED:Lcom/oracle/svm/core/annotate/RestrictHeapAccess$Access;, overridesCallers = true, reason = "Whitelisted because other ObjectVisitors are allowed to allocate.")
    MethodParameters:
      Name  Flags
      that  

  public static void dirtyCardForObject(java.lang.Object, boolean);
    descriptor: (Ljava/lang/Object;Z)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=9, locals=6, args_size=2
        start local 0 // java.lang.Object object
        start local 1 // boolean verifyOnly
         0: .line 190
            aload 0 /* object */
            invokestatic org.graalvm.compiler.word.Word.objectToUntrackedPointer:(Ljava/lang/Object;)Lorg/graalvm/compiler/word/Word;
            astore 2 /* objectPointer */
        start local 2 // org.graalvm.word.Pointer objectPointer
         1: .line 191
            aload 2 /* objectPointer */
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getEnclosingChunkFromObjectPointer:(Lorg/graalvm/word/Pointer;)Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            astore 3 /* chunk */
        start local 3 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader chunk
         2: .line 192
            aload 3 /* chunk */
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getCardTableStart:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/Pointer;
            astore 4 /* cardTableStart */
        start local 4 // org.graalvm.word.Pointer cardTableStart
         3: .line 193
            aload 3 /* chunk */
            aload 2 /* objectPointer */
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getObjectIndex:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;Lorg/graalvm/word/Pointer;)Lorg/graalvm/word/UnsignedWord;
            astore 5 /* index */
        start local 5 // org.graalvm.word.UnsignedWord index
         4: .line 194
            iload 1 /* verifyOnly */
            ifeq 7
         5: .line 195
            iconst_0
            aload 4 /* cardTableStart */
            aload 5 /* index */
            invokestatic com.oracle.svm.core.genscavenge.CardTable.isDirtyEntryAtIndexUnchecked:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)Z
            ldc "card must be dirty"
            ldc ""
            ldc ""
            lconst_0
            lconst_0
            invokestatic org.graalvm.compiler.replacements.nodes.AssertionNode.assertion:(ZZLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;JJ)V
         6: .line 196
            goto 8
         7: .line 197
      StackMap locals: java.lang.Object int org.graalvm.word.Pointer com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader org.graalvm.word.Pointer org.graalvm.word.UnsignedWord
      StackMap stack:
            aload 4 /* cardTableStart */
            aload 5 /* index */
            invokestatic com.oracle.svm.core.genscavenge.CardTable.dirtyEntryAtIndex:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)V
         8: .line 199
      StackMap locals:
      StackMap stack:
            return
        end local 5 // org.graalvm.word.UnsignedWord index
        end local 4 // org.graalvm.word.Pointer cardTableStart
        end local 3 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader chunk
        end local 2 // org.graalvm.word.Pointer objectPointer
        end local 1 // boolean verifyOnly
        end local 0 // java.lang.Object object
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0          object  Ljava/lang/Object;
            0    9     1      verifyOnly  Z
            1    9     2   objectPointer  Lorg/graalvm/word/Pointer;
            2    9     3           chunk  Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            3    9     4  cardTableStart  Lorg/graalvm/word/Pointer;
            4    9     5           index  Lorg/graalvm/word/UnsignedWord;
    MethodParameters:
            Name  Flags
      object      
      verifyOnly  

  private static org.graalvm.word.UnsignedWord getObjectOffset(com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader, org.graalvm.word.Pointer);
    descriptor: (Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;Lorg/graalvm/word/Pointer;)Lorg/graalvm/word/UnsignedWord;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader that
        start local 1 // org.graalvm.word.Pointer objectPointer
         0: .line 203
            aload 0 /* that */
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getObjectsStart:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/Pointer;
            astore 2 /* objectsStart */
        start local 2 // org.graalvm.word.Pointer objectsStart
         1: .line 204
            aload 1 /* objectPointer */
            aload 2 /* objectsStart */
            invokeinterface org.graalvm.word.Pointer.subtract:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
            areturn
        end local 2 // org.graalvm.word.Pointer objectsStart
        end local 1 // org.graalvm.word.Pointer objectPointer
        end local 0 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader that
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           that  Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            0    2     1  objectPointer  Lorg/graalvm/word/Pointer;
            1    2     2   objectsStart  Lorg/graalvm/word/Pointer;
    MethodParameters:
               Name  Flags
      that           
      objectPointer  

  private static org.graalvm.word.UnsignedWord getObjectIndex(com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader, org.graalvm.word.Pointer);
    descriptor: (Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;Lorg/graalvm/word/Pointer;)Lorg/graalvm/word/UnsignedWord;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader that
        start local 1 // org.graalvm.word.Pointer objectPointer
         0: .line 209
            aload 0 /* that */
            aload 1 /* objectPointer */
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getObjectOffset:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;Lorg/graalvm/word/Pointer;)Lorg/graalvm/word/UnsignedWord;
            astore 2 /* offset */
        start local 2 // org.graalvm.word.UnsignedWord offset
         1: .line 210
            aload 2 /* offset */
            invokestatic com.oracle.svm.core.genscavenge.CardTable.memoryOffsetToIndex:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
            areturn
        end local 2 // org.graalvm.word.UnsignedWord offset
        end local 1 // org.graalvm.word.Pointer objectPointer
        end local 0 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader that
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           that  Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            0    2     1  objectPointer  Lorg/graalvm/word/Pointer;
            1    2     2         offset  Lorg/graalvm/word/UnsignedWord;
    MethodParameters:
               Name  Flags
      that           
      objectPointer  

  static boolean walkObjects(com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader, com.oracle.svm.core.heap.ObjectVisitor);
    descriptor: (Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;Lcom/oracle/svm/core/heap/ObjectVisitor;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader that
        start local 1 // com.oracle.svm.core.heap.ObjectVisitor visitor
         0: .line 214
            aload 0 /* that */
            aload 0 /* that */
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getObjectsStart:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/Pointer;
            aload 1 /* visitor */
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.walkObjectsFrom:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;Lorg/graalvm/word/Pointer;Lcom/oracle/svm/core/heap/ObjectVisitor;)Z
            ireturn
        end local 1 // com.oracle.svm.core.heap.ObjectVisitor visitor
        end local 0 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader that
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     that  Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            0    1     1  visitor  Lcom/oracle/svm/core/heap/ObjectVisitor;
    MethodParameters:
         Name  Flags
      that     
      visitor  

  static boolean walkObjectsInline(com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader, com.oracle.svm.core.heap.ObjectVisitor);
    descriptor: (Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;Lcom/oracle/svm/core/heap/ObjectVisitor;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader that
        start local 1 // com.oracle.svm.core.heap.ObjectVisitor visitor
         0: .line 219
            aload 0 /* that */
            aload 0 /* that */
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getObjectsStart:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/Pointer;
            aload 1 /* visitor */
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.walkObjectsFromInline:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;Lorg/graalvm/word/Pointer;Lcom/oracle/svm/core/heap/ObjectVisitor;)Z
            ireturn
        end local 1 // com.oracle.svm.core.heap.ObjectVisitor visitor
        end local 0 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader that
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     that  Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            0    1     1  visitor  Lcom/oracle/svm/core/heap/ObjectVisitor;
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.AlwaysInline(value = "GC performance")
    MethodParameters:
         Name  Flags
      that     
      visitor  

  static org.graalvm.word.UnsignedWord getHeaderSize();
    descriptor: ()Lorg/graalvm/word/UnsignedWord;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 224
            ldc Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            invokestatic org.graalvm.nativeimage.c.struct.SizeOf.get:(Ljava/lang/Class;)I
            invokestatic org.graalvm.word.WordFactory.unsigned:(I)Lorg/graalvm/word/UnsignedWord;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.api.replacements.Fold()

  static org.graalvm.word.UnsignedWord getCardTableStartOffset();
    descriptor: ()Lorg/graalvm/word/UnsignedWord;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=0
         0: .line 229
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getHeaderSize:()Lorg/graalvm/word/UnsignedWord;
            astore 0 /* headerSize */
        start local 0 // org.graalvm.word.UnsignedWord headerSize
         1: .line 230
            invokestatic com.oracle.svm.core.config.ConfigurationValues.getObjectLayout:()Lcom/oracle/svm/core/config/ObjectLayout;
            invokevirtual com.oracle.svm.core.config.ObjectLayout.getAlignment:()I
            invokestatic org.graalvm.word.WordFactory.unsigned:(I)Lorg/graalvm/word/UnsignedWord;
            astore 1 /* alignment */
        start local 1 // org.graalvm.word.UnsignedWord alignment
         2: .line 231
            aload 0 /* headerSize */
            aload 1 /* alignment */
            invokestatic com.oracle.svm.core.util.UnsignedUtils.roundUp:(Lorg/graalvm/word/UnsignedWord;Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
            areturn
        end local 1 // org.graalvm.word.UnsignedWord alignment
        end local 0 // org.graalvm.word.UnsignedWord headerSize
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            1    3     0  headerSize  Lorg/graalvm/word/UnsignedWord;
            2    3     1   alignment  Lorg/graalvm/word/UnsignedWord;
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.api.replacements.Fold()

  static org.graalvm.word.UnsignedWord getCardTableSize();
    descriptor: ()Lorg/graalvm/word/UnsignedWord;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=4, args_size=0
         0: .line 236
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getHeaderSize:()Lorg/graalvm/word/UnsignedWord;
            astore 0 /* headerSize */
        start local 0 // org.graalvm.word.UnsignedWord headerSize
         1: .line 237
            invokestatic com.oracle.svm.core.genscavenge.HeapPolicy.getAlignedHeapChunkSize:()Lorg/graalvm/word/UnsignedWord;
            aload 0 /* headerSize */
            invokeinterface org.graalvm.word.UnsignedWord.subtract:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
            astore 1 /* available */
        start local 1 // org.graalvm.word.UnsignedWord available
         2: .line 238
            aload 1 /* available */
            invokestatic com.oracle.svm.core.genscavenge.CardTable.tableSizeForMemorySize:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
            astore 2 /* requiredSize */
        start local 2 // org.graalvm.word.UnsignedWord requiredSize
         3: .line 239
            invokestatic com.oracle.svm.core.config.ConfigurationValues.getObjectLayout:()Lcom/oracle/svm/core/config/ObjectLayout;
            invokevirtual com.oracle.svm.core.config.ObjectLayout.getAlignment:()I
            invokestatic org.graalvm.word.WordFactory.unsigned:(I)Lorg/graalvm/word/UnsignedWord;
            astore 3 /* alignment */
        start local 3 // org.graalvm.word.UnsignedWord alignment
         4: .line 240
            aload 2 /* requiredSize */
            aload 3 /* alignment */
            invokestatic com.oracle.svm.core.util.UnsignedUtils.roundUp:(Lorg/graalvm/word/UnsignedWord;Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
            areturn
        end local 3 // org.graalvm.word.UnsignedWord alignment
        end local 2 // org.graalvm.word.UnsignedWord requiredSize
        end local 1 // org.graalvm.word.UnsignedWord available
        end local 0 // org.graalvm.word.UnsignedWord headerSize
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            1    5     0    headerSize  Lorg/graalvm/word/UnsignedWord;
            2    5     1     available  Lorg/graalvm/word/UnsignedWord;
            3    5     2  requiredSize  Lorg/graalvm/word/UnsignedWord;
            4    5     3     alignment  Lorg/graalvm/word/UnsignedWord;
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.api.replacements.Fold()

  static org.graalvm.word.UnsignedWord getCardTableLimitOffset();
    descriptor: ()Lorg/graalvm/word/UnsignedWord;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=4, args_size=0
         0: .line 245
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getCardTableStartOffset:()Lorg/graalvm/word/UnsignedWord;
            astore 0 /* tableStart */
        start local 0 // org.graalvm.word.UnsignedWord tableStart
         1: .line 246
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getCardTableSize:()Lorg/graalvm/word/UnsignedWord;
            astore 1 /* tableSize */
        start local 1 // org.graalvm.word.UnsignedWord tableSize
         2: .line 247
            aload 0 /* tableStart */
            aload 1 /* tableSize */
            invokeinterface org.graalvm.word.UnsignedWord.add:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
            astore 2 /* tableLimit */
        start local 2 // org.graalvm.word.UnsignedWord tableLimit
         3: .line 248
            invokestatic com.oracle.svm.core.config.ConfigurationValues.getObjectLayout:()Lcom/oracle/svm/core/config/ObjectLayout;
            invokevirtual com.oracle.svm.core.config.ObjectLayout.getAlignment:()I
            invokestatic org.graalvm.word.WordFactory.unsigned:(I)Lorg/graalvm/word/UnsignedWord;
            astore 3 /* alignment */
        start local 3 // org.graalvm.word.UnsignedWord alignment
         4: .line 249
            aload 2 /* tableLimit */
            aload 3 /* alignment */
            invokestatic com.oracle.svm.core.util.UnsignedUtils.roundUp:(Lorg/graalvm/word/UnsignedWord;Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
            areturn
        end local 3 // org.graalvm.word.UnsignedWord alignment
        end local 2 // org.graalvm.word.UnsignedWord tableLimit
        end local 1 // org.graalvm.word.UnsignedWord tableSize
        end local 0 // org.graalvm.word.UnsignedWord tableStart
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            1    5     0  tableStart  Lorg/graalvm/word/UnsignedWord;
            2    5     1   tableSize  Lorg/graalvm/word/UnsignedWord;
            3    5     2  tableLimit  Lorg/graalvm/word/UnsignedWord;
            4    5     3   alignment  Lorg/graalvm/word/UnsignedWord;
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.api.replacements.Fold()

  static org.graalvm.word.UnsignedWord getFirstObjectTableStartOffset();
    descriptor: ()Lorg/graalvm/word/UnsignedWord;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=0
         0: .line 254
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getCardTableLimitOffset:()Lorg/graalvm/word/UnsignedWord;
            astore 0 /* cardTableLimit */
        start local 0 // org.graalvm.word.UnsignedWord cardTableLimit
         1: .line 255
            invokestatic com.oracle.svm.core.config.ConfigurationValues.getObjectLayout:()Lcom/oracle/svm/core/config/ObjectLayout;
            invokevirtual com.oracle.svm.core.config.ObjectLayout.getAlignment:()I
            invokestatic org.graalvm.word.WordFactory.unsigned:(I)Lorg/graalvm/word/UnsignedWord;
            astore 1 /* alignment */
        start local 1 // org.graalvm.word.UnsignedWord alignment
         2: .line 256
            aload 0 /* cardTableLimit */
            aload 1 /* alignment */
            invokestatic com.oracle.svm.core.util.UnsignedUtils.roundUp:(Lorg/graalvm/word/UnsignedWord;Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
            areturn
        end local 1 // org.graalvm.word.UnsignedWord alignment
        end local 0 // org.graalvm.word.UnsignedWord cardTableLimit
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            1    3     0  cardTableLimit  Lorg/graalvm/word/UnsignedWord;
            2    3     1       alignment  Lorg/graalvm/word/UnsignedWord;
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.api.replacements.Fold()

  static org.graalvm.word.UnsignedWord getFirstObjectTableSize();
    descriptor: ()Lorg/graalvm/word/UnsignedWord;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 261
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getCardTableSize:()Lorg/graalvm/word/UnsignedWord;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.api.replacements.Fold()

  static org.graalvm.word.UnsignedWord getFirstObjectTableLimitOffset();
    descriptor: ()Lorg/graalvm/word/UnsignedWord;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=4, args_size=0
         0: .line 266
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getFirstObjectTableStartOffset:()Lorg/graalvm/word/UnsignedWord;
            astore 0 /* fotStart */
        start local 0 // org.graalvm.word.UnsignedWord fotStart
         1: .line 267
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getFirstObjectTableSize:()Lorg/graalvm/word/UnsignedWord;
            astore 1 /* fotSize */
        start local 1 // org.graalvm.word.UnsignedWord fotSize
         2: .line 268
            aload 0 /* fotStart */
            aload 1 /* fotSize */
            invokeinterface org.graalvm.word.UnsignedWord.add:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
            astore 2 /* fotLimit */
        start local 2 // org.graalvm.word.UnsignedWord fotLimit
         3: .line 269
            invokestatic com.oracle.svm.core.config.ConfigurationValues.getObjectLayout:()Lcom/oracle/svm/core/config/ObjectLayout;
            invokevirtual com.oracle.svm.core.config.ObjectLayout.getAlignment:()I
            invokestatic org.graalvm.word.WordFactory.unsigned:(I)Lorg/graalvm/word/UnsignedWord;
            astore 3 /* alignment */
        start local 3 // org.graalvm.word.UnsignedWord alignment
         4: .line 270
            aload 2 /* fotLimit */
            aload 3 /* alignment */
            invokestatic com.oracle.svm.core.util.UnsignedUtils.roundUp:(Lorg/graalvm/word/UnsignedWord;Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
            areturn
        end local 3 // org.graalvm.word.UnsignedWord alignment
        end local 2 // org.graalvm.word.UnsignedWord fotLimit
        end local 1 // org.graalvm.word.UnsignedWord fotSize
        end local 0 // org.graalvm.word.UnsignedWord fotStart
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            1    5     0   fotStart  Lorg/graalvm/word/UnsignedWord;
            2    5     1    fotSize  Lorg/graalvm/word/UnsignedWord;
            3    5     2   fotLimit  Lorg/graalvm/word/UnsignedWord;
            4    5     3  alignment  Lorg/graalvm/word/UnsignedWord;
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.api.replacements.Fold()

  static org.graalvm.word.UnsignedWord getObjectsStartOffset();
    descriptor: ()Lorg/graalvm/word/UnsignedWord;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=0
         0: .line 275
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getFirstObjectTableLimitOffset:()Lorg/graalvm/word/UnsignedWord;
            astore 0 /* fotLimit */
        start local 0 // org.graalvm.word.UnsignedWord fotLimit
         1: .line 276
            invokestatic com.oracle.svm.core.config.ConfigurationValues.getObjectLayout:()Lcom/oracle/svm/core/config/ObjectLayout;
            invokevirtual com.oracle.svm.core.config.ObjectLayout.getAlignment:()I
            invokestatic org.graalvm.word.WordFactory.unsigned:(I)Lorg/graalvm/word/UnsignedWord;
            astore 1 /* alignment */
        start local 1 // org.graalvm.word.UnsignedWord alignment
         2: .line 277
            aload 0 /* fotLimit */
            aload 1 /* alignment */
            invokestatic com.oracle.svm.core.util.UnsignedUtils.roundUp:(Lorg/graalvm/word/UnsignedWord;Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
            areturn
        end local 1 // org.graalvm.word.UnsignedWord alignment
        end local 0 // org.graalvm.word.UnsignedWord fotLimit
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            1    3     0   fotLimit  Lorg/graalvm/word/UnsignedWord;
            2    3     1  alignment  Lorg/graalvm/word/UnsignedWord;
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.api.replacements.Fold()

  static boolean verify(com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader);
    descriptor: (Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader that
         0: .line 281
            invokestatic com.oracle.svm.core.log.Log.noopLog:()Lcom/oracle/svm/core/log/Log;
            ldc "[AlignedHeapChunk.verify:"
            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 282
            aload 1 /* trace */
            ldc "  that: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 0 /* that */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            pop
         2: .line 283
            iconst_1
            istore 2 /* result */
        start local 2 // boolean result
         3: .line 284
            iload 2 /* result */
            ifeq 7
            aload 0 /* that */
            aload 0 /* that */
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getObjectsStart:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/Pointer;
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.verifyObjects:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;Lorg/graalvm/word/Pointer;)Z
            ifne 7
         4: .line 285
            iconst_0
            istore 2 /* result */
         5: .line 286
            invokestatic com.oracle.svm.core.genscavenge.HeapImpl.getHeapImpl:()Lcom/oracle/svm/core/genscavenge/HeapImpl;
            invokevirtual com.oracle.svm.core.genscavenge.HeapImpl.getHeapVerifier:()Lcom/oracle/svm/core/genscavenge/HeapVerifier;
            invokevirtual com.oracle.svm.core.genscavenge.HeapVerifier.getWitnessLog:()Lcom/oracle/svm/core/log/Log;
            ldc "[AlignedHeapChunk.verify:"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            astore 3 /* verifyLog */
        start local 3 // com.oracle.svm.core.log.Log verifyLog
         6: .line 287
            aload 3 /* verifyLog */
            ldc "  identifier: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 0 /* that */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            ldc "  superclass fails to verify]"
            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
        end local 3 // com.oracle.svm.core.log.Log verifyLog
         7: .line 289
      StackMap locals: com.oracle.svm.core.log.Log int
      StackMap stack:
            iload 2 /* result */
            ifeq 11
            aload 0 /* that */
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.verifyObjectHeaders:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Z
            ifne 11
         8: .line 290
            iconst_0
            istore 2 /* result */
         9: .line 291
            invokestatic com.oracle.svm.core.genscavenge.HeapImpl.getHeapImpl:()Lcom/oracle/svm/core/genscavenge/HeapImpl;
            invokevirtual com.oracle.svm.core.genscavenge.HeapImpl.getHeapVerifier:()Lcom/oracle/svm/core/genscavenge/HeapVerifier;
            invokevirtual com.oracle.svm.core.genscavenge.HeapVerifier.getWitnessLog:()Lcom/oracle/svm/core/log/Log;
            ldc "[AlignedHeapChunk.verify:"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            astore 3 /* verifyLog */
        start local 3 // com.oracle.svm.core.log.Log verifyLog
        10: .line 292
            aload 3 /* verifyLog */
            ldc "  identifier: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 0 /* that */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            ldc "  object headers fail to verify.]"
            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
        end local 3 // com.oracle.svm.core.log.Log verifyLog
        11: .line 294
      StackMap locals:
      StackMap stack:
            iload 2 /* result */
            ifeq 15
            aload 0 /* that */
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.verifyRememberedSet:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Z
            ifne 15
        12: .line 295
            iconst_0
            istore 2 /* result */
        13: .line 296
            invokestatic com.oracle.svm.core.genscavenge.HeapImpl.getHeapImpl:()Lcom/oracle/svm/core/genscavenge/HeapImpl;
            invokevirtual com.oracle.svm.core.genscavenge.HeapImpl.getHeapVerifier:()Lcom/oracle/svm/core/genscavenge/HeapVerifier;
            invokevirtual com.oracle.svm.core.genscavenge.HeapVerifier.getWitnessLog:()Lcom/oracle/svm/core/log/Log;
            ldc "[AlignedHeapChunk.verify:"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            astore 3 /* verifyLog */
        start local 3 // com.oracle.svm.core.log.Log verifyLog
        14: .line 297
            aload 3 /* verifyLog */
            ldc "  identifier: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 0 /* that */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            ldc "  remembered set fails to verify]"
            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
        end local 3 // com.oracle.svm.core.log.Log verifyLog
        15: .line 299
      StackMap locals:
      StackMap stack:
            aload 1 /* trace */
            ldc "  returns: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            iload 2 /* result */
            invokevirtual com.oracle.svm.core.log.Log.bool:(Z)Lcom/oracle/svm/core/log/Log;
            pop
        16: .line 300
            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
        17: .line 301
            iload 2 /* result */
            ireturn
        end local 2 // boolean result
        end local 1 // com.oracle.svm.core.log.Log trace
        end local 0 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader that
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   18     0       that  Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            1   18     1      trace  Lcom/oracle/svm/core/log/Log;
            3   18     2     result  Z
            6    7     3  verifyLog  Lcom/oracle/svm/core/log/Log;
           10   11     3  verifyLog  Lcom/oracle/svm/core/log/Log;
           14   15     3  verifyLog  Lcom/oracle/svm/core/log/Log;
    MethodParameters:
      Name  Flags
      that  

  private static boolean verifyObjectHeaders(com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader);
    descriptor: (Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader that
         0: .line 306
            invokestatic com.oracle.svm.core.log.Log.noopLog:()Lcom/oracle/svm/core/log/Log;
            ldc "[AlignedHeapChunk.verifyObjectHeaders: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            ldc "  that: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 0 /* that */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            astore 1 /* trace */
        start local 1 // com.oracle.svm.core.log.Log trace
         1: .line 307
            aload 0 /* that */
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getObjectsStart:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/Pointer;
            astore 2 /* current */
        start local 2 // org.graalvm.word.Pointer current
         2: .line 308
            goto 9
         3: .line 309
      StackMap locals: com.oracle.svm.core.log.Log org.graalvm.word.Pointer
      StackMap stack:
            aload 1 /* trace */
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            ldc "  current: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 2 /* current */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            pop
         4: .line 310
            aload 2 /* current */
            invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.readHeaderFromPointer:(Lorg/graalvm/word/Pointer;)Lorg/graalvm/word/UnsignedWord;
            astore 3 /* header */
        start local 3 // org.graalvm.word.UnsignedWord header
         5: .line 311
            aload 2 /* current */
            aload 3 /* header */
            invokestatic com.oracle.svm.core.genscavenge.ObjectHeaderImpl.isAlignedHeader:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)Z
            ifne 8
         6: .line 312
            aload 1 /* trace */
            ldc "  does not have an aligned header: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 3 /* header */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            ldc "  returns: false"
            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
         7: .line 313
            iconst_0
            ireturn
         8: .line 319
      StackMap locals: org.graalvm.word.UnsignedWord
      StackMap stack:
            aload 2 /* current */
            invokeinterface org.graalvm.word.Pointer.toObject:()Ljava/lang/Object;
            invokestatic com.oracle.svm.core.hub.LayoutEncoding.getObjectEnd:(Ljava/lang/Object;)Lorg/graalvm/word/Pointer;
            astore 2 /* current */
        end local 3 // org.graalvm.word.UnsignedWord header
         9: .line 308
      StackMap locals:
      StackMap stack:
            aload 2 /* current */
            aload 0 /* that */
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.getTopPointer:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)Lorg/graalvm/word/Pointer;
            invokeinterface org.graalvm.word.Pointer.belowThan:(Lorg/graalvm/word/UnsignedWord;)Z
            ifne 3
        10: .line 321
            aload 1 /* trace */
            ldc "  returns: true]"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            pop
        11: .line 322
            iconst_1
            ireturn
        end local 2 // org.graalvm.word.Pointer current
        end local 1 // com.oracle.svm.core.log.Log trace
        end local 0 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader that
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     that  Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            1   12     1    trace  Lcom/oracle/svm/core/log/Log;
            2   12     2  current  Lorg/graalvm/word/Pointer;
            5    9     3   header  Lorg/graalvm/word/UnsignedWord;
    MethodParameters:
      Name  Flags
      that  

  private static boolean verifyRememberedSet(com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader);
    descriptor: (Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader that
         0: .line 326
            invokestatic com.oracle.svm.core.log.Log.noopLog:()Lcom/oracle/svm/core/log/Log;
            ldc "[AlignedHeapChunk.verifyRememberedSet:"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            ldc "  that: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 0 /* that */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            astore 1 /* trace */
        start local 1 // com.oracle.svm.core.log.Log trace
         1: .line 328
            invokestatic com.oracle.svm.core.genscavenge.HeapImpl.getHeapImpl:()Lcom/oracle/svm/core/genscavenge/HeapImpl;
            astore 2 /* heap */
        start local 2 // com.oracle.svm.core.genscavenge.HeapImpl heap
         2: .line 329
            aload 2 /* heap */
            invokevirtual com.oracle.svm.core.genscavenge.HeapImpl.getOldGeneration:()Lcom/oracle/svm/core/genscavenge/OldGeneration;
            astore 3 /* oldGen */
        start local 3 // com.oracle.svm.core.genscavenge.OldGeneration oldGen
         3: .line 330
            aload 0 /* that */
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.getSpace:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)Lcom/oracle/svm/core/genscavenge/Space;
            aload 3 /* oldGen */
            invokevirtual com.oracle.svm.core.genscavenge.OldGeneration.getFromSpace:()Lcom/oracle/svm/core/genscavenge/Space;
            if_acmpne 12
         4: .line 331
            aload 0 /* that */
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getCardTableStart:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/Pointer;
            aload 0 /* that */
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getFirstObjectTableStart:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/Pointer;
            aload 0 /* that */
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getObjectsStart:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/Pointer;
            aload 0 /* that */
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.getTopPointer:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)Lorg/graalvm/word/Pointer;
            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
            ifne 8
         5: .line 332
            aload 2 /* heap */
            invokevirtual com.oracle.svm.core.genscavenge.HeapImpl.getHeapVerifier:()Lcom/oracle/svm/core/genscavenge/HeapVerifier;
            invokevirtual com.oracle.svm.core.genscavenge.HeapVerifier.getWitnessLog:()Lcom/oracle/svm/core/log/Log;
            ldc "[AlignedHeapChunk.verifyRememberedSet:"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            astore 4 /* verifyLog */
        start local 4 // com.oracle.svm.core.log.Log verifyLog
         6: .line 333
            aload 4 /* verifyLog */
            ldc "  card table fails to verify"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            ldc "]"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            pop
         7: .line 334
            iconst_0
            ireturn
        end local 4 // com.oracle.svm.core.log.Log verifyLog
         8: .line 336
      StackMap locals: com.oracle.svm.core.log.Log com.oracle.svm.core.genscavenge.HeapImpl com.oracle.svm.core.genscavenge.OldGeneration
      StackMap stack:
            aload 0 /* that */
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getFirstObjectTableStart:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/Pointer;
            aload 0 /* that */
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getObjectsStart:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/Pointer;
            aload 0 /* that */
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.getTopPointer:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)Lorg/graalvm/word/Pointer;
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.verify:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/Pointer;Lorg/graalvm/word/Pointer;)Z
            ifne 12
         9: .line 337
            aload 2 /* heap */
            invokevirtual com.oracle.svm.core.genscavenge.HeapImpl.getHeapVerifier:()Lcom/oracle/svm/core/genscavenge/HeapVerifier;
            invokevirtual com.oracle.svm.core.genscavenge.HeapVerifier.getWitnessLog:()Lcom/oracle/svm/core/log/Log;
            ldc "[AlignedHeapChunk.verifyRememberedSet:"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            astore 4 /* verifyLog */
        start local 4 // com.oracle.svm.core.log.Log verifyLog
        10: .line 338
            aload 4 /* verifyLog */
            ldc "  first object table fails to verify"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            ldc "]"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            pop
        11: .line 339
            iconst_0
            ireturn
        end local 4 // com.oracle.svm.core.log.Log verifyLog
        12: .line 342
      StackMap locals:
      StackMap stack:
            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
        13: .line 343
            iconst_1
            ireturn
        end local 3 // com.oracle.svm.core.genscavenge.OldGeneration oldGen
        end local 2 // com.oracle.svm.core.genscavenge.HeapImpl heap
        end local 1 // com.oracle.svm.core.log.Log trace
        end local 0 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader that
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0       that  Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            1   14     1      trace  Lcom/oracle/svm/core/log/Log;
            2   14     2       heap  Lcom/oracle/svm/core/genscavenge/HeapImpl;
            3   14     3     oldGen  Lcom/oracle/svm/core/genscavenge/OldGeneration;
            6    8     4  verifyLog  Lcom/oracle/svm/core/log/Log;
           10   12     4  verifyLog  Lcom/oracle/svm/core/log/Log;
    MethodParameters:
      Name  Flags
      that  

  static boolean walkDirtyObjects(com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader, com.oracle.svm.core.heap.ObjectVisitor, boolean);
    descriptor: (Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;Lcom/oracle/svm/core/heap/ObjectVisitor;Z)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=20, args_size=3
        start local 0 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader that
        start local 1 // com.oracle.svm.core.heap.ObjectVisitor visitor
        start local 2 // boolean clean
         0: .line 347
            invokestatic com.oracle.svm.core.log.Log.noopLog:()Lcom/oracle/svm/core/log/Log;
            ldc "[AlignedHeapChunk.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 348
            aload 3 /* trace */
            ldc "  that: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 0 /* that */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)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 350
            aload 0 /* that */
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getCardTableStart:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/Pointer;
            astore 4 /* cardTableStart */
        start local 4 // org.graalvm.word.Pointer cardTableStart
         3: .line 351
            aload 0 /* that */
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getFirstObjectTableStart:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/Pointer;
            astore 5 /* fotStart */
        start local 5 // org.graalvm.word.Pointer fotStart
         4: .line 352
            aload 0 /* that */
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getObjectsStart:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/Pointer;
            astore 6 /* objectsStart */
        start local 6 // org.graalvm.word.Pointer objectsStart
         5: .line 353
            aload 0 /* that */
            invokestatic com.oracle.svm.core.genscavenge.HeapChunk.getTopPointer:(Lcom/oracle/svm/core/genscavenge/HeapChunk$Header;)Lorg/graalvm/word/Pointer;
            astore 7 /* objectsLimit */
        start local 7 // org.graalvm.word.Pointer objectsLimit
         6: .line 354
            aload 7 /* objectsLimit */
            aload 6 /* objectsStart */
            invokeinterface org.graalvm.word.Pointer.subtract:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
            astore 8 /* memorySize */
        start local 8 // org.graalvm.word.UnsignedWord memorySize
         7: .line 355
            aload 8 /* memorySize */
            invokestatic com.oracle.svm.core.genscavenge.CardTable.indexLimitForMemorySize:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
            astore 9 /* indexLimit */
        start local 9 // org.graalvm.word.UnsignedWord indexLimit
         8: .line 356
            aload 3 /* trace */
            ldc "  objectsStart: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 6 /* objectsStart */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            ldc "  objectsLimit: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 7 /* objectsLimit */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            ldc "  indexLimit: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 9 /* indexLimit */
            invokevirtual com.oracle.svm.core.log.Log.unsigned:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            pop
         9: .line 357
            invokestatic org.graalvm.word.WordFactory.zero:()Lorg/graalvm/word/WordBase;
            checkcast org.graalvm.word.UnsignedWord
            astore 10 /* index */
        start local 10 // org.graalvm.word.UnsignedWord index
        10: goto 47
        11: .line 358
      StackMap locals: com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader com.oracle.svm.core.heap.ObjectVisitor int com.oracle.svm.core.log.Log org.graalvm.word.Pointer org.graalvm.word.Pointer org.graalvm.word.Pointer org.graalvm.word.Pointer org.graalvm.word.UnsignedWord org.graalvm.word.UnsignedWord org.graalvm.word.UnsignedWord
      StackMap stack:
            aload 3 /* trace */
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            ldc "  "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            ldc "  index: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 10 /* index */
            invokevirtual com.oracle.svm.core.log.Log.unsigned:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            pop
        12: .line 360
            aload 4 /* cardTableStart */
            aload 10 /* index */
            invokestatic com.oracle.svm.core.genscavenge.CardTable.isDirtyEntryAtIndex:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)Z
            ifeq 46
        13: .line 361
            iload 2 /* clean */
            ifeq 15
        14: .line 362
            aload 4 /* cardTableStart */
            aload 10 /* index */
            invokestatic com.oracle.svm.core.genscavenge.CardTable.cleanEntryAtIndex:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)V
        15: .line 364
      StackMap locals:
      StackMap stack:
            aload 6 /* objectsStart */
            aload 10 /* index */
            iconst_1
            invokeinterface org.graalvm.word.UnsignedWord.add:(I)Lorg/graalvm/word/UnsignedWord;
            invokestatic com.oracle.svm.core.genscavenge.CardTable.indexToMemoryPointer:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
            astore 11 /* cardLimit */
        start local 11 // org.graalvm.word.Pointer cardLimit
        16: .line 365
            aload 5 /* fotStart */
            aload 6 /* objectsStart */
            aload 7 /* objectsLimit */
            aload 10 /* index */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.getPreciseFirstObjectPointer:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/Pointer;Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
            astore 12 /* crossingOntoPointer */
        start local 12 // org.graalvm.word.Pointer crossingOntoPointer
        17: .line 366
            aload 12 /* crossingOntoPointer */
            invokeinterface org.graalvm.word.Pointer.toObject:()Ljava/lang/Object;
            astore 13 /* crossingOntoObject */
        start local 13 // java.lang.Object crossingOntoObject
        18: .line 367
            aload 3 /* trace */
            invokevirtual com.oracle.svm.core.log.Log.isEnabled:()Z
            ifeq 26
        19: .line 368
            aload 6 /* objectsStart */
            aload 10 /* index */
            invokestatic com.oracle.svm.core.genscavenge.CardTable.indexToMemoryPointer:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
            astore 14 /* cardStart */
        start local 14 // org.graalvm.word.Pointer cardStart
        20: .line 369
            aload 3 /* trace */
            ldc "    "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            ldc "  cardStart: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 14 /* cardStart */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            pop
        21: .line 370
            aload 3 /* trace */
            ldc "  cardLimit: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 11 /* cardLimit */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            pop
        22: .line 371
            aload 3 /* trace */
            ldc "  crossingOntoObject: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 13 /* crossingOntoObject */
            invokevirtual com.oracle.svm.core.log.Log.object:(Ljava/lang/Object;)Lcom/oracle/svm/core/log/Log;
            pop
        23: .line 372
            aload 3 /* trace */
            ldc "  end: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 13 /* crossingOntoObject */
            invokestatic com.oracle.svm.core.hub.LayoutEncoding.getObjectEnd:(Ljava/lang/Object;)Lorg/graalvm/word/Pointer;
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            pop
        24: .line 373
            aload 13 /* crossingOntoObject */
            invokestatic com.oracle.svm.core.hub.LayoutEncoding.isArray:(Ljava/lang/Object;)Z
            ifeq 26
        25: .line 374
            aload 3 /* trace */
            ldc "  array length: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 13 /* crossingOntoObject */
            invokestatic org.graalvm.compiler.nodes.java.ArrayLengthNode.arrayLength:(Ljava/lang/Object;)I
            invokevirtual com.oracle.svm.core.log.Log.signed:(I)Lcom/oracle/svm/core/log/Log;
            pop
        end local 14 // org.graalvm.word.Pointer cardStart
        26: .line 377
      StackMap locals: org.graalvm.word.Pointer org.graalvm.word.Pointer java.lang.Object
      StackMap stack:
            aload 3 /* trace */
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            pop
        27: .line 382
            aload 5 /* fotStart */
            aload 6 /* objectsStart */
            aload 7 /* objectsLimit */
            aload 10 /* index */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.getImpreciseFirstObjectPointer:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/Pointer;Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
            astore 14 /* impreciseStart */
        start local 14 // org.graalvm.word.Pointer impreciseStart
        28: .line 387
            aload 14 /* impreciseStart */
            astore 15 /* ptr */
        start local 15 // org.graalvm.word.Pointer ptr
        29: .line 388
            aload 11 /* cardLimit */
            aload 7 /* objectsLimit */
            invokestatic com.oracle.svm.core.util.PointerUtils.min:(Lorg/graalvm/word/PointerBase;Lorg/graalvm/word/PointerBase;)Lorg/graalvm/word/PointerBase;
            checkcast org.graalvm.word.Pointer
            astore 16 /* walkLimit */
        start local 16 // org.graalvm.word.Pointer walkLimit
        30: .line 389
            aload 3 /* trace */
            ldc "    "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            pop
        31: .line 390
            aload 3 /* trace */
            ldc "  impreciseStart: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 14 /* impreciseStart */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            pop
        32: .line 391
            aload 3 /* trace */
            ldc "  walkLimit: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 16 /* walkLimit */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            pop
        33: .line 392
            goto 45
        34: .line 393
      StackMap locals: org.graalvm.word.Pointer org.graalvm.word.Pointer org.graalvm.word.Pointer
      StackMap stack:
            aload 3 /* trace */
            invokevirtual com.oracle.svm.core.log.Log.newline:()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
        35: .line 394
            aload 3 /* trace */
            ldc "  ptr: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 15 /* ptr */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            pop
        36: .line 395
            aload 15 /* ptr */
            invokeinterface org.graalvm.word.Pointer.toObject:()Ljava/lang/Object;
            astore 17 /* obj */
        start local 17 // java.lang.Object obj
        37: .line 396
            aload 17 /* obj */
            invokestatic com.oracle.svm.core.hub.LayoutEncoding.getObjectEnd:(Ljava/lang/Object;)Lorg/graalvm/word/Pointer;
            astore 18 /* objEnd */
        start local 18 // org.graalvm.word.Pointer objEnd
        38: .line 397
            aload 3 /* trace */
            ldc "  obj: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 17 /* obj */
            invokevirtual com.oracle.svm.core.log.Log.object:(Ljava/lang/Object;)Lcom/oracle/svm/core/log/Log;
            pop
        39: .line 398
            aload 3 /* trace */
            ldc "  objEnd: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 18 /* objEnd */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            pop
        40: .line 399
            aload 1 /* visitor */
            aload 17 /* obj */
            invokeinterface com.oracle.svm.core.heap.ObjectVisitor.visitObjectInline:(Ljava/lang/Object;)Z
            ifne 44
        41: .line 400
            invokestatic com.oracle.svm.core.log.Log.log:()Lcom/oracle/svm/core/log/Log;
            ldc "[AlignedHeapChunk.walkDirtyObjects:"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            astore 19 /* failureLog */
        start local 19 // com.oracle.svm.core.log.Log failureLog
        42: .line 401
            aload 19 /* failureLog */
            ldc "  visitor.visitObject fails"
            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 17 /* obj */
            invokevirtual com.oracle.svm.core.log.Log.object:(Ljava/lang/Object;)Lcom/oracle/svm/core/log/Log;
            ldc "]"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            pop
        43: .line 402
            iconst_0
            ireturn
        end local 19 // com.oracle.svm.core.log.Log failureLog
        44: .line 404
      StackMap locals: java.lang.Object org.graalvm.word.Pointer
      StackMap stack:
            aload 18 /* objEnd */
            astore 15 /* ptr */
        end local 18 // org.graalvm.word.Pointer objEnd
        end local 17 // java.lang.Object obj
        45: .line 392
      StackMap locals:
      StackMap stack:
            aload 15 /* ptr */
            aload 16 /* walkLimit */
            invokeinterface org.graalvm.word.Pointer.belowThan:(Lorg/graalvm/word/UnsignedWord;)Z
            ifne 34
        end local 16 // org.graalvm.word.Pointer walkLimit
        end local 15 // org.graalvm.word.Pointer ptr
        end local 14 // org.graalvm.word.Pointer impreciseStart
        end local 13 // java.lang.Object crossingOntoObject
        end local 12 // org.graalvm.word.Pointer crossingOntoPointer
        end local 11 // org.graalvm.word.Pointer cardLimit
        46: .line 357
      StackMap locals: com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader com.oracle.svm.core.heap.ObjectVisitor int com.oracle.svm.core.log.Log org.graalvm.word.Pointer org.graalvm.word.Pointer org.graalvm.word.Pointer org.graalvm.word.Pointer org.graalvm.word.UnsignedWord org.graalvm.word.UnsignedWord org.graalvm.word.UnsignedWord
      StackMap stack:
            aload 10 /* index */
            iconst_1
            invokeinterface org.graalvm.word.UnsignedWord.add:(I)Lorg/graalvm/word/UnsignedWord;
            astore 10 /* index */
      StackMap locals:
      StackMap stack:
        47: aload 10 /* index */
            aload 9 /* indexLimit */
            invokeinterface org.graalvm.word.UnsignedWord.belowThan:(Lorg/graalvm/word/UnsignedWord;)Z
            ifne 11
        end local 10 // org.graalvm.word.UnsignedWord index
        48: .line 408
            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
        49: .line 409
            iconst_1
            ireturn
        end local 9 // org.graalvm.word.UnsignedWord indexLimit
        end local 8 // org.graalvm.word.UnsignedWord memorySize
        end local 7 // org.graalvm.word.Pointer objectsLimit
        end local 6 // org.graalvm.word.Pointer objectsStart
        end local 5 // org.graalvm.word.Pointer fotStart
        end local 4 // org.graalvm.word.Pointer cardTableStart
        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.AlignedHeapChunk$AlignedHeader that
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   50     0                 that  Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            0   50     1              visitor  Lcom/oracle/svm/core/heap/ObjectVisitor;
            0   50     2                clean  Z
            1   50     3                trace  Lcom/oracle/svm/core/log/Log;
            3   50     4       cardTableStart  Lorg/graalvm/word/Pointer;
            4   50     5             fotStart  Lorg/graalvm/word/Pointer;
            5   50     6         objectsStart  Lorg/graalvm/word/Pointer;
            6   50     7         objectsLimit  Lorg/graalvm/word/Pointer;
            7   50     8           memorySize  Lorg/graalvm/word/UnsignedWord;
            8   50     9           indexLimit  Lorg/graalvm/word/UnsignedWord;
           10   48    10                index  Lorg/graalvm/word/UnsignedWord;
           16   46    11            cardLimit  Lorg/graalvm/word/Pointer;
           17   46    12  crossingOntoPointer  Lorg/graalvm/word/Pointer;
           18   46    13   crossingOntoObject  Ljava/lang/Object;
           20   26    14            cardStart  Lorg/graalvm/word/Pointer;
           28   46    14       impreciseStart  Lorg/graalvm/word/Pointer;
           29   46    15                  ptr  Lorg/graalvm/word/Pointer;
           30   46    16            walkLimit  Lorg/graalvm/word/Pointer;
           37   45    17                  obj  Ljava/lang/Object;
           38   45    18               objEnd  Lorg/graalvm/word/Pointer;
           42   44    19           failureLog  Lcom/oracle/svm/core/log/Log;
    MethodParameters:
         Name  Flags
      that     
      visitor  
      clean    

  static boolean verifyOnlyCleanCards(com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader);
    descriptor: (Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=7, args_size=1
        start local 0 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader that
         0: .line 413
            invokestatic com.oracle.svm.core.log.Log.noopLog:()Lcom/oracle/svm/core/log/Log;
            ldc "[AlignedHeapChunk.verifyOnlyCleanCards:"
            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 414
            aload 1 /* trace */
            ldc "  that: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 0 /* that */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            pop
         2: .line 415
            iconst_1
            istore 2 /* result */
        start local 2 // boolean result
         3: .line 416
            aload 0 /* that */
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getCardTableStart:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/Pointer;
            astore 3 /* cardTableStart */
        start local 3 // org.graalvm.word.Pointer cardTableStart
         4: .line 417
            aload 0 /* that */
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getCardTableIndexLimitForCurrentTop:(Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;)Lorg/graalvm/word/UnsignedWord;
            astore 4 /* indexLimit */
        start local 4 // org.graalvm.word.UnsignedWord indexLimit
         5: .line 418
            invokestatic org.graalvm.word.WordFactory.zero:()Lorg/graalvm/word/WordBase;
            checkcast org.graalvm.word.UnsignedWord
            astore 5 /* index */
        start local 5 // org.graalvm.word.UnsignedWord index
         6: goto 12
         7: .line 419
      StackMap locals: com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader com.oracle.svm.core.log.Log int org.graalvm.word.Pointer org.graalvm.word.UnsignedWord org.graalvm.word.UnsignedWord
      StackMap stack:
            aload 3 /* cardTableStart */
            aload 5 /* index */
            invokestatic com.oracle.svm.core.genscavenge.CardTable.isDirtyEntryAtIndex:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)Z
            ifeq 11
         8: .line 420
            iconst_0
            istore 2 /* result */
         9: .line 421
            invokestatic com.oracle.svm.core.log.Log.log:()Lcom/oracle/svm/core/log/Log;
            ldc "[AlignedHeapChunk.verifyOnlyCleanCards:"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            astore 6 /* witness */
        start local 6 // com.oracle.svm.core.log.Log witness
        10: .line 422
            aload 6 /* witness */
            ldc "  that: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 0 /* that */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            ldc "  dirty card at index: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 5 /* index */
            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
        end local 6 // com.oracle.svm.core.log.Log witness
        11: .line 418
      StackMap locals:
      StackMap stack:
            aload 5 /* index */
            iconst_1
            invokeinterface org.graalvm.word.UnsignedWord.add:(I)Lorg/graalvm/word/UnsignedWord;
            astore 5 /* index */
      StackMap locals:
      StackMap stack:
        12: aload 5 /* index */
            aload 4 /* indexLimit */
            invokeinterface org.graalvm.word.UnsignedWord.belowThan:(Lorg/graalvm/word/UnsignedWord;)Z
            ifne 7
        end local 5 // org.graalvm.word.UnsignedWord index
        13: .line 425
            aload 1 /* trace */
            ldc "  returns: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            iload 2 /* result */
            invokevirtual com.oracle.svm.core.log.Log.bool:(Z)Lcom/oracle/svm/core/log/Log;
            ldc "]"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            pop
        14: .line 426
            iload 2 /* result */
            ireturn
        end local 4 // org.graalvm.word.UnsignedWord indexLimit
        end local 3 // org.graalvm.word.Pointer cardTableStart
        end local 2 // boolean result
        end local 1 // com.oracle.svm.core.log.Log trace
        end local 0 // com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader that
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   15     0            that  Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            1   15     1           trace  Lcom/oracle/svm/core/log/Log;
            3   15     2          result  Z
            4   15     3  cardTableStart  Lorg/graalvm/word/Pointer;
            5   15     4      indexLimit  Lorg/graalvm/word/UnsignedWord;
            6   13     5           index  Lorg/graalvm/word/UnsignedWord;
           10   11     6         witness  Lcom/oracle/svm/core/log/Log;
    MethodParameters:
      Name  Flags
      that  

  static com.oracle.svm.core.MemoryWalker$HeapChunkAccess<com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader> getMemoryWalkerAccess();
    descriptor: ()Lcom/oracle/svm/core/MemoryWalker$HeapChunkAccess;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 431
            ldc Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$MemoryWalkerAccessImpl;
            invokestatic org.graalvm.nativeimage.ImageSingletons.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast com.oracle.svm.core.MemoryWalker$HeapChunkAccess
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: ()Lcom/oracle/svm/core/MemoryWalker$HeapChunkAccess<Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;>;
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.api.replacements.Fold()
}
SourceFile: "AlignedHeapChunk.java"
NestMembers:
  com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader  com.oracle.svm.core.genscavenge.AlignedHeapChunk$MemoryWalkerAccessImpl  com.oracle.svm.core.genscavenge.AlignedHeapChunk$TestingBackDoor
InnerClasses:
  public abstract HeapChunkAccess = com.oracle.svm.core.MemoryWalker$HeapChunkAccess of com.oracle.svm.core.MemoryWalker
  public final Access = com.oracle.svm.core.annotate.RestrictHeapAccess$Access of com.oracle.svm.core.annotate.RestrictHeapAccess
  public abstract AlignedHeader = com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader of com.oracle.svm.core.genscavenge.AlignedHeapChunk
  final MemoryWalkerAccessImpl = com.oracle.svm.core.genscavenge.AlignedHeapChunk$MemoryWalkerAccessImpl of com.oracle.svm.core.genscavenge.AlignedHeapChunk
  public final TestingBackDoor = com.oracle.svm.core.genscavenge.AlignedHeapChunk$TestingBackDoor of com.oracle.svm.core.genscavenge.AlignedHeapChunk
  RememberedSetConstructor = com.oracle.svm.core.genscavenge.GCImpl$RememberedSetConstructor of com.oracle.svm.core.genscavenge.GCImpl
  public abstract Header = com.oracle.svm.core.genscavenge.HeapChunk$Header of com.oracle.svm.core.genscavenge.HeapChunk