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

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

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

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

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

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

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

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

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

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

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

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

  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 122
            ldc Lcom/oracle/svm/core/genscavenge/FirstObjectTable;
            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.FirstObjectTable.$assertionsDisabled:Z
         3: .line 129
            invokestatic com.oracle.svm.core.genscavenge.CardTable.getBytesCoveredByEntry:()I
            putstatic com.oracle.svm.core.genscavenge.FirstObjectTable.BYTES_COVERED_BY_ENTRY:I
         4: .line 174
            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.FirstObjectTable this
         0: .line 176
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 177
            return
        end local 0 // com.oracle.svm.core.genscavenge.FirstObjectTable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/svm/core/genscavenge/FirstObjectTable;

  static org.graalvm.word.Pointer initializeTableToLimit(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=3, args_size=2
        start local 0 // org.graalvm.word.Pointer table
        start local 1 // org.graalvm.word.Pointer tableLimit
         0: .line 180
            aload 1 /* tableLimit */
            aload 0 /* table */
            invokeinterface org.graalvm.word.Pointer.subtract:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.tableOffsetToIndex:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
            astore 2 /* indexLimit */
        start local 2 // org.graalvm.word.UnsignedWord indexLimit
         1: .line 181
            aload 0 /* table */
            aload 2 /* indexLimit */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.initializeTableToIndex:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
            areturn
        end local 2 // org.graalvm.word.UnsignedWord indexLimit
        end local 1 // org.graalvm.word.Pointer tableLimit
        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  tableLimit  Lorg/graalvm/word/Pointer;
            1    2     2  indexLimit  Lorg/graalvm/word/UnsignedWord;
    MethodParameters:
            Name  Flags
      table       
      tableLimit  

  static boolean isUninitializedIndex(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=3, args_size=2
        start local 0 // org.graalvm.word.Pointer table
        start local 1 // org.graalvm.word.UnsignedWord index
         0: .line 185
            aload 0 /* table */
            aload 1 /* index */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.getEntryAtIndex:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)I
            istore 2 /* entry */
        start local 2 // int entry
         1: .line 186
            iload 2 /* entry */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.isUninitializedEntry:(I)Z
            ireturn
        end local 2 // int entry
        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;
            1    2     2  entry  I
    MethodParameters:
       Name  Flags
      table  
      index  

  static void setTableForObject(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;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.graalvm.word.Pointer table
        start local 1 // org.graalvm.word.Pointer memory
        start local 2 // org.graalvm.word.Pointer start
        start local 3 // org.graalvm.word.Pointer end
         0: .line 190
            getstatic com.oracle.svm.core.genscavenge.FirstObjectTable.$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 191
      StackMap locals:
      StackMap stack:
            aload 0 /* table */
            aload 1 /* memory */
            aload 2 /* start */
            aload 3 /* end */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.setTableForObjectUnchecked:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/Pointer;Lorg/graalvm/word/Pointer;Lorg/graalvm/word/Pointer;)V
         2: .line 192
            return
        end local 3 // org.graalvm.word.Pointer end
        end local 2 // org.graalvm.word.Pointer start
        end local 1 // org.graalvm.word.Pointer memory
        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  memory  Lorg/graalvm/word/Pointer;
            0    3     2   start  Lorg/graalvm/word/Pointer;
            0    3     3     end  Lorg/graalvm/word/Pointer;
    MethodParameters:
        Name  Flags
      table   
      memory  
      start   
      end     

  private static void setTableForObjectUnchecked(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;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.graalvm.word.Pointer table
        start local 1 // org.graalvm.word.Pointer memory
        start local 2 // org.graalvm.word.Pointer start
        start local 3 // org.graalvm.word.Pointer end
         0: .line 195
            getstatic com.oracle.svm.core.genscavenge.FirstObjectTable.$assertionsDisabled:Z
            ifne 1
            aload 1 /* memory */
            aload 2 /* start */
            invokeinterface org.graalvm.word.Pointer.belowOrEqual:(Lorg/graalvm/word/UnsignedWord;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 196
      StackMap locals:
      StackMap stack:
            aload 0 /* table */
            aload 2 /* start */
            aload 1 /* memory */
            invokeinterface org.graalvm.word.Pointer.subtract:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
            aload 3 /* end */
            aload 1 /* memory */
            invokeinterface org.graalvm.word.Pointer.subtract:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.setTableForObjectAtOffsetUnchecked:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;Lorg/graalvm/word/UnsignedWord;)V
         2: .line 197
            return
        end local 3 // org.graalvm.word.Pointer end
        end local 2 // org.graalvm.word.Pointer start
        end local 1 // org.graalvm.word.Pointer memory
        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  memory  Lorg/graalvm/word/Pointer;
            0    3     2   start  Lorg/graalvm/word/Pointer;
            0    3     3     end  Lorg/graalvm/word/Pointer;
    MethodParameters:
        Name  Flags
      table   
      memory  
      start   
      end     

  static void setTableForObjectAtOffsetUnchecked(org.graalvm.word.Pointer, org.graalvm.word.UnsignedWord, org.graalvm.word.UnsignedWord);
    descriptor: (Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;Lorg/graalvm/word/UnsignedWord;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.graalvm.word.Pointer table
        start local 1 // org.graalvm.word.UnsignedWord startOffset
        start local 2 // org.graalvm.word.UnsignedWord endOffset
         0: .line 200
            getstatic com.oracle.svm.core.genscavenge.FirstObjectTable.$assertionsDisabled:Z
            ifne 1
            aload 1 /* startOffset */
            aload 2 /* endOffset */
            invokeinterface org.graalvm.word.UnsignedWord.belowThan:(Lorg/graalvm/word/UnsignedWord;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 201
      StackMap locals:
      StackMap stack:
            aload 2 /* endOffset */
            iconst_1
            invokeinterface org.graalvm.word.UnsignedWord.subtract:(I)Lorg/graalvm/word/UnsignedWord;
            astore 3 /* actualEndOffset */
        start local 3 // org.graalvm.word.UnsignedWord actualEndOffset
         2: .line 202
            aload 0 /* table */
            aload 1 /* startOffset */
            aload 3 /* actualEndOffset */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.setTableForObjectAtLocation:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;Lorg/graalvm/word/UnsignedWord;)V
         3: .line 203
            return
        end local 3 // org.graalvm.word.UnsignedWord actualEndOffset
        end local 2 // org.graalvm.word.UnsignedWord endOffset
        end local 1 // org.graalvm.word.UnsignedWord startOffset
        end local 0 // org.graalvm.word.Pointer table
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0            table  Lorg/graalvm/word/Pointer;
            0    4     1      startOffset  Lorg/graalvm/word/UnsignedWord;
            0    4     2        endOffset  Lorg/graalvm/word/UnsignedWord;
            2    4     3  actualEndOffset  Lorg/graalvm/word/UnsignedWord;
    MethodParameters:
             Name  Flags
      table        
      startOffset  
      endOffset    

  private static void setTableForObjectAtLocation(org.graalvm.word.Pointer, org.graalvm.word.UnsignedWord, org.graalvm.word.UnsignedWord);
    descriptor: (Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;Lorg/graalvm/word/UnsignedWord;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=13, args_size=3
        start local 0 // org.graalvm.word.Pointer table
        start local 1 // org.graalvm.word.UnsignedWord startOffset
        start local 2 // org.graalvm.word.UnsignedWord endOffset
         0: .line 206
            aload 1 /* startOffset */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.memoryOffsetToIndex:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
            astore 3 /* startIndex */
        start local 3 // org.graalvm.word.UnsignedWord startIndex
         1: .line 207
            aload 2 /* endOffset */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.memoryOffsetToIndex:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
            astore 4 /* endIndex */
        start local 4 // org.graalvm.word.UnsignedWord endIndex
         2: .line 208
            aload 3 /* startIndex */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.indexToMemoryOffset:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
            astore 5 /* startMemoryOffset */
        start local 5 // org.graalvm.word.UnsignedWord startMemoryOffset
         3: .line 209
            aload 3 /* startIndex */
            aload 4 /* endIndex */
            invokeinterface org.graalvm.word.UnsignedWord.equal:(Lorg/graalvm/word/UnsignedWord;)Z
            ifeq 5
            aload 1 /* startOffset */
            getstatic com.oracle.svm.core.genscavenge.FirstObjectTable.BYTES_COVERED_BY_ENTRY:I
            invokeinterface org.graalvm.word.UnsignedWord.unsignedRemainder:(I)Lorg/graalvm/word/UnsignedWord;
            iconst_0
            invokeinterface org.graalvm.word.UnsignedWord.notEqual:(I)Z
            ifeq 5
         4: .line 211
            return
         5: .line 214
      StackMap locals: org.graalvm.word.UnsignedWord org.graalvm.word.UnsignedWord org.graalvm.word.UnsignedWord
      StackMap stack:
            aload 1 /* startOffset */
            aload 5 /* startMemoryOffset */
            invokeinterface org.graalvm.word.UnsignedWord.equal:(Lorg/graalvm/word/UnsignedWord;)Z
            ifeq 9
         6: .line 215
            aload 3 /* startIndex */
            astore 6 /* memoryOffsetIndex */
        start local 6 // org.graalvm.word.UnsignedWord memoryOffsetIndex
         7: .line 216
            aload 0 /* table */
            aload 6 /* memoryOffsetIndex */
            iconst_0
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.setEntryAtIndex:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;I)V
         8: .line 217
            goto 13
        end local 6 // org.graalvm.word.UnsignedWord memoryOffsetIndex
         9: .line 222
      StackMap locals:
      StackMap stack:
            aload 3 /* startIndex */
            iconst_1
            invokeinterface org.graalvm.word.UnsignedWord.add:(I)Lorg/graalvm/word/UnsignedWord;
            astore 6 /* memoryOffsetIndex */
        start local 6 // org.graalvm.word.UnsignedWord memoryOffsetIndex
        10: .line 223
            aload 6 /* memoryOffsetIndex */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.indexToMemoryOffset:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
            astore 7 /* memoryIndexOffset */
        start local 7 // org.graalvm.word.UnsignedWord memoryIndexOffset
        11: .line 224
            aload 7 /* memoryIndexOffset */
            aload 1 /* startOffset */
            invokeinterface org.graalvm.word.UnsignedWord.subtract:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.memoryOffsetToEntry:(Lorg/graalvm/word/UnsignedWord;)I
            istore 8 /* entry */
        start local 8 // int entry
        12: .line 225
            aload 0 /* table */
            aload 6 /* memoryOffsetIndex */
            iload 8 /* entry */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.setEntryAtIndex:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;I)V
        end local 8 // int entry
        end local 7 // org.graalvm.word.UnsignedWord memoryIndexOffset
        13: .line 232
      StackMap locals: org.graalvm.word.UnsignedWord
      StackMap stack:
            aload 4 /* endIndex */
            aload 6 /* memoryOffsetIndex */
            bipush 63
            invokeinterface org.graalvm.word.UnsignedWord.add:(I)Lorg/graalvm/word/UnsignedWord;
            invokestatic com.oracle.svm.core.util.UnsignedUtils.min:(Lorg/graalvm/word/UnsignedWord;Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
            astore 7 /* linearIndexMax */
        start local 7 // org.graalvm.word.UnsignedWord linearIndexMax
        14: .line 233
            aload 6 /* memoryOffsetIndex */
            iconst_1
            invokeinterface org.graalvm.word.UnsignedWord.add:(I)Lorg/graalvm/word/UnsignedWord;
            astore 8 /* entryIndex */
        start local 8 // org.graalvm.word.UnsignedWord entryIndex
        15: .line 234
            iconst_1
            istore 9 /* entry */
        start local 9 // int entry
        16: .line 235
            goto 20
        17: .line 236
      StackMap locals: org.graalvm.word.UnsignedWord org.graalvm.word.UnsignedWord int
      StackMap stack:
            aload 0 /* table */
            aload 8 /* entryIndex */
            iload 9 /* entry */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.setEntryAtIndex:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;I)V
        18: .line 237
            aload 8 /* entryIndex */
            iconst_1
            invokeinterface org.graalvm.word.UnsignedWord.add:(I)Lorg/graalvm/word/UnsignedWord;
            astore 8 /* entryIndex */
        19: .line 238
            iinc 9 /* entry */ 1
        20: .line 235
      StackMap locals:
      StackMap stack:
            aload 8 /* entryIndex */
            aload 7 /* linearIndexMax */
            invokeinterface org.graalvm.word.UnsignedWord.belowOrEqual:(Lorg/graalvm/word/UnsignedWord;)Z
            ifne 17
        21: .line 241
            bipush 6
            istore 10 /* unbiasedExponent */
        start local 10 // int unbiasedExponent
        22: .line 242
            goto 33
        23: .line 244
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 11 /* count */
        start local 11 // int count
        24: goto 31
        25: .line 245
      StackMap locals: int
      StackMap stack:
            iload 10 /* unbiasedExponent */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.biasExponent:(I)I
            istore 12 /* biasedEntry */
        start local 12 // int biasedEntry
        26: .line 246
            aload 0 /* table */
            aload 8 /* entryIndex */
            iload 12 /* biasedEntry */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.setEntryAtIndex:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;I)V
        27: .line 247
            aload 8 /* entryIndex */
            iconst_1
            invokeinterface org.graalvm.word.UnsignedWord.add:(I)Lorg/graalvm/word/UnsignedWord;
            astore 8 /* entryIndex */
        28: .line 248
            aload 8 /* entryIndex */
            aload 4 /* endIndex */
            invokeinterface org.graalvm.word.UnsignedWord.aboveThan:(Lorg/graalvm/word/UnsignedWord;)Z
            ifeq 30
        29: .line 249
            goto 32
        end local 12 // int biasedEntry
        30: .line 244
      StackMap locals:
      StackMap stack:
            iinc 11 /* count */ 1
      StackMap locals:
      StackMap stack:
        31: iload 11 /* count */
            iconst_1
            iload 10 /* unbiasedExponent */
            ishl
            if_icmplt 25
        end local 11 // int count
        32: .line 252
      StackMap locals:
      StackMap stack:
            iinc 10 /* unbiasedExponent */ 1
        33: .line 242
      StackMap locals:
      StackMap stack:
            aload 8 /* entryIndex */
            aload 4 /* endIndex */
            invokeinterface org.graalvm.word.UnsignedWord.belowOrEqual:(Lorg/graalvm/word/UnsignedWord;)Z
            ifne 23
        34: .line 254
            return
        end local 10 // int unbiasedExponent
        end local 9 // int entry
        end local 8 // org.graalvm.word.UnsignedWord entryIndex
        end local 7 // org.graalvm.word.UnsignedWord linearIndexMax
        end local 6 // org.graalvm.word.UnsignedWord memoryOffsetIndex
        end local 5 // org.graalvm.word.UnsignedWord startMemoryOffset
        end local 4 // org.graalvm.word.UnsignedWord endIndex
        end local 3 // org.graalvm.word.UnsignedWord startIndex
        end local 2 // org.graalvm.word.UnsignedWord endOffset
        end local 1 // org.graalvm.word.UnsignedWord startOffset
        end local 0 // org.graalvm.word.Pointer table
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   35     0              table  Lorg/graalvm/word/Pointer;
            0   35     1        startOffset  Lorg/graalvm/word/UnsignedWord;
            0   35     2          endOffset  Lorg/graalvm/word/UnsignedWord;
            1   35     3         startIndex  Lorg/graalvm/word/UnsignedWord;
            2   35     4           endIndex  Lorg/graalvm/word/UnsignedWord;
            3   35     5  startMemoryOffset  Lorg/graalvm/word/UnsignedWord;
            7    9     6  memoryOffsetIndex  Lorg/graalvm/word/UnsignedWord;
           10   35     6  memoryOffsetIndex  Lorg/graalvm/word/UnsignedWord;
           11   13     7  memoryIndexOffset  Lorg/graalvm/word/UnsignedWord;
           12   13     8              entry  I
           14   35     7     linearIndexMax  Lorg/graalvm/word/UnsignedWord;
           15   35     8         entryIndex  Lorg/graalvm/word/UnsignedWord;
           16   35     9              entry  I
           22   35    10   unbiasedExponent  I
           24   32    11              count  I
           26   30    12        biasedEntry  I
    MethodParameters:
             Name  Flags
      table        
      startOffset  
      endOffset    

  static void setTableInBufferForObject(java.nio.ByteBuffer, int, org.graalvm.word.UnsignedWord, org.graalvm.word.UnsignedWord);
    descriptor: (Ljava/nio/ByteBuffer;ILorg/graalvm/word/UnsignedWord;Lorg/graalvm/word/UnsignedWord;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // java.nio.ByteBuffer buffer
        start local 1 // int bufferTableOffset
        start local 2 // org.graalvm.word.UnsignedWord startOffset
        start local 3 // org.graalvm.word.UnsignedWord endOffset
         0: .line 258
            aload 3 /* endOffset */
            iconst_1
            invokeinterface org.graalvm.word.UnsignedWord.subtract:(I)Lorg/graalvm/word/UnsignedWord;
            astore 4 /* actualEndOffset */
        start local 4 // org.graalvm.word.UnsignedWord actualEndOffset
         1: .line 259
            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 /* startOffset */
            aload 4 /* actualEndOffset */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.setTableForObjectAtLocation:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;Lorg/graalvm/word/UnsignedWord;)V
         2: .line 260
            return
        end local 4 // org.graalvm.word.UnsignedWord actualEndOffset
        end local 3 // org.graalvm.word.UnsignedWord endOffset
        end local 2 // org.graalvm.word.UnsignedWord startOffset
        end local 1 // int bufferTableOffset
        end local 0 // java.nio.ByteBuffer buffer
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    3     0             buffer  Ljava/nio/ByteBuffer;
            0    3     1  bufferTableOffset  I
            0    3     2        startOffset  Lorg/graalvm/word/UnsignedWord;
            0    3     3          endOffset  Lorg/graalvm/word/UnsignedWord;
            1    3     4    actualEndOffset  Lorg/graalvm/word/UnsignedWord;
    RuntimeVisibleAnnotations: 
      org.graalvm.nativeimage.Platforms(value = {Lorg/graalvm/nativeimage/Platform$HOSTED_ONLY;})
    MethodParameters:
                   Name  Flags
      buffer             
      bufferTableOffset  
      startOffset        
      endOffset          

  static void initializeTableInBuffer(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 264
            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.FirstObjectTable.doInitializeTableToLimit:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)Z
            pop
         1: .line 265
            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 org.graalvm.word.Pointer getPreciseFirstObjectPointer(org.graalvm.word.Pointer, org.graalvm.word.Pointer, org.graalvm.word.Pointer, org.graalvm.word.UnsignedWord);
    descriptor: (Lorg/graalvm/word/Pointer;Lorg/graalvm/word/Pointer;Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=9, args_size=4
        start local 0 // org.graalvm.word.Pointer tableStart
        start local 1 // org.graalvm.word.Pointer memoryStart
        start local 2 // org.graalvm.word.Pointer memoryLimit
        start local 3 // org.graalvm.word.UnsignedWord index
         0: .line 280
            invokestatic com.oracle.svm.core.log.Log.noopLog:()Lcom/oracle/svm/core/log/Log;
            ldc "[FirstObjectTable.getPreciseFirstObjectPointer:"
            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 3 /* index */
            invokevirtual com.oracle.svm.core.log.Log.unsigned:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            astore 4 /* trace */
        start local 4 // com.oracle.svm.core.log.Log trace
         1: .line 281
            aload 3 /* index */
            astore 5 /* currentIndex */
        start local 5 // org.graalvm.word.UnsignedWord currentIndex
         2: .line 282
            aload 0 /* tableStart */
            aload 5 /* currentIndex */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.getEntryAtIndex:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)I
            istore 6 /* currentEntry */
        start local 6 // int currentEntry
         3: .line 283
            aload 4 /* trace */
            invokevirtual com.oracle.svm.core.log.Log.isEnabled:()Z
            ifeq 6
         4: .line 284
            aload 4 /* trace */
            ldc "  entry: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            pop
         5: .line 285
            aload 4 /* trace */
            iload 6 /* currentEntry */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.entryToLog:(Lcom/oracle/svm/core/log/Log;I)V
         6: .line 287
      StackMap locals: com.oracle.svm.core.log.Log org.graalvm.word.UnsignedWord int
      StackMap stack:
            getstatic com.oracle.svm.core.genscavenge.FirstObjectTable.$assertionsDisabled:Z
            ifne 7
            iload 6 /* currentEntry */
            bipush 127
            if_icmpne 7
            new java.lang.AssertionError
            dup
            ldc "uninitialized first object table entry"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         7: .line 288
      StackMap locals:
      StackMap stack:
            iload 6 /* currentEntry */
            ifle 18
         8: .line 290
            goto 14
         9: .line 292
      StackMap locals:
      StackMap stack:
            iload 6 /* currentEntry */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.unbiasExponent:(I)I
            istore 7 /* exponent */
        start local 7 // int exponent
        10: .line 293
            iload 7 /* exponent */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.exponentToOffset:(I)Lorg/graalvm/word/UnsignedWord;
            astore 8 /* deltaIndex */
        start local 8 // org.graalvm.word.UnsignedWord deltaIndex
        11: .line 294
            getstatic com.oracle.svm.core.genscavenge.FirstObjectTable.$assertionsDisabled:Z
            ifne 12
            aload 8 /* deltaIndex */
            aload 5 /* currentIndex */
            invokeinterface org.graalvm.word.UnsignedWord.belowOrEqual:(Lorg/graalvm/word/UnsignedWord;)Z
            ifne 12
            new java.lang.AssertionError
            dup
            ldc "Delta out of bounds."
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        12: .line 295
      StackMap locals: int org.graalvm.word.UnsignedWord
      StackMap stack:
            aload 5 /* currentIndex */
            aload 8 /* deltaIndex */
            invokeinterface org.graalvm.word.UnsignedWord.subtract:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
            astore 5 /* currentIndex */
        13: .line 296
            aload 0 /* tableStart */
            aload 5 /* currentIndex */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.getEntryAtIndex:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)I
            istore 6 /* currentEntry */
        end local 8 // org.graalvm.word.UnsignedWord deltaIndex
        end local 7 // int exponent
        14: .line 290
      StackMap locals:
      StackMap stack:
            bipush 63
            iload 6 /* currentEntry */
            if_icmplt 9
        15: .line 298
            iload 6 /* currentEntry */
            ifle 18
        16: .line 300
            aload 5 /* currentIndex */
            iload 6 /* currentEntry */
            invokeinterface org.graalvm.word.UnsignedWord.subtract:(I)Lorg/graalvm/word/UnsignedWord;
            astore 5 /* currentIndex */
        17: .line 301
            aload 0 /* tableStart */
            aload 5 /* currentIndex */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.getEntryAtIndex:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)I
            istore 6 /* currentEntry */
        18: .line 305
      StackMap locals:
      StackMap stack:
            aload 1 /* memoryStart */
            aload 5 /* currentIndex */
            iload 6 /* currentEntry */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.getPointerAtOffset:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;I)Lorg/graalvm/word/Pointer;
            astore 7 /* result */
        start local 7 // org.graalvm.word.Pointer result
        19: .line 306
            aload 4 /* trace */
            ldc "  returns: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 7 /* result */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            pop
        20: .line 307
            getstatic com.oracle.svm.core.genscavenge.FirstObjectTable.$assertionsDisabled:Z
            ifne 21
            aload 1 /* memoryStart */
            aload 7 /* result */
            invokeinterface org.graalvm.word.Pointer.belowOrEqual:(Lorg/graalvm/word/UnsignedWord;)Z
            ifne 21
            new java.lang.AssertionError
            dup
            ldc "memoryStart.belowOrEqual(result)"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        21: .line 308
      StackMap locals: org.graalvm.word.Pointer
      StackMap stack:
            getstatic com.oracle.svm.core.genscavenge.FirstObjectTable.$assertionsDisabled:Z
            ifne 22
            aload 7 /* result */
            aload 2 /* memoryLimit */
            invokeinterface org.graalvm.word.Pointer.belowThan:(Lorg/graalvm/word/UnsignedWord;)Z
            ifne 22
            new java.lang.AssertionError
            dup
            ldc "result.belowThan(memoryLimit)"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        22: .line 309
      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
        23: .line 310
            aload 7 /* result */
            areturn
        end local 7 // org.graalvm.word.Pointer result
        end local 6 // int currentEntry
        end local 5 // org.graalvm.word.UnsignedWord currentIndex
        end local 4 // com.oracle.svm.core.log.Log trace
        end local 3 // org.graalvm.word.UnsignedWord index
        end local 2 // org.graalvm.word.Pointer memoryLimit
        end local 1 // org.graalvm.word.Pointer memoryStart
        end local 0 // org.graalvm.word.Pointer tableStart
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   24     0    tableStart  Lorg/graalvm/word/Pointer;
            0   24     1   memoryStart  Lorg/graalvm/word/Pointer;
            0   24     2   memoryLimit  Lorg/graalvm/word/Pointer;
            0   24     3         index  Lorg/graalvm/word/UnsignedWord;
            1   24     4         trace  Lcom/oracle/svm/core/log/Log;
            2   24     5  currentIndex  Lorg/graalvm/word/UnsignedWord;
            3   24     6  currentEntry  I
           10   14     7      exponent  I
           11   14     8    deltaIndex  Lorg/graalvm/word/UnsignedWord;
           19   24     7        result  Lorg/graalvm/word/Pointer;
    MethodParameters:
             Name  Flags
      tableStart   
      memoryStart  
      memoryLimit  
      index        

  static org.graalvm.word.Pointer getImpreciseFirstObjectPointer(org.graalvm.word.Pointer, org.graalvm.word.Pointer, org.graalvm.word.Pointer, org.graalvm.word.UnsignedWord);
    descriptor: (Lorg/graalvm/word/Pointer;Lorg/graalvm/word/Pointer;Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=9, args_size=4
        start local 0 // org.graalvm.word.Pointer tableStart
        start local 1 // org.graalvm.word.Pointer memoryStart
        start local 2 // org.graalvm.word.Pointer memoryLimit
        start local 3 // org.graalvm.word.UnsignedWord index
         0: .line 328
            invokestatic com.oracle.svm.core.log.Log.noopLog:()Lcom/oracle/svm/core/log/Log;
            ldc "[FirstObjectTable.getImpreciseFirstObjectPointer:"
            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 329
            aload 4 /* trace */
            ldc "  tableStart: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 0 /* tableStart */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            ldc "  memoryStart: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 1 /* memoryStart */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            ldc "  memoryLimit: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 2 /* memoryLimit */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)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 3 /* index */
            invokevirtual com.oracle.svm.core.log.Log.unsigned:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            pop
         2: .line 330
            aload 0 /* tableStart */
            aload 1 /* memoryStart */
            aload 2 /* memoryLimit */
            aload 3 /* 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 5 /* preciseFirstPointer */
        start local 5 // org.graalvm.word.Pointer preciseFirstPointer
         3: .line 332
            aload 1 /* memoryStart */
            aload 3 /* index */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.indexToMemoryOffset:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
            invokeinterface org.graalvm.word.Pointer.add:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
            astore 6 /* indexedMemoryStart */
        start local 6 // org.graalvm.word.Pointer indexedMemoryStart
         4: .line 334
            aload 5 /* preciseFirstPointer */
            aload 6 /* indexedMemoryStart */
            invokeinterface org.graalvm.word.Pointer.belowThan:(Lorg/graalvm/word/UnsignedWord;)Z
            ifeq 8
         5: .line 335
            aload 5 /* preciseFirstPointer */
            invokeinterface org.graalvm.word.Pointer.toObject:()Ljava/lang/Object;
            astore 8 /* crossingObject */
        start local 8 // java.lang.Object crossingObject
         6: .line 336
            aload 8 /* crossingObject */
            invokestatic com.oracle.svm.core.hub.LayoutEncoding.getObjectEnd:(Ljava/lang/Object;)Lorg/graalvm/word/Pointer;
            astore 7 /* result */
        end local 8 // java.lang.Object crossingObject
        start local 7 // org.graalvm.word.Pointer result
         7: .line 337
            goto 10
        end local 7 // org.graalvm.word.Pointer result
         8: .line 338
      StackMap locals: com.oracle.svm.core.log.Log org.graalvm.word.Pointer org.graalvm.word.Pointer
      StackMap stack:
            getstatic com.oracle.svm.core.genscavenge.FirstObjectTable.$assertionsDisabled:Z
            ifne 9
            aload 5 /* preciseFirstPointer */
            aload 6 /* indexedMemoryStart */
            invokeinterface org.graalvm.word.Pointer.equal:(Lorg/graalvm/word/UnsignedWord;)Z
            ifne 9
            new java.lang.AssertionError
            dup
            ldc "preciseFirstPointer.equal(indexedMemoryStart)"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         9: .line 339
      StackMap locals:
      StackMap stack:
            aload 6 /* indexedMemoryStart */
            astore 7 /* result */
        start local 7 // org.graalvm.word.Pointer result
        10: .line 341
      StackMap locals: org.graalvm.word.Pointer
      StackMap stack:
            aload 4 /* trace */
            ldc "  returns: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 7 /* result */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            pop
        11: .line 342
            getstatic com.oracle.svm.core.genscavenge.FirstObjectTable.$assertionsDisabled:Z
            ifne 12
            aload 1 /* memoryStart */
            aload 7 /* result */
            invokeinterface org.graalvm.word.Pointer.belowOrEqual:(Lorg/graalvm/word/UnsignedWord;)Z
            ifne 12
            new java.lang.AssertionError
            dup
            ldc "memoryStart.belowOrEqual(result)"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        12: .line 343
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.svm.core.genscavenge.FirstObjectTable.$assertionsDisabled:Z
            ifne 13
            aload 7 /* result */
            aload 2 /* memoryLimit */
            invokeinterface org.graalvm.word.Pointer.belowOrEqual:(Lorg/graalvm/word/UnsignedWord;)Z
            ifne 13
            new java.lang.AssertionError
            dup
            ldc "result.belowOrEqual(memoryLimit)"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        13: .line 344
      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
        14: .line 345
            aload 7 /* result */
            areturn
        end local 7 // org.graalvm.word.Pointer result
        end local 6 // org.graalvm.word.Pointer indexedMemoryStart
        end local 5 // org.graalvm.word.Pointer preciseFirstPointer
        end local 4 // com.oracle.svm.core.log.Log trace
        end local 3 // org.graalvm.word.UnsignedWord index
        end local 2 // org.graalvm.word.Pointer memoryLimit
        end local 1 // org.graalvm.word.Pointer memoryStart
        end local 0 // org.graalvm.word.Pointer tableStart
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   15     0           tableStart  Lorg/graalvm/word/Pointer;
            0   15     1          memoryStart  Lorg/graalvm/word/Pointer;
            0   15     2          memoryLimit  Lorg/graalvm/word/Pointer;
            0   15     3                index  Lorg/graalvm/word/UnsignedWord;
            1   15     4                trace  Lcom/oracle/svm/core/log/Log;
            3   15     5  preciseFirstPointer  Lorg/graalvm/word/Pointer;
            4   15     6   indexedMemoryStart  Lorg/graalvm/word/Pointer;
            7    8     7               result  Lorg/graalvm/word/Pointer;
           10   15     7               result  Lorg/graalvm/word/Pointer;
            6    7     8       crossingObject  Ljava/lang/Object;
    MethodParameters:
             Name  Flags
      tableStart   
      memoryStart  
      memoryLimit  
      index        

  static boolean verify(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: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=11, args_size=3
        start local 0 // org.graalvm.word.Pointer tableStart
        start local 1 // org.graalvm.word.Pointer memoryStart
        start local 2 // org.graalvm.word.Pointer memoryLimit
         0: .line 350
            invokestatic com.oracle.svm.core.genscavenge.HeapVerifier.getTraceLog:()Lcom/oracle/svm/core/log/Log;
            ldc "[FirstObjectTable.verify:"
            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 351
            aload 3 /* trace */
            ldc "  tableStart: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 0 /* tableStart */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            ldc "  memoryStart: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 1 /* memoryStart */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            ldc "  memoryLimit: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 2 /* memoryLimit */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            pop
         2: .line 352
            aload 1 /* memoryStart */
            aload 2 /* memoryLimit */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.getTableSizeForMemoryRange:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/Pointer;)Lorg/graalvm/word/UnsignedWord;
            astore 4 /* indexLimit */
        start local 4 // org.graalvm.word.UnsignedWord indexLimit
         3: .line 353
            iconst_0
            invokestatic org.graalvm.word.WordFactory.unsigned:(I)Lorg/graalvm/word/UnsignedWord;
            astore 5 /* index */
        start local 5 // org.graalvm.word.UnsignedWord index
         4: goto 37
         5: .line 354
      StackMap locals: com.oracle.svm.core.log.Log 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 "  FirstObjectTable.verify: 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;
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            pop
         6: .line 355
            aload 0 /* tableStart */
            aload 1 /* memoryStart */
            aload 2 /* memoryLimit */
            aload 5 /* 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 6 /* objStart */
        start local 6 // org.graalvm.word.Pointer objStart
         7: .line 356
            aload 3 /* trace */
            ldc "  objStart: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 6 /* objStart */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            pop
         8: .line 357
            aload 6 /* objStart */
            aload 1 /* memoryStart */
            invokeinterface org.graalvm.word.Pointer.belowThan:(Lorg/graalvm/word/UnsignedWord;)Z
            ifeq 11
         9: .line 358
            aload 3 /* trace */
            ldc "  FirstObjectTable.verify: objStart.belowThan(memoryStart) => false]"
            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
        10: .line 359
            iconst_0
            ireturn
        11: .line 361
      StackMap locals: org.graalvm.word.Pointer
      StackMap stack:
            aload 2 /* memoryLimit */
            aload 6 /* objStart */
            invokeinterface org.graalvm.word.Pointer.belowOrEqual:(Lorg/graalvm/word/UnsignedWord;)Z
            ifeq 14
        12: .line 362
            aload 3 /* trace */
            ldc "  FirstObjectTable.verify: memoryLimit.belowOrEqual(objStart) => false]"
            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 363
            iconst_0
            ireturn
        14: .line 365
      StackMap locals:
      StackMap stack:
            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;
            aload 6 /* objStart */
            invokevirtual com.oracle.svm.core.genscavenge.HeapVerifier.verifyObjectAt:(Lorg/graalvm/word/Pointer;)Z
            ifne 19
        15: .line 366
            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 "[FirstObjectTable.verify:"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            astore 7 /* witness */
        start local 7 // com.oracle.svm.core.log.Log witness
        16: .line 367
            aload 7 /* witness */
            ldc "  tableStart: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 0 /* tableStart */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            ldc "  memoryStart: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 1 /* memoryStart */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            ldc "  memoryLimit: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 2 /* memoryLimit */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            pop
        17: .line 368
            aload 7 /* witness */
            ldc "  objStart: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 6 /* objStart */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            ldc "  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
        18: .line 369
            iconst_0
            ireturn
        end local 7 // com.oracle.svm.core.log.Log witness
        19: .line 372
      StackMap locals:
      StackMap stack:
            aload 1 /* memoryStart */
            aload 5 /* index */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.indexToMemoryOffset:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
            invokeinterface org.graalvm.word.Pointer.add:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
            astore 7 /* entryStart */
        start local 7 // org.graalvm.word.Pointer entryStart
        20: .line 373
            aload 3 /* trace */
            ldc "  entryStart: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 7 /* entryStart */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            pop
        21: .line 374
            aload 6 /* objStart */
            aload 7 /* entryStart */
            invokeinterface org.graalvm.word.Pointer.belowOrEqual:(Lorg/graalvm/word/UnsignedWord;)Z
            ifne 26
        22: .line 375
            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 "[FirstObjectTable.verify:"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            astore 8 /* witness */
        start local 8 // com.oracle.svm.core.log.Log witness
        23: .line 376
            aload 8 /* witness */
            ldc "  tableStart: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 0 /* tableStart */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            ldc "  memoryStart: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 1 /* memoryStart */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            ldc "  memoryLimit: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 2 /* memoryLimit */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            pop
        24: .line 377
            aload 8 /* witness */
            ldc "  objStart: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 6 /* objStart */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            ldc "  entryStart: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 7 /* entryStart */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            ldc "  !(objStart.belowOrEqual(entryStart))"
            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
        25: .line 378
            iconst_0
            ireturn
        end local 8 // com.oracle.svm.core.log.Log witness
        26: .line 380
      StackMap locals: org.graalvm.word.Pointer
      StackMap stack:
            aload 6 /* objStart */
            invokeinterface org.graalvm.word.Pointer.toObject:()Ljava/lang/Object;
            astore 8 /* obj */
        start local 8 // java.lang.Object obj
        27: .line 381
            aload 8 /* obj */
            invokestatic com.oracle.svm.core.hub.LayoutEncoding.getObjectEnd:(Ljava/lang/Object;)Lorg/graalvm/word/Pointer;
            astore 9 /* objEnd */
        start local 9 // org.graalvm.word.Pointer objEnd
        28: .line 382
            aload 3 /* trace */
            ldc "  "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            pop
        29: .line 383
            aload 3 /* trace */
            aload 8 /* obj */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            pop
        30: .line 384
            aload 3 /* trace */
            ldc "  objEnd: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 9 /* objEnd */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            pop
        31: .line 385
            aload 7 /* entryStart */
            aload 9 /* objEnd */
            invokeinterface org.graalvm.word.Pointer.belowThan:(Lorg/graalvm/word/UnsignedWord;)Z
            ifne 36
        32: .line 386
            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 "[FirstObjectTable.verify:"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            astore 10 /* witness */
        start local 10 // com.oracle.svm.core.log.Log witness
        33: .line 387
            aload 10 /* witness */
            ldc "  tableStart: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 0 /* tableStart */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            ldc "  memoryStart: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 1 /* memoryStart */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            ldc "  memoryLimit: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 2 /* memoryLimit */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            pop
        34: .line 388
            aload 10 /* witness */
            ldc "  objEnd: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 9 /* objEnd */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            ldc "  entryStart: "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            aload 7 /* entryStart */
            invokevirtual com.oracle.svm.core.log.Log.hex:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            ldc "  !(entryStart.belowThan(objEnd))"
            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
        35: .line 389
            iconst_0
            ireturn
        end local 10 // com.oracle.svm.core.log.Log witness
        end local 9 // org.graalvm.word.Pointer objEnd
        end local 8 // java.lang.Object obj
        end local 7 // org.graalvm.word.Pointer entryStart
        end local 6 // org.graalvm.word.Pointer objStart
        36: .line 353
      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:
        37: aload 5 /* index */
            aload 4 /* indexLimit */
            invokeinterface org.graalvm.word.UnsignedWord.belowThan:(Lorg/graalvm/word/UnsignedWord;)Z
            ifne 5
        end local 5 // org.graalvm.word.UnsignedWord index
        38: .line 392
            aload 3 /* trace */
            ldc "  => 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
        39: .line 393
            iconst_1
            ireturn
        end local 4 // org.graalvm.word.UnsignedWord indexLimit
        end local 3 // com.oracle.svm.core.log.Log trace
        end local 2 // org.graalvm.word.Pointer memoryLimit
        end local 1 // org.graalvm.word.Pointer memoryStart
        end local 0 // org.graalvm.word.Pointer tableStart
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   40     0   tableStart  Lorg/graalvm/word/Pointer;
            0   40     1  memoryStart  Lorg/graalvm/word/Pointer;
            0   40     2  memoryLimit  Lorg/graalvm/word/Pointer;
            1   40     3        trace  Lcom/oracle/svm/core/log/Log;
            3   40     4   indexLimit  Lorg/graalvm/word/UnsignedWord;
            4   38     5        index  Lorg/graalvm/word/UnsignedWord;
            7   36     6     objStart  Lorg/graalvm/word/Pointer;
           16   19     7      witness  Lcom/oracle/svm/core/log/Log;
           20   36     7   entryStart  Lorg/graalvm/word/Pointer;
           23   26     8      witness  Lcom/oracle/svm/core/log/Log;
           27   36     8          obj  Ljava/lang/Object;
           28   36     9       objEnd  Lorg/graalvm/word/Pointer;
           33   36    10      witness  Lcom/oracle/svm/core/log/Log;
    MethodParameters:
             Name  Flags
      tableStart   
      memoryStart  
      memoryLimit  

  static org.graalvm.word.UnsignedWord getTableSizeForMemoryRange(org.graalvm.word.Pointer, org.graalvm.word.Pointer);
    descriptor: (Lorg/graalvm/word/Pointer;Lorg/graalvm/word/Pointer;)Lorg/graalvm/word/UnsignedWord;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.graalvm.word.Pointer memoryStart
        start local 1 // org.graalvm.word.Pointer memoryLimit
         0: .line 397
            getstatic com.oracle.svm.core.genscavenge.FirstObjectTable.$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 "Pointers out of order"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 398
      StackMap locals:
      StackMap stack:
            aload 1 /* memoryLimit */
            aload 0 /* memoryStart */
            invokeinterface org.graalvm.word.Pointer.subtract:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
            astore 2 /* memorySize */
        start local 2 // org.graalvm.word.UnsignedWord memorySize
         2: .line 399
            aload 2 /* memorySize */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.getTableSizeForMemorySize:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
            areturn
        end local 2 // org.graalvm.word.UnsignedWord memorySize
        end local 1 // org.graalvm.word.Pointer memoryLimit
        end local 0 // org.graalvm.word.Pointer memoryStart
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0  memoryStart  Lorg/graalvm/word/Pointer;
            0    3     1  memoryLimit  Lorg/graalvm/word/Pointer;
            2    3     2   memorySize  Lorg/graalvm/word/UnsignedWord;
    MethodParameters:
             Name  Flags
      memoryStart  
      memoryLimit  

  private static org.graalvm.word.UnsignedWord getTableSizeForMemorySize(org.graalvm.word.UnsignedWord);
    descriptor: (Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.graalvm.word.UnsignedWord memorySize
         0: .line 403
            aload 0 /* memorySize */
            getstatic com.oracle.svm.core.genscavenge.FirstObjectTable.BYTES_COVERED_BY_ENTRY:I
            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 404
            aload 1 /* roundedMemory */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.memoryOffsetToIndex:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
            astore 2 /* index */
        start local 2 // org.graalvm.word.UnsignedWord index
         2: .line 405
            aload 2 /* index */
            iconst_1
            invokeinterface org.graalvm.word.UnsignedWord.multiply:(I)Lorg/graalvm/word/UnsignedWord;
            areturn
        end local 2 // org.graalvm.word.UnsignedWord index
        end local 1 // org.graalvm.word.UnsignedWord roundedMemory
        end local 0 // org.graalvm.word.UnsignedWord memorySize
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0     memorySize  Lorg/graalvm/word/UnsignedWord;
            1    3     1  roundedMemory  Lorg/graalvm/word/UnsignedWord;
            2    3     2          index  Lorg/graalvm/word/UnsignedWord;
    MethodParameters:
            Name  Flags
      memorySize  

  private static int memoryOffsetScale();
    descriptor: ()I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 413
            invokestatic com.oracle.svm.core.config.ConfigurationValues.getObjectLayout:()Lcom/oracle/svm/core/config/ObjectLayout;
            invokevirtual com.oracle.svm.core.config.ObjectLayout.getAlignment:()I
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static org.graalvm.word.Pointer initializeTableToIndex(org.graalvm.word.Pointer, org.graalvm.word.UnsignedWord);
    descriptor: (Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
    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 indexLimit
         0: .line 421
            getstatic com.oracle.svm.core.genscavenge.FirstObjectTable.$assertionsDisabled:Z
            ifne 1
            aload 0 /* table */
            aload 1 /* indexLimit */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.doInitializeTableToLimit:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 422
      StackMap locals:
      StackMap stack:
            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    2     0       table  Lorg/graalvm/word/Pointer;
            0    2     1  indexLimit  Lorg/graalvm/word/UnsignedWord;
    MethodParameters:
            Name  Flags
      table       
      indexLimit  

  private static void doInitializeTableToLimit(org.graalvm.word.Pointer, org.graalvm.word.Pointer);
    descriptor: (Lorg/graalvm/word/Pointer;Lorg/graalvm/word/Pointer;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.graalvm.word.Pointer table
        start local 1 // org.graalvm.word.Pointer tableLimit
         0: .line 426
            aload 1 /* tableLimit */
            aload 0 /* table */
            invokeinterface org.graalvm.word.Pointer.subtract:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.tableOffsetToIndex:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
            astore 2 /* indexLimit */
        start local 2 // org.graalvm.word.UnsignedWord indexLimit
         1: .line 427
            aload 0 /* table */
            aload 2 /* indexLimit */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.doInitializeTableToLimit:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)Z
            pop
         2: .line 428
            return
        end local 2 // org.graalvm.word.UnsignedWord indexLimit
        end local 1 // org.graalvm.word.Pointer tableLimit
        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  tableLimit  Lorg/graalvm/word/Pointer;
            1    3     2  indexLimit  Lorg/graalvm/word/UnsignedWord;
    MethodParameters:
            Name  Flags
      table       
      tableLimit  

  private static boolean doInitializeTableToLimit(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=3, args_size=2
        start local 0 // org.graalvm.word.Pointer table
        start local 1 // org.graalvm.word.UnsignedWord indexLimit
         0: .line 431
            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 432
      StackMap locals: org.graalvm.word.UnsignedWord
      StackMap stack:
            aload 0 /* table */
            aload 2 /* index */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.initializeEntryAtIndex:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)V
         3: .line 431
            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 434
            iconst_1
            ireturn
        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  

  private static void initializeEntryAtIndex(org.graalvm.word.Pointer, org.graalvm.word.UnsignedWord);
    descriptor: (Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)V
    flags: (0x000a) ACC_PRIVATE, 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 438
            aload 0 /* table */
            aload 1 /* index */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.indexToTableOffset:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
            bipush 127
            invokeinterface org.graalvm.word.Pointer.writeByte:(Lorg/graalvm/word/WordBase;B)V
         1: .line 439
            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  

  private static int getEntryAtIndex(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 442
            aload 0 /* table */
            aload 1 /* index */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.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 void setEntryAtIndex(org.graalvm.word.Pointer, org.graalvm.word.UnsignedWord, int);
    descriptor: (Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.graalvm.word.Pointer table
        start local 1 // org.graalvm.word.UnsignedWord index
        start local 2 // int value
         0: .line 447
            getstatic com.oracle.svm.core.genscavenge.FirstObjectTable.$assertionsDisabled:Z
            ifne 1
            iload 2 /* value */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.isValidEntry:(I)Z
            ifne 1
            new java.lang.AssertionError
            dup
            ldc "Invalid entry"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 448
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.svm.core.genscavenge.FirstObjectTable.$assertionsDisabled:Z
            ifne 2
            aload 0 /* table */
            aload 1 /* index */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.isUninitializedIndex:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)Z
            ifne 2
            aload 0 /* table */
            aload 1 /* index */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.getEntryAtIndex:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)I
            iload 2 /* value */
            if_icmpeq 2
            new java.lang.AssertionError
            dup
            ldc "Overwriting!"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 449
      StackMap locals:
      StackMap stack:
            aload 0 /* table */
            aload 1 /* index */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.indexToTableOffset:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
            iload 2 /* value */
            i2b
            invokeinterface org.graalvm.word.Pointer.writeByte:(Lorg/graalvm/word/WordBase;B)V
         3: .line 450
            return
        end local 2 // int value
        end local 1 // org.graalvm.word.UnsignedWord index
        end local 0 // org.graalvm.word.Pointer table
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0  table  Lorg/graalvm/word/Pointer;
            0    4     1  index  Lorg/graalvm/word/UnsignedWord;
            0    4     2  value  I
    MethodParameters:
       Name  Flags
      table  
      index  
      value  

  private static boolean isValidEntry(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 453
            bipush -128
            iload 0 /* entry */
            if_icmpgt 1
            iload 0 /* entry */
            bipush 127
            if_icmpgt 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 isUninitializedEntry(int);
    descriptor: (I)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // int entry
         0: .line 457
            getstatic com.oracle.svm.core.genscavenge.FirstObjectTable.$assertionsDisabled:Z
            ifne 1
            iload 0 /* entry */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.isValidEntry:(I)Z
            ifne 1
            new java.lang.AssertionError
            dup
            ldc "Invalid entry"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 458
      StackMap locals:
      StackMap stack:
            iload 0 /* entry */
            bipush 127
            if_icmpne 2
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
        end local 0 // int entry
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  entry  I
    MethodParameters:
       Name  Flags
      entry  

  private static boolean isMemoryOffsetEntry(int);
    descriptor: (I)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // int entry
         0: .line 462
            getstatic com.oracle.svm.core.genscavenge.FirstObjectTable.$assertionsDisabled:Z
            ifne 1
            iload 0 /* entry */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.isValidEntry:(I)Z
            ifne 1
            new java.lang.AssertionError
            dup
            ldc "Invalid entry"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 463
      StackMap locals:
      StackMap stack:
            bipush -128
            iload 0 /* entry */
            if_icmpgt 2
            iload 0 /* entry */
            ifgt 2
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
        end local 0 // int entry
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  entry  I
    MethodParameters:
       Name  Flags
      entry  

  private static boolean isLinearOffsetEntry(int);
    descriptor: (I)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // int entry
         0: .line 467
            getstatic com.oracle.svm.core.genscavenge.FirstObjectTable.$assertionsDisabled:Z
            ifne 1
            iload 0 /* entry */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.isValidEntry:(I)Z
            ifne 1
            new java.lang.AssertionError
            dup
            ldc "Invalid entry"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 468
      StackMap locals:
      StackMap stack:
            iconst_1
            iload 0 /* entry */
            if_icmpgt 2
            iload 0 /* entry */
            bipush 63
            if_icmpgt 2
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
        end local 0 // int entry
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  entry  I
    MethodParameters:
       Name  Flags
      entry  

  private static boolean isExponentialOffsetEntry(int);
    descriptor: (I)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // int entry
         0: .line 472
            getstatic com.oracle.svm.core.genscavenge.FirstObjectTable.$assertionsDisabled:Z
            ifne 1
            iload 0 /* entry */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.isValidEntry:(I)Z
            ifne 1
            new java.lang.AssertionError
            dup
            ldc "Invalid entry"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 473
      StackMap locals:
      StackMap stack:
            iload 0 /* entry */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.unbiasExponent:(I)I
            istore 1 /* unbiasedEntry */
        start local 1 // int unbiasedEntry
         2: .line 474
            bipush 6
            iload 1 /* unbiasedEntry */
            if_icmpgt 3
            iload 1 /* unbiasedEntry */
            bipush 55
            if_icmpgt 3
            iconst_1
            ireturn
      StackMap locals: int
      StackMap stack:
         3: iconst_0
            ireturn
        end local 1 // int unbiasedEntry
        end local 0 // int entry
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0          entry  I
            2    4     1  unbiasedEntry  I
    MethodParameters:
       Name  Flags
      entry  

  private static int biasExponent(int);
    descriptor: (I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // int exponent
         0: .line 478
            getstatic com.oracle.svm.core.genscavenge.FirstObjectTable.$assertionsDisabled:Z
            ifne 2
            bipush 6
            iload 0 /* exponent */
            if_icmpgt 1
            iload 0 /* exponent */
            bipush 55
            if_icmple 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            ldc "Exponent out of bounds."
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 479
      StackMap locals:
      StackMap stack:
            iload 0 /* exponent */
            bipush 58
            iadd
            ireturn
        end local 0 // int exponent
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0  exponent  I
    MethodParameters:
          Name  Flags
      exponent  

  private static int unbiasExponent(int);
    descriptor: (I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // int entry
         0: .line 483
            iload 0 /* entry */
            bipush 58
            isub
            istore 1 /* exponent */
        start local 1 // int exponent
         1: .line 484
            getstatic com.oracle.svm.core.genscavenge.FirstObjectTable.$assertionsDisabled:Z
            ifne 3
            bipush 6
            iload 1 /* exponent */
            if_icmpgt 2
            iload 1 /* exponent */
            bipush 55
            if_icmple 3
      StackMap locals: int
      StackMap stack:
         2: new java.lang.AssertionError
            dup
            ldc "Exponent out of bounds."
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 485
      StackMap locals:
      StackMap stack:
            iload 1 /* exponent */
            ireturn
        end local 1 // int exponent
        end local 0 // int entry
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0     entry  I
            1    4     1  exponent  I
    MethodParameters:
       Name  Flags
      entry  

  private static org.graalvm.word.UnsignedWord exponentToOffset(int);
    descriptor: (I)Lorg/graalvm/word/UnsignedWord;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // int n
         0: .line 489
            getstatic com.oracle.svm.core.genscavenge.FirstObjectTable.$assertionsDisabled:Z
            ifne 2
            iload 0 /* n */
            iflt 1
            iload 0 /* n */
            bipush 63
            if_icmple 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            ldc "Exponent out of bounds."
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 490
      StackMap locals:
      StackMap stack:
            lconst_1
            iload 0 /* n */
            lshl
            invokestatic org.graalvm.word.WordFactory.unsigned:(J)Lorg/graalvm/word/UnsignedWord;
            areturn
        end local 0 // int n
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     n  I
    MethodParameters:
      Name  Flags
      n     

  private static boolean memoryOffsetStartsCard(org.graalvm.word.UnsignedWord);
    descriptor: (Lorg/graalvm/word/UnsignedWord;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.word.UnsignedWord offset
         0: .line 494
            aload 0 /* offset */
            getstatic com.oracle.svm.core.genscavenge.FirstObjectTable.BYTES_COVERED_BY_ENTRY:I
            invokeinterface org.graalvm.word.UnsignedWord.unsignedRemainder:(I)Lorg/graalvm/word/UnsignedWord;
            iconst_0
            invokeinterface org.graalvm.word.UnsignedWord.equal:(I)Z
            ireturn
        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 boolean memoryOffsetAndLengthCrossesCard(org.graalvm.word.UnsignedWord, org.graalvm.word.UnsignedWord);
    descriptor: (Lorg/graalvm/word/UnsignedWord;Lorg/graalvm/word/UnsignedWord;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.graalvm.word.UnsignedWord offset
        start local 1 // org.graalvm.word.UnsignedWord length
         0: .line 498
            aload 0 /* offset */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.memoryOffsetToIndex:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
            astore 2 /* startCard */
        start local 2 // org.graalvm.word.UnsignedWord startCard
         1: .line 499
            aload 0 /* offset */
            aload 1 /* length */
            invokeinterface org.graalvm.word.UnsignedWord.add:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
            iconst_1
            invokeinterface org.graalvm.word.UnsignedWord.subtract:(I)Lorg/graalvm/word/UnsignedWord;
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.memoryOffsetToIndex:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
            astore 3 /* endCard */
        start local 3 // org.graalvm.word.UnsignedWord endCard
         2: .line 500
            aload 2 /* startCard */
            aload 3 /* endCard */
            invokeinterface org.graalvm.word.UnsignedWord.belowThan:(Lorg/graalvm/word/UnsignedWord;)Z
            ireturn
        end local 3 // org.graalvm.word.UnsignedWord endCard
        end local 2 // org.graalvm.word.UnsignedWord startCard
        end local 1 // org.graalvm.word.UnsignedWord length
        end local 0 // org.graalvm.word.UnsignedWord offset
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0     offset  Lorg/graalvm/word/UnsignedWord;
            0    3     1     length  Lorg/graalvm/word/UnsignedWord;
            1    3     2  startCard  Lorg/graalvm/word/UnsignedWord;
            2    3     3    endCard  Lorg/graalvm/word/UnsignedWord;
    MethodParameters:
        Name  Flags
      offset  
      length  

  private static org.graalvm.word.Pointer getPointerAtOffset(org.graalvm.word.Pointer, org.graalvm.word.UnsignedWord, int);
    descriptor: (Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;I)Lorg/graalvm/word/Pointer;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.graalvm.word.Pointer memory
        start local 1 // org.graalvm.word.UnsignedWord currentIndex
        start local 2 // int currentEntry
         0: .line 504
            getstatic com.oracle.svm.core.genscavenge.FirstObjectTable.$assertionsDisabled:Z
            ifne 1
            iload 2 /* currentEntry */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.isMemoryOffsetEntry:(I)Z
            ifne 1
            new java.lang.AssertionError
            dup
            ldc "Entry out of bounds."
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 505
      StackMap locals:
      StackMap stack:
            aload 1 /* currentIndex */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.indexToMemoryOffset:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
            astore 3 /* indexOffset */
        start local 3 // org.graalvm.word.UnsignedWord indexOffset
         2: .line 506
            iload 2 /* currentEntry */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.entryToMemoryOffset:(I)Lorg/graalvm/word/UnsignedWord;
            astore 4 /* entryOffset */
        start local 4 // org.graalvm.word.UnsignedWord entryOffset
         3: .line 507
            aload 0 /* memory */
            aload 3 /* indexOffset */
            invokeinterface org.graalvm.word.Pointer.add:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
            aload 4 /* entryOffset */
            invokeinterface org.graalvm.word.Pointer.subtract:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
            areturn
        end local 4 // org.graalvm.word.UnsignedWord entryOffset
        end local 3 // org.graalvm.word.UnsignedWord indexOffset
        end local 2 // int currentEntry
        end local 1 // org.graalvm.word.UnsignedWord currentIndex
        end local 0 // org.graalvm.word.Pointer memory
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0        memory  Lorg/graalvm/word/Pointer;
            0    4     1  currentIndex  Lorg/graalvm/word/UnsignedWord;
            0    4     2  currentEntry  I
            2    4     3   indexOffset  Lorg/graalvm/word/UnsignedWord;
            3    4     4   entryOffset  Lorg/graalvm/word/UnsignedWord;
    MethodParameters:
              Name  Flags
      memory        
      currentIndex  
      currentEntry  

  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 511
            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 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 515
            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 indexToMemoryOffset(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 519
            aload 0 /* index */
            getstatic com.oracle.svm.core.genscavenge.FirstObjectTable.BYTES_COVERED_BY_ENTRY:I
            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 memoryOffsetToIndex(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 523
            aload 0 /* offset */
            getstatic com.oracle.svm.core.genscavenge.FirstObjectTable.BYTES_COVERED_BY_ENTRY:I
            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 int memoryOffsetToEntry(org.graalvm.word.UnsignedWord);
    descriptor: (Lorg/graalvm/word/UnsignedWord;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // org.graalvm.word.UnsignedWord memoryOffset
         0: .line 527
            getstatic com.oracle.svm.core.genscavenge.FirstObjectTable.$assertionsDisabled:Z
            ifne 1
            aload 0 /* memoryOffset */
            getstatic com.oracle.svm.core.genscavenge.FirstObjectTable.BYTES_COVERED_BY_ENTRY:I
            invokeinterface org.graalvm.word.UnsignedWord.belowThan:(I)Z
            ifne 1
            new java.lang.AssertionError
            dup
            ldc "Offset out of bounds."
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 528
      StackMap locals:
      StackMap stack:
            aload 0 /* memoryOffset */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.memoryOffsetScale:()I
            invokeinterface org.graalvm.word.UnsignedWord.unsignedDivide:(I)Lorg/graalvm/word/UnsignedWord;
            astore 1 /* scaledOffset */
        start local 1 // org.graalvm.word.UnsignedWord scaledOffset
         2: .line 529
            getstatic com.oracle.svm.core.genscavenge.FirstObjectTable.$assertionsDisabled:Z
            ifne 3
            aload 1 /* scaledOffset */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.memoryOffsetScale:()I
            invokeinterface org.graalvm.word.UnsignedWord.multiply:(I)Lorg/graalvm/word/UnsignedWord;
            aload 0 /* memoryOffset */
            invokeinterface org.graalvm.word.UnsignedWord.equal:(Lorg/graalvm/word/UnsignedWord;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            ldc "Not a multiple."
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 530
      StackMap locals: org.graalvm.word.UnsignedWord
      StackMap stack:
            aload 1 /* scaledOffset */
            invokeinterface org.graalvm.word.UnsignedWord.rawValue:()J
            lneg
            lstore 2 /* result */
        start local 2 // long result
         4: .line 531
            getstatic com.oracle.svm.core.genscavenge.FirstObjectTable.$assertionsDisabled:Z
            ifne 6
            ldc -128
            lload 2 /* result */
            lcmp
            ifgt 5
            lload 2 /* result */
            lconst_0
            lcmp
            ifle 6
      StackMap locals: long
      StackMap stack:
         5: new java.lang.AssertionError
            dup
            ldc "Scaled offset out of bounds."
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 532
      StackMap locals:
      StackMap stack:
            lload 2 /* result */
            l2i
            ireturn
        end local 2 // long result
        end local 1 // org.graalvm.word.UnsignedWord scaledOffset
        end local 0 // org.graalvm.word.UnsignedWord memoryOffset
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0  memoryOffset  Lorg/graalvm/word/UnsignedWord;
            2    7     1  scaledOffset  Lorg/graalvm/word/UnsignedWord;
            4    7     2        result  J
    MethodParameters:
              Name  Flags
      memoryOffset  

  private static org.graalvm.word.UnsignedWord entryToMemoryOffset(int);
    descriptor: (I)Lorg/graalvm/word/UnsignedWord;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // int entry
         0: .line 537
            getstatic com.oracle.svm.core.genscavenge.FirstObjectTable.$assertionsDisabled:Z
            ifne 1
            iload 0 /* entry */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.isMemoryOffsetEntry:(I)Z
            ifne 1
            new java.lang.AssertionError
            dup
            ldc "Entry out of bounds."
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 538
      StackMap locals:
      StackMap stack:
            iload 0 /* entry */
            ineg
            invokestatic org.graalvm.word.WordFactory.unsigned:(I)Lorg/graalvm/word/UnsignedWord;
            astore 1 /* entryUnsigned */
        start local 1 // org.graalvm.word.UnsignedWord entryUnsigned
         2: .line 539
            aload 1 /* entryUnsigned */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.memoryOffsetScale:()I
            invokeinterface org.graalvm.word.UnsignedWord.multiply:(I)Lorg/graalvm/word/UnsignedWord;
            astore 2 /* result */
        start local 2 // org.graalvm.word.UnsignedWord result
         3: .line 540
            getstatic com.oracle.svm.core.genscavenge.FirstObjectTable.$assertionsDisabled:Z
            ifne 4
            aload 2 /* result */
            getstatic com.oracle.svm.core.genscavenge.FirstObjectTable.BYTES_COVERED_BY_ENTRY:I
            invokeinterface org.graalvm.word.UnsignedWord.belowThan:(I)Z
            ifne 4
            new java.lang.AssertionError
            dup
            ldc "Entry out of bounds."
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 541
      StackMap locals: org.graalvm.word.UnsignedWord org.graalvm.word.UnsignedWord
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 2 // org.graalvm.word.UnsignedWord result
        end local 1 // org.graalvm.word.UnsignedWord entryUnsigned
        end local 0 // int entry
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0          entry  I
            2    5     1  entryUnsigned  Lorg/graalvm/word/UnsignedWord;
            3    5     2         result  Lorg/graalvm/word/UnsignedWord;
    MethodParameters:
       Name  Flags
      entry  

  private static void entryToLog(com.oracle.svm.core.log.Log, int);
    descriptor: (Lcom/oracle/svm/core/log/Log;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.svm.core.log.Log log
        start local 1 // int entry
         0: .line 545
            aload 0 /* log */
            iload 1 /* entry */
            invokevirtual com.oracle.svm.core.log.Log.signed:(I)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
         1: .line 546
            iload 1 /* entry */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.isUninitializedEntry:(I)Z
            ifeq 4
         2: .line 547
            aload 0 /* log */
            ldc "UninitializedEntry"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            pop
         3: .line 548
            goto 14
      StackMap locals:
      StackMap stack:
         4: iload 1 /* entry */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.isMemoryOffsetEntry:(I)Z
            ifeq 7
         5: .line 549
            aload 0 /* log */
            ldc "Memory:"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            iload 1 /* entry */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.entryToMemoryOffset:(I)Lorg/graalvm/word/UnsignedWord;
            invokevirtual com.oracle.svm.core.log.Log.signed:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
            pop
         6: .line 550
            goto 14
      StackMap locals:
      StackMap stack:
         7: iload 1 /* entry */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.isLinearOffsetEntry:(I)Z
            ifeq 10
         8: .line 551
            aload 0 /* log */
            ldc "Linear:"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            iload 1 /* entry */
            invokevirtual com.oracle.svm.core.log.Log.signed:(I)Lcom/oracle/svm/core/log/Log;
            pop
         9: .line 552
            goto 14
      StackMap locals:
      StackMap stack:
        10: iload 1 /* entry */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.isExponentialOffsetEntry:(I)Z
            ifeq 13
        11: .line 553
            aload 0 /* log */
            ldc "Exponent:"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            iload 1 /* entry */
            invokestatic com.oracle.svm.core.genscavenge.FirstObjectTable.unbiasExponent:(I)I
            invokevirtual com.oracle.svm.core.log.Log.signed:(I)Lcom/oracle/svm/core/log/Log;
            pop
        12: .line 554
            goto 14
        13: .line 555
      StackMap locals:
      StackMap stack:
            aload 0 /* log */
            ldc "Unknown"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            pop
        14: .line 557
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int entry
        end local 0 // com.oracle.svm.core.log.Log log
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   15     0    log  Lcom/oracle/svm/core/log/Log;
            0   15     1  entry  I
    MethodParameters:
       Name  Flags
      log    
      entry  
}
SourceFile: "FirstObjectTable.java"
NestMembers:
  com.oracle.svm.core.genscavenge.FirstObjectTable$TestingBackDoor
InnerClasses:
  public final TestingBackDoor = com.oracle.svm.core.genscavenge.FirstObjectTable$TestingBackDoor of com.oracle.svm.core.genscavenge.FirstObjectTable