class com.oracle.svm.core.windows.WindowsSubstrateSegfaultHandler extends com.oracle.svm.core.SubstrateSegfaultHandler
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.oracle.svm.core.windows.WindowsSubstrateSegfaultHandler
  super_class: com.oracle.svm.core.SubstrateSegfaultHandler
{
  private static final org.graalvm.nativeimage.c.function.CEntryPointLiteral<org.graalvm.nativeimage.c.function.CFunctionPointer> HANDLER_LITERAL;
    descriptor: Lorg/graalvm/nativeimage/c/function/CEntryPointLiteral;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Lorg/graalvm/nativeimage/c/function/CEntryPointLiteral<Lorg/graalvm/nativeimage/c/function/CFunctionPointer;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=0, args_size=0
         0: .line 80
            ldc Lcom/oracle/svm/core/windows/WindowsSubstrateSegfaultHandler;
         1: .line 81
            ldc "handler"
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lcom/oracle/svm/core/windows/headers/ErrHandlingAPI$EXCEPTION_POINTERS;
            aastore
         2: .line 80
            invokestatic org.graalvm.nativeimage.c.function.CEntryPointLiteral.create:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Lorg/graalvm/nativeimage/c/function/CEntryPointLiteral;
            putstatic com.oracle.svm.core.windows.WindowsSubstrateSegfaultHandler.HANDLER_LITERAL:Lorg/graalvm/nativeimage/c/function/CEntryPointLiteral;
         3: .line 81
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.core.windows.WindowsSubstrateSegfaultHandler this
         0: .line 56
            aload 0 /* this */
            invokespecial com.oracle.svm.core.SubstrateSegfaultHandler.<init>:()V
            return
        end local 0 // com.oracle.svm.core.windows.WindowsSubstrateSegfaultHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/core/windows/WindowsSubstrateSegfaultHandler;

  protected void install();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.svm.core.windows.WindowsSubstrateSegfaultHandler this
         0: .line 75
            iconst_0
            getstatic com.oracle.svm.core.windows.WindowsSubstrateSegfaultHandler.HANDLER_LITERAL:Lorg/graalvm/nativeimage/c/function/CEntryPointLiteral;
            invokevirtual org.graalvm.nativeimage.c.function.CEntryPointLiteral.getFunctionPointer:()Lorg/graalvm/nativeimage/c/function/CFunctionPointer;
            invokestatic com.oracle.svm.core.windows.headers.ErrHandlingAPI.AddVectoredContinueHandler:(ILorg/graalvm/nativeimage/c/function/CFunctionPointer;)Lorg/graalvm/word/PointerBase;
            invokeinterface org.graalvm.word.PointerBase.isNull:()Z
            ifeq 2
         1: .line 76
            ldc "SubstrateSegfaultHandler installation failed."
            invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            pop
         2: .line 78
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.oracle.svm.core.windows.WindowsSubstrateSegfaultHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/svm/core/windows/WindowsSubstrateSegfaultHandler;

  private static int handler(com.oracle.svm.core.windows.headers.ErrHandlingAPI$EXCEPTION_POINTERS);
    descriptor: (Lcom/oracle/svm/core/windows/headers/ErrHandlingAPI$EXCEPTION_POINTERS;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // com.oracle.svm.core.windows.headers.ErrHandlingAPI$EXCEPTION_POINTERS exceptionInfo
         0: .line 88
            aload 0 /* exceptionInfo */
            invokeinterface com.oracle.svm.core.windows.headers.ErrHandlingAPI$EXCEPTION_POINTERS.ExceptionRecord:()Lcom/oracle/svm/core/windows/headers/ErrHandlingAPI$EXCEPTION_RECORD;
            astore 1 /* exceptionRecord */
        start local 1 // com.oracle.svm.core.windows.headers.ErrHandlingAPI$EXCEPTION_RECORD exceptionRecord
         1: .line 89
            aload 1 /* exceptionRecord */
            invokeinterface com.oracle.svm.core.windows.headers.ErrHandlingAPI$EXCEPTION_RECORD.ExceptionCode:()I
            invokestatic com.oracle.svm.core.windows.headers.ErrHandlingAPI.EXCEPTION_ACCESS_VIOLATION:()I
            if_icmpeq 3
         2: .line 91
            invokestatic com.oracle.svm.core.windows.headers.ErrHandlingAPI.EXCEPTION_CONTINUE_SEARCH:()I
            ireturn
         3: .line 94
      StackMap locals: com.oracle.svm.core.windows.headers.ErrHandlingAPI$EXCEPTION_RECORD
      StackMap stack:
            aload 0 /* exceptionInfo */
            invokeinterface com.oracle.svm.core.windows.headers.ErrHandlingAPI$EXCEPTION_POINTERS.ContextRecord:()Lcom/oracle/svm/core/windows/headers/ErrHandlingAPI$CONTEXT;
            astore 2 /* context */
        start local 2 // com.oracle.svm.core.windows.headers.ErrHandlingAPI$CONTEXT context
         4: .line 95
            aload 2 /* context */
            invokestatic com.oracle.svm.core.windows.WindowsSubstrateSegfaultHandler.tryEnterIsolate:(Lcom/oracle/svm/core/RegisterDumper$Context;)Z
            ifeq 7
         5: .line 96
            aload 2 /* context */
            invokestatic com.oracle.svm.core.windows.WindowsSubstrateSegfaultHandler.dump:(Lcom/oracle/svm/core/RegisterDumper$Context;)V
         6: .line 97
            invokestatic com.oracle.svm.core.windows.WindowsSubstrateSegfaultHandler.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
         7: .line 100
      StackMap locals: com.oracle.svm.core.windows.headers.ErrHandlingAPI$CONTEXT
      StackMap stack:
            invokestatic com.oracle.svm.core.windows.headers.ErrHandlingAPI.EXCEPTION_CONTINUE_SEARCH:()I
            ireturn
        end local 2 // com.oracle.svm.core.windows.headers.ErrHandlingAPI$CONTEXT context
        end local 1 // com.oracle.svm.core.windows.headers.ErrHandlingAPI$EXCEPTION_RECORD exceptionRecord
        end local 0 // com.oracle.svm.core.windows.headers.ErrHandlingAPI$EXCEPTION_POINTERS exceptionInfo
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    8     0    exceptionInfo  Lcom/oracle/svm/core/windows/headers/ErrHandlingAPI$EXCEPTION_POINTERS;
            1    8     1  exceptionRecord  Lcom/oracle/svm/core/windows/headers/ErrHandlingAPI$EXCEPTION_RECORD;
            4    8     2          context  Lcom/oracle/svm/core/windows/headers/ErrHandlingAPI$CONTEXT;
    RuntimeVisibleAnnotations: 
      org.graalvm.nativeimage.c.function.CEntryPoint()
      com.oracle.svm.core.c.function.CEntryPointOptions(prologue = Lcom/oracle/svm/core/c/function/CEntryPointOptions$NoPrologue;, epilogue = Lcom/oracle/svm/core/c/function/CEntryPointOptions$NoEpilogue;, publishAs = com.oracle.svm.core.c.function.CEntryPointOptions$Publish.SymbolOnly:Lcom/oracle/svm/core/c/function/CEntryPointOptions$Publish;, include = Lcom/oracle/svm/core/c/function/CEntryPointOptions$NotIncludedAutomatically;)
      com.oracle.svm.core.annotate.Uninterruptible(reason = "Must be uninterruptible until we get immune to safepoints.")
      com.oracle.svm.core.annotate.RestrictHeapAccess(access = com.oracle.svm.core.annotate.RestrictHeapAccess$Access.NO_HEAP_ACCESS:Lcom/oracle/svm/core/annotate/RestrictHeapAccess$Access;, reason = "We have yet to enter the isolate.")
    MethodParameters:
               Name  Flags
      exceptionInfo  

  private static java.lang.RuntimeException shouldNotReachHere();
    descriptor: ()Ljava/lang/RuntimeException;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 106
            invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.Uninterruptible(reason = "Called from uninterruptible code.")
      com.oracle.svm.core.annotate.RestrictHeapAccess(access = com.oracle.svm.core.annotate.RestrictHeapAccess$Access.NO_ALLOCATION:Lcom/oracle/svm/core/annotate/RestrictHeapAccess$Access;, reason = "Must not allocate in segfault handler.", overridesCallers = true)
}
SourceFile: "WindowsSubstrateSegfaultHandler.java"
InnerClasses:
  public abstract Context = com.oracle.svm.core.RegisterDumper$Context of com.oracle.svm.core.RegisterDumper
  public final Access = com.oracle.svm.core.annotate.RestrictHeapAccess$Access of com.oracle.svm.core.annotate.RestrictHeapAccess
  public final Publish = com.oracle.svm.core.c.function.CEntryPointOptions$Publish of com.oracle.svm.core.c.function.CEntryPointOptions
  public abstract CONTEXT = com.oracle.svm.core.windows.headers.ErrHandlingAPI$CONTEXT of com.oracle.svm.core.windows.headers.ErrHandlingAPI
  public abstract EXCEPTION_POINTERS = com.oracle.svm.core.windows.headers.ErrHandlingAPI$EXCEPTION_POINTERS of com.oracle.svm.core.windows.headers.ErrHandlingAPI
  public abstract EXCEPTION_RECORD = com.oracle.svm.core.windows.headers.ErrHandlingAPI$EXCEPTION_RECORD of com.oracle.svm.core.windows.headers.ErrHandlingAPI