public class com.oracle.svm.hosted.NativeImageGeneratorRunner implements com.oracle.svm.hosted.ImageBuildTask
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.svm.hosted.NativeImageGeneratorRunner
  super_class: java.lang.Object
{
  private volatile com.oracle.svm.hosted.NativeImageGenerator generator;
    descriptor: Lcom/oracle/svm/hosted/NativeImageGenerator;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  public static final java.lang.String IMAGE_BUILDER_ARG_FILE_OPTION;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "--image-args-file="

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

  public static void main(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=9, args_size=1
        start local 0 // java.lang.String[] args
         0: .line 88
            new java.util.ArrayList
            dup
            aload 0 /* args */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 1 /* arguments */
        start local 1 // java.util.List arguments
         1: .line 89
            aload 1 /* arguments */
            invokestatic com.oracle.svm.hosted.NativeImageGeneratorRunner.extractDriverArguments:(Ljava/util/List;)Ljava/util/List;
            astore 1 /* arguments */
         2: .line 90
            aload 1 /* arguments */
            ldc "-imagecp"
            invokestatic com.oracle.svm.hosted.NativeImageGeneratorRunner.extractImagePathEntries:(Ljava/util/List;Ljava/lang/String;)[Ljava/lang/String;
            astore 2 /* classPath */
        start local 2 // java.lang.String[] classPath
         3: .line 91
            aload 1 /* arguments */
            invokestatic com.oracle.svm.hosted.NativeImageGeneratorRunner.extractWatchPID:(Ljava/util/List;)I
            istore 3 /* watchPID */
        start local 3 // int watchPID
         4: .line 92
            aconst_null
            astore 4 /* timerTask */
        start local 4 // java.util.TimerTask timerTask
         5: .line 93
            iload 3 /* watchPID */
            iflt 10
         6: .line 94
            invokestatic com.oracle.svm.core.OS.getCurrent:()Lcom/oracle/svm/core/OS;
            getfield com.oracle.svm.core.OS.hasProcFS:Z
            ldc "-watchpid <pid> requires system with /proc"
            invokestatic com.oracle.svm.core.util.VMError.guarantee:(ZLjava/lang/String;)V
         7: .line 95
            new com.oracle.svm.hosted.NativeImageGeneratorRunner$1
            dup
            iload 3 /* watchPID */
            invokespecial com.oracle.svm.hosted.NativeImageGeneratorRunner$1.<init>:(I)V
            astore 4 /* timerTask */
         8: .line 112
            new java.util.Timer
            dup
            ldc "native-image pid watcher"
            invokespecial java.util.Timer.<init>:(Ljava/lang/String;)V
            astore 5 /* timer */
        start local 5 // java.util.Timer timer
         9: .line 113
            aload 5 /* timer */
            aload 4 /* timerTask */
            lconst_0
            ldc 1000
            invokevirtual java.util.Timer.scheduleAtFixedRate:(Ljava/util/TimerTask;JJ)V
        end local 5 // java.util.Timer timer
        10: .line 116
      StackMap locals: java.lang.String[] java.util.List java.lang.String[] int java.util.TimerTask
      StackMap stack:
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
            astore 6 /* applicationClassLoader */
        start local 6 // java.lang.ClassLoader applicationClassLoader
        11: .line 118
            aload 2 /* classPath */
            iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.svm.hosted.NativeImageGeneratorRunner.installNativeImageClassLoader:([Ljava/lang/String;[Ljava/lang/String;)Lcom/oracle/svm/hosted/ImageClassLoader;
            astore 7 /* imageClassLoader */
        start local 7 // com.oracle.svm.hosted.ImageClassLoader imageClassLoader
        12: .line 119
            new com.oracle.svm.hosted.NativeImageGeneratorRunner
            dup
            invokespecial com.oracle.svm.hosted.NativeImageGeneratorRunner.<init>:()V
            aload 1 /* arguments */
            iconst_0
            anewarray java.lang.String
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            aload 7 /* imageClassLoader */
            invokevirtual com.oracle.svm.hosted.NativeImageGeneratorRunner.build:([Ljava/lang/String;Lcom/oracle/svm/hosted/ImageClassLoader;)I
            istore 5 /* exitStatus */
        end local 7 // com.oracle.svm.hosted.ImageClassLoader imageClassLoader
        start local 5 // int exitStatus
        13: .line 120
            goto 20
        end local 5 // int exitStatus
      StackMap locals: java.lang.String[] java.util.List java.lang.String[] int java.util.TimerTask top java.lang.ClassLoader
      StackMap stack: java.lang.Throwable
        14: astore 8
        15: .line 121
            invokestatic com.oracle.svm.hosted.NativeImageGeneratorRunner.uninstallNativeImageClassLoader:()V
        16: .line 122
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            aload 6 /* applicationClassLoader */
            invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
        17: .line 123
            aload 4 /* timerTask */
            ifnull 19
        18: .line 124
            aload 4 /* timerTask */
            invokevirtual java.util.TimerTask.cancel:()Z
            pop
        19: .line 126
      StackMap locals: java.lang.String[] java.util.List java.lang.String[] int java.util.TimerTask top java.lang.ClassLoader top java.lang.Throwable
      StackMap stack:
            aload 8
            athrow
        start local 5 // int exitStatus
        20: .line 121
      StackMap locals: java.lang.String[] java.util.List java.lang.String[] int java.util.TimerTask int java.lang.ClassLoader
      StackMap stack:
            invokestatic com.oracle.svm.hosted.NativeImageGeneratorRunner.uninstallNativeImageClassLoader:()V
        21: .line 122
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            aload 6 /* applicationClassLoader */
            invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
        22: .line 123
            aload 4 /* timerTask */
            ifnull 24
        23: .line 124
            aload 4 /* timerTask */
            invokevirtual java.util.TimerTask.cancel:()Z
            pop
        24: .line 127
      StackMap locals:
      StackMap stack:
            iload 5 /* exitStatus */
            invokestatic java.lang.System.exit:(I)V
        25: .line 128
            return
        end local 6 // java.lang.ClassLoader applicationClassLoader
        end local 5 // int exitStatus
        end local 4 // java.util.TimerTask timerTask
        end local 3 // int watchPID
        end local 2 // java.lang.String[] classPath
        end local 1 // java.util.List arguments
        end local 0 // java.lang.String[] args
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   26     0                    args  [Ljava/lang/String;
            1   26     1               arguments  Ljava/util/List<Ljava/lang/String;>;
            3   26     2               classPath  [Ljava/lang/String;
            4   26     3                watchPID  I
            5   26     4               timerTask  Ljava/util/TimerTask;
            9   10     5                   timer  Ljava/util/Timer;
           13   14     5              exitStatus  I
           20   26     5              exitStatus  I
           11   26     6  applicationClassLoader  Ljava/lang/ClassLoader;
           12   13     7        imageClassLoader  Lcom/oracle/svm/hosted/ImageClassLoader;
      Exception table:
        from    to  target  type
          11    14      14  any
    MethodParameters:
      Name  Flags
      args  

  public static void uninstallNativeImageClassLoader();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 131
            invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
            astore 0 /* loader */
        start local 0 // java.lang.ClassLoader loader
         1: .line 132
            aload 0 /* loader */
            instanceof com.oracle.svm.hosted.NativeImageSystemClassLoader
            ifeq 3
         2: .line 133
            aload 0 /* loader */
            checkcast com.oracle.svm.hosted.NativeImageSystemClassLoader
            aconst_null
            invokevirtual com.oracle.svm.hosted.NativeImageSystemClassLoader.setNativeImageClassLoader:(Ljava/lang/ClassLoader;)V
         3: .line 135
      StackMap locals: java.lang.ClassLoader
      StackMap stack:
            return
        end local 0 // java.lang.ClassLoader loader
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            1    4     0  loader  Ljava/lang/ClassLoader;

  public static com.oracle.svm.hosted.ImageClassLoader installNativeImageClassLoader(java.lang.String[], java.lang.String[]);
    descriptor: ([Ljava/lang/String;[Ljava/lang/String;)Lcom/oracle/svm/hosted/ImageClassLoader;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // java.lang.String[] classpath
        start local 1 // java.lang.String[] modulepath
         0: .line 153
            invokestatic com.oracle.svm.hosted.NativeImageSystemClassLoader.singleton:()Lcom/oracle/svm/hosted/NativeImageSystemClassLoader;
            astore 2 /* nativeImageSystemClassLoader */
        start local 2 // com.oracle.svm.hosted.NativeImageSystemClassLoader nativeImageSystemClassLoader
         1: .line 154
            new com.oracle.svm.hosted.NativeImageClassLoaderSupport
            dup
            aload 2 /* nativeImageSystemClassLoader */
            getfield com.oracle.svm.hosted.NativeImageSystemClassLoader.defaultSystemClassLoader:Ljava/lang/ClassLoader;
            aload 0 /* classpath */
            aload 1 /* modulepath */
            invokespecial com.oracle.svm.hosted.NativeImageClassLoaderSupport.<init>:(Ljava/lang/ClassLoader;[Ljava/lang/String;[Ljava/lang/String;)V
            astore 3 /* nativeImageClassLoaderSupport */
        start local 3 // com.oracle.svm.hosted.NativeImageClassLoaderSupport nativeImageClassLoaderSupport
         2: .line 155
            aload 3 /* nativeImageClassLoaderSupport */
            invokevirtual com.oracle.svm.hosted.NativeImageClassLoaderSupport.getClassLoader:()Ljava/lang/ClassLoader;
            astore 4 /* nativeImageClassLoader */
        start local 4 // java.lang.ClassLoader nativeImageClassLoader
         3: .line 156
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            aload 4 /* nativeImageClassLoader */
            invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
         4: .line 162
            aload 2 /* nativeImageSystemClassLoader */
            aload 4 /* nativeImageClassLoader */
            invokevirtual com.oracle.svm.hosted.NativeImageSystemClassLoader.setNativeImageClassLoader:(Ljava/lang/ClassLoader;)V
         5: .line 164
            getstatic org.graalvm.compiler.serviceprovider.JavaVersionUtil.JAVA_SPEC:I
            bipush 11
            if_icmplt 7
            aload 3 /* nativeImageClassLoaderSupport */
            getfield com.oracle.svm.hosted.NativeImageClassLoaderSupport.imagecp:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 7
         6: .line 165
            ldc Lorg/graalvm/compiler/serviceprovider/JavaVersionUtil;
            aconst_null
            invokestatic com.oracle.svm.util.ModuleSupport.openModule:(Ljava/lang/Class;Ljava/lang/Class;)V
         7: .line 174
      StackMap locals: com.oracle.svm.hosted.NativeImageSystemClassLoader com.oracle.svm.hosted.NativeImageClassLoaderSupport java.lang.ClassLoader
      StackMap stack:
            invokestatic com.oracle.svm.hosted.NativeImageGenerator.setSystemPropertiesForImageEarly:()V
         8: .line 176
            new com.oracle.svm.hosted.ImageClassLoader
            dup
            aload 4 /* nativeImageClassLoader */
            invokestatic com.oracle.svm.hosted.NativeImageGenerator.getTargetPlatform:(Ljava/lang/ClassLoader;)Lorg/graalvm/nativeimage/Platform;
            aload 3 /* nativeImageClassLoaderSupport */
            invokespecial com.oracle.svm.hosted.ImageClassLoader.<init>:(Lorg/graalvm/nativeimage/Platform;Lcom/oracle/svm/hosted/NativeImageClassLoaderSupport;)V
            areturn
        end local 4 // java.lang.ClassLoader nativeImageClassLoader
        end local 3 // com.oracle.svm.hosted.NativeImageClassLoaderSupport nativeImageClassLoaderSupport
        end local 2 // com.oracle.svm.hosted.NativeImageSystemClassLoader nativeImageSystemClassLoader
        end local 1 // java.lang.String[] modulepath
        end local 0 // java.lang.String[] classpath
      LocalVariableTable:
        Start  End  Slot                           Name  Signature
            0    9     0                      classpath  [Ljava/lang/String;
            0    9     1                     modulepath  [Ljava/lang/String;
            1    9     2   nativeImageSystemClassLoader  Lcom/oracle/svm/hosted/NativeImageSystemClassLoader;
            2    9     3  nativeImageClassLoaderSupport  Lcom/oracle/svm/hosted/NativeImageClassLoaderSupport;
            3    9     4         nativeImageClassLoader  Ljava/lang/ClassLoader;
    MethodParameters:
            Name  Flags
      classpath   
      modulepath  

  public static java.util.List<java.lang.String> extractDriverArguments(java.util.List<java.lang.String>);
    descriptor: (Ljava/util/List;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // java.util.List args
         0: .line 180
            aload 0 /* args */
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            invokedynamic test()Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  com/oracle/svm/hosted/NativeImageGeneratorRunner.lambda$0(Ljava/lang/String;)Z (6)
                  (Ljava/lang/String;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
            invokedynamic get()Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  java/util/ArrayList.<init>()V (8)
                  ()Ljava/util/ArrayList;
            invokestatic java.util.stream.Collectors.toCollection:(Ljava/util/function/Supplier;)Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.ArrayList
            astore 1 /* result */
        start local 1 // java.util.ArrayList result
         1: .line 181
            aload 0 /* args */
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            invokedynamic test()Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  com/oracle/svm/hosted/NativeImageGeneratorRunner.lambda$2(Ljava/lang/String;)Z (6)
                  (Ljava/lang/String;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.findFirst:()Ljava/util/Optional;
            astore 2 /* argsFile */
        start local 2 // java.util.Optional argsFile
         2: .line 183
            aload 2 /* argsFile */
            invokevirtual java.util.Optional.isPresent:()Z
            ifeq 9
         3: .line 184
            aload 2 /* argsFile */
            invokevirtual java.util.Optional.get:()Ljava/lang/Object;
            checkcast java.lang.String
            ldc "--image-args-file="
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 3 /* argFilePath */
        start local 3 // java.lang.String argFilePath
         4: .line 186
            new java.lang.String
            dup
            aload 3 /* argFilePath */
            iconst_0
            anewarray java.lang.String
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            invokestatic java.nio.file.Files.readAllBytes:(Ljava/nio/file/Path;)[B
            invokespecial java.lang.String.<init>:([B)V
            astore 4 /* options */
        start local 4 // java.lang.String options
         5: .line 187
            aload 1 /* result */
            aload 4 /* options */
            ldc "\u0000"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokevirtual java.util.ArrayList.addAll:(Ljava/util/Collection;)Z
            pop
        end local 4 // java.lang.String options
         6: .line 188
            goto 9
      StackMap locals: java.util.List java.util.ArrayList java.util.Optional java.lang.String
      StackMap stack: java.io.IOException
         7: astore 4 /* e */
        start local 4 // java.io.IOException e
         8: .line 189
            ldc "Exception occurred during image builder argument file processing."
            aload 4 /* e */
            invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 4 // java.io.IOException e
        end local 3 // java.lang.String argFilePath
         9: .line 192
      StackMap locals:
      StackMap stack:
            aload 1 /* result */
            areturn
        end local 2 // java.util.Optional argsFile
        end local 1 // java.util.ArrayList result
        end local 0 // java.util.List args
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         args  Ljava/util/List<Ljava/lang/String;>;
            1   10     1       result  Ljava/util/ArrayList<Ljava/lang/String;>;
            2   10     2     argsFile  Ljava/util/Optional<Ljava/lang/String;>;
            4    9     3  argFilePath  Ljava/lang/String;
            5    6     4      options  Ljava/lang/String;
            8    9     4            e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           4     6       7  Class java.io.IOException
    Signature: (Ljava/util/List<Ljava/lang/String;>;)Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
      Name  Flags
      args  

  public static java.lang.String[] extractImagePathEntries(java.util.List<java.lang.String>, java.lang.String);
    descriptor: (Ljava/util/List;Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // java.util.List arguments
        start local 1 // java.lang.String pathPrefix
         0: .line 196
            aload 0 /* arguments */
            aload 1 /* pathPrefix */
            invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
            istore 2 /* cpArgIndex */
        start local 2 // int cpArgIndex
         1: .line 197
            new java.lang.StringBuilder
            dup
            ldc " '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* pathPrefix */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " <Path entries separated by File.pathSeparator>' argument."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* msgTail */
        start local 3 // java.lang.String msgTail
         2: .line 198
            iload 2 /* cpArgIndex */
            iconst_m1
            if_icmpne 4
         3: .line 199
            iconst_0
            anewarray java.lang.String
            areturn
         4: .line 201
      StackMap locals: int java.lang.String
      StackMap stack:
            aload 0 /* arguments */
            iload 2 /* cpArgIndex */
            invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
            pop
         5: .line 203
            aload 0 /* arguments */
            iload 2 /* cpArgIndex */
            invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* imageClasspath */
        start local 4 // java.lang.String imageClasspath
         6: .line 204
            aload 4 /* imageClasspath */
            getstatic java.io.File.pathSeparator:Ljava/lang/String;
            ldc 2147483647
            invokevirtual java.lang.String.split:(Ljava/lang/String;I)[Ljava/lang/String;
         7: areturn
        end local 4 // java.lang.String imageClasspath
         8: .line 205
      StackMap locals:
      StackMap stack: java.lang.IndexOutOfBoundsException
            pop
         9: .line 206
            ldc "Missing path entries for %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* msgTail */
            aastore
            invokestatic com.oracle.svm.core.util.UserError.abort:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
            athrow
        end local 3 // java.lang.String msgTail
        end local 2 // int cpArgIndex
        end local 1 // java.lang.String pathPrefix
        end local 0 // java.util.List arguments
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   10     0       arguments  Ljava/util/List<Ljava/lang/String;>;
            0   10     1      pathPrefix  Ljava/lang/String;
            1   10     2      cpArgIndex  I
            2   10     3         msgTail  Ljava/lang/String;
            6    8     4  imageClasspath  Ljava/lang/String;
      Exception table:
        from    to  target  type
           5     7       8  Class java.lang.IndexOutOfBoundsException
    Signature: (Ljava/util/List<Ljava/lang/String;>;Ljava/lang/String;)[Ljava/lang/String;
    MethodParameters:
            Name  Flags
      arguments   
      pathPrefix  

  public static int extractWatchPID(java.util.List<java.lang.String>);
    descriptor: (Ljava/util/List;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // java.util.List arguments
         0: .line 211
            aload 0 /* arguments */
            ldc "-watchpid"
            invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
            istore 1 /* cpIndex */
        start local 1 // int cpIndex
         1: .line 212
            iload 1 /* cpIndex */
            iflt 8
         2: .line 213
            iload 1 /* cpIndex */
            iconst_1
            iadd
            aload 0 /* arguments */
            invokeinterface java.util.List.size:()I
            if_icmplt 4
         3: .line 214
            ldc "ProcessID must be provided after the '%s' argument."
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "-watchpid"
            aastore
            invokestatic com.oracle.svm.core.util.UserError.abort:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
            athrow
         4: .line 216
      StackMap locals: int
      StackMap stack:
            aload 0 /* arguments */
            iload 1 /* cpIndex */
            invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
            pop
         5: .line 217
            aload 0 /* arguments */
            iload 1 /* cpIndex */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* pidStr */
        start local 2 // java.lang.String pidStr
         6: .line 218
            aload 0 /* arguments */
            iload 1 /* cpIndex */
            invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
            pop
         7: .line 219
            aload 2 /* pidStr */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            ireturn
        end local 2 // java.lang.String pidStr
         8: .line 221
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        end local 1 // int cpIndex
        end local 0 // java.util.List arguments
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0  arguments  Ljava/util/List<Ljava/lang/String;>;
            1    9     1    cpIndex  I
            6    8     2     pidStr  Ljava/lang/String;
    Signature: (Ljava/util/List<Ljava/lang/String;>;)I
    MethodParameters:
           Name  Flags
      arguments  

  public static boolean isValidJavaVersion();
    descriptor: ()Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 226
            ldc "substratevm.IgnoreGraalVersionCheck"
            invokestatic java.lang.Boolean.getBoolean:(Ljava/lang/String;)Z
            ifne 1
            getstatic org.graalvm.compiler.serviceprovider.JavaVersionUtil.JAVA_SPEC:I
            bipush 8
            if_icmple 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void reportToolUserError(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String msg
         0: .line 230
            new java.lang.StringBuilder
            dup
            ldc "native-image "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* msg */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.oracle.svm.hosted.NativeImageGeneratorRunner.reportUserError:(Ljava/lang/String;)V
         1: .line 231
            return
        end local 0 // java.lang.String msg
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   msg  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      msg   

  private static boolean isValidArchitecture();
    descriptor: ()Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=0
         0: .line 234
            invokestatic com.oracle.svm.hosted.c.GraalAccess.getOriginalTarget:()Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
            astore 0 /* originalTargetArch */
        start local 0 // jdk.vm.ci.code.Architecture originalTargetArch
         1: .line 235
            aload 0 /* originalTargetArch */
            instanceof jdk.vm.ci.amd64.AMD64
            ifne 2
            aload 0 /* originalTargetArch */
            instanceof jdk.vm.ci.aarch64.AArch64
            ifne 2
            iconst_0
            ireturn
      StackMap locals: jdk.vm.ci.code.Architecture
      StackMap stack:
         2: iconst_1
            ireturn
        end local 0 // jdk.vm.ci.code.Architecture originalTargetArch
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            1    3     0  originalTargetArch  Ljdk/vm/ci/code/Architecture;

  private static boolean isValidOperatingSystem();
    descriptor: ()Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 239
            invokestatic com.oracle.svm.core.OS.getCurrent:()Lcom/oracle/svm/core/OS;
            astore 0 /* currentOs */
        start local 0 // com.oracle.svm.core.OS currentOs
         1: .line 240
            aload 0 /* currentOs */
            getstatic com.oracle.svm.core.OS.LINUX:Lcom/oracle/svm/core/OS;
            if_acmpeq 2
            aload 0 /* currentOs */
            getstatic com.oracle.svm.core.OS.DARWIN:Lcom/oracle/svm/core/OS;
            if_acmpeq 2
            aload 0 /* currentOs */
            getstatic com.oracle.svm.core.OS.WINDOWS:Lcom/oracle/svm/core/OS;
            if_acmpeq 2
            iconst_0
            ireturn
      StackMap locals: com.oracle.svm.core.OS
      StackMap stack:
         2: iconst_1
            ireturn
        end local 0 // com.oracle.svm.core.OS currentOs
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            1    3     0  currentOs  Lcom/oracle/svm/core/OS;

  private int buildImage(java.lang.String[], com.oracle.svm.hosted.ImageClassLoader);
    descriptor: ([Ljava/lang/String;Lcom/oracle/svm/hosted/ImageClassLoader;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=28, args_size=3
        start local 0 // com.oracle.svm.hosted.NativeImageGeneratorRunner this
        start local 1 // java.lang.String[] arguments
        start local 2 // com.oracle.svm.hosted.ImageClassLoader classLoader
         0: .line 245
            invokestatic com.oracle.svm.hosted.NativeImageGeneratorRunner.verifyValidJavaVersionAndPlatform:()Z
            ifne 2
         1: .line 246
            iconst_1
            ireturn
         2: .line 248
      StackMap locals:
      StackMap stack:
            new com.oracle.graal.pointsto.util.Timer
            dup
            ldc "[total]"
            iconst_0
            invokespecial com.oracle.graal.pointsto.util.Timer.<init>:(Ljava/lang/String;Z)V
            astore 3 /* totalTimer */
        start local 3 // com.oracle.graal.pointsto.util.Timer totalTimer
         3: .line 249
            aconst_null
            astore 4 /* analysisExecutor */
        start local 4 // java.util.concurrent.ForkJoinPool analysisExecutor
         4: .line 250
            aconst_null
            astore 5 /* compilationExecutor */
        start local 5 // java.util.concurrent.ForkJoinPool compilationExecutor
         5: .line 251
            aconst_null
            astore 6 /* parsedHostedOptions */
        start local 6 // org.graalvm.compiler.options.OptionValues parsedHostedOptions
         6: .line 252
            aconst_null
            astore 7
            aconst_null
            astore 8
         7: aload 3 /* totalTimer */
            invokevirtual com.oracle.graal.pointsto.util.Timer.start:()Lcom/oracle/graal/pointsto/util/Timer$StopTimer;
            astore 9 /* ignored */
        start local 9 // com.oracle.graal.pointsto.util.Timer$StopTimer ignored
         8: .line 253
            new com.oracle.graal.pointsto.util.Timer
            dup
            ldc "classlist"
            iconst_0
            invokespecial com.oracle.graal.pointsto.util.Timer.<init>:(Ljava/lang/String;Z)V
            astore 10 /* classlistTimer */
        start local 10 // com.oracle.graal.pointsto.util.Timer classlistTimer
         9: .line 254
            aconst_null
            astore 11
            aconst_null
            astore 12
        10: aload 10 /* classlistTimer */
            invokevirtual com.oracle.graal.pointsto.util.Timer.start:()Lcom/oracle/graal/pointsto/util/Timer$StopTimer;
            astore 13 /* ignored1 */
        start local 13 // com.oracle.graal.pointsto.util.Timer$StopTimer ignored1
        11: .line 255
            aload 2 /* classLoader */
            invokevirtual com.oracle.svm.hosted.ImageClassLoader.initAllClasses:()V
        12: .line 256
            aload 13 /* ignored1 */
            ifnull 18
            aload 13 /* ignored1 */
            invokevirtual com.oracle.graal.pointsto.util.Timer$StopTimer.close:()V
            goto 18
      StackMap locals: com.oracle.svm.hosted.NativeImageGeneratorRunner java.lang.String[] com.oracle.svm.hosted.ImageClassLoader com.oracle.graal.pointsto.util.Timer java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool org.graalvm.compiler.options.OptionValues java.lang.Throwable java.lang.Throwable com.oracle.graal.pointsto.util.Timer$StopTimer com.oracle.graal.pointsto.util.Timer java.lang.Throwable java.lang.Throwable com.oracle.graal.pointsto.util.Timer$StopTimer
      StackMap stack: java.lang.Throwable
        13: astore 11
            aload 13 /* ignored1 */
            ifnull 14
            aload 13 /* ignored1 */
            invokevirtual com.oracle.graal.pointsto.util.Timer$StopTimer.close:()V
        end local 13 // com.oracle.graal.pointsto.util.Timer$StopTimer ignored1
      StackMap locals:
      StackMap stack:
        14: aload 11
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        15: astore 12
            aload 11
            ifnonnull 16
            aload 12
            astore 11
            goto 17
      StackMap locals:
      StackMap stack:
        16: aload 11
            aload 12
            if_acmpeq 17
            aload 11
            aload 12
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        17: aload 11
            athrow
        18: .line 258
      StackMap locals:
      StackMap stack:
            new com.oracle.svm.hosted.option.HostedOptionParser
            dup
            aload 2 /* classLoader */
            invokespecial com.oracle.svm.hosted.option.HostedOptionParser.<init>:(Lcom/oracle/svm/hosted/ImageClassLoader;)V
            astore 11 /* optionParser */
        start local 11 // com.oracle.svm.hosted.option.HostedOptionParser optionParser
        19: .line 259
            aload 11 /* optionParser */
            aload 1 /* arguments */
            invokevirtual com.oracle.svm.hosted.option.HostedOptionParser.parse:([Ljava/lang/String;)[Ljava/lang/String;
            astore 12 /* remainingArgs */
        start local 12 // java.lang.String[] remainingArgs
        20: .line 260
            aload 12 /* remainingArgs */
            arraylength
            ifle 22
        21: .line 261
            ldc "Unknown options: %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 12 /* remainingArgs */
            invokestatic java.util.Arrays.toString:([Ljava/lang/Object;)Ljava/lang/String;
            aastore
            invokestatic com.oracle.svm.core.util.UserError.abort:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
            athrow
        22: .line 268
      StackMap locals: com.oracle.svm.hosted.option.HostedOptionParser java.lang.String[]
      StackMap stack:
            new org.graalvm.compiler.options.OptionValues
            dup
            aload 11 /* optionParser */
            invokevirtual com.oracle.svm.hosted.option.HostedOptionParser.getHostedValues:()Lorg/graalvm/collections/EconomicMap;
            invokespecial org.graalvm.compiler.options.OptionValues.<init>:(Lorg/graalvm/collections/UnmodifiableEconomicMap;)V
            astore 6 /* parsedHostedOptions */
        23: .line 269
            new org.graalvm.compiler.debug.DebugContext$Builder
            dup
            aload 6 /* parsedHostedOptions */
            new org.graalvm.compiler.printer.GraalDebugHandlersFactory
            dup
            invokestatic com.oracle.svm.hosted.c.GraalAccess.getOriginalSnippetReflection:()Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
            invokespecial org.graalvm.compiler.printer.GraalDebugHandlersFactory.<init>:(Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;)V
            invokespecial org.graalvm.compiler.debug.DebugContext$Builder.<init>:(Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/debug/DebugHandlersFactory;)V
            invokevirtual org.graalvm.compiler.debug.DebugContext$Builder.build:()Lorg/graalvm/compiler/debug/DebugContext;
            astore 13 /* debug */
        start local 13 // org.graalvm.compiler.debug.DebugContext debug
        24: .line 271
            getstatic com.oracle.svm.core.SubstrateOptions.Name:Lcom/oracle/svm/core/option/HostedOptionKey;
            aload 6 /* parsedHostedOptions */
            invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 14 /* imageName */
        start local 14 // java.lang.String imageName
        25: .line 272
            aload 14 /* imageName */
            invokevirtual java.lang.String.length:()I
            ifne 27
        26: .line 273
            ldc "No output file name specified. Use '%s'."
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            getstatic com.oracle.svm.core.SubstrateOptions.Name:Lcom/oracle/svm/core/option/HostedOptionKey;
            ldc "<output-file>"
            invokestatic com.oracle.svm.core.option.SubstrateOptionsParser.commandArgument:(Lorg/graalvm/compiler/options/OptionKey;Ljava/lang/String;)Ljava/lang/String;
            aastore
            invokestatic com.oracle.svm.core.util.UserError.abort:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
            athrow
        27: .line 276
      StackMap locals: org.graalvm.compiler.debug.DebugContext java.lang.String
      StackMap stack:
            aload 3 /* totalTimer */
            aload 14 /* imageName */
            invokevirtual com.oracle.graal.pointsto.util.Timer.setPrefix:(Ljava/lang/String;)V
        28: .line 277
            aload 10 /* classlistTimer */
            aload 14 /* imageName */
            invokevirtual com.oracle.graal.pointsto.util.Timer.setPrefix:(Ljava/lang/String;)V
        29: .line 280
            aload 10 /* classlistTimer */
            invokevirtual com.oracle.graal.pointsto.util.Timer.print:()V
        30: .line 282
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 15 /* entryPoints */
        start local 15 // java.util.Map entryPoints
        31: .line 283
            invokestatic org.graalvm.collections.Pair.empty:()Lorg/graalvm/collections/Pair;
            astore 16 /* mainEntryPointData */
        start local 16 // org.graalvm.collections.Pair mainEntryPointData
        32: .line 284
            aconst_null
            astore 17 /* javaMainSupport */
        start local 17 // com.oracle.svm.core.JavaMainWrapper$JavaMainSupport javaMainSupport
        33: .line 287
            getstatic com.oracle.svm.core.SubstrateOptions.StaticExecutable:Lcom/oracle/svm/core/option/HostedOptionKey;
            aload 6 /* parsedHostedOptions */
            invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            istore 19 /* isStaticExecutable */
        start local 19 // boolean isStaticExecutable
        34: .line 288
            getstatic com.oracle.svm.core.SubstrateOptions.SharedLibrary:Lcom/oracle/svm/core/option/HostedOptionKey;
            aload 6 /* parsedHostedOptions */
            invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            istore 20 /* isSharedLibrary */
        start local 20 // boolean isSharedLibrary
        35: .line 289
            iload 19 /* isStaticExecutable */
            ifeq 39
            iload 20 /* isSharedLibrary */
            ifeq 39
        36: .line 290
            ldc "Cannot pass both option: %s and %s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            getstatic com.oracle.svm.core.SubstrateOptions.SharedLibrary:Lcom/oracle/svm/core/option/HostedOptionKey;
            ldc "+"
            invokestatic com.oracle.svm.core.option.SubstrateOptionsParser.commandArgument:(Lorg/graalvm/compiler/options/OptionKey;Ljava/lang/String;)Ljava/lang/String;
            aastore
            dup
            iconst_1
        37: .line 291
            getstatic com.oracle.svm.core.SubstrateOptions.StaticExecutable:Lcom/oracle/svm/core/option/HostedOptionKey;
            ldc "+"
            invokestatic com.oracle.svm.core.option.SubstrateOptionsParser.commandArgument:(Lorg/graalvm/compiler/options/OptionKey;Ljava/lang/String;)Ljava/lang/String;
            aastore
        38: .line 290
            invokestatic com.oracle.svm.core.util.UserError.abort:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
            athrow
        39: .line 292
      StackMap locals: com.oracle.svm.hosted.NativeImageGeneratorRunner java.lang.String[] com.oracle.svm.hosted.ImageClassLoader com.oracle.graal.pointsto.util.Timer java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool org.graalvm.compiler.options.OptionValues java.lang.Throwable java.lang.Throwable com.oracle.graal.pointsto.util.Timer$StopTimer com.oracle.graal.pointsto.util.Timer com.oracle.svm.hosted.option.HostedOptionParser java.lang.String[] org.graalvm.compiler.debug.DebugContext java.lang.String java.util.Map org.graalvm.collections.Pair com.oracle.svm.core.JavaMainWrapper$JavaMainSupport top int int
      StackMap stack:
            iload 20 /* isSharedLibrary */
            ifeq 42
        40: .line 293
            getstatic com.oracle.svm.hosted.image.AbstractBootImage$NativeImageKind.SHARED_LIBRARY:Lcom/oracle/svm/hosted/image/AbstractBootImage$NativeImageKind;
            astore 18 /* imageKind */
        start local 18 // com.oracle.svm.hosted.image.AbstractBootImage$NativeImageKind imageKind
        41: .line 294
            goto 46
        end local 18 // com.oracle.svm.hosted.image.AbstractBootImage$NativeImageKind imageKind
      StackMap locals:
      StackMap stack:
        42: iload 19 /* isStaticExecutable */
            ifeq 45
        43: .line 295
            getstatic com.oracle.svm.hosted.image.AbstractBootImage$NativeImageKind.STATIC_EXECUTABLE:Lcom/oracle/svm/hosted/image/AbstractBootImage$NativeImageKind;
            astore 18 /* imageKind */
        start local 18 // com.oracle.svm.hosted.image.AbstractBootImage$NativeImageKind imageKind
        44: .line 296
            goto 46
        end local 18 // com.oracle.svm.hosted.image.AbstractBootImage$NativeImageKind imageKind
        45: .line 297
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.svm.hosted.image.AbstractBootImage$NativeImageKind.EXECUTABLE:Lcom/oracle/svm/hosted/image/AbstractBootImage$NativeImageKind;
            astore 18 /* imageKind */
        start local 18 // com.oracle.svm.hosted.image.AbstractBootImage$NativeImageKind imageKind
        46: .line 300
      StackMap locals: com.oracle.svm.hosted.NativeImageGeneratorRunner java.lang.String[] com.oracle.svm.hosted.ImageClassLoader com.oracle.graal.pointsto.util.Timer java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool org.graalvm.compiler.options.OptionValues java.lang.Throwable java.lang.Throwable com.oracle.graal.pointsto.util.Timer$StopTimer com.oracle.graal.pointsto.util.Timer com.oracle.svm.hosted.option.HostedOptionParser java.lang.String[] org.graalvm.compiler.debug.DebugContext java.lang.String java.util.Map org.graalvm.collections.Pair com.oracle.svm.core.JavaMainWrapper$JavaMainSupport com.oracle.svm.hosted.image.AbstractBootImage$NativeImageKind int int
      StackMap stack:
            getstatic com.oracle.svm.core.SubstrateOptions.Class:Lcom/oracle/svm/core/option/HostedOptionKey;
            aload 6 /* parsedHostedOptions */
            invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 21 /* className */
        start local 21 // java.lang.String className
        47: .line 301
            aload 18 /* imageKind */
            getfield com.oracle.svm.hosted.image.AbstractBootImage$NativeImageKind.isExecutable:Z
            ifeq 51
            aload 21 /* className */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 51
        48: .line 302
            ldc "Must specify main entry point class when building %s native image. Use '%s'."
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 18 /* imageKind */
            aastore
            dup
            iconst_1
        49: .line 303
            getstatic com.oracle.svm.core.SubstrateOptions.Class:Lcom/oracle/svm/core/option/HostedOptionKey;
            ldc "<fully-qualified-class-name>"
            invokestatic com.oracle.svm.core.option.SubstrateOptionsParser.commandArgument:(Lorg/graalvm/compiler/options/OptionKey;Ljava/lang/String;)Ljava/lang/String;
            aastore
        50: .line 302
            invokestatic com.oracle.svm.core.util.UserError.abort:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
            athrow
        51: .line 306
      StackMap locals: java.lang.String
      StackMap stack:
            aload 21 /* className */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 91
        52: .line 310
            aconst_null
            astore 24 /* jpmsModule */
        start local 24 // java.lang.Object jpmsModule
        53: .line 311
            aload 2 /* classLoader */
            aload 24 /* jpmsModule */
            aload 21 /* className */
            invokevirtual com.oracle.svm.hosted.ImageClassLoader.loadClassFromModule:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Class;
            astore 23 /* mainClass */
        end local 24 // java.lang.Object jpmsModule
        start local 23 // java.lang.Class mainClass
        54: .line 312
            goto 57
        end local 23 // java.lang.Class mainClass
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
        55: pop
        56: .line 313
            ldc "Main entry point class '%s' not found."
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 21 /* className */
            aastore
            invokestatic com.oracle.svm.core.util.UserError.abort:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
            athrow
        start local 23 // java.lang.Class mainClass
        57: .line 315
      StackMap locals: com.oracle.svm.hosted.NativeImageGeneratorRunner java.lang.String[] com.oracle.svm.hosted.ImageClassLoader com.oracle.graal.pointsto.util.Timer java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool org.graalvm.compiler.options.OptionValues java.lang.Throwable java.lang.Throwable com.oracle.graal.pointsto.util.Timer$StopTimer com.oracle.graal.pointsto.util.Timer com.oracle.svm.hosted.option.HostedOptionParser java.lang.String[] org.graalvm.compiler.debug.DebugContext java.lang.String java.util.Map org.graalvm.collections.Pair com.oracle.svm.core.JavaMainWrapper$JavaMainSupport com.oracle.svm.hosted.image.AbstractBootImage$NativeImageKind int int java.lang.String top java.lang.Class
      StackMap stack:
            getstatic com.oracle.svm.core.SubstrateOptions.Method:Lcom/oracle/svm/core/option/HostedOptionKey;
            aload 6 /* parsedHostedOptions */
            invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 24 /* mainEntryPointName */
        start local 24 // java.lang.String mainEntryPointName
        58: .line 316
            aload 24 /* mainEntryPointName */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 62
        59: .line 317
            ldc "Must specify main entry point method when building %s native image. Use '%s'."
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 18 /* imageKind */
            aastore
            dup
            iconst_1
        60: .line 318
            getstatic com.oracle.svm.core.SubstrateOptions.Method:Lcom/oracle/svm/core/option/HostedOptionKey;
            ldc "<method-name>"
            invokestatic com.oracle.svm.core.option.SubstrateOptionsParser.commandArgument:(Lorg/graalvm/compiler/options/OptionKey;Ljava/lang/String;)Ljava/lang/String;
            aastore
        61: .line 317
            invokestatic com.oracle.svm.core.util.UserError.abort:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
            athrow
        62: .line 322
      StackMap locals: java.lang.String
      StackMap stack:
            aload 23 /* mainClass */
            aload 24 /* mainEntryPointName */
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_1
            ldc Lorg/graalvm/nativeimage/c/type/CCharPointerPointer;
            aastore
            invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 22 /* mainEntryPoint */
        start local 22 // java.lang.reflect.Method mainEntryPoint
        63: .line 323
            goto 84
        end local 22 // java.lang.reflect.Method mainEntryPoint
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
        64: pop
        65: .line 330
            aload 23 /* mainClass */
            aload 24 /* mainEntryPointName */
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc [Ljava/lang/String;
            aastore
            invokestatic com.oracle.svm.util.ReflectionUtil.lookupMethod:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 25 /* javaMainMethod */
        start local 25 // java.lang.reflect.Method javaMainMethod
        66: .line 331
            goto 75
        end local 25 // java.lang.reflect.Method javaMainMethod
      StackMap locals:
      StackMap stack: com.oracle.svm.util.ReflectionUtil$ReflectionUtilError
        67: astore 26 /* ex */
        start local 26 // com.oracle.svm.util.ReflectionUtil$ReflectionUtilError ex
        68: .line 332
            aload 26 /* ex */
            invokevirtual com.oracle.svm.util.ReflectionUtil$ReflectionUtilError.getCause:()Ljava/lang/Throwable;
        69: .line 333
            ldc "Method '%s.%s' is declared as the main entry point but it can not be found. Make sure that class '%s' is on the classpath and that method '%s(String[])' exists in that class."
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
        70: .line 335
            aload 23 /* mainClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
        71: .line 336
            aload 24 /* mainEntryPointName */
            aastore
            dup
            iconst_2
        72: .line 337
            aload 23 /* mainClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_3
        73: .line 338
            aload 24 /* mainEntryPointName */
            aastore
        74: .line 332
            invokestatic com.oracle.svm.core.util.UserError.abort:(Ljava/lang/Throwable;Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
            athrow
        end local 26 // com.oracle.svm.util.ReflectionUtil$ReflectionUtilError ex
        start local 25 // java.lang.reflect.Method javaMainMethod
        75: .line 341
      StackMap locals: java.lang.reflect.Method
      StackMap stack:
            aload 25 /* javaMainMethod */
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            if_acmpeq 77
        76: .line 342
            ldc "Java main method '%s.%s(String[])' does not have the return type 'void'."
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 23 /* mainClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 24 /* mainEntryPointName */
            aastore
            invokestatic com.oracle.svm.core.util.UserError.abort:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
            athrow
        77: .line 344
      StackMap locals:
      StackMap stack:
            aload 25 /* javaMainMethod */
            invokevirtual java.lang.reflect.Method.getModifiers:()I
            istore 26 /* mainMethodModifiers */
        start local 26 // int mainMethodModifiers
        78: .line 345
            iload 26 /* mainMethodModifiers */
            invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
            ifne 80
        79: .line 346
            ldc "Java main method '%s.%s(String[])' is not static."
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 23 /* mainClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 24 /* mainEntryPointName */
            aastore
            invokestatic com.oracle.svm.core.util.UserError.abort:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
            athrow
        80: .line 348
      StackMap locals: int
      StackMap stack:
            iload 26 /* mainMethodModifiers */
            invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
            ifne 82
        81: .line 349
            ldc "Java main method '%s.%s(String[])' is not public."
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 23 /* mainClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 24 /* mainEntryPointName */
            aastore
            invokestatic com.oracle.svm.core.util.UserError.abort:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
            athrow
        82: .line 351
      StackMap locals:
      StackMap stack:
            new com.oracle.svm.core.JavaMainWrapper$JavaMainSupport
            dup
            aload 25 /* javaMainMethod */
            invokespecial com.oracle.svm.core.JavaMainWrapper$JavaMainSupport.<init>:(Ljava/lang/reflect/Method;)V
            astore 17 /* javaMainSupport */
        83: .line 352
            ldc Lcom/oracle/svm/core/JavaMainWrapper;
            ldc "run"
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_1
            ldc Lorg/graalvm/nativeimage/c/type/CCharPointerPointer;
            aastore
            invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 22 /* mainEntryPoint */
        end local 26 // int mainMethodModifiers
        end local 25 // java.lang.reflect.Method javaMainMethod
        start local 22 // java.lang.reflect.Method mainEntryPoint
        84: .line 354
      StackMap locals: com.oracle.svm.hosted.NativeImageGeneratorRunner java.lang.String[] com.oracle.svm.hosted.ImageClassLoader com.oracle.graal.pointsto.util.Timer java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool org.graalvm.compiler.options.OptionValues java.lang.Throwable java.lang.Throwable com.oracle.graal.pointsto.util.Timer$StopTimer com.oracle.graal.pointsto.util.Timer com.oracle.svm.hosted.option.HostedOptionParser java.lang.String[] org.graalvm.compiler.debug.DebugContext java.lang.String java.util.Map org.graalvm.collections.Pair com.oracle.svm.core.JavaMainWrapper$JavaMainSupport com.oracle.svm.hosted.image.AbstractBootImage$NativeImageKind int int java.lang.String java.lang.reflect.Method java.lang.Class java.lang.String
      StackMap stack:
            aload 22 /* mainEntryPoint */
            ldc Lorg/graalvm/nativeimage/c/function/CEntryPoint;
            invokevirtual java.lang.reflect.Method.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.graalvm.nativeimage.c.function.CEntryPoint
            astore 25 /* annotation */
        start local 25 // org.graalvm.nativeimage.c.function.CEntryPoint annotation
        85: .line 355
            aload 25 /* annotation */
            ifnonnull 87
        86: .line 356
            ldc "Entry point must have the '@%s' annotation"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            ldc Lorg/graalvm/nativeimage/c/function/CEntryPoint;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.svm.core.util.UserError.abort:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
            athrow
        87: .line 359
      StackMap locals: org.graalvm.nativeimage.c.function.CEntryPoint
      StackMap stack:
            aload 22 /* mainEntryPoint */
            invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
            astore 26 /* pt */
        start local 26 // java.lang.Class[] pt
        88: .line 360
            aload 26 /* pt */
            arraylength
            iconst_2
            if_icmpne 89
            aload 26 /* pt */
            iconst_0
            aaload
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            if_acmpne 89
            aload 26 /* pt */
            iconst_1
            aaload
            ldc Lorg/graalvm/nativeimage/c/type/CCharPointerPointer;
            if_acmpne 89
            aload 22 /* mainEntryPoint */
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            if_acmpeq 90
        89: .line 361
      StackMap locals: java.lang.Class[]
      StackMap stack:
            ldc "Main entry point must have signature 'int main(int argc, CCharPointerPointer argv)'."
            iconst_0
            anewarray java.lang.Object
            invokestatic com.oracle.svm.core.util.UserError.abort:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
            athrow
        90: .line 363
      StackMap locals:
      StackMap stack:
            aload 22 /* mainEntryPoint */
            aload 22 /* mainEntryPoint */
            aload 18 /* imageKind */
            getfield com.oracle.svm.hosted.image.AbstractBootImage$NativeImageKind.mainEntryPointName:Ljava/lang/String;
            invokestatic com.oracle.svm.hosted.code.CEntryPointData.create:(Ljava/lang/reflect/Method;Ljava/lang/String;)Lcom/oracle/svm/hosted/code/CEntryPointData;
            invokestatic org.graalvm.collections.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/collections/Pair;
            astore 16 /* mainEntryPointData */
        end local 26 // java.lang.Class[] pt
        end local 25 // org.graalvm.nativeimage.c.function.CEntryPoint annotation
        end local 24 // java.lang.String mainEntryPointName
        end local 23 // java.lang.Class mainClass
        end local 22 // java.lang.reflect.Method mainEntryPoint
        91: .line 366
      StackMap locals: com.oracle.svm.hosted.NativeImageGeneratorRunner java.lang.String[] com.oracle.svm.hosted.ImageClassLoader com.oracle.graal.pointsto.util.Timer java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool org.graalvm.compiler.options.OptionValues java.lang.Throwable java.lang.Throwable com.oracle.graal.pointsto.util.Timer$StopTimer com.oracle.graal.pointsto.util.Timer com.oracle.svm.hosted.option.HostedOptionParser java.lang.String[] org.graalvm.compiler.debug.DebugContext java.lang.String java.util.Map org.graalvm.collections.Pair com.oracle.svm.core.JavaMainWrapper$JavaMainSupport com.oracle.svm.hosted.image.AbstractBootImage$NativeImageKind int int java.lang.String
      StackMap stack:
            aload 6 /* parsedHostedOptions */
            invokestatic com.oracle.svm.hosted.NativeImageOptions.getMaximumNumberOfConcurrentThreads:(Lorg/graalvm/compiler/options/OptionValues;)I
            istore 22 /* maxConcurrentThreads */
        start local 22 // int maxConcurrentThreads
        92: .line 367
            aload 13 /* debug */
            aload 6 /* parsedHostedOptions */
            invokestatic com.oracle.svm.hosted.NativeImageOptions.getMaximumNumberOfAnalysisThreads:(Lorg/graalvm/compiler/options/OptionValues;)I
            invokestatic com.oracle.svm.hosted.analysis.Inflation.createExecutor:(Lorg/graalvm/compiler/debug/DebugContext;I)Ljava/util/concurrent/ForkJoinPool;
            astore 4 /* analysisExecutor */
        93: .line 368
            aload 13 /* debug */
            iload 22 /* maxConcurrentThreads */
            invokestatic com.oracle.svm.hosted.analysis.Inflation.createExecutor:(Lorg/graalvm/compiler/debug/DebugContext;I)Ljava/util/concurrent/ForkJoinPool;
            astore 5 /* compilationExecutor */
        94: .line 369
            aload 0 /* this */
            new com.oracle.svm.hosted.NativeImageGenerator
            dup
            aload 2 /* classLoader */
            aload 11 /* optionParser */
            aload 16 /* mainEntryPointData */
            invokespecial com.oracle.svm.hosted.NativeImageGenerator.<init>:(Lcom/oracle/svm/hosted/ImageClassLoader;Lcom/oracle/svm/hosted/option/HostedOptionProvider;Lorg/graalvm/collections/Pair;)V
            putfield com.oracle.svm.hosted.NativeImageGeneratorRunner.generator:Lcom/oracle/svm/hosted/NativeImageGenerator;
        95: .line 370
            aload 0 /* this */
            getfield com.oracle.svm.hosted.NativeImageGeneratorRunner.generator:Lcom/oracle/svm/hosted/NativeImageGenerator;
            aload 15 /* entryPoints */
            aload 17 /* javaMainSupport */
            aload 14 /* imageName */
            aload 18 /* imageKind */
            getstatic com.oracle.graal.pointsto.infrastructure.SubstitutionProcessor.IDENTITY:Lcom/oracle/graal/pointsto/infrastructure/SubstitutionProcessor;
        96: .line 371
            aload 5 /* compilationExecutor */
            aload 4 /* analysisExecutor */
            aload 11 /* optionParser */
            invokevirtual com.oracle.svm.hosted.option.HostedOptionParser.getRuntimeOptionNames:()Lorg/graalvm/collections/EconomicSet;
        97: .line 370
            invokevirtual com.oracle.svm.hosted.NativeImageGenerator.run:(Ljava/util/Map;Lcom/oracle/svm/core/JavaMainWrapper$JavaMainSupport;Ljava/lang/String;Lcom/oracle/svm/hosted/image/AbstractBootImage$NativeImageKind;Lcom/oracle/graal/pointsto/infrastructure/SubstitutionProcessor;Ljava/util/concurrent/ForkJoinPool;Ljava/util/concurrent/ForkJoinPool;Lorg/graalvm/collections/EconomicSet;)V
        end local 22 // int maxConcurrentThreads
        end local 21 // java.lang.String className
        end local 20 // boolean isSharedLibrary
        end local 19 // boolean isStaticExecutable
        end local 18 // com.oracle.svm.hosted.image.AbstractBootImage$NativeImageKind imageKind
        end local 17 // com.oracle.svm.core.JavaMainWrapper$JavaMainSupport javaMainSupport
        end local 16 // org.graalvm.collections.Pair mainEntryPointData
        end local 15 // java.util.Map entryPoints
        end local 14 // java.lang.String imageName
        end local 13 // org.graalvm.compiler.debug.DebugContext debug
        end local 12 // java.lang.String[] remainingArgs
        end local 11 // com.oracle.svm.hosted.option.HostedOptionParser optionParser
        end local 10 // com.oracle.graal.pointsto.util.Timer classlistTimer
        98: .line 372
            aload 9 /* ignored */
            ifnull 171
            aload 9 /* ignored */
            invokevirtual com.oracle.graal.pointsto.util.Timer$StopTimer.close:()V
            goto 171
      StackMap locals: com.oracle.svm.hosted.NativeImageGeneratorRunner java.lang.String[] com.oracle.svm.hosted.ImageClassLoader com.oracle.graal.pointsto.util.Timer java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool org.graalvm.compiler.options.OptionValues java.lang.Throwable java.lang.Throwable com.oracle.graal.pointsto.util.Timer$StopTimer
      StackMap stack: java.lang.Throwable
        99: astore 7
            aload 9 /* ignored */
            ifnull 100
            aload 9 /* ignored */
            invokevirtual com.oracle.graal.pointsto.util.Timer$StopTimer.close:()V
        end local 9 // com.oracle.graal.pointsto.util.Timer$StopTimer ignored
      StackMap locals:
      StackMap stack:
       100: aload 7
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
       101: astore 8
            aload 7
            ifnonnull 102
            aload 8
            astore 7
            goto 103
      StackMap locals:
      StackMap stack:
       102: aload 7
            aload 8
            if_acmpeq 103
            aload 7
            aload 8
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       103: aload 7
            athrow
      StackMap locals: com.oracle.svm.hosted.NativeImageGeneratorRunner java.lang.String[] com.oracle.svm.hosted.ImageClassLoader com.oracle.graal.pointsto.util.Timer java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool org.graalvm.compiler.options.OptionValues
      StackMap stack: com.oracle.svm.core.util.InterruptImageBuilding
       104: astore 7 /* e */
        start local 7 // com.oracle.svm.core.util.InterruptImageBuilding e
       105: .line 373
            aload 4 /* analysisExecutor */
            ifnull 107
       106: .line 374
            aload 4 /* analysisExecutor */
            invokevirtual java.util.concurrent.ForkJoinPool.shutdownNow:()Ljava/util/List;
            pop
       107: .line 376
      StackMap locals: com.oracle.svm.core.util.InterruptImageBuilding
      StackMap stack:
            aload 5 /* compilationExecutor */
            ifnull 109
       108: .line 377
            aload 5 /* compilationExecutor */
            invokevirtual java.util.concurrent.ForkJoinPool.shutdownNow:()Ljava/util/List;
            pop
       109: .line 379
      StackMap locals:
      StackMap stack:
            aload 7 /* e */
            invokevirtual com.oracle.svm.core.util.InterruptImageBuilding.getReason:()Ljava/util/Optional;
            invokevirtual java.util.Optional.isPresent:()Z
            ifeq 114
       110: .line 380
            aload 7 /* e */
            invokevirtual com.oracle.svm.core.util.InterruptImageBuilding.getReason:()Ljava/util/Optional;
            invokevirtual java.util.Optional.get:()Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic com.oracle.svm.hosted.NativeImageGeneratorRunner.info:(Ljava/lang/String;)V
       111: .line 425
            invokestatic com.oracle.svm.hosted.NativeImageGenerator.clearSystemPropertiesForImage:()V
       112: .line 426
            invokestatic com.oracle.svm.hosted.ImageSingletonsSupportImpl$HostedManagement.clearInThread:()V
       113: .line 381
            iconst_0
            ireturn
       114: .line 425
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.svm.hosted.NativeImageGenerator.clearSystemPropertiesForImage:()V
       115: .line 426
            invokestatic com.oracle.svm.hosted.ImageSingletonsSupportImpl$HostedManagement.clearInThread:()V
       116: .line 384
            iconst_3
            ireturn
        end local 7 // com.oracle.svm.core.util.InterruptImageBuilding e
       117: .line 386
      StackMap locals: com.oracle.svm.hosted.NativeImageGeneratorRunner java.lang.String[] com.oracle.svm.hosted.ImageClassLoader com.oracle.graal.pointsto.util.Timer java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool org.graalvm.compiler.options.OptionValues
      StackMap stack: com.oracle.svm.hosted.FallbackFeature$FallbackImageRequest
            astore 7 /* e */
        start local 7 // com.oracle.svm.hosted.FallbackFeature$FallbackImageRequest e
       118: .line 387
            ldc Lcom/oracle/svm/core/FallbackExecutor;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            getstatic com.oracle.svm.core.SubstrateOptions.Class:Lcom/oracle/svm/core/option/HostedOptionKey;
            invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 123
       119: .line 388
            aload 7 /* e */
            ldc "FallbackImageRequest while building fallback image."
            invokestatic com.oracle.svm.hosted.NativeImageGeneratorRunner.reportFatalError:(Ljava/lang/Throwable;Ljava/lang/String;)V
       120: .line 425
            invokestatic com.oracle.svm.hosted.NativeImageGenerator.clearSystemPropertiesForImage:()V
       121: .line 426
            invokestatic com.oracle.svm.hosted.ImageSingletonsSupportImpl$HostedManagement.clearInThread:()V
       122: .line 389
            iconst_1
            ireturn
       123: .line 391
      StackMap locals: com.oracle.svm.hosted.FallbackFeature$FallbackImageRequest
      StackMap stack:
            aload 7 /* e */
            aload 6 /* parsedHostedOptions */
            invokedynamic accept()Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  com/oracle/svm/hosted/NativeImageGeneratorRunner.warn(Ljava/lang/String;)V (6)
                  (Ljava/lang/String;)V
            invokestatic com.oracle.svm.hosted.NativeImageGeneratorRunner.reportUserException:(Ljava/lang/Throwable;Lorg/graalvm/compiler/options/OptionValues;Ljava/util/function/Consumer;)V
       124: .line 425
            invokestatic com.oracle.svm.hosted.NativeImageGenerator.clearSystemPropertiesForImage:()V
       125: .line 426
            invokestatic com.oracle.svm.hosted.ImageSingletonsSupportImpl$HostedManagement.clearInThread:()V
       126: .line 392
            iconst_2
            ireturn
        end local 7 // com.oracle.svm.hosted.FallbackFeature$FallbackImageRequest e
       127: .line 393
      StackMap locals: com.oracle.svm.hosted.NativeImageGeneratorRunner java.lang.String[] com.oracle.svm.hosted.ImageClassLoader com.oracle.graal.pointsto.util.Timer java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool org.graalvm.compiler.options.OptionValues
      StackMap stack: com.oracle.graal.pointsto.util.AnalysisError$ParsingError
            astore 7 /* e */
        start local 7 // com.oracle.graal.pointsto.util.AnalysisError$ParsingError e
       128: .line 394
            aload 7 /* e */
            invokestatic com.oracle.svm.hosted.NativeImageGeneratorRunner.reportFatalError:(Ljava/lang/Throwable;)V
       129: .line 425
            invokestatic com.oracle.svm.hosted.NativeImageGenerator.clearSystemPropertiesForImage:()V
       130: .line 426
            invokestatic com.oracle.svm.hosted.ImageSingletonsSupportImpl$HostedManagement.clearInThread:()V
       131: .line 395
            iconst_1
            ireturn
        end local 7 // com.oracle.graal.pointsto.util.AnalysisError$ParsingError e
       132: .line 396
      StackMap locals:
      StackMap stack: java.lang.Error
            astore 7 /* e */
        start local 7 // java.lang.Error e
       133: .line 397
            aload 7 /* e */
            aload 6 /* parsedHostedOptions */
            invokestatic com.oracle.svm.hosted.NativeImageGeneratorRunner.reportUserError:(Ljava/lang/Throwable;Lorg/graalvm/compiler/options/OptionValues;)V
       134: .line 425
            invokestatic com.oracle.svm.hosted.NativeImageGenerator.clearSystemPropertiesForImage:()V
       135: .line 426
            invokestatic com.oracle.svm.hosted.ImageSingletonsSupportImpl$HostedManagement.clearInThread:()V
       136: .line 398
            iconst_1
            ireturn
        end local 7 // java.lang.Error e
       137: .line 399
      StackMap locals:
      StackMap stack: com.oracle.graal.pointsto.util.ParallelExecutionException
            astore 7 /* pee */
        start local 7 // com.oracle.graal.pointsto.util.ParallelExecutionException pee
       138: .line 400
            iconst_0
            istore 8 /* hasUserError */
        start local 8 // boolean hasUserError
       139: .line 401
            aload 7 /* pee */
            invokevirtual com.oracle.graal.pointsto.util.ParallelExecutionException.getExceptions:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 148
      StackMap locals: com.oracle.svm.hosted.NativeImageGeneratorRunner java.lang.String[] com.oracle.svm.hosted.ImageClassLoader com.oracle.graal.pointsto.util.Timer java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool org.graalvm.compiler.options.OptionValues com.oracle.graal.pointsto.util.ParallelExecutionException int top java.util.Iterator
      StackMap stack:
       140: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Throwable
            astore 9 /* exception */
        start local 9 // java.lang.Throwable exception
       141: .line 402
            aload 9 /* exception */
            instanceof com.oracle.svm.core.util.UserError$UserException
            ifeq 145
       142: .line 403
            aload 9 /* exception */
            aload 6 /* parsedHostedOptions */
            invokestatic com.oracle.svm.hosted.NativeImageGeneratorRunner.reportUserError:(Ljava/lang/Throwable;Lorg/graalvm/compiler/options/OptionValues;)V
       143: .line 404
            iconst_1
            istore 8 /* hasUserError */
       144: .line 405
            goto 148
      StackMap locals: com.oracle.svm.hosted.NativeImageGeneratorRunner java.lang.String[] com.oracle.svm.hosted.ImageClassLoader com.oracle.graal.pointsto.util.Timer java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool org.graalvm.compiler.options.OptionValues com.oracle.graal.pointsto.util.ParallelExecutionException int java.lang.Throwable java.util.Iterator
      StackMap stack:
       145: aload 9 /* exception */
            instanceof com.oracle.graal.pointsto.util.AnalysisError
            ifeq 148
            aload 9 /* exception */
            instanceof com.oracle.graal.pointsto.util.AnalysisError$ParsingError
            ifne 148
       146: .line 406
            aload 9 /* exception */
            aload 6 /* parsedHostedOptions */
            invokestatic com.oracle.svm.hosted.NativeImageGeneratorRunner.reportUserError:(Ljava/lang/Throwable;Lorg/graalvm/compiler/options/OptionValues;)V
       147: .line 407
            iconst_1
            istore 8 /* hasUserError */
        end local 9 // java.lang.Throwable exception
       148: .line 401
      StackMap locals: com.oracle.svm.hosted.NativeImageGeneratorRunner java.lang.String[] com.oracle.svm.hosted.ImageClassLoader com.oracle.graal.pointsto.util.Timer java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool org.graalvm.compiler.options.OptionValues com.oracle.graal.pointsto.util.ParallelExecutionException int top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 140
       149: .line 410
            iload 8 /* hasUserError */
            ifeq 153
       150: .line 425
            invokestatic com.oracle.svm.hosted.NativeImageGenerator.clearSystemPropertiesForImage:()V
       151: .line 426
            invokestatic com.oracle.svm.hosted.ImageSingletonsSupportImpl$HostedManagement.clearInThread:()V
       152: .line 411
            iconst_1
            ireturn
       153: .line 414
      StackMap locals: com.oracle.svm.hosted.NativeImageGeneratorRunner java.lang.String[] com.oracle.svm.hosted.ImageClassLoader com.oracle.graal.pointsto.util.Timer java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool org.graalvm.compiler.options.OptionValues com.oracle.graal.pointsto.util.ParallelExecutionException int
      StackMap stack:
            aload 7 /* pee */
            invokevirtual com.oracle.graal.pointsto.util.ParallelExecutionException.getExceptions:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmple 155
       154: .line 415
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            aload 7 /* pee */
            invokevirtual com.oracle.graal.pointsto.util.ParallelExecutionException.getExceptions:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " fatal errors detected:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       155: .line 417
      StackMap locals:
      StackMap stack:
            aload 7 /* pee */
            invokevirtual com.oracle.graal.pointsto.util.ParallelExecutionException.getExceptions:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 158
      StackMap locals: com.oracle.svm.hosted.NativeImageGeneratorRunner java.lang.String[] com.oracle.svm.hosted.ImageClassLoader com.oracle.graal.pointsto.util.Timer java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool org.graalvm.compiler.options.OptionValues com.oracle.graal.pointsto.util.ParallelExecutionException int top java.util.Iterator
      StackMap stack:
       156: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Throwable
            astore 9 /* exception */
        start local 9 // java.lang.Throwable exception
       157: .line 418
            aload 9 /* exception */
            invokestatic com.oracle.svm.hosted.NativeImageGeneratorRunner.reportFatalError:(Ljava/lang/Throwable;)V
        end local 9 // java.lang.Throwable exception
       158: .line 417
      StackMap locals:
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 156
       159: .line 425
            invokestatic com.oracle.svm.hosted.NativeImageGenerator.clearSystemPropertiesForImage:()V
       160: .line 426
            invokestatic com.oracle.svm.hosted.ImageSingletonsSupportImpl$HostedManagement.clearInThread:()V
       161: .line 420
            iconst_1
            ireturn
        end local 8 // boolean hasUserError
        end local 7 // com.oracle.graal.pointsto.util.ParallelExecutionException pee
       162: .line 421
      StackMap locals: com.oracle.svm.hosted.NativeImageGeneratorRunner java.lang.String[] com.oracle.svm.hosted.ImageClassLoader com.oracle.graal.pointsto.util.Timer java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinPool org.graalvm.compiler.options.OptionValues
      StackMap stack: java.lang.Throwable
            astore 7 /* e */
        start local 7 // java.lang.Throwable e
       163: .line 422
            aload 7 /* e */
            invokestatic com.oracle.svm.hosted.NativeImageGeneratorRunner.reportFatalError:(Ljava/lang/Throwable;)V
       164: .line 425
            invokestatic com.oracle.svm.hosted.NativeImageGenerator.clearSystemPropertiesForImage:()V
       165: .line 426
            invokestatic com.oracle.svm.hosted.ImageSingletonsSupportImpl$HostedManagement.clearInThread:()V
       166: .line 423
            iconst_1
            ireturn
        end local 7 // java.lang.Throwable e
       167: .line 424
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 27
       168: .line 425
            invokestatic com.oracle.svm.hosted.NativeImageGenerator.clearSystemPropertiesForImage:()V
       169: .line 426
            invokestatic com.oracle.svm.hosted.ImageSingletonsSupportImpl$HostedManagement.clearInThread:()V
       170: .line 427
            aload 27
            athrow
       171: .line 425
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.svm.hosted.NativeImageGenerator.clearSystemPropertiesForImage:()V
       172: .line 426
            invokestatic com.oracle.svm.hosted.ImageSingletonsSupportImpl$HostedManagement.clearInThread:()V
       173: .line 428
            aload 3 /* totalTimer */
            invokevirtual com.oracle.graal.pointsto.util.Timer.print:()V
       174: .line 429
            iconst_0
            ireturn
        end local 6 // org.graalvm.compiler.options.OptionValues parsedHostedOptions
        end local 5 // java.util.concurrent.ForkJoinPool compilationExecutor
        end local 4 // java.util.concurrent.ForkJoinPool analysisExecutor
        end local 3 // com.oracle.graal.pointsto.util.Timer totalTimer
        end local 2 // com.oracle.svm.hosted.ImageClassLoader classLoader
        end local 1 // java.lang.String[] arguments
        end local 0 // com.oracle.svm.hosted.NativeImageGeneratorRunner this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0  175     0                  this  Lcom/oracle/svm/hosted/NativeImageGeneratorRunner;
            0  175     1             arguments  [Ljava/lang/String;
            0  175     2           classLoader  Lcom/oracle/svm/hosted/ImageClassLoader;
            3  175     3            totalTimer  Lcom/oracle/graal/pointsto/util/Timer;
            4  175     4      analysisExecutor  Ljava/util/concurrent/ForkJoinPool;
            5  175     5   compilationExecutor  Ljava/util/concurrent/ForkJoinPool;
            6  175     6   parsedHostedOptions  Lorg/graalvm/compiler/options/OptionValues;
            8  100     9               ignored  Lcom/oracle/graal/pointsto/util/Timer$StopTimer;
            9   98    10        classlistTimer  Lcom/oracle/graal/pointsto/util/Timer;
           11   14    13              ignored1  Lcom/oracle/graal/pointsto/util/Timer$StopTimer;
           19   98    11          optionParser  Lcom/oracle/svm/hosted/option/HostedOptionParser;
           20   98    12         remainingArgs  [Ljava/lang/String;
           24   98    13                 debug  Lorg/graalvm/compiler/debug/DebugContext;
           25   98    14             imageName  Ljava/lang/String;
           31   98    15           entryPoints  Ljava/util/Map<Ljava/lang/reflect/Method;Lcom/oracle/svm/hosted/code/CEntryPointData;>;
           32   98    16    mainEntryPointData  Lorg/graalvm/collections/Pair<Ljava/lang/reflect/Method;Lcom/oracle/svm/hosted/code/CEntryPointData;>;
           33   98    17       javaMainSupport  Lcom/oracle/svm/core/JavaMainWrapper$JavaMainSupport;
           41   42    18             imageKind  Lcom/oracle/svm/hosted/image/AbstractBootImage$NativeImageKind;
           44   45    18             imageKind  Lcom/oracle/svm/hosted/image/AbstractBootImage$NativeImageKind;
           46   98    18             imageKind  Lcom/oracle/svm/hosted/image/AbstractBootImage$NativeImageKind;
           34   98    19    isStaticExecutable  Z
           35   98    20       isSharedLibrary  Z
           47   98    21             className  Ljava/lang/String;
           63   64    22        mainEntryPoint  Ljava/lang/reflect/Method;
           84   91    22        mainEntryPoint  Ljava/lang/reflect/Method;
           54   55    23             mainClass  Ljava/lang/Class<*>;
           57   91    23             mainClass  Ljava/lang/Class<*>;
           53   54    24            jpmsModule  Ljava/lang/Object;
           58   91    24    mainEntryPointName  Ljava/lang/String;
           66   67    25        javaMainMethod  Ljava/lang/reflect/Method;
           75   84    25        javaMainMethod  Ljava/lang/reflect/Method;
           68   75    26                    ex  Lcom/oracle/svm/util/ReflectionUtil$ReflectionUtilError;
           78   84    26   mainMethodModifiers  I
           85   91    25            annotation  Lorg/graalvm/nativeimage/c/function/CEntryPoint;
           88   91    26                    pt  [Ljava/lang/Class;
           92   98    22  maxConcurrentThreads  I
          105  117     7                     e  Lcom/oracle/svm/core/util/InterruptImageBuilding;
          118  127     7                     e  Lcom/oracle/svm/hosted/FallbackFeature$FallbackImageRequest;
          128  132     7                     e  Lcom/oracle/graal/pointsto/util/AnalysisError$ParsingError;
          133  137     7                     e  Ljava/lang/Error;
          138  162     7                   pee  Lcom/oracle/graal/pointsto/util/ParallelExecutionException;
          139  162     8          hasUserError  Z
          141  148     9             exception  Ljava/lang/Throwable;
          157  158     9             exception  Ljava/lang/Throwable;
          163  167     7                     e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          11    12      13  any
          10    15      15  any
          52    54      55  Class java.lang.ClassNotFoundException
          62    63      64  Class java.lang.NoSuchMethodException
          65    66      67  Class com.oracle.svm.util.ReflectionUtil$ReflectionUtilError
           8    98      99  any
           7   101     101  any
           6   104     104  Class com.oracle.svm.core.util.InterruptImageBuilding
           6   104     117  Class com.oracle.svm.hosted.FallbackFeature$FallbackImageRequest
           6   104     127  Class com.oracle.graal.pointsto.util.AnalysisError$ParsingError
           6   104     132  Class com.oracle.svm.core.util.UserError$UserException
           6   104     132  Class com.oracle.graal.pointsto.util.AnalysisError
           6   104     137  Class com.oracle.graal.pointsto.util.ParallelExecutionException
           6   104     162  Class java.lang.Throwable
           6   111     167  any
         117   120     167  any
         123   124     167  any
         127   129     167  any
         132   134     167  any
         137   150     167  any
         153   159     167  any
         162   164     167  any
    MethodParameters:
             Name  Flags
      arguments    
      classLoader  

  public static boolean verifyValidJavaVersionAndPlatform();
    descriptor: ()Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 433
            invokestatic com.oracle.svm.hosted.NativeImageGeneratorRunner.isValidJavaVersion:()Z
            ifne 3
         1: .line 434
            new java.lang.StringBuilder
            dup
            ldc "supports only Java 1.8 with an update version 40+. Detected Java version is: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            invokestatic com.oracle.svm.hosted.NativeImageGeneratorRunner.getJavaVersion:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.oracle.svm.hosted.NativeImageGeneratorRunner.reportToolUserError:(Ljava/lang/String;)V
         2: .line 435
            iconst_0
            ireturn
         3: .line 437
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.svm.hosted.NativeImageGeneratorRunner.isValidArchitecture:()Z
            ifne 5
         4: .line 438
            new java.lang.StringBuilder
            dup
            ldc "runs only on architecture AMD64. Detected architecture: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            invokestatic com.oracle.svm.hosted.c.GraalAccess.getOriginalTarget:()Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.oracle.svm.hosted.NativeImageGeneratorRunner.reportToolUserError:(Ljava/lang/String;)V
         5: .line 440
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.svm.hosted.NativeImageGeneratorRunner.isValidOperatingSystem:()Z
            ifne 8
         6: .line 441
            new java.lang.StringBuilder
            dup
            ldc "runs on Linux, Mac OS X and Windows only. Detected OS: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "os.name"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.oracle.svm.hosted.NativeImageGeneratorRunner.reportToolUserError:(Ljava/lang/String;)V
         7: .line 442
            iconst_0
            ireturn
         8: .line 445
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.lang.String getJavaVersion();
    descriptor: ()Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 449
            ldc "java.version"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void reportFatalError(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Throwable e
         0: .line 458
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc "Fatal error:"
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
         1: .line 459
            aload 0 /* e */
            invokevirtual java.lang.Throwable.printStackTrace:()V
         2: .line 460
            return
        end local 0 // java.lang.Throwable e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     e  Ljava/lang/Throwable;
    MethodParameters:
      Name  Flags
      e     

  private static void reportFatalError(java.lang.Throwable, java.lang.String);
    descriptor: (Ljava/lang/Throwable;Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.Throwable e
        start local 1 // java.lang.String msg
         0: .line 469
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Fatal error: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* msg */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
         1: .line 470
            aload 0 /* e */
            invokevirtual java.lang.Throwable.printStackTrace:()V
         2: .line 471
            return
        end local 1 // java.lang.String msg
        end local 0 // java.lang.Throwable e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     e  Ljava/lang/Throwable;
            0    3     1   msg  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      e     
      msg   

  public static void reportUserError(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.lang.String msg
         0: .line 479
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Error: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* msg */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         1: .line 480
            return
        end local 0 // java.lang.String msg
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   msg  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      msg   

  public static void reportUserError(java.lang.Throwable, org.graalvm.compiler.options.OptionValues);
    descriptor: (Ljava/lang/Throwable;Lorg/graalvm/compiler/options/OptionValues;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.Throwable e
        start local 1 // org.graalvm.compiler.options.OptionValues parsedHostedOptions
         0: .line 489
            aload 0 /* e */
            aload 1 /* parsedHostedOptions */
            invokedynamic accept()Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  com/oracle/svm/hosted/NativeImageGeneratorRunner.reportUserError(Ljava/lang/String;)V (6)
                  (Ljava/lang/String;)V
            invokestatic com.oracle.svm.hosted.NativeImageGeneratorRunner.reportUserException:(Ljava/lang/Throwable;Lorg/graalvm/compiler/options/OptionValues;Ljava/util/function/Consumer;)V
         1: .line 490
            return
        end local 1 // org.graalvm.compiler.options.OptionValues parsedHostedOptions
        end local 0 // java.lang.Throwable e
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    2     0                    e  Ljava/lang/Throwable;
            0    2     1  parsedHostedOptions  Lorg/graalvm/compiler/options/OptionValues;
    MethodParameters:
                     Name  Flags
      e                    
      parsedHostedOptions  

  private static void reportUserException(java.lang.Throwable, org.graalvm.compiler.options.OptionValues, java.util.function.Consumer<java.lang.String>);
    descriptor: (Ljava/lang/Throwable;Lorg/graalvm/compiler/options/OptionValues;Ljava/util/function/Consumer;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // java.lang.Throwable e
        start local 1 // org.graalvm.compiler.options.OptionValues parsedHostedOptions
        start local 2 // java.util.function.Consumer report
         0: .line 493
            aload 0 /* e */
            instanceof com.oracle.svm.core.util.UserError$UserException
            ifeq 7
         1: .line 494
            aload 0 /* e */
            checkcast com.oracle.svm.core.util.UserError$UserException
            astore 3 /* ue */
        start local 3 // com.oracle.svm.core.util.UserError$UserException ue
         2: .line 495
            aload 3 /* ue */
            invokevirtual com.oracle.svm.core.util.UserError$UserException.getMessages:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 5
            goto 5
      StackMap locals: java.lang.Throwable org.graalvm.compiler.options.OptionValues java.util.function.Consumer com.oracle.svm.core.util.UserError$UserException top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* message */
        start local 4 // java.lang.String message
         4: .line 496
            aload 2 /* report */
            aload 4 /* message */
            invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
        end local 4 // java.lang.String message
         5: .line 495
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        end local 3 // com.oracle.svm.core.util.UserError$UserException ue
         6: .line 498
            goto 8
         7: .line 499
      StackMap locals: java.lang.Throwable org.graalvm.compiler.options.OptionValues java.util.function.Consumer
      StackMap stack:
            aload 2 /* report */
            aload 0 /* e */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
         8: .line 501
      StackMap locals:
      StackMap stack:
            aload 1 /* parsedHostedOptions */
            ifnull 11
            getstatic com.oracle.svm.hosted.NativeImageOptions.ReportExceptionStackTraces:Lcom/oracle/svm/core/option/HostedOptionKey;
            aload 1 /* parsedHostedOptions */
            invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 11
         9: .line 502
            aload 0 /* e */
            invokevirtual java.lang.Throwable.printStackTrace:()V
        10: .line 503
            goto 14
        11: .line 504
      StackMap locals:
      StackMap stack:
            aload 2 /* report */
            new java.lang.StringBuilder
            dup
            ldc "Use "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic com.oracle.svm.hosted.NativeImageOptions.ReportExceptionStackTraces:Lcom/oracle/svm/core/option/HostedOptionKey;
            ldc "+"
            invokestatic com.oracle.svm.core.option.SubstrateOptionsParser.commandArgument:(Lorg/graalvm/compiler/options/OptionKey;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        12: .line 505
            ldc " to print stacktrace of underlying exception"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        13: .line 504
            invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
        14: .line 507
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.util.function.Consumer report
        end local 1 // org.graalvm.compiler.options.OptionValues parsedHostedOptions
        end local 0 // java.lang.Throwable e
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   15     0                    e  Ljava/lang/Throwable;
            0   15     1  parsedHostedOptions  Lorg/graalvm/compiler/options/OptionValues;
            0   15     2               report  Ljava/util/function/Consumer<Ljava/lang/String;>;
            2    6     3                   ue  Lcom/oracle/svm/core/util/UserError$UserException;
            4    5     4              message  Ljava/lang/String;
    Signature: (Ljava/lang/Throwable;Lorg/graalvm/compiler/options/OptionValues;Ljava/util/function/Consumer<Ljava/lang/String;>;)V
    MethodParameters:
                     Name  Flags
      e                    
      parsedHostedOptions  
      report               

  private static void info(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.lang.String msg
         0: .line 515
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Info: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* msg */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         1: .line 516
            return
        end local 0 // java.lang.String msg
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   msg  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      msg   

  private static void warn(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.lang.String msg
         0: .line 524
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Warning: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* msg */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         1: .line 525
            return
        end local 0 // java.lang.String msg
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   msg  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      msg   

  public int build(java.lang.String[], com.oracle.svm.hosted.ImageClassLoader);
    descriptor: ([Ljava/lang/String;Lcom/oracle/svm/hosted/ImageClassLoader;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.svm.hosted.NativeImageGeneratorRunner this
        start local 1 // java.lang.String[] args
        start local 2 // com.oracle.svm.hosted.ImageClassLoader imageClassLoader
         0: .line 529
            aload 0 /* this */
            aload 1 /* args */
            aload 2 /* imageClassLoader */
            invokevirtual com.oracle.svm.hosted.NativeImageGeneratorRunner.buildImage:([Ljava/lang/String;Lcom/oracle/svm/hosted/ImageClassLoader;)I
            ireturn
        end local 2 // com.oracle.svm.hosted.ImageClassLoader imageClassLoader
        end local 1 // java.lang.String[] args
        end local 0 // com.oracle.svm.hosted.NativeImageGeneratorRunner this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Lcom/oracle/svm/hosted/NativeImageGeneratorRunner;
            0    1     1              args  [Ljava/lang/String;
            0    1     2  imageClassLoader  Lcom/oracle/svm/hosted/ImageClassLoader;
    MethodParameters:
                  Name  Flags
      args              
      imageClassLoader  

  public void interruptBuild();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // com.oracle.svm.hosted.NativeImageGeneratorRunner this
         0: .line 534
            aload 0 /* this */
            getfield com.oracle.svm.hosted.NativeImageGeneratorRunner.generator:Lcom/oracle/svm/hosted/NativeImageGenerator;
            astore 1 /* generatorInstance */
        start local 1 // com.oracle.svm.hosted.NativeImageGenerator generatorInstance
         1: .line 535
            aload 1 /* generatorInstance */
            ifnull 3
         2: .line 536
            aload 1 /* generatorInstance */
            invokevirtual com.oracle.svm.hosted.NativeImageGenerator.interruptBuild:()V
         3: .line 538
      StackMap locals: com.oracle.svm.hosted.NativeImageGenerator
      StackMap stack:
            return
        end local 1 // com.oracle.svm.hosted.NativeImageGenerator generatorInstance
        end local 0 // com.oracle.svm.hosted.NativeImageGeneratorRunner this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    4     0               this  Lcom/oracle/svm/hosted/NativeImageGeneratorRunner;
            1    4     1  generatorInstance  Lcom/oracle/svm/hosted/NativeImageGenerator;

  private static boolean lambda$0(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String arg
         0: .line 180
            aload 0 /* arg */
            ldc "--image-args-file="
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // java.lang.String arg
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   arg  Ljava/lang/String;

  private static boolean lambda$2(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String arg
         0: .line 181
            aload 0 /* arg */
            ldc "--image-args-file="
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ireturn
        end local 0 // java.lang.String arg
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   arg  Ljava/lang/String;
}
SourceFile: "NativeImageGeneratorRunner.java"
NestMembers:
  com.oracle.svm.hosted.NativeImageGeneratorRunner$1  com.oracle.svm.hosted.NativeImageGeneratorRunner$JDK9Plus
InnerClasses:
  public ParsingError = com.oracle.graal.pointsto.util.AnalysisError$ParsingError of com.oracle.graal.pointsto.util.AnalysisError
  public StopTimer = com.oracle.graal.pointsto.util.Timer$StopTimer of com.oracle.graal.pointsto.util.Timer
  public JavaMainSupport = com.oracle.svm.core.JavaMainWrapper$JavaMainSupport of com.oracle.svm.core.JavaMainWrapper
  public UserException = com.oracle.svm.core.util.UserError$UserException of com.oracle.svm.core.util.UserError
  public final FallbackImageRequest = com.oracle.svm.hosted.FallbackFeature$FallbackImageRequest of com.oracle.svm.hosted.FallbackFeature
  public final HostedManagement = com.oracle.svm.hosted.ImageSingletonsSupportImpl$HostedManagement of com.oracle.svm.hosted.ImageSingletonsSupportImpl
  com.oracle.svm.hosted.NativeImageGeneratorRunner$1
  public JDK9Plus = com.oracle.svm.hosted.NativeImageGeneratorRunner$JDK9Plus of com.oracle.svm.hosted.NativeImageGeneratorRunner
  public NativeImageKind = com.oracle.svm.hosted.image.AbstractBootImage$NativeImageKind of com.oracle.svm.hosted.image.AbstractBootImage
  public final ReflectionUtilError = com.oracle.svm.util.ReflectionUtil$ReflectionUtilError of com.oracle.svm.util.ReflectionUtil
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public Builder = org.graalvm.compiler.debug.DebugContext$Builder of org.graalvm.compiler.debug.DebugContext