public final class com.oracle.svm.core.windows.WindowsVMLockSupport
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.oracle.svm.core.windows.WindowsVMLockSupport
  super_class: java.lang.Object
{
  com.oracle.svm.core.windows.WindowsVMMutex[] mutexes;
    descriptor: [Lcom/oracle/svm/core/windows/WindowsVMMutex;
    flags: (0x0000) 
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.UnknownObjectField(types = {[Lcom/oracle/svm/core/windows/WindowsVMMutex;})

  com.oracle.svm.core.windows.WindowsVMCondition[] conditions;
    descriptor: [Lcom/oracle/svm/core/windows/WindowsVMCondition;
    flags: (0x0000) 
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.UnknownObjectField(types = {[Lcom/oracle/svm/core/windows/WindowsVMCondition;})

  byte[] syncStructs;
    descriptor: [B
    flags: (0x0000) 
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.UnknownObjectField(types = {[B})

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

  public static void initialize();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=0
         0: .line 140
            ldc Lcom/oracle/svm/core/windows/WindowsVMLockSupport;
            invokestatic org.graalvm.nativeimage.ImageSingletons.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast com.oracle.svm.core.windows.WindowsVMLockSupport
            getfield com.oracle.svm.core.windows.WindowsVMLockSupport.mutexes:[Lcom/oracle/svm/core/windows/WindowsVMMutex;
            dup
            astore 3
            arraylength
            istore 2
            iconst_0
            istore 1
            goto 4
      StackMap locals: top int int com.oracle.svm.core.windows.WindowsVMMutex[]
      StackMap stack:
         1: aload 3
            iload 1
            aaload
            astore 0 /* mutex */
        start local 0 // com.oracle.svm.core.windows.WindowsVMMutex mutex
         2: .line 142
            aload 0 /* mutex */
            invokevirtual com.oracle.svm.core.windows.WindowsVMMutex.getStructPointer:()Lcom/oracle/svm/core/windows/headers/Process$PCRITICAL_SECTION;
            invokestatic com.oracle.svm.core.windows.headers.Process.InitializeCriticalSection:(Lcom/oracle/svm/core/windows/headers/Process$PCRITICAL_SECTION;)V
        end local 0 // com.oracle.svm.core.windows.WindowsVMMutex mutex
         3: .line 140
            iinc 1 1
      StackMap locals:
      StackMap stack:
         4: iload 1
            iload 2
            if_icmplt 1
         5: .line 144
            ldc Lcom/oracle/svm/core/windows/WindowsVMLockSupport;
            invokestatic org.graalvm.nativeimage.ImageSingletons.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast com.oracle.svm.core.windows.WindowsVMLockSupport
            getfield com.oracle.svm.core.windows.WindowsVMLockSupport.conditions:[Lcom/oracle/svm/core/windows/WindowsVMCondition;
            dup
            astore 3
            arraylength
            istore 2
            iconst_0
            istore 1
            goto 9
      StackMap locals: top int int com.oracle.svm.core.windows.WindowsVMCondition[]
      StackMap stack:
         6: aload 3
            iload 1
            aaload
            astore 0 /* condition */
        start local 0 // com.oracle.svm.core.windows.WindowsVMCondition condition
         7: .line 145
            aload 0 /* condition */
            invokevirtual com.oracle.svm.core.windows.WindowsVMCondition.getStructPointer:()Lcom/oracle/svm/core/windows/headers/Process$PCONDITION_VARIABLE;
            invokestatic com.oracle.svm.core.windows.headers.Process.InitializeConditionVariable:(Lcom/oracle/svm/core/windows/headers/Process$PCONDITION_VARIABLE;)V
        end local 0 // com.oracle.svm.core.windows.WindowsVMCondition condition
         8: .line 144
            iinc 1 1
      StackMap locals:
      StackMap stack:
         9: iload 1
            iload 2
            if_icmplt 6
        10: .line 147
            return
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            2    3     0      mutex  Lcom/oracle/svm/core/windows/WindowsVMMutex;
            7    8     0  condition  Lcom/oracle/svm/core/windows/WindowsVMCondition;
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.Uninterruptible(reason = "Called from uninterruptible code. Too early for safepoints.")

  static void checkResult(int, java.lang.String);
    descriptor: (ILjava/lang/String;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // int result
        start local 1 // java.lang.String functionName
         0: .line 151
            iload 0 /* result */
            ifne 5
         1: .line 156
            invokestatic com.oracle.svm.core.thread.VMThreads$StatusSupport.setStatusIgnoreSafepoints:()V
         2: .line 157
            invokestatic com.oracle.svm.core.windows.headers.WinBase.GetLastError:()I
            istore 2 /* lastError */
        start local 2 // int lastError
         3: .line 158
            invokestatic com.oracle.svm.core.log.Log.log:()Lcom/oracle/svm/core/log/Log;
            aload 1 /* functionName */
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            ldc " failed with error "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            iload 2 /* lastError */
            invokevirtual com.oracle.svm.core.log.Log.hex:(I)Lcom/oracle/svm/core/log/Log;
            invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
            pop
         4: .line 159
            ldc Lorg/graalvm/nativeimage/LogHandler;
            invokestatic org.graalvm.nativeimage.ImageSingletons.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast org.graalvm.nativeimage.LogHandler
            invokeinterface org.graalvm.nativeimage.LogHandler.fatalError:()V
        end local 2 // int lastError
         5: .line 161
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String functionName
        end local 0 // int result
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0        result  I
            0    6     1  functionName  Ljava/lang/String;
            3    5     2     lastError  I
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.Uninterruptible(reason = "Called from uninterruptible code.", calleeMustBe = false)
    MethodParameters:
              Name  Flags
      result        
      functionName  
}
SourceFile: "WindowsVMLockSupport.java"
InnerClasses:
  public StatusSupport = com.oracle.svm.core.thread.VMThreads$StatusSupport of com.oracle.svm.core.thread.VMThreads
  public abstract PCONDITION_VARIABLE = com.oracle.svm.core.windows.headers.Process$PCONDITION_VARIABLE of com.oracle.svm.core.windows.headers.Process
  public abstract PCRITICAL_SECTION = com.oracle.svm.core.windows.headers.Process$PCRITICAL_SECTION of com.oracle.svm.core.windows.headers.Process