public final class com.oracle.svm.core.genscavenge.CardTable
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.oracle.svm.core.genscavenge.CardTable
  super_class: java.lang.Object
{
  private static final int BYTES_COVERED_BY_ENTRY;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 512

  private static final int ENTRY_SIZE_BYTES;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final int DIRTY_ENTRY;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final int CLEAN_ENTRY;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final org.graalvm.word.LocationIdentity CARD_REMEMBERED_SET_LOCATION;
    descriptor: Lorg/graalvm/word/LocationIdentity;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  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 78
            ldc Lcom/oracle/svm/core/genscavenge/CardTable;
            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.CardTable.$assertionsDisabled:Z
         3: .line 87
            ldc "CardRememberedSet"
            invokestatic org.graalvm.compiler.nodes.NamedLocationIdentity.mutable:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/NamedLocationIdentity;
            putstatic com.oracle.svm.core.genscavenge.CardTable.CARD_REMEMBERED_SET_LOCATION:Lorg/graalvm/word/LocationIdentity;
            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.CardTable this
         0: .line 89
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 90
            return
        end local 0 // com.oracle.svm.core.genscavenge.CardTable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/svm/core/genscavenge/CardTable;

  static void dirtyEntryAtIndex(org.graalvm.word.Pointer, org.graalvm.word.UnsignedWord);
    descriptor: (Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.graalvm.word.Pointer table
        start local 1 // org.graalvm.word.UnsignedWord index
         0: .line 93
            aload 0 /* table */
            aload 1 /* index */
            invokestatic com.oracle.svm.core.genscavenge.CardTable.indexToTableOffset:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
            iconst_0
            getstatic com.oracle.svm.core.genscavenge.CardTable.CARD_REMEMBERED_SET_LOCATION:Lorg/graalvm/word/LocationIdentity;
            invokeinterface org.graalvm.word.Pointer.writeByte:(Lorg/graalvm/word/WordBase;BLorg/graalvm/word/LocationIdentity;)V
         1: .line 94
            return
        end local 1 // org.graalvm.word.UnsignedWord index
        end local 0 // org.graalvm.word.Pointer table
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  table  Lorg/graalvm/word/Pointer;
            0    2     1  index  Lorg/graalvm/word/UnsignedWord;
    MethodParameters:
       Name  Flags
      table  
      index  

  static boolean isDirtyEntryAtIndex(org.graalvm.word.Pointer, org.graalvm.word.UnsignedWord);
    descriptor: (Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.word.Pointer table
        start local 1 // org.graalvm.word.UnsignedWord index
         0: .line 97
            getstatic com.oracle.svm.core.genscavenge.CardTable.$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 98
      StackMap locals:
      StackMap stack:
            aload 0 /* table */
            aload 1 /* index */
            invokestatic com.oracle.svm.core.genscavenge.CardTable.isDirtyEntryAtIndexUnchecked:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)Z
            ireturn
        end local 1 // org.graalvm.word.UnsignedWord index
        end local 0 // org.graalvm.word.Pointer table
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  table  Lorg/graalvm/word/Pointer;
            0    2     1  index  Lorg/graalvm/word/UnsignedWord;
    MethodParameters:
       Name  Flags
      table  
      index  

  static boolean isDirtyEntryAtIndexUnchecked(org.graalvm.word.Pointer, org.graalvm.word.UnsignedWord);
    descriptor: (Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.word.Pointer table
        start local 1 // org.graalvm.word.UnsignedWord index
         0: .line 102
            aload 0 /* table */
            aload 1 /* index */
            invokestatic com.oracle.svm.core.genscavenge.CardTable.readEntryAtIndexUnchecked:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)I
            invokestatic com.oracle.svm.core.genscavenge.CardTable.isDirtyEntry:(I)Z
            ireturn
        end local 1 // org.graalvm.word.UnsignedWord index
        end local 0 // org.graalvm.word.Pointer table
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  table  Lorg/graalvm/word/Pointer;
            0    1     1  index  Lorg/graalvm/word/UnsignedWord;
    MethodParameters:
       Name  Flags
      table  
      index  

  static boolean containsReferenceToYoungSpace(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.Object obj
         0: .line 106
            invokestatic com.oracle.svm.core.genscavenge.CardTable.getReferenceToYoungObjectVisitor:()Lcom/oracle/svm/core/genscavenge/CardTable$ReferenceToYoungObjectVisitor;
            astore 1 /* referenceToYoungObjectVisitor */
        start local 1 // com.oracle.svm.core.genscavenge.CardTable$ReferenceToYoungObjectVisitor referenceToYoungObjectVisitor
         1: .line 107
            aload 1 /* referenceToYoungObjectVisitor */
            aload 0 /* obj */
            invokevirtual com.oracle.svm.core.genscavenge.CardTable$ReferenceToYoungObjectVisitor.containsReferenceToYoungObject:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // com.oracle.svm.core.genscavenge.CardTable$ReferenceToYoungObjectVisitor referenceToYoungObjectVisitor
        end local 0 // java.lang.Object obj
      LocalVariableTable:
        Start  End  Slot                           Name  Signature
            0    2     0                            obj  Ljava/lang/Object;
            1    2     1  referenceToYoungObjectVisitor  Lcom/oracle/svm/core/genscavenge/CardTable$ReferenceToYoungObjectVisitor;
    MethodParameters:
      Name  Flags
      obj   

  static org.graalvm.word.Pointer cleanTableToPointer(org.graalvm.word.Pointer, org.graalvm.word.Pointer);
    descriptor: (Lorg/graalvm/word/Pointer;Lorg/graalvm/word/Pointer;)Lorg/graalvm/word/Pointer;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.graalvm.word.Pointer tableStart
        start local 1 // org.graalvm.word.Pointer tableLimit
         0: .line 111
            aload 1 /* tableLimit */
            aload 0 /* tableStart */
            invokeinterface org.graalvm.word.Pointer.subtract:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
            astore 2 /* tableOffset */
        start local 2 // org.graalvm.word.UnsignedWord tableOffset
         1: .line 112
            aload 2 /* tableOffset */
            invokestatic com.oracle.svm.core.genscavenge.CardTable.tableOffsetToIndex:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
            astore 3 /* indexLimit */
        start local 3 // org.graalvm.word.UnsignedWord indexLimit
         2: .line 113
            aload 0 /* tableStart */
            aload 3 /* indexLimit */
            invokestatic com.oracle.svm.core.genscavenge.CardTable.cleanTableToIndex:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
            areturn
        end local 3 // org.graalvm.word.UnsignedWord indexLimit
        end local 2 // org.graalvm.word.UnsignedWord tableOffset
        end local 1 // org.graalvm.word.Pointer tableLimit
        end local 0 // org.graalvm.word.Pointer tableStart
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0   tableStart  Lorg/graalvm/word/Pointer;
            0    3     1   tableLimit  Lorg/graalvm/word/Pointer;
            1    3     2  tableOffset  Lorg/graalvm/word/UnsignedWord;
            2    3     3   indexLimit  Lorg/graalvm/word/UnsignedWord;
    MethodParameters:
            Name  Flags
      tableStart  
      tableLimit  

  static org.graalvm.word.Pointer cleanTableToIndex(org.graalvm.word.Pointer, org.graalvm.word.UnsignedWord);
    descriptor: (Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.graalvm.word.Pointer table
        start local 1 // org.graalvm.word.UnsignedWord indexLimit
         0: .line 117
            iconst_0
            invokestatic org.graalvm.word.WordFactory.unsigned:(I)Lorg/graalvm/word/UnsignedWord;
            astore 2 /* index */
        start local 2 // org.graalvm.word.UnsignedWord index
         1: goto 4
         2: .line 118
      StackMap locals: org.graalvm.word.UnsignedWord
      StackMap stack:
            aload 0 /* table */
            aload 2 /* index */
            invokestatic com.oracle.svm.core.genscavenge.CardTable.cleanEntryAtIndex:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)V
         3: .line 117
            aload 2 /* index */
            iconst_1
            invokeinterface org.graalvm.word.UnsignedWord.add:(I)Lorg/graalvm/word/UnsignedWord;
            astore 2 /* index */
      StackMap locals:
      StackMap stack:
         4: aload 2 /* index */
            aload 1 /* indexLimit */
            invokeinterface org.graalvm.word.UnsignedWord.belowThan:(Lorg/graalvm/word/UnsignedWord;)Z
            ifne 2
        end local 2 // org.graalvm.word.UnsignedWord index
         5: .line 120
            aload 0 /* table */
            areturn
        end local 1 // org.graalvm.word.UnsignedWord indexLimit
        end local 0 // org.graalvm.word.Pointer table
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0       table  Lorg/graalvm/word/Pointer;
            0    6     1  indexLimit  Lorg/graalvm/word/UnsignedWord;
            1    5     2       index  Lorg/graalvm/word/UnsignedWord;
    MethodParameters:
            Name  Flags
      table       
      indexLimit  

  static void cleanTableInBuffer(java.nio.ByteBuffer, int, org.graalvm.word.UnsignedWord);
    descriptor: (Ljava/nio/ByteBuffer;ILorg/graalvm/word/UnsignedWord;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.nio.ByteBuffer buffer
        start local 1 // int bufferTableOffset
        start local 2 // org.graalvm.word.UnsignedWord tableSize
         0: .line 125
            new com.oracle.svm.core.util.HostedByteBufferPointer
            dup
            aload 0 /* buffer */
            iload 1 /* bufferTableOffset */
            invokespecial com.oracle.svm.core.util.HostedByteBufferPointer.<init>:(Ljava/nio/ByteBuffer;I)V
            aload 2 /* tableSize */
            invokestatic com.oracle.svm.core.genscavenge.CardTable.cleanTableToIndex:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
            pop
         1: .line 126
            return
        end local 2 // org.graalvm.word.UnsignedWord tableSize
        end local 1 // int bufferTableOffset
        end local 0 // java.nio.ByteBuffer buffer
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0             buffer  Ljava/nio/ByteBuffer;
            0    2     1  bufferTableOffset  I
            0    2     2          tableSize  Lorg/graalvm/word/UnsignedWord;
    RuntimeVisibleAnnotations: 
      org.graalvm.nativeimage.Platforms(value = {Lorg/graalvm/nativeimage/Platform$HOSTED_ONLY;})
    MethodParameters:
                   Name  Flags
      buffer             
      bufferTableOffset  
      tableSize          

  static void cleanEntryAtIndex(org.graalvm.word.Pointer, org.graalvm.word.UnsignedWord);
    descriptor: (Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.graalvm.word.Pointer table
        start local 1 // org.graalvm.word.UnsignedWord index
         0: .line 129
            aload 0 /* table */
            aload 1 /* index */
            invokestatic com.oracle.svm.core.genscavenge.CardTable.indexToTableOffset:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
            iconst_1
            getstatic com.oracle.svm.core.genscavenge.CardTable.CARD_REMEMBERED_SET_LOCATION:Lorg/graalvm/word/LocationIdentity;
            invokeinterface org.graalvm.word.Pointer.writeByte:(Lorg/graalvm/word/WordBase;BLorg/graalvm/word/LocationIdentity;)V
         1: .line 130
            return
        end local 1 // org.graalvm.word.UnsignedWord index
        end local 0 // org.graalvm.word.Pointer table
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  table  Lorg/graalvm/word/Pointer;
            0    2     1  index  Lorg/graalvm/word/UnsignedWord;
    MethodParameters:
       Name  Flags
      table  
      index  

  static int getBytesCoveredByEntry();
    descriptor: ()I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 133
            sipush 512
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static org.graalvm.word.UnsignedWord tableSizeForMemorySize(org.graalvm.word.UnsignedWord);
    descriptor: (Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.graalvm.word.UnsignedWord memorySize
         0: .line 137
            aload 0 /* memorySize */
            invokestatic com.oracle.svm.core.genscavenge.CardTable.indexLimitForMemorySize:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
            astore 1 /* maxIndex */
        start local 1 // org.graalvm.word.UnsignedWord maxIndex
         1: .line 138
            aload 1 /* maxIndex */
            iconst_1
            invokeinterface org.graalvm.word.UnsignedWord.multiply:(I)Lorg/graalvm/word/UnsignedWord;
            areturn
        end local 1 // org.graalvm.word.UnsignedWord maxIndex
        end local 0 // org.graalvm.word.UnsignedWord memorySize
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0  memorySize  Lorg/graalvm/word/UnsignedWord;
            1    2     1    maxIndex  Lorg/graalvm/word/UnsignedWord;
    MethodParameters:
            Name  Flags
      memorySize  

  static org.graalvm.word.UnsignedWord memoryOffsetToIndex(org.graalvm.word.UnsignedWord);
    descriptor: (Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.word.UnsignedWord offset
         0: .line 142
            aload 0 /* offset */
            sipush 512
            invokeinterface org.graalvm.word.UnsignedWord.unsignedDivide:(I)Lorg/graalvm/word/UnsignedWord;
            areturn
        end local 0 // org.graalvm.word.UnsignedWord offset
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  offset  Lorg/graalvm/word/UnsignedWord;
    MethodParameters:
        Name  Flags
      offset  

  static org.graalvm.word.Pointer indexToMemoryPointer(org.graalvm.word.Pointer, org.graalvm.word.UnsignedWord);
    descriptor: (Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.graalvm.word.Pointer memoryStart
        start local 1 // org.graalvm.word.UnsignedWord index
         0: .line 150
            aload 1 /* index */
            sipush 512
            invokeinterface org.graalvm.word.UnsignedWord.multiply:(I)Lorg/graalvm/word/UnsignedWord;
            astore 2 /* offset */
        start local 2 // org.graalvm.word.UnsignedWord offset
         1: .line 151
            aload 0 /* memoryStart */
            aload 2 /* offset */
            invokeinterface org.graalvm.word.Pointer.add:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
            areturn
        end local 2 // org.graalvm.word.UnsignedWord offset
        end local 1 // org.graalvm.word.UnsignedWord index
        end local 0 // org.graalvm.word.Pointer memoryStart
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0  memoryStart  Lorg/graalvm/word/Pointer;
            0    2     1        index  Lorg/graalvm/word/UnsignedWord;
            1    2     2       offset  Lorg/graalvm/word/UnsignedWord;
    MethodParameters:
             Name  Flags
      memoryStart  
      index        

  static org.graalvm.word.UnsignedWord indexLimitForMemorySize(org.graalvm.word.UnsignedWord);
    descriptor: (Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.graalvm.word.UnsignedWord memorySize
         0: .line 155
            aload 0 /* memorySize */
            sipush 512
            invokestatic org.graalvm.word.WordFactory.unsigned:(I)Lorg/graalvm/word/UnsignedWord;
            invokestatic com.oracle.svm.core.util.UnsignedUtils.roundUp:(Lorg/graalvm/word/UnsignedWord;Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
            astore 1 /* roundedMemory */
        start local 1 // org.graalvm.word.UnsignedWord roundedMemory
         1: .line 156
            aload 1 /* roundedMemory */
            invokestatic com.oracle.svm.core.genscavenge.CardTable.memoryOffsetToIndex:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
            areturn
        end local 1 // org.graalvm.word.UnsignedWord roundedMemory
        end local 0 // org.graalvm.word.UnsignedWord memorySize
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0     memorySize  Lorg/graalvm/word/UnsignedWord;
            1    2     1  roundedMemory  Lorg/graalvm/word/UnsignedWord;
    MethodParameters:
            Name  Flags
      memorySize  

  static boolean verify(org.graalvm.word.Pointer, org.graalvm.word.Pointer, org.graalvm.word.Pointer, org.graalvm.word.Pointer);
    descriptor: (Lorg/graalvm/word/Pointer;Lorg/graalvm/word/Pointer;Lorg/graalvm/word/Pointer;Lorg/graalvm/word/Pointer;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // org.graalvm.word.Pointer ctStart
        start local 1 // org.graalvm.word.Pointer fotStart
        start local 2 // org.graalvm.word.Pointer objectsStart
        start local 3 // org.graalvm.word.Pointer objectsLimit
         0: .line 171
            invokestatic com.oracle.svm.core.log.Log.noopLog:()Lcom/oracle/svm/core/log/Log;
            ldc "[CardTable.verify: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            astore 4 /* trace */
        start local 4 // com.oracle.svm.core.log.Log trace
         1: .line 172
            aload 4 /* trace */
            ldc "  ctStart: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 0 /* ctStart */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            ldc "  fotStart: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 1 /* fotStart */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            ldc "  objectsStart: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 2 /* 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 3 /* objectsLimit */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            pop
         2: .line 173
            aload 0 /* ctStart */
            aload 1 /* fotStart */
            aload 2 /* objectsStart */
            aload 3 /* objectsLimit */
            invokestatic com.oracle.svm.core.genscavenge.CardTable.verifyCleanCards:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/Pointer;Lorg/graalvm/word/Pointer;Lorg/graalvm/word/Pointer;)Z
            ifne 6
         3: .line 174
            invokestatic com.oracle.svm.core.log.Log.log:()Lcom/oracle/svm/core/log/Log;
            ldc "[CardTableTable.verify:"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            astore 5 /* verifyLog */
        start local 5 // com.oracle.svm.core.log.Log verifyLog
         4: .line 175
            aload 5 /* verifyLog */
            ldc "  fails verifyCleanCards"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            ldc "]"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            pop
         5: .line 176
            iconst_0
            ireturn
        end local 5 // com.oracle.svm.core.log.Log verifyLog
         6: .line 178
      StackMap locals: com.oracle.svm.core.log.Log
      StackMap stack:
            aload 0 /* ctStart */
            aload 2 /* objectsStart */
            aload 3 /* objectsLimit */
            invokestatic com.oracle.svm.core.genscavenge.CardTable.verifyDirtyCards:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/Pointer;Lorg/graalvm/word/Pointer;)Z
            ifne 10
         7: .line 179
            invokestatic com.oracle.svm.core.log.Log.log:()Lcom/oracle/svm/core/log/Log;
            ldc "[CardTable.verify:"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            astore 5 /* verifyLog */
        start local 5 // com.oracle.svm.core.log.Log verifyLog
         8: .line 180
            aload 5 /* verifyLog */
            ldc "  fails verifyCleanCards"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            ldc "]"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            pop
         9: .line 181
            iconst_0
            ireturn
        end local 5 // com.oracle.svm.core.log.Log verifyLog
        10: .line 183
      StackMap locals:
      StackMap stack:
            aload 4 /* 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
        11: .line 184
            iconst_1
            ireturn
        end local 4 // com.oracle.svm.core.log.Log trace
        end local 3 // org.graalvm.word.Pointer objectsLimit
        end local 2 // org.graalvm.word.Pointer objectsStart
        end local 1 // org.graalvm.word.Pointer fotStart
        end local 0 // org.graalvm.word.Pointer ctStart
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   12     0       ctStart  Lorg/graalvm/word/Pointer;
            0   12     1      fotStart  Lorg/graalvm/word/Pointer;
            0   12     2  objectsStart  Lorg/graalvm/word/Pointer;
            0   12     3  objectsLimit  Lorg/graalvm/word/Pointer;
            1   12     4         trace  Lcom/oracle/svm/core/log/Log;
            4    6     5     verifyLog  Lcom/oracle/svm/core/log/Log;
            8   10     5     verifyLog  Lcom/oracle/svm/core/log/Log;
    MethodParameters:
              Name  Flags
      ctStart       
      fotStart      
      objectsStart  
      objectsLimit  

  private static int readEntryAtIndexUnchecked(org.graalvm.word.Pointer, org.graalvm.word.UnsignedWord);
    descriptor: (Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.word.Pointer table
        start local 1 // org.graalvm.word.UnsignedWord index
         0: .line 188
            aload 0 /* table */
            aload 1 /* index */
            invokestatic com.oracle.svm.core.genscavenge.CardTable.indexToTableOffset:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
            invokeinterface org.graalvm.word.Pointer.readByte:(Lorg/graalvm/word/WordBase;)B
            ireturn
        end local 1 // org.graalvm.word.UnsignedWord index
        end local 0 // org.graalvm.word.Pointer table
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  table  Lorg/graalvm/word/Pointer;
            0    1     1  index  Lorg/graalvm/word/UnsignedWord;
    MethodParameters:
       Name  Flags
      table  
      index  

  private static int readEntryAtIndex(org.graalvm.word.Pointer, org.graalvm.word.UnsignedWord);
    descriptor: (Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.graalvm.word.Pointer table
        start local 1 // org.graalvm.word.UnsignedWord index
         0: .line 192
            aload 0 /* table */
            aload 1 /* index */
            invokestatic com.oracle.svm.core.genscavenge.CardTable.readEntryAtIndexUnchecked:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)I
            istore 2 /* result */
        start local 2 // int result
         1: .line 193
            getstatic com.oracle.svm.core.genscavenge.CardTable.$assertionsDisabled:Z
            ifne 2
            iload 2 /* result */
            ifeq 2
            iload 2 /* result */
            iconst_1
            if_icmpeq 2
            new java.lang.AssertionError
            dup
            ldc "Table entry out of range."
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 194
      StackMap locals: int
      StackMap stack:
            iload 2 /* result */
            ireturn
        end local 2 // int result
        end local 1 // org.graalvm.word.UnsignedWord index
        end local 0 // org.graalvm.word.Pointer table
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0   table  Lorg/graalvm/word/Pointer;
            0    3     1   index  Lorg/graalvm/word/UnsignedWord;
            1    3     2  result  I
    MethodParameters:
       Name  Flags
      table  
      index  

  private static boolean isDirtyEntry(int);
    descriptor: (I)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // int entry
         0: .line 198
            iload 0 /* entry */
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // int entry
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  entry  I
    MethodParameters:
       Name  Flags
      entry  

  private static boolean isCleanEntry(int);
    descriptor: (I)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int entry
         0: .line 202
            iload 0 /* entry */
            iconst_1
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // int entry
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  entry  I
    MethodParameters:
       Name  Flags
      entry  

  private static boolean isCleanEntryAtIndex(org.graalvm.word.Pointer, org.graalvm.word.UnsignedWord);
    descriptor: (Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.word.Pointer table
        start local 1 // org.graalvm.word.UnsignedWord index
         0: .line 206
            aload 0 /* table */
            aload 1 /* index */
            invokestatic com.oracle.svm.core.genscavenge.CardTable.readEntryAtIndex:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)I
            invokestatic com.oracle.svm.core.genscavenge.CardTable.isCleanEntry:(I)Z
            ireturn
        end local 1 // org.graalvm.word.UnsignedWord index
        end local 0 // org.graalvm.word.Pointer table
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  table  Lorg/graalvm/word/Pointer;
            0    1     1  index  Lorg/graalvm/word/UnsignedWord;
    MethodParameters:
       Name  Flags
      table  
      index  

  private static org.graalvm.word.UnsignedWord tableOffsetToIndex(org.graalvm.word.UnsignedWord);
    descriptor: (Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.word.UnsignedWord offset
         0: .line 210
            aload 0 /* offset */
            iconst_1
            invokeinterface org.graalvm.word.UnsignedWord.unsignedDivide:(I)Lorg/graalvm/word/UnsignedWord;
            areturn
        end local 0 // org.graalvm.word.UnsignedWord offset
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  offset  Lorg/graalvm/word/UnsignedWord;
    MethodParameters:
        Name  Flags
      offset  

  private static org.graalvm.word.UnsignedWord indexToTableOffset(org.graalvm.word.UnsignedWord);
    descriptor: (Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.word.UnsignedWord index
         0: .line 214
            aload 0 /* index */
            iconst_1
            invokeinterface org.graalvm.word.UnsignedWord.multiply:(I)Lorg/graalvm/word/UnsignedWord;
            areturn
        end local 0 // org.graalvm.word.UnsignedWord index
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  index  Lorg/graalvm/word/UnsignedWord;
    MethodParameters:
       Name  Flags
      index  

  private static org.graalvm.word.UnsignedWord memoryPointerToIndex(org.graalvm.word.Pointer, org.graalvm.word.Pointer, org.graalvm.word.Pointer);
    descriptor: (Lorg/graalvm/word/Pointer;Lorg/graalvm/word/Pointer;Lorg/graalvm/word/Pointer;)Lorg/graalvm/word/UnsignedWord;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.graalvm.word.Pointer memoryStart
        start local 1 // org.graalvm.word.Pointer memoryLimit
        start local 2 // org.graalvm.word.Pointer memoryPointer
         0: .line 218
            getstatic com.oracle.svm.core.genscavenge.CardTable.$assertionsDisabled:Z
            ifne 1
            aload 0 /* memoryStart */
            aload 1 /* memoryLimit */
            invokeinterface org.graalvm.word.Pointer.belowOrEqual:(Lorg/graalvm/word/UnsignedWord;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            ldc "memoryStart.belowOrEqual(memoryLimit)"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 219
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.svm.core.genscavenge.CardTable.$assertionsDisabled:Z
            ifne 2
            aload 0 /* memoryStart */
            aload 2 /* memoryPointer */
            invokeinterface org.graalvm.word.Pointer.belowOrEqual:(Lorg/graalvm/word/UnsignedWord;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            ldc "memoryStart.belowOrEqual(memoryPointer)"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 220
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.svm.core.genscavenge.CardTable.$assertionsDisabled:Z
            ifne 3
            aload 2 /* memoryPointer */
            aload 1 /* memoryLimit */
            invokeinterface org.graalvm.word.Pointer.belowOrEqual:(Lorg/graalvm/word/UnsignedWord;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            ldc "memoryPointer.belowOrEqual(memoryLimit)"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 221
      StackMap locals:
      StackMap stack:
            aload 2 /* memoryPointer */
            aload 0 /* memoryStart */
            invokeinterface org.graalvm.word.Pointer.subtract:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
            astore 3 /* offset */
        start local 3 // org.graalvm.word.UnsignedWord offset
         4: .line 222
            aload 3 /* offset */
            invokestatic com.oracle.svm.core.genscavenge.CardTable.memoryOffsetToIndex:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
            areturn
        end local 3 // org.graalvm.word.UnsignedWord offset
        end local 2 // org.graalvm.word.Pointer memoryPointer
        end local 1 // org.graalvm.word.Pointer memoryLimit
        end local 0 // org.graalvm.word.Pointer memoryStart
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0    memoryStart  Lorg/graalvm/word/Pointer;
            0    5     1    memoryLimit  Lorg/graalvm/word/Pointer;
            0    5     2  memoryPointer  Lorg/graalvm/word/Pointer;
            4    5     3         offset  Lorg/graalvm/word/UnsignedWord;
    MethodParameters:
               Name  Flags
      memoryStart    
      memoryLimit    
      memoryPointer  

  private static boolean visitCards(org.graalvm.word.Pointer, org.graalvm.word.UnsignedWord, com.oracle.svm.core.genscavenge.CardTable$Visitor);
    descriptor: (Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;Lcom/oracle/svm/core/genscavenge/CardTable$Visitor;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.graalvm.word.Pointer table
        start local 1 // org.graalvm.word.UnsignedWord indexLimit
        start local 2 // com.oracle.svm.core.genscavenge.CardTable$Visitor visitor
         0: .line 226
            iconst_0
            invokestatic org.graalvm.word.WordFactory.unsigned:(I)Lorg/graalvm/word/UnsignedWord;
            astore 3 /* index */
        start local 3 // org.graalvm.word.UnsignedWord index
         1: goto 6
         2: .line 227
      StackMap locals: org.graalvm.word.UnsignedWord
      StackMap stack:
            aload 0 /* table */
            aload 3 /* index */
            invokestatic com.oracle.svm.core.genscavenge.CardTable.readEntryAtIndex:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)I
            istore 4 /* entry */
        start local 4 // int entry
         3: .line 228
            aload 2 /* visitor */
            aload 0 /* table */
            aload 3 /* index */
            iload 4 /* entry */
            invokeinterface com.oracle.svm.core.genscavenge.CardTable$Visitor.visitEntry:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;I)Z
            ifne 5
         4: .line 229
            iconst_0
            ireturn
        end local 4 // int entry
         5: .line 226
      StackMap locals:
      StackMap stack:
            aload 3 /* index */
            iconst_1
            invokeinterface org.graalvm.word.UnsignedWord.add:(I)Lorg/graalvm/word/UnsignedWord;
            astore 3 /* index */
      StackMap locals:
      StackMap stack:
         6: aload 3 /* index */
            aload 1 /* indexLimit */
            invokeinterface org.graalvm.word.UnsignedWord.belowThan:(Lorg/graalvm/word/UnsignedWord;)Z
            ifne 2
        end local 3 // org.graalvm.word.UnsignedWord index
         7: .line 232
            iconst_1
            ireturn
        end local 2 // com.oracle.svm.core.genscavenge.CardTable$Visitor visitor
        end local 1 // org.graalvm.word.UnsignedWord indexLimit
        end local 0 // org.graalvm.word.Pointer table
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0       table  Lorg/graalvm/word/Pointer;
            0    8     1  indexLimit  Lorg/graalvm/word/UnsignedWord;
            0    8     2     visitor  Lcom/oracle/svm/core/genscavenge/CardTable$Visitor;
            1    7     3       index  Lorg/graalvm/word/UnsignedWord;
            3    5     4       entry  I
    MethodParameters:
            Name  Flags
      table       
      indexLimit  
      visitor     

  private static com.oracle.svm.core.genscavenge.CardTable$ReferenceToYoungObjectVisitor getReferenceToYoungObjectVisitor();
    descriptor: ()Lcom/oracle/svm/core/genscavenge/CardTable$ReferenceToYoungObjectVisitor;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 236
            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.getReferenceToYoungObjectVisitor:()Lcom/oracle/svm/core/genscavenge/CardTable$ReferenceToYoungObjectVisitor;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static boolean verifyCleanCards(org.graalvm.word.Pointer, org.graalvm.word.Pointer, org.graalvm.word.Pointer, org.graalvm.word.Pointer);
    descriptor: (Lorg/graalvm/word/Pointer;Lorg/graalvm/word/Pointer;Lorg/graalvm/word/Pointer;Lorg/graalvm/word/Pointer;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=19, args_size=4
        start local 0 // org.graalvm.word.Pointer ctStart
        start local 1 // org.graalvm.word.Pointer fotStart
        start local 2 // org.graalvm.word.Pointer objectsStart
        start local 3 // org.graalvm.word.Pointer objectsLimit
         0: .line 241
            invokestatic com.oracle.svm.core.log.Log.noopLog:()Lcom/oracle/svm/core/log/Log;
            ldc "[CardTable.verifyCleanCards:"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            astore 4 /* trace */
        start local 4 // com.oracle.svm.core.log.Log trace
         1: .line 242
            aload 4 /* trace */
            ldc "  ctStart: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 0 /* ctStart */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            ldc "  fotStart: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 1 /* fotStart */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            ldc "  objectsStart: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 2 /* 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 3 /* objectsLimit */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            pop
         2: .line 244
            aload 2 /* objectsStart */
            aload 3 /* objectsLimit */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.getTableSizeForMemoryRange:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/Pointer;)Lorg/graalvm/word/UnsignedWord;
            astore 5 /* indexLimit */
        start local 5 // org.graalvm.word.UnsignedWord indexLimit
         3: .line 245
            invokestatic org.graalvm.word.WordFactory.zero:()Lorg/graalvm/word/WordBase;
            checkcast org.graalvm.word.UnsignedWord
            astore 6 /* index */
        start local 6 // org.graalvm.word.UnsignedWord index
         4: goto 54
         5: .line 246
      StackMap locals: com.oracle.svm.core.log.Log org.graalvm.word.UnsignedWord org.graalvm.word.UnsignedWord
      StackMap stack:
            aload 4 /* trace */
            invokevirtual com.oracle.svm.core.log.Log.newline:()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 6 /* index */
            invokevirtual com.oracle.svm.core.log.Log.unsigned:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            pop
         6: .line 247
            aload 1 /* fotStart */
            aload 6 /* index */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.isUninitializedIndex:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)Z
            ifeq 10
         7: .line 248
            invokestatic com.oracle.svm.core.log.Log.log:()Lcom/oracle/svm/core/log/Log;
            ldc "[CardTable.verifyCleanCards: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            astore 7 /* failure */
        start local 7 // com.oracle.svm.core.log.Log failure
         8: .line 249
            aload 7 /* failure */
            ldc "  reached uninitialized first object table entry"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            ldc "]"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            pop
         9: .line 250
            iconst_0
            ireturn
        end local 7 // com.oracle.svm.core.log.Log failure
        10: .line 252
      StackMap locals:
      StackMap stack:
            aload 0 /* ctStart */
            aload 6 /* index */
            invokestatic com.oracle.svm.core.genscavenge.CardTable.isCleanEntryAtIndex:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)Z
            istore 7 /* isClean */
        start local 7 // boolean isClean
        11: .line 253
            iload 7 /* isClean */
            ifne 13
        12: .line 254
            goto 53
        13: .line 257
      StackMap locals: int
      StackMap stack:
            aload 1 /* fotStart */
            aload 2 /* objectsStart */
            aload 3 /* objectsLimit */
            aload 6 /* 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 8 /* impreciseStart */
        start local 8 // org.graalvm.word.Pointer impreciseStart
        14: .line 258
            aload 2 /* objectsStart */
            aload 6 /* 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 9 /* cardLimit */
        start local 9 // org.graalvm.word.Pointer cardLimit
        15: .line 259
            aload 9 /* cardLimit */
            aload 3 /* 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 10 /* walkLimit */
        start local 10 // org.graalvm.word.Pointer walkLimit
        16: .line 260
            aload 4 /* trace */
            ldc "  impreciseStart: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 8 /* impreciseStart */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            ldc "  cardLimit: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 9 /* cardLimit */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            ldc "  walkLimit: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 10 /* walkLimit */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            pop
        17: .line 265
            aload 8 /* impreciseStart */
            astore 11 /* ptr */
        start local 11 // org.graalvm.word.Pointer ptr
        18: .line 266
            goto 52
        19: .line 267
      StackMap locals: org.graalvm.word.Pointer org.graalvm.word.Pointer org.graalvm.word.Pointer org.graalvm.word.Pointer com.oracle.svm.core.log.Log org.graalvm.word.UnsignedWord org.graalvm.word.UnsignedWord int org.graalvm.word.Pointer org.graalvm.word.Pointer org.graalvm.word.Pointer org.graalvm.word.Pointer
      StackMap stack:
            aload 4 /* 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 "  ptr: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 11 /* ptr */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            pop
        20: .line 268
            aload 11 /* ptr */
            invokeinterface org.graalvm.word.Pointer.toObject:()Ljava/lang/Object;
            astore 12 /* obj */
        start local 12 // java.lang.Object obj
        21: .line 269
            aload 4 /* trace */
            ldc "  obj: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 12 /* obj */
            invokevirtual com.oracle.svm.core.log.Log.object:(Ljava/lang/Object;)Lcom/oracle/svm/core/log/Log;
            pop
        22: .line 270
            aload 12 /* obj */
            invokestatic com.oracle.svm.core.hub.LayoutEncoding.isArray:(Ljava/lang/Object;)Z
            ifeq 24
        23: .line 271
            aload 4 /* trace */
            ldc "  length: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 12 /* obj */
            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
        24: .line 273
      StackMap locals: java.lang.Object
      StackMap stack:
            invokestatic com.oracle.svm.core.genscavenge.CardTable.getReferenceToYoungObjectVisitor:()Lcom/oracle/svm/core/genscavenge/CardTable$ReferenceToYoungObjectVisitor;
            aload 12 /* obj */
            invokevirtual com.oracle.svm.core.genscavenge.CardTable$ReferenceToYoungObjectVisitor.containsReferenceToYoungObject:(Ljava/lang/Object;)Z
            istore 13 /* containsYoung */
        start local 13 // boolean containsYoung
        25: .line 274
            iload 13 /* containsYoung */
            ifeq 51
        26: .line 276
            invokestatic com.oracle.svm.core.log.Log.log:()Lcom/oracle/svm/core/log/Log;
            astore 14 /* witness */
        start local 14 // com.oracle.svm.core.log.Log witness
        27: .line 277
            aload 14 /* witness */
            ldc "[CardTable.verifyCleanCards:"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            ldc "  objectsStart: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 2 /* 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 3 /* 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;
        28: .line 278
            aload 5 /* indexLimit */
        29: .line 277
            invokevirtual com.oracle.svm.core.log.Log.unsigned:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
        30: .line 278
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            pop
        31: .line 279
            aload 14 /* witness */
            ldc "  index: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 6 /* index */
            invokevirtual com.oracle.svm.core.log.Log.unsigned:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            pop
        32: .line 280
            aload 2 /* objectsStart */
            aload 6 /* index */
            invokestatic com.oracle.svm.core.genscavenge.CardTable.indexToMemoryPointer:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
            astore 15 /* cardStart */
        start local 15 // org.graalvm.word.Pointer cardStart
        33: .line 281
            aload 14 /* witness */
            ldc "  cardStart: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 15 /* cardStart */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            ldc "  cardLimit: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 9 /* cardLimit */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            ldc "  walkLimit: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 10 /* walkLimit */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            ldc "  fotEntry: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            pop
        34: .line 282
            aload 1 /* fotStart */
            aload 14 /* witness */
            aload 6 /* index */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable$TestingBackDoor.indexToLog:(Lorg/graalvm/word/Pointer;Lcom/oracle/svm/core/log/Log;Lorg/graalvm/word/UnsignedWord;)V
        35: .line 283
            aload 14 /* witness */
            ldc "  isClean: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            iload 7 /* isClean */
            invokevirtual com.oracle.svm.core.log.Log.bool:(Z)Lcom/oracle/svm/core/log/Log;
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            pop
        36: .line 284
            aload 1 /* fotStart */
            aload 2 /* objectsStart */
            aload 3 /* objectsLimit */
            aload 6 /* 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 16 /* crossingOntoPointer */
        start local 16 // org.graalvm.word.Pointer crossingOntoPointer
        37: .line 285
            aload 16 /* crossingOntoPointer */
            invokeinterface org.graalvm.word.Pointer.toObject:()Ljava/lang/Object;
            astore 17 /* crossingOntoObject */
        start local 17 // java.lang.Object crossingOntoObject
        38: .line 286
            aload 14 /* witness */
            ldc "  crossingOntoObject: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 17 /* crossingOntoObject */
            invokevirtual com.oracle.svm.core.log.Log.object:(Ljava/lang/Object;)Lcom/oracle/svm/core/log/Log;
            ldc "  end: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 17 /* 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
        39: .line 287
            aload 17 /* crossingOntoObject */
            invokestatic com.oracle.svm.core.hub.LayoutEncoding.isArray:(Ljava/lang/Object;)Z
            ifeq 41
        40: .line 288
            aload 14 /* witness */
            ldc "  array length: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 17 /* 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
        41: .line 290
      StackMap locals: org.graalvm.word.Pointer org.graalvm.word.Pointer org.graalvm.word.Pointer org.graalvm.word.Pointer com.oracle.svm.core.log.Log org.graalvm.word.UnsignedWord org.graalvm.word.UnsignedWord int org.graalvm.word.Pointer org.graalvm.word.Pointer org.graalvm.word.Pointer org.graalvm.word.Pointer java.lang.Object int com.oracle.svm.core.log.Log org.graalvm.word.Pointer org.graalvm.word.Pointer java.lang.Object
      StackMap stack:
            aload 14 /* witness */
            ldc "  impreciseStart: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 8 /* impreciseStart */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            pop
        42: .line 291
            aload 14 /* witness */
            ldc "  obj: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 12 /* obj */
            invokevirtual com.oracle.svm.core.log.Log.object:(Ljava/lang/Object;)Lcom/oracle/svm/core/log/Log;
            ldc "  end: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 12 /* obj */
            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
        43: .line 292
            aload 12 /* obj */
            invokestatic com.oracle.svm.core.hub.LayoutEncoding.isArray:(Ljava/lang/Object;)Z
            ifeq 45
        44: .line 293
            aload 14 /* witness */
            ldc "  array length: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 12 /* obj */
            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
        45: .line 295
      StackMap locals:
      StackMap stack:
            aload 14 /* witness */
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            pop
        46: .line 296
            aload 12 /* obj */
            invokestatic com.oracle.svm.core.genscavenge.AlignedHeapChunk.getEnclosingChunk:(Ljava/lang/Object;)Lcom/oracle/svm/core/genscavenge/AlignedHeapChunk$AlignedHeader;
            astore 18 /* objChunk */
        start local 18 // com.oracle.svm.core.genscavenge.HeapChunk$Header objChunk
        47: .line 297
            aload 14 /* witness */
            ldc "  objChunk: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 18 /* objChunk */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            ldc "  objChunk space: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 18 /* objChunk */
            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.getName:()Ljava/lang/String;
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            ldc "  contains young: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            iload 13 /* containsYoung */
            invokevirtual com.oracle.svm.core.log.Log.bool:(Z)Lcom/oracle/svm/core/log/Log;
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            pop
        48: .line 299
            invokestatic com.oracle.svm.core.genscavenge.CardTable.getReferenceToYoungObjectVisitor:()Lcom/oracle/svm/core/genscavenge/CardTable$ReferenceToYoungObjectVisitor;
            aload 12 /* obj */
            invokevirtual com.oracle.svm.core.genscavenge.CardTable$ReferenceToYoungObjectVisitor.witnessReferenceToYoungObject:(Ljava/lang/Object;)Z
            pop
        49: .line 300
            aload 14 /* witness */
            ldc " returns false for index: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 6 /* 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
        50: .line 301
            iconst_0
            ireturn
        end local 18 // com.oracle.svm.core.genscavenge.HeapChunk$Header objChunk
        end local 17 // java.lang.Object crossingOntoObject
        end local 16 // org.graalvm.word.Pointer crossingOntoPointer
        end local 15 // org.graalvm.word.Pointer cardStart
        end local 14 // com.oracle.svm.core.log.Log witness
        51: .line 303
      StackMap locals: org.graalvm.word.Pointer org.graalvm.word.Pointer org.graalvm.word.Pointer org.graalvm.word.Pointer com.oracle.svm.core.log.Log org.graalvm.word.UnsignedWord org.graalvm.word.UnsignedWord int org.graalvm.word.Pointer org.graalvm.word.Pointer org.graalvm.word.Pointer org.graalvm.word.Pointer java.lang.Object int
      StackMap stack:
            aload 12 /* obj */
            invokestatic com.oracle.svm.core.hub.LayoutEncoding.getObjectEnd:(Ljava/lang/Object;)Lorg/graalvm/word/Pointer;
            astore 11 /* ptr */
        end local 13 // boolean containsYoung
        end local 12 // java.lang.Object obj
        52: .line 266
      StackMap locals:
      StackMap stack:
            aload 11 /* ptr */
            aload 10 /* walkLimit */
            invokeinterface org.graalvm.word.Pointer.belowThan:(Lorg/graalvm/word/UnsignedWord;)Z
            ifne 19
        end local 11 // org.graalvm.word.Pointer ptr
        end local 10 // org.graalvm.word.Pointer walkLimit
        end local 9 // org.graalvm.word.Pointer cardLimit
        end local 8 // org.graalvm.word.Pointer impreciseStart
        end local 7 // boolean isClean
        53: .line 245
      StackMap locals: org.graalvm.word.Pointer org.graalvm.word.Pointer org.graalvm.word.Pointer org.graalvm.word.Pointer com.oracle.svm.core.log.Log org.graalvm.word.UnsignedWord org.graalvm.word.UnsignedWord
      StackMap stack:
            aload 6 /* index */
            iconst_1
            invokeinterface org.graalvm.word.UnsignedWord.add:(I)Lorg/graalvm/word/UnsignedWord;
            astore 6 /* index */
      StackMap locals:
      StackMap stack:
        54: aload 6 /* index */
            aload 5 /* indexLimit */
            invokeinterface org.graalvm.word.UnsignedWord.belowThan:(Lorg/graalvm/word/UnsignedWord;)Z
            ifne 5
        end local 6 // org.graalvm.word.UnsignedWord index
        55: .line 306
            aload 4 /* 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
        56: .line 307
            iconst_1
            ireturn
        end local 5 // org.graalvm.word.UnsignedWord indexLimit
        end local 4 // com.oracle.svm.core.log.Log trace
        end local 3 // org.graalvm.word.Pointer objectsLimit
        end local 2 // org.graalvm.word.Pointer objectsStart
        end local 1 // org.graalvm.word.Pointer fotStart
        end local 0 // org.graalvm.word.Pointer ctStart
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   57     0              ctStart  Lorg/graalvm/word/Pointer;
            0   57     1             fotStart  Lorg/graalvm/word/Pointer;
            0   57     2         objectsStart  Lorg/graalvm/word/Pointer;
            0   57     3         objectsLimit  Lorg/graalvm/word/Pointer;
            1   57     4                trace  Lcom/oracle/svm/core/log/Log;
            3   57     5           indexLimit  Lorg/graalvm/word/UnsignedWord;
            4   55     6                index  Lorg/graalvm/word/UnsignedWord;
            8   10     7              failure  Lcom/oracle/svm/core/log/Log;
           11   53     7              isClean  Z
           14   53     8       impreciseStart  Lorg/graalvm/word/Pointer;
           15   53     9            cardLimit  Lorg/graalvm/word/Pointer;
           16   53    10            walkLimit  Lorg/graalvm/word/Pointer;
           18   53    11                  ptr  Lorg/graalvm/word/Pointer;
           21   52    12                  obj  Ljava/lang/Object;
           25   52    13        containsYoung  Z
           27   51    14              witness  Lcom/oracle/svm/core/log/Log;
           33   51    15            cardStart  Lorg/graalvm/word/Pointer;
           37   51    16  crossingOntoPointer  Lorg/graalvm/word/Pointer;
           38   51    17   crossingOntoObject  Ljava/lang/Object;
           47   51    18             objChunk  Lcom/oracle/svm/core/genscavenge/HeapChunk$Header<*>;
    MethodParameters:
              Name  Flags
      ctStart       
      fotStart      
      objectsStart  
      objectsLimit  

  private static boolean verifyDirtyCards(org.graalvm.word.Pointer, org.graalvm.word.Pointer, org.graalvm.word.Pointer);
    descriptor: (Lorg/graalvm/word/Pointer;Lorg/graalvm/word/Pointer;Lorg/graalvm/word/Pointer;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=10, args_size=3
        start local 0 // org.graalvm.word.Pointer ctStart
        start local 1 // org.graalvm.word.Pointer objectsStart
        start local 2 // org.graalvm.word.Pointer objectsLimit
         0: .line 314
            invokestatic com.oracle.svm.core.log.Log.noopLog:()Lcom/oracle/svm/core/log/Log;
            ldc "[CardTable.verifyDirtyCards:"
            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 315
            aload 3 /* trace */
            ldc "  ctStart: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 0 /* ctStart */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            ldc "  objectsStart: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 1 /* 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 2 /* objectsLimit */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            pop
         2: .line 317
            aload 1 /* objectsStart */
            astore 4 /* ptr */
        start local 4 // org.graalvm.word.Pointer ptr
         3: .line 318
            goto 18
         4: .line 319
      StackMap locals: com.oracle.svm.core.log.Log org.graalvm.word.Pointer
      StackMap stack:
            aload 4 /* ptr */
            invokeinterface org.graalvm.word.Pointer.toObject:()Ljava/lang/Object;
            astore 5 /* obj */
        start local 5 // java.lang.Object obj
         5: .line 320
            aload 5 /* obj */
            invokestatic com.oracle.svm.core.genscavenge.CardTable.containsReferenceToYoungSpace:(Ljava/lang/Object;)Z
            istore 6 /* containsYoung */
        start local 6 // boolean containsYoung
         6: .line 321
            iload 6 /* containsYoung */
            ifeq 17
         7: .line 322
            aload 1 /* objectsStart */
            aload 2 /* objectsLimit */
            aload 4 /* ptr */
            invokestatic com.oracle.svm.core.genscavenge.CardTable.memoryPointerToIndex:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/Pointer;Lorg/graalvm/word/Pointer;)Lorg/graalvm/word/UnsignedWord;
            astore 7 /* index */
        start local 7 // org.graalvm.word.UnsignedWord index
         8: .line 323
            aload 0 /* ctStart */
            aload 7 /* index */
            invokestatic com.oracle.svm.core.genscavenge.CardTable.isCleanEntryAtIndex:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)Z
            istore 8 /* isClean */
        start local 8 // boolean isClean
         9: .line 324
            iload 8 /* isClean */
            ifeq 17
        10: .line 326
            invokestatic com.oracle.svm.core.log.Log.log:()Lcom/oracle/svm/core/log/Log;
            astore 9 /* witness */
        start local 9 // com.oracle.svm.core.log.Log witness
        11: .line 327
            aload 9 /* witness */
            ldc "[CardTable.verifyDirtyCards:"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            ldc "  objectsStart: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 1 /* 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 2 /* objectsLimit */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            pop
        12: .line 328
            aload 9 /* witness */
            ldc "  obj: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 5 /* obj */
            invokevirtual com.oracle.svm.core.log.Log.object:(Ljava/lang/Object;)Lcom/oracle/svm/core/log/Log;
            ldc "  contains young: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            iload 6 /* containsYoung */
            invokevirtual com.oracle.svm.core.log.Log.bool:(Z)Lcom/oracle/svm/core/log/Log;
            ldc "  but index: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 7 /* index */
            invokevirtual com.oracle.svm.core.log.Log.unsigned:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            ldc " is clean."
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)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;
        13: .line 329
            ldc "]"
        14: .line 328
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
        15: .line 329
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            pop
        16: .line 330
            iconst_0
            ireturn
        end local 9 // com.oracle.svm.core.log.Log witness
        end local 8 // boolean isClean
        end local 7 // org.graalvm.word.UnsignedWord index
        17: .line 333
      StackMap locals: java.lang.Object int
      StackMap stack:
            aload 5 /* obj */
            invokestatic com.oracle.svm.core.hub.LayoutEncoding.getObjectEnd:(Ljava/lang/Object;)Lorg/graalvm/word/Pointer;
            astore 4 /* ptr */
        end local 6 // boolean containsYoung
        end local 5 // java.lang.Object obj
        18: .line 318
      StackMap locals:
      StackMap stack:
            aload 4 /* ptr */
            aload 2 /* objectsLimit */
            invokeinterface org.graalvm.word.Pointer.belowThan:(Lorg/graalvm/word/UnsignedWord;)Z
            ifne 4
        19: .line 335
            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
        20: .line 336
            iconst_1
            ireturn
        end local 4 // org.graalvm.word.Pointer ptr
        end local 3 // com.oracle.svm.core.log.Log trace
        end local 2 // org.graalvm.word.Pointer objectsLimit
        end local 1 // org.graalvm.word.Pointer objectsStart
        end local 0 // org.graalvm.word.Pointer ctStart
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   21     0        ctStart  Lorg/graalvm/word/Pointer;
            0   21     1   objectsStart  Lorg/graalvm/word/Pointer;
            0   21     2   objectsLimit  Lorg/graalvm/word/Pointer;
            1   21     3          trace  Lcom/oracle/svm/core/log/Log;
            3   21     4            ptr  Lorg/graalvm/word/Pointer;
            5   18     5            obj  Ljava/lang/Object;
            6   18     6  containsYoung  Z
            8   17     7          index  Lorg/graalvm/word/UnsignedWord;
            9   17     8        isClean  Z
           11   17     9        witness  Lcom/oracle/svm/core/log/Log;
    MethodParameters:
              Name  Flags
      ctStart       
      objectsStart  
      objectsLimit  
}
SourceFile: "CardTable.java"
NestMembers:
  com.oracle.svm.core.genscavenge.CardTable$ReferenceToYoungObjectReferenceVisitor  com.oracle.svm.core.genscavenge.CardTable$ReferenceToYoungObjectVisitor  com.oracle.svm.core.genscavenge.CardTable$TestingBackDoor  com.oracle.svm.core.genscavenge.CardTable$Visitor
InnerClasses:
  public abstract AlignedHeader = com.oracle.svm.core.genscavenge.AlignedHeapChunk$AlignedHeader of com.oracle.svm.core.genscavenge.AlignedHeapChunk
  ReferenceToYoungObjectReferenceVisitor = com.oracle.svm.core.genscavenge.CardTable$ReferenceToYoungObjectReferenceVisitor of com.oracle.svm.core.genscavenge.CardTable
  ReferenceToYoungObjectVisitor = com.oracle.svm.core.genscavenge.CardTable$ReferenceToYoungObjectVisitor of com.oracle.svm.core.genscavenge.CardTable
  public final TestingBackDoor = com.oracle.svm.core.genscavenge.CardTable$TestingBackDoor of com.oracle.svm.core.genscavenge.CardTable
  public abstract Visitor = com.oracle.svm.core.genscavenge.CardTable$Visitor of com.oracle.svm.core.genscavenge.CardTable
  public final TestingBackDoor = com.oracle.svm.core.genscavenge.FirstObjectTable$TestingBackDoor of com.oracle.svm.core.genscavenge.FirstObjectTable
  public abstract Header = com.oracle.svm.core.genscavenge.HeapChunk$Header of com.oracle.svm.core.genscavenge.HeapChunk