public class com.oracle.svm.jni.JNIJavaVMList
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.svm.jni.JNIJavaVMList
  super_class: java.lang.Object
{
  private static final org.graalvm.word.UnsignedWord INITIAL_CAPACITY;
    descriptor: Lorg/graalvm/word/UnsignedWord;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final com.oracle.svm.core.c.CGlobalData<org.graalvm.word.Pointer> HEAD;
    descriptor: Lcom/oracle/svm/core/c/CGlobalData;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Lcom/oracle/svm/core/c/CGlobalData<Lorg/graalvm/word/Pointer;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 68
            bipush 8
            invokestatic org.graalvm.word.WordFactory.unsigned:(I)Lorg/graalvm/word/UnsignedWord;
            putstatic com.oracle.svm.jni.JNIJavaVMList.INITIAL_CAPACITY:Lorg/graalvm/word/UnsignedWord;
         1: .line 69
            invokestatic org.graalvm.word.WordFactory.nullPointer:()Lorg/graalvm/word/PointerBase;
            checkcast org.graalvm.word.Pointer
            invokestatic com.oracle.svm.core.c.CGlobalDataFactory.createWord:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/c/CGlobalData;
            putstatic com.oracle.svm.jni.JNIJavaVMList.HEAD:Lcom/oracle/svm/core/c/CGlobalData;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.jni.JNIJavaVMList this
         0: .line 51
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.oracle.svm.jni.JNIJavaVMList this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/jni/JNIJavaVMList;

  public static void addJavaVM(com.oracle.svm.jni.nativeapi.JNIJavaVM);
    descriptor: (Lcom/oracle/svm/jni/nativeapi/JNIJavaVM;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=1
        start local 0 // com.oracle.svm.jni.nativeapi.JNIJavaVM newEntry
         0: .line 73
            ldc Lorg/graalvm/nativeimage/c/type/WordPointer;
            invokestatic org.graalvm.nativeimage.c.struct.SizeOf.unsigned:(Ljava/lang/Class;)Lorg/graalvm/word/UnsignedWord;
            astore 1 /* wordSize */
        start local 1 // org.graalvm.word.UnsignedWord wordSize
         1: .line 74
            getstatic com.oracle.svm.jni.JNIJavaVMList.HEAD:Lcom/oracle/svm/core/c/CGlobalData;
            invokevirtual com.oracle.svm.core.c.CGlobalData.get:()Lorg/graalvm/word/PointerBase;
            checkcast org.graalvm.word.Pointer
            astore 2 /* nextPointer */
        start local 2 // org.graalvm.word.Pointer nextPointer
         2: .line 75
            invokestatic org.graalvm.word.WordFactory.zero:()Lorg/graalvm/word/WordBase;
            checkcast org.graalvm.word.UnsignedWord
            astore 3 /* capacity */
        start local 3 // org.graalvm.word.UnsignedWord capacity
         3: .line 77
      StackMap locals: org.graalvm.word.UnsignedWord org.graalvm.word.Pointer org.graalvm.word.UnsignedWord
      StackMap stack:
            aload 2 /* nextPointer */
            iconst_0
            invokeinterface org.graalvm.word.Pointer.readWord:(I)Lorg/graalvm/word/WordBase;
            checkcast org.graalvm.word.Pointer
            astore 4 /* p */
        start local 4 // org.graalvm.word.Pointer p
         4: .line 78
            aload 4 /* p */
            invokeinterface org.graalvm.word.Pointer.isNull:()Z
            ifeq 15
         5: .line 79
            aload 3 /* capacity */
            iconst_0
            invokeinterface org.graalvm.word.UnsignedWord.notEqual:(I)Z
            ifeq 6
            aload 3 /* capacity */
            iconst_2
            invokeinterface org.graalvm.word.UnsignedWord.multiply:(I)Lorg/graalvm/word/UnsignedWord;
            goto 7
      StackMap locals: org.graalvm.word.Pointer
      StackMap stack:
         6: getstatic com.oracle.svm.jni.JNIJavaVMList.INITIAL_CAPACITY:Lorg/graalvm/word/UnsignedWord;
      StackMap locals:
      StackMap stack: org.graalvm.word.UnsignedWord
         7: astore 5 /* newCapacity */
        start local 5 // org.graalvm.word.UnsignedWord newCapacity
         8: .line 80
            aload 5 /* newCapacity */
            iconst_2
            invokeinterface org.graalvm.word.UnsignedWord.add:(I)Lorg/graalvm/word/UnsignedWord;
            aload 1 /* wordSize */
            invokeinterface org.graalvm.word.UnsignedWord.multiply:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
            invokestatic org.graalvm.nativeimage.UnmanagedMemory.calloc:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/PointerBase;
            checkcast org.graalvm.word.Pointer
            astore 6 /* newArray */
        start local 6 // org.graalvm.word.Pointer newArray
         9: .line 81
            aload 6 /* newArray */
            iconst_0
            aload 5 /* newCapacity */
            invokeinterface org.graalvm.word.Pointer.writeWord:(ILorg/graalvm/word/WordBase;)V
        10: .line 82
            aload 6 /* newArray */
            aload 1 /* wordSize */
            aload 0 /* newEntry */
            invokeinterface org.graalvm.word.Pointer.writeWord:(Lorg/graalvm/word/WordBase;Lorg/graalvm/word/WordBase;)V
        11: .line 83
            aload 2 /* nextPointer */
            iconst_0
            invokestatic org.graalvm.word.WordFactory.nullPointer:()Lorg/graalvm/word/PointerBase;
            checkcast org.graalvm.word.Pointer
            aload 6 /* newArray */
            getstatic org.graalvm.word.LocationIdentity.ANY_LOCATION:Lorg/graalvm/word/LocationIdentity;
            invokeinterface org.graalvm.word.Pointer.compareAndSwapWord:(ILorg/graalvm/word/WordBase;Lorg/graalvm/word/WordBase;Lorg/graalvm/word/LocationIdentity;)Lorg/graalvm/word/WordBase;
            checkcast org.graalvm.word.Pointer
            astore 4 /* p */
        12: .line 84
            aload 4 /* p */
            invokestatic org.graalvm.word.WordFactory.nullPointer:()Lorg/graalvm/word/PointerBase;
            checkcast org.graalvm.word.UnsignedWord
            invokeinterface org.graalvm.word.Pointer.equal:(Lorg/graalvm/word/UnsignedWord;)Z
            ifeq 14
        13: .line 85
            return
        14: .line 88
      StackMap locals: org.graalvm.word.UnsignedWord org.graalvm.word.Pointer
      StackMap stack:
            aload 6 /* newArray */
            invokestatic org.graalvm.nativeimage.UnmanagedMemory.free:(Lorg/graalvm/word/PointerBase;)V
        end local 6 // org.graalvm.word.Pointer newArray
        end local 5 // org.graalvm.word.UnsignedWord newCapacity
        15: .line 90
      StackMap locals:
      StackMap stack:
            aload 4 /* p */
            iconst_0
            invokeinterface org.graalvm.word.Pointer.readWord:(I)Lorg/graalvm/word/WordBase;
            checkcast org.graalvm.word.UnsignedWord
            astore 3 /* capacity */
        16: .line 91
            aload 4 /* p */
            aload 1 /* wordSize */
            invokeinterface org.graalvm.word.Pointer.add:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
            astore 4 /* p */
        17: .line 92
            aload 4 /* p */
            aload 3 /* capacity */
            aload 1 /* wordSize */
            invokeinterface org.graalvm.word.UnsignedWord.multiply:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
            invokeinterface org.graalvm.word.Pointer.add:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
            astore 5 /* end */
        start local 5 // org.graalvm.word.UnsignedWord end
        18: .line 93
            goto 23
        19: .line 94
      StackMap locals: org.graalvm.word.UnsignedWord
      StackMap stack:
            aload 4 /* p */
            iconst_0
            invokeinterface org.graalvm.word.Pointer.readWord:(I)Lorg/graalvm/word/WordBase;
            checkcast com.oracle.svm.jni.nativeapi.JNIJavaVM
            astore 6 /* entry */
        start local 6 // com.oracle.svm.jni.nativeapi.JNIJavaVM entry
        20: .line 95
            aload 6 /* entry */
            invokeinterface com.oracle.svm.jni.nativeapi.JNIJavaVM.isNull:()Z
            ifeq 22
            aload 4 /* p */
            iconst_0
            invokestatic org.graalvm.word.WordFactory.nullPointer:()Lorg/graalvm/word/PointerBase;
            aload 0 /* newEntry */
            getstatic org.graalvm.word.LocationIdentity.ANY_LOCATION:Lorg/graalvm/word/LocationIdentity;
            invokeinterface org.graalvm.word.Pointer.logicCompareAndSwapWord:(ILorg/graalvm/word/WordBase;Lorg/graalvm/word/WordBase;Lorg/graalvm/word/LocationIdentity;)Z
            ifeq 22
        21: .line 96
            return
        22: .line 98
      StackMap locals: com.oracle.svm.jni.nativeapi.JNIJavaVM
      StackMap stack:
            aload 4 /* p */
            aload 1 /* wordSize */
            invokeinterface org.graalvm.word.Pointer.add:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/Pointer;
            astore 4 /* p */
        end local 6 // com.oracle.svm.jni.nativeapi.JNIJavaVM entry
        23: .line 93
      StackMap locals:
      StackMap stack:
            aload 4 /* p */
            aload 5 /* end */
            invokeinterface org.graalvm.word.Pointer.belowThan:(Lorg/graalvm/word/UnsignedWord;)Z
            ifne 19
        24: .line 100
            aload 4 /* p */
            astore 2 /* nextPointer */
        end local 5 // org.graalvm.word.UnsignedWord end
        end local 4 // org.graalvm.word.Pointer p
        25: .line 76
            goto 3
        end local 3 // org.graalvm.word.UnsignedWord capacity
        end local 2 // org.graalvm.word.Pointer nextPointer
        end local 1 // org.graalvm.word.UnsignedWord wordSize
        end local 0 // com.oracle.svm.jni.nativeapi.JNIJavaVM newEntry
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   26     0     newEntry  Lcom/oracle/svm/jni/nativeapi/JNIJavaVM;
            1   26     1     wordSize  Lorg/graalvm/word/UnsignedWord;
            2   26     2  nextPointer  Lorg/graalvm/word/Pointer;
            3   26     3     capacity  Lorg/graalvm/word/UnsignedWord;
            4   25     4            p  Lorg/graalvm/word/Pointer;
            8   15     5  newCapacity  Lorg/graalvm/word/UnsignedWord;
            9   15     6     newArray  Lorg/graalvm/word/Pointer;
           18   25     5          end  Lorg/graalvm/word/UnsignedWord;
           20   23     6        entry  Lcom/oracle/svm/jni/nativeapi/JNIJavaVM;
    MethodParameters:
          Name  Flags
      newEntry  

  public static boolean removeJavaVM(com.oracle.svm.jni.nativeapi.JNIJavaVM);
    descriptor: (Lcom/oracle/svm/jni/nativeapi/JNIJavaVM;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // com.oracle.svm.jni.nativeapi.JNIJavaVM javavm
         0: .line 106
            getstatic com.oracle.svm.jni.JNIJavaVMList.HEAD:Lcom/oracle/svm/core/c/CGlobalData;
            invokevirtual com.oracle.svm.core.c.CGlobalData.get:()Lorg/graalvm/word/PointerBase;
            checkcast org.graalvm.word.Pointer
            iconst_0
            invokeinterface org.graalvm.word.Pointer.readWord:(I)Lorg/graalvm/word/WordBase;
            checkcast org.graalvm.nativeimage.c.type.WordPointer
            astore 1 /* p */
        start local 1 // org.graalvm.nativeimage.c.type.WordPointer p
         1: .line 107
            goto 12
         2: .line 108
      StackMap locals: org.graalvm.nativeimage.c.type.WordPointer
      StackMap stack:
            aload 1 /* p */
            iconst_0
            invokeinterface org.graalvm.nativeimage.c.type.WordPointer.read:(I)Lorg/graalvm/word/WordBase;
            checkcast org.graalvm.compiler.word.Word
            astore 2 /* capacity */
        start local 2 // org.graalvm.compiler.word.Word capacity
         3: .line 109
            iconst_1
            invokestatic org.graalvm.word.WordFactory.unsigned:(I)Lorg/graalvm/word/UnsignedWord;
            checkcast org.graalvm.compiler.word.Word
            astore 3 /* i */
        start local 3 // org.graalvm.compiler.word.Word i
         4: goto 10
         5: .line 110
      StackMap locals: org.graalvm.compiler.word.Word org.graalvm.compiler.word.Word
      StackMap stack:
            aload 1 /* p */
            aload 3 /* i */
            invokeinterface org.graalvm.nativeimage.c.type.WordPointer.read:(Lorg/graalvm/word/SignedWord;)Lorg/graalvm/word/WordBase;
            checkcast com.oracle.svm.jni.nativeapi.JNIJavaVM
            astore 4 /* entry */
        start local 4 // com.oracle.svm.jni.nativeapi.JNIJavaVM entry
         6: .line 111
            aload 4 /* entry */
            aload 0 /* javavm */
            invokeinterface com.oracle.svm.jni.nativeapi.JNIJavaVM.equal:(Lorg/graalvm/word/ComparableWord;)Z
            ifeq 9
         7: .line 112
            aload 1 /* p */
            aload 3 /* i */
            invokestatic org.graalvm.word.WordFactory.nullPointer:()Lorg/graalvm/word/PointerBase;
            invokeinterface org.graalvm.nativeimage.c.type.WordPointer.write:(Lorg/graalvm/word/SignedWord;Lorg/graalvm/word/WordBase;)V
         8: .line 113
            iconst_1
            ireturn
        end local 4 // com.oracle.svm.jni.nativeapi.JNIJavaVM entry
         9: .line 109
      StackMap locals:
      StackMap stack:
            aload 3 /* i */
            iconst_1
            invokevirtual org.graalvm.compiler.word.Word.add:(I)Lorg/graalvm/compiler/word/Word;
            astore 3 /* i */
      StackMap locals:
      StackMap stack:
        10: aload 3 /* i */
            aload 2 /* capacity */
            invokevirtual org.graalvm.compiler.word.Word.belowOrEqual:(Lorg/graalvm/compiler/word/Word;)Z
            ifne 5
        end local 3 // org.graalvm.compiler.word.Word i
        11: .line 116
            aload 1 /* p */
            aload 2 /* capacity */
            iconst_1
            invokevirtual org.graalvm.compiler.word.Word.add:(I)Lorg/graalvm/compiler/word/Word;
            invokeinterface org.graalvm.nativeimage.c.type.WordPointer.read:(Lorg/graalvm/word/SignedWord;)Lorg/graalvm/word/WordBase;
            checkcast org.graalvm.nativeimage.c.type.WordPointer
            astore 1 /* p */
        end local 2 // org.graalvm.compiler.word.Word capacity
        12: .line 107
      StackMap locals:
      StackMap stack:
            aload 1 /* p */
            invokeinterface org.graalvm.nativeimage.c.type.WordPointer.isNonNull:()Z
            ifne 2
        13: .line 118
            iconst_0
            ireturn
        end local 1 // org.graalvm.nativeimage.c.type.WordPointer p
        end local 0 // com.oracle.svm.jni.nativeapi.JNIJavaVM javavm
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0    javavm  Lcom/oracle/svm/jni/nativeapi/JNIJavaVM;
            1   14     1         p  Lorg/graalvm/nativeimage/c/type/WordPointer;
            3   12     2  capacity  Lorg/graalvm/compiler/word/Word;
            4   11     3         i  Lorg/graalvm/compiler/word/Word;
            6    9     4     entry  Lcom/oracle/svm/jni/nativeapi/JNIJavaVM;
    MethodParameters:
        Name  Flags
      javavm  

  public static void gather(com.oracle.svm.jni.nativeapi.JNIJavaVMPointer, int, org.graalvm.nativeimage.c.type.CIntPointer);
    descriptor: (Lcom/oracle/svm/jni/nativeapi/JNIJavaVMPointer;ILorg/graalvm/nativeimage/c/type/CIntPointer;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // com.oracle.svm.jni.nativeapi.JNIJavaVMPointer buffer
        start local 1 // int bufferLength
        start local 2 // org.graalvm.nativeimage.c.type.CIntPointer totalCountPointer
         0: .line 124
            iconst_0
            istore 3 /* totalCount */
        start local 3 // int totalCount
         1: .line 125
            getstatic com.oracle.svm.jni.JNIJavaVMList.HEAD:Lcom/oracle/svm/core/c/CGlobalData;
            invokevirtual com.oracle.svm.core.c.CGlobalData.get:()Lorg/graalvm/word/PointerBase;
            checkcast org.graalvm.word.Pointer
            iconst_0
            invokeinterface org.graalvm.word.Pointer.readWord:(I)Lorg/graalvm/word/WordBase;
            checkcast org.graalvm.nativeimage.c.type.WordPointer
            astore 4 /* p */
        start local 4 // org.graalvm.nativeimage.c.type.WordPointer p
         2: .line 126
            goto 14
         3: .line 127
      StackMap locals: int org.graalvm.nativeimage.c.type.WordPointer
      StackMap stack:
            aload 4 /* p */
            iconst_0
            invokeinterface org.graalvm.nativeimage.c.type.WordPointer.read:(I)Lorg/graalvm/word/WordBase;
            checkcast org.graalvm.compiler.word.Word
            astore 5 /* capacity */
        start local 5 // org.graalvm.compiler.word.Word capacity
         4: .line 128
            iconst_1
            invokestatic org.graalvm.word.WordFactory.unsigned:(I)Lorg/graalvm/word/UnsignedWord;
            checkcast org.graalvm.compiler.word.Word
            astore 6 /* i */
        start local 6 // org.graalvm.compiler.word.Word i
         5: goto 12
         6: .line 129
      StackMap locals: org.graalvm.compiler.word.Word org.graalvm.compiler.word.Word
      StackMap stack:
            aload 4 /* p */
            aload 6 /* i */
            invokeinterface org.graalvm.nativeimage.c.type.WordPointer.read:(Lorg/graalvm/word/SignedWord;)Lorg/graalvm/word/WordBase;
            checkcast com.oracle.svm.jni.nativeapi.JNIJavaVM
            astore 7 /* entry */
        start local 7 // com.oracle.svm.jni.nativeapi.JNIJavaVM entry
         7: .line 130
            aload 7 /* entry */
            invokeinterface com.oracle.svm.jni.nativeapi.JNIJavaVM.isNonNull:()Z
            ifeq 11
         8: .line 131
            iload 3 /* totalCount */
            iload 1 /* bufferLength */
            if_icmpge 10
         9: .line 132
            aload 0 /* buffer */
            iload 3 /* totalCount */
            aload 7 /* entry */
            invokeinterface com.oracle.svm.jni.nativeapi.JNIJavaVMPointer.write:(ILcom/oracle/svm/jni/nativeapi/JNIJavaVM;)V
        10: .line 134
      StackMap locals: com.oracle.svm.jni.nativeapi.JNIJavaVM
      StackMap stack:
            iinc 3 /* totalCount */ 1
        end local 7 // com.oracle.svm.jni.nativeapi.JNIJavaVM entry
        11: .line 128
      StackMap locals:
      StackMap stack:
            aload 6 /* i */
            iconst_1
            invokevirtual org.graalvm.compiler.word.Word.add:(I)Lorg/graalvm/compiler/word/Word;
            astore 6 /* i */
      StackMap locals:
      StackMap stack:
        12: aload 6 /* i */
            aload 5 /* capacity */
            invokevirtual org.graalvm.compiler.word.Word.belowOrEqual:(Lorg/graalvm/compiler/word/Word;)Z
            ifne 6
        end local 6 // org.graalvm.compiler.word.Word i
        13: .line 137
            aload 4 /* p */
            aload 5 /* capacity */
            iconst_1
            invokevirtual org.graalvm.compiler.word.Word.add:(I)Lorg/graalvm/compiler/word/Word;
            invokeinterface org.graalvm.nativeimage.c.type.WordPointer.read:(Lorg/graalvm/word/SignedWord;)Lorg/graalvm/word/WordBase;
            checkcast org.graalvm.nativeimage.c.type.WordPointer
            astore 4 /* p */
        end local 5 // org.graalvm.compiler.word.Word capacity
        14: .line 126
      StackMap locals:
      StackMap stack:
            aload 4 /* p */
            invokeinterface org.graalvm.nativeimage.c.type.WordPointer.isNonNull:()Z
            ifne 3
        15: .line 139
            aload 2 /* totalCountPointer */
            iload 3 /* totalCount */
            invokeinterface org.graalvm.nativeimage.c.type.CIntPointer.write:(I)V
        16: .line 140
            return
        end local 4 // org.graalvm.nativeimage.c.type.WordPointer p
        end local 3 // int totalCount
        end local 2 // org.graalvm.nativeimage.c.type.CIntPointer totalCountPointer
        end local 1 // int bufferLength
        end local 0 // com.oracle.svm.jni.nativeapi.JNIJavaVMPointer buffer
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   17     0             buffer  Lcom/oracle/svm/jni/nativeapi/JNIJavaVMPointer;
            0   17     1       bufferLength  I
            0   17     2  totalCountPointer  Lorg/graalvm/nativeimage/c/type/CIntPointer;
            1   17     3         totalCount  I
            2   17     4                  p  Lorg/graalvm/nativeimage/c/type/WordPointer;
            4   14     5           capacity  Lorg/graalvm/compiler/word/Word;
            5   13     6                  i  Lorg/graalvm/compiler/word/Word;
            7   11     7              entry  Lcom/oracle/svm/jni/nativeapi/JNIJavaVM;
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.Uninterruptible(reason = "Called from uninterruptible code.")
    MethodParameters:
                   Name  Flags
      buffer             
      bufferLength       
      totalCountPointer  
}
SourceFile: "JNIJavaVMList.java"