public class jdk.tools.jaotc.Main implements jdk.tools.jaotc.LogPrinter
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: jdk.tools.jaotc.Main
  super_class: java.lang.Object
{
  static jdk.tools.jaotc.Main$Option[] recognizedOptions;
    descriptor: [Ljdk/tools/jaotc/Main$Option;
    flags: (0x0008) ACC_STATIC

  final jdk.tools.jaotc.Main$Options options;
    descriptor: Ljdk/tools/jaotc/Main$Options;
    flags: (0x0010) ACC_FINAL

  private static java.io.FileWriter logFile;
    descriptor: Ljava/io/FileWriter;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

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

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

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

  private static final java.lang.String PROGNAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "jaotc"

  private static final java.lang.String JVM_VERSION;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  java.io.PrintWriter log;
    descriptor: Ljava/io/PrintWriter;
    flags: (0x0000) 

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=11, locals=0, args_size=0
         0: .line 80
            getstatic org.graalvm.compiler.core.common.GraalOptions.GeneratePIC:Lorg/graalvm/compiler/options/OptionValue;
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual org.graalvm.compiler.options.OptionValue.setValue:(Ljava/lang/Object;)V
         1: .line 81
            getstatic org.graalvm.compiler.core.common.GraalOptions.ImmutableCode:Lorg/graalvm/compiler/options/OptionValue;
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual org.graalvm.compiler.options.OptionValue.setValue:(Ljava/lang/Object;)V
         2: .line 135
            bipush 18
            anewarray jdk.tools.jaotc.Main$Option
            dup
            iconst_0
            new jdk.tools.jaotc.Main$1
            dup
            ldc "  --output <file>            Output file name"
            iconst_1
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "--output"
            aastore
            invokespecial jdk.tools.jaotc.Main$1.<init>:(Ljava/lang/String;Z[Ljava/lang/String;)V
            aastore
            dup
            iconst_1
         3: .line 144
            new jdk.tools.jaotc.Main$2
            dup
            ldc "  --class-name <class names> List of classes to compile"
            iconst_1
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "--class-name"
            aastore
            dup
            iconst_1
            ldc "--classname"
            aastore
            invokespecial jdk.tools.jaotc.Main$2.<init>:(Ljava/lang/String;Z[Ljava/lang/String;)V
            aastore
            dup
            iconst_2
         4: .line 149
            new jdk.tools.jaotc.Main$3
            dup
            ldc "  --jar <jarfiles>           List of jar files to compile"
            iconst_1
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "--jar"
            aastore
            invokespecial jdk.tools.jaotc.Main$3.<init>:(Ljava/lang/String;Z[Ljava/lang/String;)V
            aastore
            dup
            iconst_3
         5: .line 154
            new jdk.tools.jaotc.Main$4
            dup
            ldc "  --module <modules>         List of modules to compile"
            iconst_1
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "--module"
            aastore
            invokespecial jdk.tools.jaotc.Main$4.<init>:(Ljava/lang/String;Z[Ljava/lang/String;)V
            aastore
            dup
            iconst_4
         6: .line 159
            new jdk.tools.jaotc.Main$5
            dup
            ldc "  --directory <dirs>         List of directories where to search for files to compile"
            iconst_1
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "--directory"
            aastore
            invokespecial jdk.tools.jaotc.Main$5.<init>:(Ljava/lang/String;Z[Ljava/lang/String;)V
            aastore
            dup
            iconst_5
         7: .line 164
            new jdk.tools.jaotc.Main$6
            dup
            ldc "  --search-path <dirs>       List of directories where to search for specified files"
            iconst_1
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "--search-path"
            aastore
            invokespecial jdk.tools.jaotc.Main$6.<init>:(Ljava/lang/String;Z[Ljava/lang/String;)V
            aastore
            dup
            bipush 6
         8: .line 170
            new jdk.tools.jaotc.Main$7
            dup
            ldc "  --compile-commands <file>  Name of file with compile commands"
            iconst_1
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "--compile-commands"
            aastore
            invokespecial jdk.tools.jaotc.Main$7.<init>:(Ljava/lang/String;Z[Ljava/lang/String;)V
            aastore
            dup
            bipush 7
         9: .line 175
            new jdk.tools.jaotc.Main$8
            dup
            ldc "  --compile-for-tiered       Generate profiling code for tiered compilation"
            iconst_0
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "--compile-for-tiered"
            aastore
            invokespecial jdk.tools.jaotc.Main$8.<init>:(Ljava/lang/String;Z[Ljava/lang/String;)V
            aastore
            dup
            bipush 8
        10: .line 180
            new jdk.tools.jaotc.Main$9
            dup
            ldc "  --compile-with-assertions  Compile with java assertions"
            iconst_0
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "--compile-with-assertions"
            aastore
            invokespecial jdk.tools.jaotc.Main$9.<init>:(Ljava/lang/String;Z[Ljava/lang/String;)V
            aastore
            dup
            bipush 9
        11: .line 185
            new jdk.tools.jaotc.Main$10
            dup
            ldc "  --compile-threads <number> Number of compilation threads to be used"
            iconst_1
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "--compile-threads"
            aastore
            dup
            iconst_1
            ldc "--threads"
            aastore
            invokespecial jdk.tools.jaotc.Main$10.<init>:(Ljava/lang/String;Z[Ljava/lang/String;)V
            aastore
            dup
            bipush 10
        12: .line 199
            new jdk.tools.jaotc.Main$11
            dup
            ldc "  --ignore-errors            Ignores all exceptions thrown during class loading"
            iconst_0
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "--ignore-errors"
            aastore
            invokespecial jdk.tools.jaotc.Main$11.<init>:(Ljava/lang/String;Z[Ljava/lang/String;)V
            aastore
            dup
            bipush 11
        13: .line 204
            new jdk.tools.jaotc.Main$12
            dup
            ldc "  --exit-on-error            Exit on compilation errors"
            iconst_0
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "--exit-on-error"
            aastore
            invokespecial jdk.tools.jaotc.Main$12.<init>:(Ljava/lang/String;Z[Ljava/lang/String;)V
            aastore
            dup
            bipush 12
        14: .line 209
            new jdk.tools.jaotc.Main$13
            dup
            ldc "  --info                     Print information during compilation"
            iconst_0
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "--info"
            aastore
            invokespecial jdk.tools.jaotc.Main$13.<init>:(Ljava/lang/String;Z[Ljava/lang/String;)V
            aastore
            dup
            bipush 13
        15: .line 214
            new jdk.tools.jaotc.Main$14
            dup
            ldc "  --verbose                  Print verbose information"
            iconst_0
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "--verbose"
            aastore
            invokespecial jdk.tools.jaotc.Main$14.<init>:(Ljava/lang/String;Z[Ljava/lang/String;)V
            aastore
            dup
            bipush 14
        16: .line 220
            new jdk.tools.jaotc.Main$15
            dup
            ldc "  --debug                    Print debug information"
            iconst_0
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "--debug"
            aastore
            invokespecial jdk.tools.jaotc.Main$15.<init>:(Ljava/lang/String;Z[Ljava/lang/String;)V
            aastore
            dup
            bipush 15
        17: .line 227
            new jdk.tools.jaotc.Main$16
            dup
            ldc "  --help                     Print this usage message"
            iconst_0
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "--help"
            aastore
            invokespecial jdk.tools.jaotc.Main$16.<init>:(Ljava/lang/String;Z[Ljava/lang/String;)V
            aastore
            dup
            bipush 16
        18: .line 232
            new jdk.tools.jaotc.Main$17
            dup
            ldc "  --version                  Version information"
            iconst_0
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "--version"
            aastore
            invokespecial jdk.tools.jaotc.Main$17.<init>:(Ljava/lang/String;Z[Ljava/lang/String;)V
            aastore
            dup
            bipush 17
        19: .line 237
            new jdk.tools.jaotc.Main$18
            dup
            ldc "  -J<flag>                   Pass <flag> directly to the runtime system"
            iconst_0
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "-J"
            aastore
            invokespecial jdk.tools.jaotc.Main$18.<init>:(Ljava/lang/String;Z[Ljava/lang/String;)V
            aastore
        20: .line 135
            putstatic jdk.tools.jaotc.Main.recognizedOptions:[Ljdk/tools/jaotc/Main$Option;
        21: .line 272
            aconst_null
            putstatic jdk.tools.jaotc.Main.logFile:Ljava/io/FileWriter;
        22: .line 280
            ldc "java.runtime.version"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            putstatic jdk.tools.jaotc.Main.JVM_VERSION:Ljava/lang/String;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.tools.jaotc.Main this
         0: .line 78
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 267
            aload 0 /* this */
            new jdk.tools.jaotc.Main$Options
            dup
            invokespecial jdk.tools.jaotc.Main$Options.<init>:()V
            putfield jdk.tools.jaotc.Main.options:Ljdk/tools/jaotc/Main$Options;
         2: .line 78
            return
        end local 0 // jdk.tools.jaotc.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/tools/jaotc/Main;

  public static void main(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.lang.String[] args
         0: .line 283
            new jdk.tools.jaotc.Main
            dup
            invokespecial jdk.tools.jaotc.Main.<init>:()V
            astore 1 /* t */
        start local 1 // jdk.tools.jaotc.Main t
         1: .line 284
            aload 1 /* t */
            aload 0 /* args */
            invokevirtual jdk.tools.jaotc.Main.run:([Ljava/lang/String;)I
            istore 2 /* exitCode */
        start local 2 // int exitCode
         2: .line 285
            iload 2 /* exitCode */
            invokestatic java.lang.System.exit:(I)V
         3: .line 286
            return
        end local 2 // int exitCode
        end local 1 // jdk.tools.jaotc.Main t
        end local 0 // java.lang.String[] args
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      args  [Ljava/lang/String;
            1    4     1         t  Ljdk/tools/jaotc/Main;
            2    4     2  exitCode  I
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      args  

  private int run(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=2
        start local 0 // jdk.tools.jaotc.Main this
        start local 1 // java.lang.String[] args
         0: .line 289
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            ifnonnull 2
         1: .line 290
            aload 0 /* this */
            new java.io.PrintWriter
            dup
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/OutputStream;)V
            putfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
         2: .line 294
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* args */
            invokevirtual jdk.tools.jaotc.Main.handleOptions:([Ljava/lang/String;)V
         3: .line 295
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.options:Ljdk/tools/jaotc/Main$Options;
            getfield jdk.tools.jaotc.Main$Options.help:Z
            ifeq 7
         4: .line 296
            aload 0 /* this */
            invokevirtual jdk.tools.jaotc.Main.showHelp:()V
         5: .line 323
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
         6: .line 297
            iconst_0
            ireturn
         7: .line 299
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.options:Ljdk/tools/jaotc/Main$Options;
            getfield jdk.tools.jaotc.Main$Options.version:Z
            ifeq 11
         8: .line 300
            aload 0 /* this */
            invokevirtual jdk.tools.jaotc.Main.showVersion:()V
         9: .line 323
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
        10: .line 301
            iconst_0
            ireturn
        11: .line 304
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "Compiling "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.options:Ljdk/tools/jaotc/Main$Options;
            getfield jdk.tools.jaotc.Main$Options.outputName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "..."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual jdk.tools.jaotc.Main.printlnInfo:(Ljava/lang/String;)V
        12: .line 305
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 2 /* start */
        start local 2 // long start
        13: .line 306
            aload 0 /* this */
            invokevirtual jdk.tools.jaotc.Main.run:()Z
            ifne 16
        14: .line 323
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
        15: .line 307
            iconst_4
            ireturn
        16: .line 309
      StackMap locals: long
      StackMap stack:
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 4 /* end */
        start local 4 // long end
        17: .line 310
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "Total time: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 4 /* end */
            lload 2 /* start */
            lsub
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc " ms"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual jdk.tools.jaotc.Main.printlnInfo:(Ljava/lang/String;)V
        18: .line 323
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
        19: .line 312
            iconst_0
            ireturn
        end local 4 // long end
        end local 2 // long start
        20: .line 313
      StackMap locals: jdk.tools.jaotc.Main java.lang.String[]
      StackMap stack: jdk.tools.jaotc.Main$BadArgs
            astore 2 /* e */
        start local 2 // jdk.tools.jaotc.Main$BadArgs e
        21: .line 314
            aload 0 /* this */
            aload 2 /* e */
            getfield jdk.tools.jaotc.Main$BadArgs.key:Ljava/lang/String;
            aload 2 /* e */
            getfield jdk.tools.jaotc.Main$BadArgs.args:[Ljava/lang/Object;
            invokevirtual jdk.tools.jaotc.Main.reportError:(Ljava/lang/String;[Ljava/lang/Object;)V
        22: .line 315
            aload 2 /* e */
            getfield jdk.tools.jaotc.Main$BadArgs.showUsage:Z
            ifeq 24
        23: .line 316
            aload 0 /* this */
            invokevirtual jdk.tools.jaotc.Main.showUsage:()V
        24: .line 323
      StackMap locals: jdk.tools.jaotc.Main$BadArgs
      StackMap stack:
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
        25: .line 318
            iconst_2
            ireturn
        end local 2 // jdk.tools.jaotc.Main$BadArgs e
        26: .line 319
      StackMap locals: jdk.tools.jaotc.Main java.lang.String[]
      StackMap stack: java.lang.Exception
            astore 2 /* e */
        start local 2 // java.lang.Exception e
        27: .line 320
            aload 2 /* e */
            invokevirtual java.lang.Exception.printStackTrace:()V
        28: .line 323
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
        29: .line 321
            iconst_4
            ireturn
        end local 2 // java.lang.Exception e
        30: .line 322
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6
        31: .line 323
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
        32: .line 324
            aload 6
            athrow
        end local 1 // java.lang.String[] args
        end local 0 // jdk.tools.jaotc.Main this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   33     0   this  Ljdk/tools/jaotc/Main;
            0   33     1   args  [Ljava/lang/String;
           13   20     2  start  J
           17   20     4    end  J
           21   26     2      e  Ljdk/tools/jaotc/Main$BadArgs;
           27   30     2      e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           2     5      20  Class jdk.tools.jaotc.Main$BadArgs
           7     9      20  Class jdk.tools.jaotc.Main$BadArgs
          11    14      20  Class jdk.tools.jaotc.Main$BadArgs
          16    18      20  Class jdk.tools.jaotc.Main$BadArgs
           2     5      26  Class java.lang.Exception
           7     9      26  Class java.lang.Exception
          11    14      26  Class java.lang.Exception
          16    18      26  Class java.lang.Exception
           2     5      30  any
           7     9      30  any
          11    14      30  any
          16    18      30  any
          20    24      30  any
          26    28      30  any
    MethodParameters:
      Name  Flags
      args  

  private static java.lang.String humanReadableByteCount(long);
    descriptor: (J)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=10, locals=5, args_size=1
        start local 0 // long bytes
         0: .line 328
            sipush 1024
            istore 2 /* unit */
        start local 2 // int unit
         1: .line 330
            lload 0 /* bytes */
            iload 2 /* unit */
            i2l
            lcmp
            ifge 3
         2: .line 331
            new java.lang.StringBuilder
            dup
            lload 0 /* bytes */
            invokestatic java.lang.String.valueOf:(J)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " B"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         3: .line 334
      StackMap locals: int
      StackMap stack:
            lload 0 /* bytes */
            l2d
            invokestatic java.lang.Math.log:(D)D
            iload 2 /* unit */
            i2d
            invokestatic java.lang.Math.log:(D)D
            ddiv
            d2i
            istore 3 /* exp */
        start local 3 // int exp
         4: .line 335
            ldc "KMGTPE"
            iload 3 /* exp */
            iconst_1
            isub
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* pre */
        start local 4 // char pre
         5: .line 336
            ldc "%.1f %cB"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            lload 0 /* bytes */
            l2d
            iload 2 /* unit */
            i2d
            iload 3 /* exp */
            i2d
            invokestatic java.lang.Math.pow:(DD)D
            ddiv
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aastore
            dup
            iconst_1
            iload 4 /* pre */
            invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 4 // char pre
        end local 3 // int exp
        end local 2 // int unit
        end local 0 // long bytes
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0  bytes  J
            1    6     2   unit  I
            4    6     3    exp  I
            5    6     4    pre  C
    MethodParameters:
       Name  Flags
      bytes  

  void printMemoryUsage();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.tools.jaotc.Main this
         0: .line 341
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tMemoryUsage cannot be resolved to a type\n\tManagementFactory cannot be resolved\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // jdk.tools.jaotc.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/tools/jaotc/Main;

  private boolean run();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=29, args_size=1
        start local 0 // jdk.tools.jaotc.Main this
         0: .line 352
            invokestatic jdk.tools.jaotc.Main.openLog:()V
         1: .line 355
            aload 0 /* this */
            invokevirtual jdk.tools.jaotc.Main.collectSpecifiedMethods:()Ljdk/tools/jaotc/CompilationSpec;
            astore 1 /* compilationRestrictions */
        start local 1 // jdk.tools.jaotc.CompilationSpec compilationRestrictions
         2: .line 357
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 2 /* classesToCompile */
        start local 2 // java.util.Set classesToCompile
         3: .line 359
            aconst_null
            astore 3
            aconst_null
            astore 4
         4: new jdk.tools.jaotc.utils.Timer
            dup
            aload 0 /* this */
            ldc ""
            invokespecial jdk.tools.jaotc.utils.Timer.<init>:(Ljdk/tools/jaotc/Main;Ljava/lang/String;)V
            astore 5 /* t */
        start local 5 // jdk.tools.jaotc.utils.Timer t
         5: .line 360
            new jdk.tools.jaotc.collect.FileSupport
            dup
            invokespecial jdk.tools.jaotc.collect.FileSupport.<init>:()V
            astore 6 /* fileSupport */
        start local 6 // jdk.tools.jaotc.collect.FileSupport fileSupport
         6: .line 361
            new jdk.tools.jaotc.collect.ClassSearch
            dup
            invokespecial jdk.tools.jaotc.collect.ClassSearch.<init>:()V
            astore 7 /* lookup */
        start local 7 // jdk.tools.jaotc.collect.ClassSearch lookup
         7: .line 362
            aload 7 /* lookup */
            new jdk.tools.jaotc.collect.module.ModuleSourceProvider
            dup
            invokespecial jdk.tools.jaotc.collect.module.ModuleSourceProvider.<init>:()V
            invokevirtual jdk.tools.jaotc.collect.ClassSearch.addProvider:(Ljdk/tools/jaotc/collect/SourceProvider;)V
         8: .line 363
            aload 7 /* lookup */
            new jdk.tools.jaotc.collect.classname.ClassNameSourceProvider
            dup
            aload 6 /* fileSupport */
            invokespecial jdk.tools.jaotc.collect.classname.ClassNameSourceProvider.<init>:(Ljdk/tools/jaotc/collect/FileSupport;)V
            invokevirtual jdk.tools.jaotc.collect.ClassSearch.addProvider:(Ljdk/tools/jaotc/collect/SourceProvider;)V
         9: .line 364
            aload 7 /* lookup */
            new jdk.tools.jaotc.collect.jar.JarSourceProvider
            dup
            invokespecial jdk.tools.jaotc.collect.jar.JarSourceProvider.<init>:()V
            invokevirtual jdk.tools.jaotc.collect.ClassSearch.addProvider:(Ljdk/tools/jaotc/collect/SourceProvider;)V
        10: .line 365
            aload 7 /* lookup */
            new jdk.tools.jaotc.collect.directory.DirectorySourceProvider
            dup
            aload 6 /* fileSupport */
            invokespecial jdk.tools.jaotc.collect.directory.DirectorySourceProvider.<init>:(Ljdk/tools/jaotc/collect/FileSupport;)V
            invokevirtual jdk.tools.jaotc.collect.ClassSearch.addProvider:(Ljdk/tools/jaotc/collect/SourceProvider;)V
        11: .line 367
            aconst_null
            astore 8 /* found */
        start local 8 // java.util.List found
        12: .line 369
            aload 7 /* lookup */
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.options:Ljdk/tools/jaotc/Main$Options;
            getfield jdk.tools.jaotc.Main$Options.files:Ljava/util/List;
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.options:Ljdk/tools/jaotc/Main$Options;
            getfield jdk.tools.jaotc.Main$Options.searchPath:Ljdk/tools/jaotc/collect/SearchPath;
            invokevirtual jdk.tools.jaotc.collect.ClassSearch.search:(Ljava/util/List;Ljdk/tools/jaotc/collect/SearchPath;)Ljava/util/List;
            astore 8 /* found */
        13: .line 370
            goto 19
      StackMap locals: jdk.tools.jaotc.Main jdk.tools.jaotc.CompilationSpec java.util.Set java.lang.Throwable java.lang.Throwable jdk.tools.jaotc.utils.Timer jdk.tools.jaotc.collect.FileSupport jdk.tools.jaotc.collect.ClassSearch java.util.List
      StackMap stack: java.lang.InternalError
        14: astore 9 /* e */
        start local 9 // java.lang.InternalError e
        15: .line 371
            aload 0 /* this */
            aload 9 /* e */
            invokevirtual jdk.tools.jaotc.Main.reportError:(Ljava/lang/Throwable;)V
        16: .line 380
            aload 5 /* t */
            ifnull 17
            aload 5 /* t */
            invokevirtual jdk.tools.jaotc.utils.Timer.close:()V
        17: .line 499
      StackMap locals: java.lang.InternalError
      StackMap stack:
            invokestatic jdk.tools.jaotc.Main.closeLog:()V
        18: .line 372
            iconst_0
            ireturn
        end local 9 // java.lang.InternalError e
        19: .line 375
      StackMap locals:
      StackMap stack:
            aload 8 /* found */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 22
      StackMap locals: jdk.tools.jaotc.Main jdk.tools.jaotc.CompilationSpec java.util.Set java.lang.Throwable java.lang.Throwable jdk.tools.jaotc.utils.Timer jdk.tools.jaotc.collect.FileSupport jdk.tools.jaotc.collect.ClassSearch java.util.List top java.util.Iterator
      StackMap stack:
        20: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.tools.jaotc.LoadedClass
            astore 9 /* loadedClass */
        start local 9 // jdk.tools.jaotc.LoadedClass loadedClass
        21: .line 376
            aload 2 /* classesToCompile */
            aload 9 /* loadedClass */
            invokevirtual jdk.tools.jaotc.LoadedClass.getLoadedClass:()Ljava/lang/Class;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 9 // jdk.tools.jaotc.LoadedClass loadedClass
        22: .line 375
      StackMap locals:
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 20
        23: .line 379
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 2 /* classesToCompile */
            invokeinterface java.util.Set.size:()I
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " classes found"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual jdk.tools.jaotc.Main.printInfo:(Ljava/lang/String;)V
        end local 8 // java.util.List found
        end local 7 // jdk.tools.jaotc.collect.ClassSearch lookup
        end local 6 // jdk.tools.jaotc.collect.FileSupport fileSupport
        24: .line 380
            aload 5 /* t */
            ifnull 30
            aload 5 /* t */
            invokevirtual jdk.tools.jaotc.utils.Timer.close:()V
            goto 30
      StackMap locals: jdk.tools.jaotc.Main jdk.tools.jaotc.CompilationSpec java.util.Set java.lang.Throwable java.lang.Throwable jdk.tools.jaotc.utils.Timer
      StackMap stack: java.lang.Throwable
        25: astore 3
            aload 5 /* t */
            ifnull 26
            aload 5 /* t */
            invokevirtual jdk.tools.jaotc.utils.Timer.close:()V
        end local 5 // jdk.tools.jaotc.utils.Timer t
      StackMap locals:
      StackMap stack:
        26: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        27: astore 4
            aload 3
            ifnonnull 28
            aload 4
            astore 3
            goto 29
      StackMap locals:
      StackMap stack:
        28: aload 3
            aload 4
            if_acmpeq 29
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        29: aload 3
            athrow
        30: .line 382
      StackMap locals:
      StackMap stack:
            invokestatic jdk.vm.ci.runtime.JVMCI.getRuntime:()Ljdk/vm/ci/runtime/JVMCIRuntime;
            invokeinterface jdk.vm.ci.runtime.JVMCIRuntime.getCompiler:()Ljdk/vm/ci/runtime/JVMCICompiler;
            checkcast org.graalvm.compiler.api.runtime.GraalJVMCICompiler
            astore 3 /* graalCompiler */
        start local 3 // org.graalvm.compiler.api.runtime.GraalJVMCICompiler graalCompiler
        31: .line 383
            aload 3 /* graalCompiler */
            invokeinterface org.graalvm.compiler.api.runtime.GraalJVMCICompiler.getGraalRuntime:()Lorg/graalvm/compiler/api/runtime/GraalRuntime;
            checkcast org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider
            astore 4 /* runtime */
        start local 4 // org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider runtime
        32: .line 384
            aload 4 /* runtime */
            ldc Lorg/graalvm/compiler/runtime/RuntimeProvider;
            invokeinterface org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider.getCapability:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.runtime.RuntimeProvider
            invokeinterface org.graalvm.compiler.runtime.RuntimeProvider.getHostBackend:()Lorg/graalvm/compiler/core/target/Backend;
            checkcast org.graalvm.compiler.hotspot.HotSpotHostBackend
            astore 5 /* backend */
        start local 5 // org.graalvm.compiler.hotspot.HotSpotHostBackend backend
        33: .line 385
            aload 5 /* backend */
            invokevirtual org.graalvm.compiler.hotspot.HotSpotHostBackend.getProviders:()Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
            invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            astore 6 /* metaAccess */
        start local 6 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        34: .line 386
            new jdk.tools.jaotc.GraalFilters
            dup
            aload 6 /* metaAccess */
            invokespecial jdk.tools.jaotc.GraalFilters.<init>:(Ljdk/vm/ci/meta/MetaAccessProvider;)V
            astore 7 /* filters */
        start local 7 // jdk.tools.jaotc.GraalFilters filters
        35: .line 390
            aconst_null
            astore 9
            aconst_null
            astore 10
        36: new jdk.tools.jaotc.utils.Timer
            dup
            aload 0 /* this */
            ldc ""
            invokespecial jdk.tools.jaotc.utils.Timer.<init>:(Ljdk/tools/jaotc/Main;Ljava/lang/String;)V
            astore 11 /* t */
        start local 11 // jdk.tools.jaotc.utils.Timer t
        37: .line 391
            aload 0 /* this */
            aload 2 /* classesToCompile */
            aload 1 /* compilationRestrictions */
            aload 7 /* filters */
            aload 6 /* metaAccess */
            invokevirtual jdk.tools.jaotc.Main.collectMethodsToCompile:(Ljava/util/Set;Ljdk/tools/jaotc/CompilationSpec;Ljdk/tools/jaotc/GraalFilters;Ljdk/vm/ci/meta/MetaAccessProvider;)Ljava/util/List;
            astore 8 /* classes */
        start local 8 // java.util.List classes
        38: .line 392
            aload 11 /* t */
            ifnull 44
            aload 11 /* t */
            invokevirtual jdk.tools.jaotc.utils.Timer.close:()V
            goto 44
        end local 8 // java.util.List classes
      StackMap locals: jdk.tools.jaotc.Main jdk.tools.jaotc.CompilationSpec java.util.Set org.graalvm.compiler.api.runtime.GraalJVMCICompiler org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider org.graalvm.compiler.hotspot.HotSpotHostBackend jdk.vm.ci.meta.MetaAccessProvider jdk.tools.jaotc.GraalFilters top java.lang.Throwable java.lang.Throwable jdk.tools.jaotc.utils.Timer
      StackMap stack: java.lang.Throwable
        39: astore 9
            aload 11 /* t */
            ifnull 40
            aload 11 /* t */
            invokevirtual jdk.tools.jaotc.utils.Timer.close:()V
        end local 11 // jdk.tools.jaotc.utils.Timer t
      StackMap locals:
      StackMap stack:
        40: aload 9
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        41: astore 10
            aload 9
            ifnonnull 42
            aload 10
            astore 9
            goto 43
      StackMap locals:
      StackMap stack:
        42: aload 9
            aload 10
            if_acmpeq 43
            aload 9
            aload 10
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        43: aload 9
            athrow
        start local 8 // java.util.List classes
        44: .line 395
      StackMap locals: jdk.tools.jaotc.Main jdk.tools.jaotc.CompilationSpec java.util.Set org.graalvm.compiler.api.runtime.GraalJVMCICompiler org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider org.graalvm.compiler.hotspot.HotSpotHostBackend jdk.vm.ci.meta.MetaAccessProvider jdk.tools.jaotc.GraalFilters java.util.List
      StackMap stack:
            aconst_null
            astore 9
            aconst_null
            astore 10
        45: aload 0 /* this */
            getfield jdk.tools.jaotc.Main.options:Ljdk/tools/jaotc/Main$Options;
            getfield jdk.tools.jaotc.Main$Options.verbose:Z
            ifeq 46
            new jdk.tools.jaotc.utils.Timer
            dup
            aload 0 /* this */
            ldc "Freeing memory"
            invokespecial jdk.tools.jaotc.utils.Timer.<init>:(Ljdk/tools/jaotc/Main;Ljava/lang/String;)V
            goto 47
      StackMap locals: java.lang.Throwable java.lang.Throwable
      StackMap stack:
        46: aconst_null
      StackMap locals:
      StackMap stack: jdk.tools.jaotc.utils.Timer
        47: astore 11 /* t */
        start local 11 // jdk.tools.jaotc.utils.Timer t
        48: .line 396
            aload 0 /* this */
            invokevirtual jdk.tools.jaotc.Main.printMemoryUsage:()V
        49: .line 397
            aconst_null
            astore 1 /* compilationRestrictions */
        50: .line 398
            aconst_null
            astore 2 /* classesToCompile */
        51: .line 399
            invokestatic java.lang.System.gc:()V
        52: .line 400
            aload 11 /* t */
            ifnull 58
            aload 11 /* t */
            invokevirtual jdk.tools.jaotc.utils.Timer.close:()V
            goto 58
      StackMap locals: jdk.tools.jaotc.Main jdk.tools.jaotc.CompilationSpec java.util.Set org.graalvm.compiler.api.runtime.GraalJVMCICompiler org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider org.graalvm.compiler.hotspot.HotSpotHostBackend jdk.vm.ci.meta.MetaAccessProvider jdk.tools.jaotc.GraalFilters java.util.List java.lang.Throwable java.lang.Throwable jdk.tools.jaotc.utils.Timer
      StackMap stack: java.lang.Throwable
        53: astore 9
            aload 11 /* t */
            ifnull 54
            aload 11 /* t */
            invokevirtual jdk.tools.jaotc.utils.Timer.close:()V
        end local 11 // jdk.tools.jaotc.utils.Timer t
      StackMap locals:
      StackMap stack:
        54: aload 9
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        55: astore 10
            aload 9
            ifnonnull 56
            aload 10
            astore 9
            goto 57
      StackMap locals:
      StackMap stack:
        56: aload 9
            aload 10
            if_acmpeq 57
            aload 9
            aload 10
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        57: aload 9
            athrow
        58: .line 402
      StackMap locals:
      StackMap stack:
            new jdk.tools.jaotc.AOTBackend
            dup
            aload 0 /* this */
            aload 5 /* backend */
            aload 7 /* filters */
            invokespecial jdk.tools.jaotc.AOTBackend.<init>:(Ljdk/tools/jaotc/Main;Lorg/graalvm/compiler/hotspot/HotSpotBackend;Ljdk/tools/jaotc/GraalFilters;)V
            astore 9 /* aotBackend */
        start local 9 // jdk.tools.jaotc.AOTBackend aotBackend
        59: .line 403
            new jdk.tools.jaotc.AOTCompiler
            dup
            aload 0 /* this */
            aload 9 /* aotBackend */
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.options:Ljdk/tools/jaotc/Main$Options;
            getfield jdk.tools.jaotc.Main$Options.threads:I
            invokespecial jdk.tools.jaotc.AOTCompiler.<init>:(Ljdk/tools/jaotc/Main;Ljdk/tools/jaotc/AOTBackend;I)V
            astore 10 /* compiler */
        start local 10 // jdk.tools.jaotc.AOTCompiler compiler
        60: .line 404
            aload 10 /* compiler */
            aload 8 /* classes */
            invokevirtual jdk.tools.jaotc.AOTCompiler.compileClasses:(Ljava/util/List;)Ljava/util/List;
            astore 8 /* classes */
        61: .line 406
            aload 4 /* runtime */
            invokeinterface org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider.getVMConfig:()Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            astore 11 /* graalHotSpotVMConfig */
        start local 11 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfig graalHotSpotVMConfig
        62: .line 407
            aload 9 /* aotBackend */
            invokevirtual jdk.tools.jaotc.AOTBackend.getGraphBuilderSuite:()Lorg/graalvm/compiler/phases/PhaseSuite;
            astore 12 /* graphBuilderSuite */
        start local 12 // org.graalvm.compiler.phases.PhaseSuite graphBuilderSuite
        63: .line 408
            aload 12 /* graphBuilderSuite */
            ldc Lorg/graalvm/compiler/java/GraphBuilderPhase;
            invokevirtual org.graalvm.compiler.phases.PhaseSuite.findPhase:(Ljava/lang/Class;)Ljava/util/ListIterator;
            astore 13 /* iterator */
        start local 13 // java.util.ListIterator iterator
        64: .line 409
            aload 13 /* iterator */
            invokeinterface java.util.ListIterator.previous:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.java.GraphBuilderPhase
            invokevirtual org.graalvm.compiler.java.GraphBuilderPhase.getGraphBuilderConfig:()Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;
            astore 14 /* graphBuilderConfig */
        start local 14 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration graphBuilderConfig
        65: .line 412
            aconst_null
            astore 15
            aconst_null
            astore 16
        66: aload 0 /* this */
            getfield jdk.tools.jaotc.Main.options:Ljdk/tools/jaotc/Main$Options;
            getfield jdk.tools.jaotc.Main$Options.verbose:Z
            ifeq 67
            new jdk.tools.jaotc.utils.Timer
            dup
            aload 0 /* this */
            ldc "Freeing memory"
            invokespecial jdk.tools.jaotc.utils.Timer.<init>:(Ljdk/tools/jaotc/Main;Ljava/lang/String;)V
            goto 68
      StackMap locals: jdk.tools.jaotc.Main jdk.tools.jaotc.CompilationSpec java.util.Set org.graalvm.compiler.api.runtime.GraalJVMCICompiler org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider org.graalvm.compiler.hotspot.HotSpotHostBackend jdk.vm.ci.meta.MetaAccessProvider jdk.tools.jaotc.GraalFilters java.util.List jdk.tools.jaotc.AOTBackend jdk.tools.jaotc.AOTCompiler org.graalvm.compiler.hotspot.GraalHotSpotVMConfig org.graalvm.compiler.phases.PhaseSuite java.util.ListIterator org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration java.lang.Throwable java.lang.Throwable
      StackMap stack:
        67: aconst_null
      StackMap locals:
      StackMap stack: jdk.tools.jaotc.utils.Timer
        68: astore 17 /* t */
        start local 17 // jdk.tools.jaotc.utils.Timer t
        69: .line 413
            aload 0 /* this */
            invokevirtual jdk.tools.jaotc.Main.printMemoryUsage:()V
        70: .line 414
            aconst_null
            astore 9 /* aotBackend */
        71: .line 415
            aconst_null
            astore 10 /* compiler */
        72: .line 416
            invokestatic java.lang.System.gc:()V
        73: .line 417
            aload 17 /* t */
            ifnull 79
            aload 17 /* t */
            invokevirtual jdk.tools.jaotc.utils.Timer.close:()V
            goto 79
      StackMap locals: jdk.tools.jaotc.Main jdk.tools.jaotc.CompilationSpec java.util.Set org.graalvm.compiler.api.runtime.GraalJVMCICompiler org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider org.graalvm.compiler.hotspot.HotSpotHostBackend jdk.vm.ci.meta.MetaAccessProvider jdk.tools.jaotc.GraalFilters java.util.List jdk.tools.jaotc.AOTBackend jdk.tools.jaotc.AOTCompiler org.graalvm.compiler.hotspot.GraalHotSpotVMConfig org.graalvm.compiler.phases.PhaseSuite java.util.ListIterator org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration java.lang.Throwable java.lang.Throwable jdk.tools.jaotc.utils.Timer
      StackMap stack: java.lang.Throwable
        74: astore 15
            aload 17 /* t */
            ifnull 75
            aload 17 /* t */
            invokevirtual jdk.tools.jaotc.utils.Timer.close:()V
        end local 17 // jdk.tools.jaotc.utils.Timer t
      StackMap locals:
      StackMap stack:
        75: aload 15
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        76: astore 16
            aload 15
            ifnonnull 77
            aload 16
            astore 15
            goto 78
      StackMap locals:
      StackMap stack:
        77: aload 15
            aload 16
            if_acmpeq 78
            aload 15
            aload 16
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        78: aload 15
            athrow
        79: .line 419
      StackMap locals:
      StackMap stack:
            new jdk.tools.jaotc.binformat.BinaryContainer
            dup
            aload 11 /* graalHotSpotVMConfig */
            aload 14 /* graphBuilderConfig */
            getstatic jdk.tools.jaotc.Main.JVM_VERSION:Ljava/lang/String;
            invokespecial jdk.tools.jaotc.binformat.BinaryContainer.<init>:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;Ljava/lang/String;)V
            astore 15 /* binaryContainer */
        start local 15 // jdk.tools.jaotc.binformat.BinaryContainer binaryContainer
        80: .line 420
            new jdk.tools.jaotc.DataBuilder
            dup
            aload 0 /* this */
            aload 5 /* backend */
            aload 8 /* classes */
            aload 15 /* binaryContainer */
            invokespecial jdk.tools.jaotc.DataBuilder.<init>:(Ljdk/tools/jaotc/Main;Lorg/graalvm/compiler/hotspot/HotSpotHostBackend;Ljava/util/List;Ljdk/tools/jaotc/binformat/BinaryContainer;)V
            astore 16 /* dataBuilder */
        start local 16 // jdk.tools.jaotc.DataBuilder dataBuilder
        81: .line 421
            aload 16 /* dataBuilder */
            invokevirtual jdk.tools.jaotc.DataBuilder.prepareData:()V
        82: .line 424
            aload 0 /* this */
            aload 15 /* binaryContainer */
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getHeaderContainer:()Ljdk/tools/jaotc/binformat/HeaderContainer;
            invokevirtual jdk.tools.jaotc.binformat.HeaderContainer.getContainer:()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
            invokevirtual jdk.tools.jaotc.Main.printContainerInfo:(Ljdk/tools/jaotc/binformat/ByteContainer;)V
        83: .line 425
            aload 0 /* this */
            aload 15 /* binaryContainer */
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getConfigContainer:()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
            invokevirtual jdk.tools.jaotc.Main.printContainerInfo:(Ljdk/tools/jaotc/binformat/ByteContainer;)V
        84: .line 426
            aload 0 /* this */
            aload 15 /* binaryContainer */
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getKlassesOffsetsContainer:()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
            invokevirtual jdk.tools.jaotc.Main.printContainerInfo:(Ljdk/tools/jaotc/binformat/ByteContainer;)V
        85: .line 427
            aload 0 /* this */
            aload 15 /* binaryContainer */
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getMethodsOffsetsContainer:()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
            invokevirtual jdk.tools.jaotc.Main.printContainerInfo:(Ljdk/tools/jaotc/binformat/ByteContainer;)V
        86: .line 428
            aload 0 /* this */
            aload 15 /* binaryContainer */
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getKlassesDependenciesContainer:()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
            invokevirtual jdk.tools.jaotc.Main.printContainerInfo:(Ljdk/tools/jaotc/binformat/ByteContainer;)V
        87: .line 429
            aload 0 /* this */
            aload 15 /* binaryContainer */
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getStubsOffsetsContainer:()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
            invokevirtual jdk.tools.jaotc.Main.printContainerInfo:(Ljdk/tools/jaotc/binformat/ByteContainer;)V
        88: .line 430
            aload 0 /* this */
            aload 15 /* binaryContainer */
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getMethodMetadataContainer:()Ljdk/tools/jaotc/binformat/ByteContainer;
            invokevirtual jdk.tools.jaotc.Main.printContainerInfo:(Ljdk/tools/jaotc/binformat/ByteContainer;)V
        89: .line 431
            aload 0 /* this */
            aload 15 /* binaryContainer */
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getCodeContainer:()Ljdk/tools/jaotc/binformat/CodeContainer;
            invokevirtual jdk.tools.jaotc.Main.printContainerInfo:(Ljdk/tools/jaotc/binformat/ByteContainer;)V
        90: .line 432
            aload 0 /* this */
            aload 15 /* binaryContainer */
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getCodeSegmentsContainer:()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
            invokevirtual jdk.tools.jaotc.Main.printContainerInfo:(Ljdk/tools/jaotc/binformat/ByteContainer;)V
        91: .line 433
            aload 0 /* this */
            aload 15 /* binaryContainer */
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getConstantDataContainer:()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
            invokevirtual jdk.tools.jaotc.Main.printContainerInfo:(Ljdk/tools/jaotc/binformat/ByteContainer;)V
        92: .line 434
            aload 0 /* this */
            aload 15 /* binaryContainer */
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getMetaspaceGotContainer:()Ljdk/tools/jaotc/binformat/ByteContainer;
            invokevirtual jdk.tools.jaotc.Main.printContainerInfo:(Ljdk/tools/jaotc/binformat/ByteContainer;)V
        93: .line 435
            aload 0 /* this */
            aload 15 /* binaryContainer */
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getMetadataGotContainer:()Ljdk/tools/jaotc/binformat/ByteContainer;
            invokevirtual jdk.tools.jaotc.Main.printContainerInfo:(Ljdk/tools/jaotc/binformat/ByteContainer;)V
        94: .line 436
            aload 0 /* this */
            aload 15 /* binaryContainer */
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getMethodStateContainer:()Ljdk/tools/jaotc/binformat/ByteContainer;
            invokevirtual jdk.tools.jaotc.Main.printContainerInfo:(Ljdk/tools/jaotc/binformat/ByteContainer;)V
        95: .line 437
            aload 0 /* this */
            aload 15 /* binaryContainer */
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getOopGotContainer:()Ljdk/tools/jaotc/binformat/ByteContainer;
            invokevirtual jdk.tools.jaotc.Main.printContainerInfo:(Ljdk/tools/jaotc/binformat/ByteContainer;)V
        96: .line 438
            aload 0 /* this */
            aload 15 /* binaryContainer */
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getMetaspaceNamesContainer:()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
            invokevirtual jdk.tools.jaotc.Main.printContainerInfo:(Ljdk/tools/jaotc/binformat/ByteContainer;)V
        97: .line 441
            aconst_null
            astore 17
            aconst_null
            astore 18
        98: aload 0 /* this */
            getfield jdk.tools.jaotc.Main.options:Ljdk/tools/jaotc/Main$Options;
            getfield jdk.tools.jaotc.Main$Options.verbose:Z
            ifeq 99
            new jdk.tools.jaotc.utils.Timer
            dup
            aload 0 /* this */
            ldc "Freeing memory"
            invokespecial jdk.tools.jaotc.utils.Timer.<init>:(Ljdk/tools/jaotc/Main;Ljava/lang/String;)V
            goto 100
      StackMap locals: jdk.tools.jaotc.Main jdk.tools.jaotc.CompilationSpec java.util.Set org.graalvm.compiler.api.runtime.GraalJVMCICompiler org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider org.graalvm.compiler.hotspot.HotSpotHostBackend jdk.vm.ci.meta.MetaAccessProvider jdk.tools.jaotc.GraalFilters java.util.List jdk.tools.jaotc.AOTBackend jdk.tools.jaotc.AOTCompiler org.graalvm.compiler.hotspot.GraalHotSpotVMConfig org.graalvm.compiler.phases.PhaseSuite java.util.ListIterator org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration jdk.tools.jaotc.binformat.BinaryContainer jdk.tools.jaotc.DataBuilder java.lang.Throwable java.lang.Throwable
      StackMap stack:
        99: aconst_null
      StackMap locals:
      StackMap stack: jdk.tools.jaotc.utils.Timer
       100: astore 19 /* t */
        start local 19 // jdk.tools.jaotc.utils.Timer t
       101: .line 442
            aload 0 /* this */
            invokevirtual jdk.tools.jaotc.Main.printMemoryUsage:()V
       102: .line 443
            aconst_null
            astore 5 /* backend */
       103: .line 444
            aload 8 /* classes */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 21
            goto 106
      StackMap locals: jdk.tools.jaotc.Main jdk.tools.jaotc.CompilationSpec java.util.Set org.graalvm.compiler.api.runtime.GraalJVMCICompiler org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider org.graalvm.compiler.hotspot.HotSpotHostBackend jdk.vm.ci.meta.MetaAccessProvider jdk.tools.jaotc.GraalFilters java.util.List jdk.tools.jaotc.AOTBackend jdk.tools.jaotc.AOTCompiler org.graalvm.compiler.hotspot.GraalHotSpotVMConfig org.graalvm.compiler.phases.PhaseSuite java.util.ListIterator org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration jdk.tools.jaotc.binformat.BinaryContainer jdk.tools.jaotc.DataBuilder java.lang.Throwable java.lang.Throwable jdk.tools.jaotc.utils.Timer top java.util.Iterator
      StackMap stack:
       104: aload 21
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.tools.jaotc.AOTCompiledClass
            astore 20 /* aotCompClass */
        start local 20 // jdk.tools.jaotc.AOTCompiledClass aotCompClass
       105: .line 445
            aload 20 /* aotCompClass */
            invokevirtual jdk.tools.jaotc.AOTCompiledClass.clear:()V
        end local 20 // jdk.tools.jaotc.AOTCompiledClass aotCompClass
       106: .line 444
      StackMap locals:
      StackMap stack:
            aload 21
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 104
       107: .line 447
            aload 8 /* classes */
            invokeinterface java.util.List.clear:()V
       108: .line 448
            aconst_null
            astore 8 /* classes */
       109: .line 449
            aconst_null
            astore 16 /* dataBuilder */
       110: .line 450
            aload 15 /* binaryContainer */
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.freeMemory:()V
       111: .line 451
            invokestatic java.lang.System.gc:()V
       112: .line 452
            aload 19 /* t */
            ifnull 118
            aload 19 /* t */
            invokevirtual jdk.tools.jaotc.utils.Timer.close:()V
            goto 118
      StackMap locals: jdk.tools.jaotc.Main jdk.tools.jaotc.CompilationSpec java.util.Set org.graalvm.compiler.api.runtime.GraalJVMCICompiler org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider org.graalvm.compiler.hotspot.HotSpotHostBackend jdk.vm.ci.meta.MetaAccessProvider jdk.tools.jaotc.GraalFilters java.util.List jdk.tools.jaotc.AOTBackend jdk.tools.jaotc.AOTCompiler org.graalvm.compiler.hotspot.GraalHotSpotVMConfig org.graalvm.compiler.phases.PhaseSuite java.util.ListIterator org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration jdk.tools.jaotc.binformat.BinaryContainer jdk.tools.jaotc.DataBuilder java.lang.Throwable java.lang.Throwable jdk.tools.jaotc.utils.Timer
      StackMap stack: java.lang.Throwable
       113: astore 17
            aload 19 /* t */
            ifnull 114
            aload 19 /* t */
            invokevirtual jdk.tools.jaotc.utils.Timer.close:()V
        end local 19 // jdk.tools.jaotc.utils.Timer t
      StackMap locals:
      StackMap stack:
       114: aload 17
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
       115: astore 18
            aload 17
            ifnonnull 116
            aload 18
            astore 17
            goto 117
      StackMap locals:
      StackMap stack:
       116: aload 17
            aload 18
            if_acmpeq 117
            aload 17
            aload 18
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       117: aload 17
            athrow
       118: .line 454
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.options:Ljdk/tools/jaotc/Main$Options;
            getfield jdk.tools.jaotc.Main$Options.outputName:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".o"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 17 /* objectFileName */
        start local 17 // java.lang.String objectFileName
       119: .line 455
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.options:Ljdk/tools/jaotc/Main$Options;
            getfield jdk.tools.jaotc.Main$Options.outputName:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".so"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 18 /* libraryFileName */
        start local 18 // java.lang.String libraryFileName
       120: .line 457
            aconst_null
            astore 19
            aconst_null
            astore 20
       121: new jdk.tools.jaotc.utils.Timer
            dup
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "Creating binary: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 17 /* objectFileName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial jdk.tools.jaotc.utils.Timer.<init>:(Ljdk/tools/jaotc/Main;Ljava/lang/String;)V
            astore 21 /* t */
        start local 21 // jdk.tools.jaotc.utils.Timer t
       122: .line 458
            aload 15 /* binaryContainer */
            aload 17 /* objectFileName */
            getstatic jdk.tools.jaotc.Main.JVM_VERSION:Ljava/lang/String;
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.createBinary:(Ljava/lang/String;Ljava/lang/String;)V
       123: .line 459
            aload 21 /* t */
            ifnull 129
            aload 21 /* t */
            invokevirtual jdk.tools.jaotc.utils.Timer.close:()V
            goto 129
      StackMap locals: jdk.tools.jaotc.Main jdk.tools.jaotc.CompilationSpec java.util.Set org.graalvm.compiler.api.runtime.GraalJVMCICompiler org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider org.graalvm.compiler.hotspot.HotSpotHostBackend jdk.vm.ci.meta.MetaAccessProvider jdk.tools.jaotc.GraalFilters java.util.List jdk.tools.jaotc.AOTBackend jdk.tools.jaotc.AOTCompiler org.graalvm.compiler.hotspot.GraalHotSpotVMConfig org.graalvm.compiler.phases.PhaseSuite java.util.ListIterator org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration jdk.tools.jaotc.binformat.BinaryContainer jdk.tools.jaotc.DataBuilder java.lang.String java.lang.String java.lang.Throwable java.lang.Throwable jdk.tools.jaotc.utils.Timer
      StackMap stack: java.lang.Throwable
       124: astore 19
            aload 21 /* t */
            ifnull 125
            aload 21 /* t */
            invokevirtual jdk.tools.jaotc.utils.Timer.close:()V
        end local 21 // jdk.tools.jaotc.utils.Timer t
      StackMap locals:
      StackMap stack:
       125: aload 19
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
       126: astore 20
            aload 19
            ifnonnull 127
            aload 20
            astore 19
            goto 128
      StackMap locals:
      StackMap stack:
       127: aload 19
            aload 20
            if_acmpeq 128
            aload 19
            aload 20
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       128: aload 19
            athrow
       129: .line 462
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 19
            aconst_null
            astore 20
       130: aload 0 /* this */
            getfield jdk.tools.jaotc.Main.options:Ljdk/tools/jaotc/Main$Options;
            getfield jdk.tools.jaotc.Main$Options.verbose:Z
            ifeq 131
            new jdk.tools.jaotc.utils.Timer
            dup
            aload 0 /* this */
            ldc "Freeing memory"
            invokespecial jdk.tools.jaotc.utils.Timer.<init>:(Ljdk/tools/jaotc/Main;Ljava/lang/String;)V
            goto 132
      StackMap locals: java.lang.Throwable java.lang.Throwable
      StackMap stack:
       131: aconst_null
      StackMap locals:
      StackMap stack: jdk.tools.jaotc.utils.Timer
       132: astore 21 /* t */
        start local 21 // jdk.tools.jaotc.utils.Timer t
       133: .line 463
            aload 0 /* this */
            invokevirtual jdk.tools.jaotc.Main.printMemoryUsage:()V
       134: .line 464
            aconst_null
            astore 15 /* binaryContainer */
       135: .line 465
            invokestatic java.lang.System.gc:()V
       136: .line 466
            aload 21 /* t */
            ifnull 142
            aload 21 /* t */
            invokevirtual jdk.tools.jaotc.utils.Timer.close:()V
            goto 142
      StackMap locals: jdk.tools.jaotc.Main jdk.tools.jaotc.CompilationSpec java.util.Set org.graalvm.compiler.api.runtime.GraalJVMCICompiler org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider org.graalvm.compiler.hotspot.HotSpotHostBackend jdk.vm.ci.meta.MetaAccessProvider jdk.tools.jaotc.GraalFilters java.util.List jdk.tools.jaotc.AOTBackend jdk.tools.jaotc.AOTCompiler org.graalvm.compiler.hotspot.GraalHotSpotVMConfig org.graalvm.compiler.phases.PhaseSuite java.util.ListIterator org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration jdk.tools.jaotc.binformat.BinaryContainer jdk.tools.jaotc.DataBuilder java.lang.String java.lang.String java.lang.Throwable java.lang.Throwable jdk.tools.jaotc.utils.Timer
      StackMap stack: java.lang.Throwable
       137: astore 19
            aload 21 /* t */
            ifnull 138
            aload 21 /* t */
            invokevirtual jdk.tools.jaotc.utils.Timer.close:()V
        end local 21 // jdk.tools.jaotc.utils.Timer t
      StackMap locals:
      StackMap stack:
       138: aload 19
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
       139: astore 20
            aload 19
            ifnonnull 140
            aload 20
            astore 19
            goto 141
      StackMap locals:
      StackMap stack:
       140: aload 19
            aload 20
            if_acmpeq 141
            aload 19
            aload 20
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       141: aload 19
            athrow
       142: .line 468
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 19
            aconst_null
            astore 20
       143: new jdk.tools.jaotc.utils.Timer
            dup
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "Creating shared library: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 18 /* libraryFileName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial jdk.tools.jaotc.utils.Timer.<init>:(Ljdk/tools/jaotc/Main;Ljava/lang/String;)V
            astore 21 /* t */
        start local 21 // jdk.tools.jaotc.utils.Timer t
       144: .line 469
            invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
            new java.lang.StringBuilder
            dup
            ldc "ld -shared -z noexecstack -o "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 18 /* libraryFileName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 17 /* objectFileName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.Runtime.exec:(Ljava/lang/String;)Ljava/lang/Process;
            astore 22 /* p */
        start local 22 // java.lang.Process p
       145: .line 470
            aload 22 /* p */
            invokevirtual java.lang.Process.waitFor:()I
            istore 23 /* exitCode */
        start local 23 // int exitCode
       146: .line 471
            iload 23 /* exitCode */
            ifeq 153
       147: .line 472
            aload 22 /* p */
            invokevirtual java.lang.Process.getErrorStream:()Ljava/io/InputStream;
            astore 24 /* stderr */
        start local 24 // java.io.InputStream stderr
       148: .line 473
            new java.io.BufferedReader
            dup
            new java.io.InputStreamReader
            dup
            aload 24 /* stderr */
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
            astore 25 /* br */
        start local 25 // java.io.BufferedReader br
       149: .line 474
            aload 25 /* br */
            invokevirtual java.io.BufferedReader.lines:()Ljava/util/stream/Stream;
            astore 26 /* lines */
        start local 26 // java.util.stream.Stream lines
       150: .line 475
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 27 /* sb */
        start local 27 // java.lang.StringBuilder sb
       151: .line 476
            aload 26 /* lines */
            invokeinterface java.util.stream.Stream.iterator:()Ljava/util/Iterator;
            aload 27 /* sb */
            invokedynamic accept(Ljava/lang/StringBuilder;)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
                  jdk/tools/jaotc/Main.lambda$0(Ljava/lang/StringBuilder;Ljava/lang/String;)V (6)
                  (Ljava/lang/String;)V
            invokeinterface java.util.Iterator.forEachRemaining:(Ljava/util/function/Consumer;)V
       152: .line 477
            new java.lang.InternalError
            dup
            aload 27 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
        end local 27 // java.lang.StringBuilder sb
        end local 26 // java.util.stream.Stream lines
        end local 25 // java.io.BufferedReader br
        end local 24 // java.io.InputStream stderr
       153: .line 479
      StackMap locals: jdk.tools.jaotc.Main jdk.tools.jaotc.CompilationSpec java.util.Set org.graalvm.compiler.api.runtime.GraalJVMCICompiler org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider org.graalvm.compiler.hotspot.HotSpotHostBackend jdk.vm.ci.meta.MetaAccessProvider jdk.tools.jaotc.GraalFilters java.util.List jdk.tools.jaotc.AOTBackend jdk.tools.jaotc.AOTCompiler org.graalvm.compiler.hotspot.GraalHotSpotVMConfig org.graalvm.compiler.phases.PhaseSuite java.util.ListIterator org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration jdk.tools.jaotc.binformat.BinaryContainer jdk.tools.jaotc.DataBuilder java.lang.String java.lang.String java.lang.Throwable java.lang.Throwable jdk.tools.jaotc.utils.Timer java.lang.Process int
      StackMap stack:
            new java.io.File
            dup
            aload 17 /* objectFileName */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 24 /* objFile */
        start local 24 // java.io.File objFile
       154: .line 480
            aload 24 /* objFile */
            invokevirtual java.io.File.exists:()Z
            ifeq 157
       155: .line 481
            aload 24 /* objFile */
            invokevirtual java.io.File.delete:()Z
            ifne 157
       156: .line 482
            new java.lang.InternalError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Failed to delete "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 17 /* objectFileName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " file"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
       157: .line 486
      StackMap locals: java.io.File
      StackMap stack:
            new java.io.File
            dup
            aload 18 /* libraryFileName */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 25 /* libFile */
        start local 25 // java.io.File libFile
       158: .line 487
            aload 25 /* libFile */
            invokevirtual java.io.File.exists:()Z
            ifeq 161
       159: .line 488
            aload 25 /* libFile */
            iconst_0
            iconst_0
            invokevirtual java.io.File.setExecutable:(ZZ)Z
            ifne 161
       160: .line 489
            new java.lang.InternalError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Failed to change attribute for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 18 /* libraryFileName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " file"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
        end local 25 // java.io.File libFile
        end local 24 // java.io.File objFile
        end local 23 // int exitCode
        end local 22 // java.lang.Process p
       161: .line 492
      StackMap locals:
      StackMap stack:
            aload 21 /* t */
            ifnull 167
            aload 21 /* t */
            invokevirtual jdk.tools.jaotc.utils.Timer.close:()V
            goto 167
      StackMap locals:
      StackMap stack: java.lang.Throwable
       162: astore 19
            aload 21 /* t */
            ifnull 163
            aload 21 /* t */
            invokevirtual jdk.tools.jaotc.utils.Timer.close:()V
        end local 21 // jdk.tools.jaotc.utils.Timer t
      StackMap locals:
      StackMap stack:
       163: aload 19
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
       164: astore 20
            aload 19
            ifnonnull 165
            aload 20
            astore 19
            goto 166
      StackMap locals:
      StackMap stack:
       165: aload 19
            aload 20
            if_acmpeq 166
            aload 19
            aload 20
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       166: aload 19
            athrow
       167: .line 494
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "Final memory  "
            invokevirtual jdk.tools.jaotc.Main.printVerbose:(Ljava/lang/String;)V
       168: .line 495
            aload 0 /* this */
            invokevirtual jdk.tools.jaotc.Main.printMemoryUsage:()V
       169: .line 496
            aload 0 /* this */
            ldc ""
            invokevirtual jdk.tools.jaotc.Main.printlnVerbose:(Ljava/lang/String;)V
        end local 18 // java.lang.String libraryFileName
        end local 17 // java.lang.String objectFileName
        end local 16 // jdk.tools.jaotc.DataBuilder dataBuilder
        end local 15 // jdk.tools.jaotc.binformat.BinaryContainer binaryContainer
        end local 14 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration graphBuilderConfig
        end local 13 // java.util.ListIterator iterator
        end local 12 // org.graalvm.compiler.phases.PhaseSuite graphBuilderSuite
        end local 11 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfig graalHotSpotVMConfig
        end local 10 // jdk.tools.jaotc.AOTCompiler compiler
        end local 9 // jdk.tools.jaotc.AOTBackend aotBackend
        end local 8 // java.util.List classes
        end local 7 // jdk.tools.jaotc.GraalFilters filters
        end local 6 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        end local 5 // org.graalvm.compiler.hotspot.HotSpotHostBackend backend
        end local 4 // org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider runtime
        end local 3 // org.graalvm.compiler.api.runtime.GraalJVMCICompiler graalCompiler
        end local 2 // java.util.Set classesToCompile
        end local 1 // jdk.tools.jaotc.CompilationSpec compilationRestrictions
       170: .line 498
            goto 174
      StackMap locals: jdk.tools.jaotc.Main
      StackMap stack: java.lang.Throwable
       171: astore 28
       172: .line 499
            invokestatic jdk.tools.jaotc.Main.closeLog:()V
       173: .line 500
            aload 28
            athrow
       174: .line 499
      StackMap locals:
      StackMap stack:
            invokestatic jdk.tools.jaotc.Main.closeLog:()V
       175: .line 501
            iconst_1
            ireturn
        end local 0 // jdk.tools.jaotc.Main this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0  176     0                     this  Ljdk/tools/jaotc/Main;
            2  170     1  compilationRestrictions  Ljdk/tools/jaotc/CompilationSpec;
            3  170     2         classesToCompile  Ljava/util/Set<Ljava/lang/Class<*>;>;
            5   26     5                        t  Ljdk/tools/jaotc/utils/Timer;
            6   24     6              fileSupport  Ljdk/tools/jaotc/collect/FileSupport;
            7   24     7                   lookup  Ljdk/tools/jaotc/collect/ClassSearch;
           12   24     8                    found  Ljava/util/List<Ljdk/tools/jaotc/LoadedClass;>;
           15   19     9                        e  Ljava/lang/InternalError;
           21   22     9              loadedClass  Ljdk/tools/jaotc/LoadedClass;
           31  170     3            graalCompiler  Lorg/graalvm/compiler/api/runtime/GraalJVMCICompiler;
           32  170     4                  runtime  Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
           33  170     5                  backend  Lorg/graalvm/compiler/hotspot/HotSpotHostBackend;
           34  170     6               metaAccess  Ljdk/vm/ci/meta/MetaAccessProvider;
           35  170     7                  filters  Ljdk/tools/jaotc/GraalFilters;
           38   39     8                  classes  Ljava/util/List<Ljdk/tools/jaotc/AOTCompiledClass;>;
           44  170     8                  classes  Ljava/util/List<Ljdk/tools/jaotc/AOTCompiledClass;>;
           37   40    11                        t  Ljdk/tools/jaotc/utils/Timer;
           48   54    11                        t  Ljdk/tools/jaotc/utils/Timer;
           59  170     9               aotBackend  Ljdk/tools/jaotc/AOTBackend;
           60  170    10                 compiler  Ljdk/tools/jaotc/AOTCompiler;
           62  170    11     graalHotSpotVMConfig  Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
           63  170    12        graphBuilderSuite  Lorg/graalvm/compiler/phases/PhaseSuite<Lorg/graalvm/compiler/phases/tiers/HighTierContext;>;
           64  170    13                 iterator  Ljava/util/ListIterator<Lorg/graalvm/compiler/phases/BasePhase<-Lorg/graalvm/compiler/phases/tiers/HighTierContext;>;>;
           65  170    14       graphBuilderConfig  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;
           69   75    17                        t  Ljdk/tools/jaotc/utils/Timer;
           80  170    15          binaryContainer  Ljdk/tools/jaotc/binformat/BinaryContainer;
           81  170    16              dataBuilder  Ljdk/tools/jaotc/DataBuilder;
          101  114    19                        t  Ljdk/tools/jaotc/utils/Timer;
          105  106    20             aotCompClass  Ljdk/tools/jaotc/AOTCompiledClass;
          119  170    17           objectFileName  Ljava/lang/String;
          120  170    18          libraryFileName  Ljava/lang/String;
          122  125    21                        t  Ljdk/tools/jaotc/utils/Timer;
          133  138    21                        t  Ljdk/tools/jaotc/utils/Timer;
          144  163    21                        t  Ljdk/tools/jaotc/utils/Timer;
          145  161    22                        p  Ljava/lang/Process;
          146  161    23                 exitCode  I
          148  153    24                   stderr  Ljava/io/InputStream;
          149  153    25                       br  Ljava/io/BufferedReader;
          150  153    26                    lines  Ljava/util/stream/Stream<Ljava/lang/String;>;
          151  153    27                       sb  Ljava/lang/StringBuilder;
          154  161    24                  objFile  Ljava/io/File;
          158  161    25                  libFile  Ljava/io/File;
      Exception table:
        from    to  target  type
          12    13      14  Class java.lang.InternalError
           5    16      25  any
          19    24      25  any
           4    17      27  any
          19    27      27  any
          37    38      39  any
          36    41      41  any
          48    52      53  any
          45    55      55  any
          69    73      74  any
          66    76      76  any
         101   112     113  any
          98   115     115  any
         122   123     124  any
         121   126     126  any
         133   136     137  any
         130   139     139  any
         144   161     162  any
         143   164     164  any
           1    17     171  any
          19   171     171  any
    Exceptions:
      throws java.lang.Exception

  private void addMethods(jdk.tools.jaotc.AOTCompiledClass, jdk.vm.ci.meta.ResolvedJavaMethod[], jdk.tools.jaotc.CompilationSpec, jdk.tools.jaotc.GraalFilters);
    descriptor: (Ljdk/tools/jaotc/AOTCompiledClass;[Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/tools/jaotc/CompilationSpec;Ljdk/tools/jaotc/GraalFilters;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=5
        start local 0 // jdk.tools.jaotc.Main this
        start local 1 // jdk.tools.jaotc.AOTCompiledClass aotClass
        start local 2 // jdk.vm.ci.meta.ResolvedJavaMethod[] methods
        start local 3 // jdk.tools.jaotc.CompilationSpec compilationRestrictions
        start local 4 // jdk.tools.jaotc.GraalFilters filters
         0: .line 505
            aload 2 /* methods */
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 4
      StackMap locals: jdk.tools.jaotc.Main jdk.tools.jaotc.AOTCompiledClass jdk.vm.ci.meta.ResolvedJavaMethod[] jdk.tools.jaotc.CompilationSpec jdk.tools.jaotc.GraalFilters top int int jdk.vm.ci.meta.ResolvedJavaMethod[]
      StackMap stack:
         1: aload 8
            iload 6
            aaload
            astore 5 /* m */
        start local 5 // jdk.vm.ci.meta.ResolvedJavaMethod m
         2: .line 506
            aload 0 /* this */
            aload 1 /* aotClass */
            aload 5 /* m */
            aload 3 /* compilationRestrictions */
            aload 4 /* filters */
            invokevirtual jdk.tools.jaotc.Main.addMethod:(Ljdk/tools/jaotc/AOTCompiledClass;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/tools/jaotc/CompilationSpec;Ljdk/tools/jaotc/GraalFilters;)V
        end local 5 // jdk.vm.ci.meta.ResolvedJavaMethod m
         3: .line 505
            iinc 6 1
      StackMap locals:
      StackMap stack:
         4: iload 6
            iload 7
            if_icmplt 1
         5: .line 508
            return
        end local 4 // jdk.tools.jaotc.GraalFilters filters
        end local 3 // jdk.tools.jaotc.CompilationSpec compilationRestrictions
        end local 2 // jdk.vm.ci.meta.ResolvedJavaMethod[] methods
        end local 1 // jdk.tools.jaotc.AOTCompiledClass aotClass
        end local 0 // jdk.tools.jaotc.Main this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    6     0                     this  Ljdk/tools/jaotc/Main;
            0    6     1                 aotClass  Ljdk/tools/jaotc/AOTCompiledClass;
            0    6     2                  methods  [Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0    6     3  compilationRestrictions  Ljdk/tools/jaotc/CompilationSpec;
            0    6     4                  filters  Ljdk/tools/jaotc/GraalFilters;
            2    3     5                        m  Ljdk/vm/ci/meta/ResolvedJavaMethod;
    MethodParameters:
                         Name  Flags
      aotClass                 
      methods                  
      compilationRestrictions  
      filters                  

  private void addMethod(jdk.tools.jaotc.AOTCompiledClass, jdk.vm.ci.meta.ResolvedJavaMethod, jdk.tools.jaotc.CompilationSpec, jdk.tools.jaotc.GraalFilters);
    descriptor: (Ljdk/tools/jaotc/AOTCompiledClass;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/tools/jaotc/CompilationSpec;Ljdk/tools/jaotc/GraalFilters;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // jdk.tools.jaotc.Main this
        start local 1 // jdk.tools.jaotc.AOTCompiledClass aotClass
        start local 2 // jdk.vm.ci.meta.ResolvedJavaMethod method
        start local 3 // jdk.tools.jaotc.CompilationSpec compilationRestrictions
        start local 4 // jdk.tools.jaotc.GraalFilters filters
         0: .line 512
            aload 2 /* method */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.hasBytecodes:()Z
            ifne 2
         1: .line 513
            return
         2: .line 515
      StackMap locals:
      StackMap stack:
            aload 3 /* compilationRestrictions */
            aload 2 /* method */
            invokevirtual jdk.tools.jaotc.CompilationSpec.shouldCompileMethod:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
            ifne 4
         3: .line 516
            return
         4: .line 518
      StackMap locals:
      StackMap stack:
            aload 4 /* filters */
            aload 2 /* method */
            invokevirtual jdk.tools.jaotc.GraalFilters.shouldCompileMethod:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
            ifne 6
         5: .line 519
            return
         6: .line 522
      StackMap locals:
      StackMap stack:
            aload 1 /* aotClass */
            aload 2 /* method */
            invokevirtual jdk.tools.jaotc.AOTCompiledClass.addMethod:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)V
         7: .line 523
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "  added "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* method */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* method */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
            invokeinterface jdk.vm.ci.meta.Signature.toMethodDescriptor:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual jdk.tools.jaotc.Main.printlnVerbose:(Ljava/lang/String;)V
         8: .line 524
            return
        end local 4 // jdk.tools.jaotc.GraalFilters filters
        end local 3 // jdk.tools.jaotc.CompilationSpec compilationRestrictions
        end local 2 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 1 // jdk.tools.jaotc.AOTCompiledClass aotClass
        end local 0 // jdk.tools.jaotc.Main this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    9     0                     this  Ljdk/tools/jaotc/Main;
            0    9     1                 aotClass  Ljdk/tools/jaotc/AOTCompiledClass;
            0    9     2                   method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0    9     3  compilationRestrictions  Ljdk/tools/jaotc/CompilationSpec;
            0    9     4                  filters  Ljdk/tools/jaotc/GraalFilters;
    MethodParameters:
                         Name  Flags
      aotClass                 
      method                   
      compilationRestrictions  
      filters                  

  private void printContainerInfo(jdk.tools.jaotc.binformat.ByteContainer);
    descriptor: (Ljdk/tools/jaotc/binformat/ByteContainer;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // jdk.tools.jaotc.Main this
        start local 1 // jdk.tools.jaotc.binformat.ByteContainer container
         0: .line 527
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 1 /* container */
            invokevirtual jdk.tools.jaotc.binformat.ByteContainer.getContainerName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* container */
            invokevirtual jdk.tools.jaotc.binformat.ByteContainer.getByteStreamSize:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " bytes"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual jdk.tools.jaotc.Main.printlnVerbose:(Ljava/lang/String;)V
         1: .line 528
            return
        end local 1 // jdk.tools.jaotc.binformat.ByteContainer container
        end local 0 // jdk.tools.jaotc.Main this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Ljdk/tools/jaotc/Main;
            0    2     1  container  Ljdk/tools/jaotc/binformat/ByteContainer;
    MethodParameters:
           Name  Flags
      container  

  private void handleOptions(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=6, args_size=2
        start local 0 // jdk.tools.jaotc.Main this
        start local 1 // java.lang.String[] args
         0: .line 533
            aload 1 /* args */
            arraylength
            ifne 3
         1: .line 534
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.options:Ljdk/tools/jaotc/Main$Options;
            iconst_1
            putfield jdk.tools.jaotc.Main$Options.help:Z
         2: .line 535
            return
         3: .line 539
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         4: .line 540
            goto 22
         5: .line 541
      StackMap locals: int
      StackMap stack:
            aload 1 /* args */
            iload 2 /* i */
            aaload
            astore 3 /* arg */
        start local 3 // java.lang.String arg
         6: .line 543
            aload 3 /* arg */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 45
            if_icmpne 20
         7: .line 544
            aload 3 /* arg */
            invokestatic jdk.tools.jaotc.Main.getOption:(Ljava/lang/String;)Ljdk/tools/jaotc/Main$Option;
            astore 4 /* option */
        start local 4 // jdk.tools.jaotc.Main$Option option
         8: .line 545
            aconst_null
            astore 5 /* param */
        start local 5 // java.lang.String param
         9: .line 547
            aload 4 /* option */
            getfield jdk.tools.jaotc.Main$Option.hasArg:Z
            ifeq 17
        10: .line 548
            aload 3 /* arg */
            ldc "--"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 13
            aload 3 /* arg */
            bipush 61
            invokevirtual java.lang.String.indexOf:(I)I
            ifle 13
        11: .line 549
            aload 3 /* arg */
            aload 3 /* arg */
            bipush 61
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_1
            iadd
            aload 3 /* arg */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 5 /* param */
        12: .line 550
            goto 15
      StackMap locals: java.lang.String jdk.tools.jaotc.Main$Option java.lang.String
      StackMap stack:
        13: iload 2 /* i */
            iconst_1
            iadd
            aload 1 /* args */
            arraylength
            if_icmpge 15
        14: .line 551
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            astore 5 /* param */
        15: .line 554
      StackMap locals:
      StackMap stack:
            aload 5 /* param */
            ifnull 16
            aload 5 /* param */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 16
            aload 5 /* param */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 45
            if_icmpne 17
        16: .line 555
      StackMap locals:
      StackMap stack:
            new jdk.tools.jaotc.Main$BadArgs
            dup
            ldc "missing argument for option: {0}"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* arg */
            aastore
            invokespecial jdk.tools.jaotc.Main$BadArgs.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
            iconst_1
            invokevirtual jdk.tools.jaotc.Main$BadArgs.showUsage:(Z)Ljdk/tools/jaotc/Main$BadArgs;
            athrow
        17: .line 559
      StackMap locals:
      StackMap stack:
            aload 4 /* option */
            aload 0 /* this */
            aload 3 /* arg */
            aload 5 /* param */
            invokevirtual jdk.tools.jaotc.Main$Option.process:(Ljdk/tools/jaotc/Main;Ljava/lang/String;Ljava/lang/String;)V
        18: .line 561
            aload 4 /* option */
            invokevirtual jdk.tools.jaotc.Main$Option.ignoreRest:()Z
            ifeq 21
        19: .line 562
            goto 23
        end local 5 // java.lang.String param
        end local 4 // jdk.tools.jaotc.Main$Option option
        20: .line 565
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.options:Ljdk/tools/jaotc/Main$Options;
            getfield jdk.tools.jaotc.Main$Options.files:Ljava/util/List;
            new jdk.tools.jaotc.collect.SearchFor
            dup
            aload 3 /* arg */
            invokespecial jdk.tools.jaotc.collect.SearchFor.<init>:(Ljava/lang/String;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.lang.String arg
        21: .line 540
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 2 /* i */
            aload 1 /* args */
            arraylength
            if_icmplt 5
        23: .line 568
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int i
        end local 1 // java.lang.String[] args
        end local 0 // jdk.tools.jaotc.Main this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   24     0    this  Ljdk/tools/jaotc/Main;
            0   24     1    args  [Ljava/lang/String;
            4   24     2       i  I
            6   21     3     arg  Ljava/lang/String;
            8   20     4  option  Ljdk/tools/jaotc/Main$Option;
            9   20     5   param  Ljava/lang/String;
    Exceptions:
      throws jdk.tools.jaotc.Main$BadArgs
    MethodParameters:
      Name  Flags
      args  

  private static jdk.tools.jaotc.Main$Option getOption(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljdk/tools/jaotc/Main$Option;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=5, args_size=1
        start local 0 // java.lang.String name
         0: .line 571
            getstatic jdk.tools.jaotc.Main.recognizedOptions:[Ljdk/tools/jaotc/Main$Option;
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 5
      StackMap locals: java.lang.String top int int jdk.tools.jaotc.Main$Option[]
      StackMap stack:
         1: aload 4
            iload 2
            aaload
            astore 1 /* o */
        start local 1 // jdk.tools.jaotc.Main$Option o
         2: .line 572
            aload 1 /* o */
            aload 0 /* name */
            invokevirtual jdk.tools.jaotc.Main$Option.matches:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 573
            aload 1 /* o */
            areturn
        end local 1 // jdk.tools.jaotc.Main$Option o
         4: .line 571
      StackMap locals:
      StackMap stack:
            iinc 2 1
      StackMap locals:
      StackMap stack:
         5: iload 2
            iload 3
            if_icmplt 1
         6: .line 576
            new jdk.tools.jaotc.Main$BadArgs
            dup
            ldc "unknown option: {0}"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* name */
            aastore
            invokespecial jdk.tools.jaotc.Main$BadArgs.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
            iconst_1
            invokevirtual jdk.tools.jaotc.Main$BadArgs.showUsage:(Z)Ljdk/tools/jaotc/Main$BadArgs;
            athrow
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  name  Ljava/lang/String;
            2    4     1     o  Ljdk/tools/jaotc/Main$Option;
    Exceptions:
      throws jdk.tools.jaotc.Main$BadArgs
    MethodParameters:
      Name  Flags
      name  

  public void printInfo(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.tools.jaotc.Main this
        start local 1 // java.lang.String message
         0: .line 580
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.options:Ljdk/tools/jaotc/Main$Options;
            getfield jdk.tools.jaotc.Main$Options.info:Z
            ifeq 3
         1: .line 581
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            aload 1 /* message */
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
         2: .line 582
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
         3: .line 584
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String message
        end local 0 // jdk.tools.jaotc.Main this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Ljdk/tools/jaotc/Main;
            0    4     1  message  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      message  

  public void printlnInfo(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.tools.jaotc.Main this
        start local 1 // java.lang.String message
         0: .line 587
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.options:Ljdk/tools/jaotc/Main$Options;
            getfield jdk.tools.jaotc.Main$Options.info:Z
            ifeq 3
         1: .line 588
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            aload 1 /* message */
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         2: .line 589
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
         3: .line 591
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String message
        end local 0 // jdk.tools.jaotc.Main this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Ljdk/tools/jaotc/Main;
            0    4     1  message  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      message  

  public void printVerbose(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.tools.jaotc.Main this
        start local 1 // java.lang.String message
         0: .line 594
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.options:Ljdk/tools/jaotc/Main$Options;
            getfield jdk.tools.jaotc.Main$Options.verbose:Z
            ifeq 3
         1: .line 595
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            aload 1 /* message */
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
         2: .line 596
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
         3: .line 598
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String message
        end local 0 // jdk.tools.jaotc.Main this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Ljdk/tools/jaotc/Main;
            0    4     1  message  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      message  

  public void printlnVerbose(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.tools.jaotc.Main this
        start local 1 // java.lang.String message
         0: .line 601
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.options:Ljdk/tools/jaotc/Main$Options;
            getfield jdk.tools.jaotc.Main$Options.verbose:Z
            ifeq 3
         1: .line 602
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            aload 1 /* message */
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         2: .line 603
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
         3: .line 605
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String message
        end local 0 // jdk.tools.jaotc.Main this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Ljdk/tools/jaotc/Main;
            0    4     1  message  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      message  

  public void printDebug(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.tools.jaotc.Main this
        start local 1 // java.lang.String message
         0: .line 608
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.options:Ljdk/tools/jaotc/Main$Options;
            getfield jdk.tools.jaotc.Main$Options.debug:Z
            ifeq 3
         1: .line 609
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            aload 1 /* message */
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
         2: .line 610
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
         3: .line 612
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String message
        end local 0 // jdk.tools.jaotc.Main this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Ljdk/tools/jaotc/Main;
            0    4     1  message  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      message  

  public void printlnDebug(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.tools.jaotc.Main this
        start local 1 // java.lang.String message
         0: .line 615
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.options:Ljdk/tools/jaotc/Main$Options;
            getfield jdk.tools.jaotc.Main$Options.debug:Z
            ifeq 3
         1: .line 616
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            aload 1 /* message */
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         2: .line 617
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
         3: .line 619
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String message
        end local 0 // jdk.tools.jaotc.Main this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Ljdk/tools/jaotc/Main;
            0    4     1  message  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      message  

  public void printError(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // jdk.tools.jaotc.Main this
        start local 1 // java.lang.String message
         0: .line 622
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            new java.lang.StringBuilder
            dup
            ldc "Error: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* message */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         1: .line 623
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
         2: .line 624
            return
        end local 1 // java.lang.String message
        end local 0 // jdk.tools.jaotc.Main this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Ljdk/tools/jaotc/Main;
            0    3     1  message  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      message  

  private void reportError(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // jdk.tools.jaotc.Main this
        start local 1 // java.lang.Throwable e
         0: .line 627
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            new java.lang.StringBuilder
            dup
            ldc "Error: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* e */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         1: .line 628
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.options:Ljdk/tools/jaotc/Main$Options;
            getfield jdk.tools.jaotc.Main$Options.info:Z
            ifeq 3
         2: .line 629
            aload 1 /* e */
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            invokevirtual java.lang.Throwable.printStackTrace:(Ljava/io/PrintWriter;)V
         3: .line 631
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
         4: .line 632
            return
        end local 1 // java.lang.Throwable e
        end local 0 // jdk.tools.jaotc.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljdk/tools/jaotc/Main;
            0    5     1     e  Ljava/lang/Throwable;
    MethodParameters:
      Name  Flags
      e     

  private void reportError(java.lang.String, java.lang.Object[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;)V
    flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // jdk.tools.jaotc.Main this
        start local 1 // java.lang.String key
        start local 2 // java.lang.Object[] args
         0: .line 635
            aload 0 /* this */
            aload 1 /* key */
            aload 2 /* args */
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual jdk.tools.jaotc.Main.printError:(Ljava/lang/String;)V
         1: .line 636
            return
        end local 2 // java.lang.Object[] args
        end local 1 // java.lang.String key
        end local 0 // jdk.tools.jaotc.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/tools/jaotc/Main;
            0    2     1   key  Ljava/lang/String;
            0    2     2  args  [Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   
      args  

  private void warning(java.lang.String, java.lang.Object[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;)V
    flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // jdk.tools.jaotc.Main this
        start local 1 // java.lang.String key
        start local 2 // java.lang.Object[] args
         0: .line 639
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            new java.lang.StringBuilder
            dup
            ldc "Warning: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* key */
            aload 2 /* args */
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         1: .line 640
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
         2: .line 641
            return
        end local 2 // java.lang.Object[] args
        end local 1 // java.lang.String key
        end local 0 // jdk.tools.jaotc.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/tools/jaotc/Main;
            0    3     1   key  Ljava/lang/String;
            0    3     2  args  [Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   
      args  

  private void showUsage();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.tools.jaotc.Main this
         0: .line 644
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            ldc "Usage: jaotc <options> list"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         1: .line 645
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            ldc "use --help for a list of possible options"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         2: .line 646
            return
        end local 0 // jdk.tools.jaotc.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/tools/jaotc/Main;

  private void showHelp();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // jdk.tools.jaotc.Main this
         0: .line 649
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            ldc "Usage: jaotc <options> list"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         1: .line 650
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.println:()V
         2: .line 651
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            ldc "  list       A : separated list of class names, modules, jar files"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         3: .line 652
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            ldc "             or directories which contain class files."
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         4: .line 653
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.println:()V
         5: .line 654
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            ldc "where options include:"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         6: .line 655
            getstatic jdk.tools.jaotc.Main.recognizedOptions:[Ljdk/tools/jaotc/Main$Option;
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 16
      StackMap locals: jdk.tools.jaotc.Main top int int jdk.tools.jaotc.Main$Option[]
      StackMap stack:
         7: aload 4
            iload 2
            aaload
            astore 1 /* o */
        start local 1 // jdk.tools.jaotc.Main$Option o
         8: .line 656
            aload 1 /* o */
            getfield jdk.tools.jaotc.Main$Option.aliases:[Ljava/lang/String;
            iconst_0
            aaload
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 5 /* name */
        start local 5 // java.lang.String name
         9: .line 657
            aload 5 /* name */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 45
            if_icmpne 10
            aload 5 /* name */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            goto 11
      StackMap locals: jdk.tools.jaotc.Main jdk.tools.jaotc.Main$Option int int jdk.tools.jaotc.Main$Option[] java.lang.String
      StackMap stack:
        10: aload 5 /* name */
      StackMap locals:
      StackMap stack: java.lang.String
        11: astore 5 /* name */
        12: .line 658
            aload 1 /* o */
            invokevirtual jdk.tools.jaotc.Main$Option.isHidden:()Z
            ifne 15
            aload 5 /* name */
            ldc "h"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 14
        13: .line 659
            goto 15
        14: .line 661
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            aload 1 /* o */
            getfield jdk.tools.jaotc.Main$Option.help:Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        end local 5 // java.lang.String name
        end local 1 // jdk.tools.jaotc.Main$Option o
        15: .line 655
      StackMap locals: jdk.tools.jaotc.Main top int int jdk.tools.jaotc.Main$Option[]
      StackMap stack:
            iinc 2 1
      StackMap locals:
      StackMap stack:
        16: iload 2
            iload 3
            if_icmplt 7
        17: .line 663
            return
        end local 0 // jdk.tools.jaotc.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   18     0  this  Ljdk/tools/jaotc/Main;
            8   15     1     o  Ljdk/tools/jaotc/Main$Option;
            9   15     5  name  Ljava/lang/String;

  private void showVersion();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // jdk.tools.jaotc.Main this
         0: .line 666
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            new java.lang.StringBuilder
            dup
            ldc "jaotc "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic jdk.tools.jaotc.Main.JVM_VERSION:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         1: .line 667
            return
        end local 0 // jdk.tools.jaotc.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/tools/jaotc/Main;

  private java.util.List<jdk.tools.jaotc.AOTCompiledClass> collectMethodsToCompile(java.util.Set<java.lang.Class<?>>, jdk.tools.jaotc.CompilationSpec, jdk.tools.jaotc.GraalFilters, jdk.vm.ci.meta.MetaAccessProvider);
    descriptor: (Ljava/util/Set;Ljdk/tools/jaotc/CompilationSpec;Ljdk/tools/jaotc/GraalFilters;Ljdk/vm/ci/meta/MetaAccessProvider;)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=13, args_size=5
        start local 0 // jdk.tools.jaotc.Main this
        start local 1 // java.util.Set classesToCompile
        start local 2 // jdk.tools.jaotc.CompilationSpec compilationRestrictions
        start local 3 // jdk.tools.jaotc.GraalFilters filters
        start local 4 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
         0: .line 675
            iconst_0
            istore 5 /* total */
        start local 5 // int total
         1: .line 676
            iconst_0
            istore 6 /* count */
        start local 6 // int count
         2: .line 677
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 7 /* classes */
        start local 7 // java.util.List classes
         3: .line 679
            aload 1 /* classesToCompile */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 9
            goto 40
      StackMap locals: jdk.tools.jaotc.Main java.util.Set jdk.tools.jaotc.CompilationSpec jdk.tools.jaotc.GraalFilters jdk.vm.ci.meta.MetaAccessProvider int int java.util.List top java.util.Iterator
      StackMap stack:
         4: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Class
            astore 8 /* c */
        start local 8 // java.lang.Class c
         5: .line 680
            aload 4 /* metaAccess */
            aload 8 /* c */
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
            astore 10 /* resolvedJavaType */
        start local 10 // jdk.vm.ci.meta.ResolvedJavaType resolvedJavaType
         6: .line 681
            aload 3 /* filters */
            aload 10 /* resolvedJavaType */
            invokevirtual jdk.tools.jaotc.GraalFilters.shouldCompileAnyMethodInClass:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
            ifeq 40
         7: .line 682
            new jdk.tools.jaotc.AOTCompiledClass
            dup
            aload 10 /* resolvedJavaType */
            invokespecial jdk.tools.jaotc.AOTCompiledClass.<init>:(Ljdk/vm/ci/meta/ResolvedJavaType;)V
            astore 11 /* aotClass */
        start local 11 // jdk.tools.jaotc.AOTCompiledClass aotClass
         8: .line 683
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc " Scanning "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* c */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual jdk.tools.jaotc.Main.printlnVerbose:(Ljava/lang/String;)V
         9: .line 687
            aload 10 /* resolvedJavaType */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getDeclaredConstructors:()[Ljdk/vm/ci/meta/ResolvedJavaMethod;
            astore 12 /* ctors */
        start local 12 // jdk.vm.ci.meta.ResolvedJavaMethod[] ctors
        10: .line 688
            aload 0 /* this */
            aload 11 /* aotClass */
            aload 12 /* ctors */
            aload 2 /* compilationRestrictions */
            aload 3 /* filters */
            invokevirtual jdk.tools.jaotc.Main.addMethods:(Ljdk/tools/jaotc/AOTCompiledClass;[Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/tools/jaotc/CompilationSpec;Ljdk/tools/jaotc/GraalFilters;)V
        11: .line 689
            iload 5 /* total */
            aload 12 /* ctors */
            arraylength
            iadd
            istore 5 /* total */
        end local 12 // jdk.vm.ci.meta.ResolvedJavaMethod[] ctors
        12: .line 690
            goto 18
      StackMap locals: jdk.tools.jaotc.Main java.util.Set jdk.tools.jaotc.CompilationSpec jdk.tools.jaotc.GraalFilters jdk.vm.ci.meta.MetaAccessProvider int int java.util.List java.lang.Class java.util.Iterator jdk.vm.ci.meta.ResolvedJavaType jdk.tools.jaotc.AOTCompiledClass
      StackMap stack: java.lang.Throwable
        13: astore 12 /* e */
        start local 12 // java.lang.Throwable e
        14: .line 692
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.options:Ljdk/tools/jaotc/Main$Options;
            getfield jdk.tools.jaotc.Main$Options.ignoreClassLoadingErrors:Z
            ifeq 17
        15: .line 693
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 8 /* c */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 12 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual jdk.tools.jaotc.Main.printError:(Ljava/lang/String;)V
        16: .line 694
            goto 18
        17: .line 695
      StackMap locals: java.lang.Throwable
      StackMap stack:
            new java.lang.InternalError
            dup
            aload 12 /* e */
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 12 // java.lang.Throwable e
        18: .line 701
      StackMap locals:
      StackMap stack:
            aload 10 /* resolvedJavaType */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getDeclaredMethods:()[Ljdk/vm/ci/meta/ResolvedJavaMethod;
            astore 12 /* methods */
        start local 12 // jdk.vm.ci.meta.ResolvedJavaMethod[] methods
        19: .line 702
            aload 0 /* this */
            aload 11 /* aotClass */
            aload 12 /* methods */
            aload 2 /* compilationRestrictions */
            aload 3 /* filters */
            invokevirtual jdk.tools.jaotc.Main.addMethods:(Ljdk/tools/jaotc/AOTCompiledClass;[Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/tools/jaotc/CompilationSpec;Ljdk/tools/jaotc/GraalFilters;)V
        20: .line 703
            iload 5 /* total */
            aload 12 /* methods */
            arraylength
            iadd
            istore 5 /* total */
        end local 12 // jdk.vm.ci.meta.ResolvedJavaMethod[] methods
        21: .line 704
            goto 27
      StackMap locals:
      StackMap stack: java.lang.Throwable
        22: astore 12 /* e */
        start local 12 // java.lang.Throwable e
        23: .line 706
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.options:Ljdk/tools/jaotc/Main$Options;
            getfield jdk.tools.jaotc.Main$Options.ignoreClassLoadingErrors:Z
            ifeq 26
        24: .line 707
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 8 /* c */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 12 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual jdk.tools.jaotc.Main.printError:(Ljava/lang/String;)V
        25: .line 708
            goto 27
        26: .line 709
      StackMap locals: java.lang.Throwable
      StackMap stack:
            new java.lang.InternalError
            dup
            aload 12 /* e */
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 12 // java.lang.Throwable e
        27: .line 715
      StackMap locals:
      StackMap stack:
            aload 10 /* resolvedJavaType */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getClassInitializer:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            astore 12 /* clinit */
        start local 12 // jdk.vm.ci.meta.ResolvedJavaMethod clinit
        28: .line 716
            aload 12 /* clinit */
            ifnull 37
        29: .line 717
            aload 0 /* this */
            aload 11 /* aotClass */
            aload 12 /* clinit */
            aload 2 /* compilationRestrictions */
            aload 3 /* filters */
            invokevirtual jdk.tools.jaotc.Main.addMethod:(Ljdk/tools/jaotc/AOTCompiledClass;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/tools/jaotc/CompilationSpec;Ljdk/tools/jaotc/GraalFilters;)V
        30: .line 718
            iinc 5 /* total */ 1
        end local 12 // jdk.vm.ci.meta.ResolvedJavaMethod clinit
        31: .line 720
            goto 37
      StackMap locals:
      StackMap stack: java.lang.Throwable
        32: astore 12 /* e */
        start local 12 // java.lang.Throwable e
        33: .line 722
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.options:Ljdk/tools/jaotc/Main$Options;
            getfield jdk.tools.jaotc.Main$Options.ignoreClassLoadingErrors:Z
            ifeq 36
        34: .line 723
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 8 /* c */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 12 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual jdk.tools.jaotc.Main.printError:(Ljava/lang/String;)V
        35: .line 724
            goto 37
        36: .line 725
      StackMap locals: java.lang.Throwable
      StackMap stack:
            new java.lang.InternalError
            dup
            aload 12 /* e */
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 12 // java.lang.Throwable e
        37: .line 730
      StackMap locals:
      StackMap stack:
            aload 11 /* aotClass */
            invokevirtual jdk.tools.jaotc.AOTCompiledClass.hasMethods:()Z
            ifeq 40
        38: .line 731
            aload 7 /* classes */
            aload 11 /* aotClass */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        39: .line 732
            iload 6 /* count */
            aload 11 /* aotClass */
            invokevirtual jdk.tools.jaotc.AOTCompiledClass.getMethodCount:()I
            iadd
            istore 6 /* count */
        end local 11 // jdk.tools.jaotc.AOTCompiledClass aotClass
        end local 10 // jdk.vm.ci.meta.ResolvedJavaType resolvedJavaType
        end local 8 // java.lang.Class c
        40: .line 679
      StackMap locals: jdk.tools.jaotc.Main java.util.Set jdk.tools.jaotc.CompilationSpec jdk.tools.jaotc.GraalFilters jdk.vm.ci.meta.MetaAccessProvider int int java.util.List top java.util.Iterator
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        41: .line 736
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            iload 5 /* total */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " methods total, "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 6 /* count */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " methods to compile"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual jdk.tools.jaotc.Main.printInfo:(Ljava/lang/String;)V
        42: .line 737
            aload 7 /* classes */
            areturn
        end local 7 // java.util.List classes
        end local 6 // int count
        end local 5 // int total
        end local 4 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        end local 3 // jdk.tools.jaotc.GraalFilters filters
        end local 2 // jdk.tools.jaotc.CompilationSpec compilationRestrictions
        end local 1 // java.util.Set classesToCompile
        end local 0 // jdk.tools.jaotc.Main this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   43     0                     this  Ljdk/tools/jaotc/Main;
            0   43     1         classesToCompile  Ljava/util/Set<Ljava/lang/Class<*>;>;
            0   43     2  compilationRestrictions  Ljdk/tools/jaotc/CompilationSpec;
            0   43     3                  filters  Ljdk/tools/jaotc/GraalFilters;
            0   43     4               metaAccess  Ljdk/vm/ci/meta/MetaAccessProvider;
            1   43     5                    total  I
            2   43     6                    count  I
            3   43     7                  classes  Ljava/util/List<Ljdk/tools/jaotc/AOTCompiledClass;>;
            5   40     8                        c  Ljava/lang/Class<*>;
            6   40    10         resolvedJavaType  Ljdk/vm/ci/meta/ResolvedJavaType;
            8   40    11                 aotClass  Ljdk/tools/jaotc/AOTCompiledClass;
           10   12    12                    ctors  [Ljdk/vm/ci/meta/ResolvedJavaMethod;
           14   18    12                        e  Ljava/lang/Throwable;
           19   21    12                  methods  [Ljdk/vm/ci/meta/ResolvedJavaMethod;
           23   27    12                        e  Ljava/lang/Throwable;
           28   31    12                   clinit  Ljdk/vm/ci/meta/ResolvedJavaMethod;
           33   37    12                        e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           9    12      13  Class java.lang.Throwable
          18    21      22  Class java.lang.Throwable
          27    31      32  Class java.lang.Throwable
    Signature: (Ljava/util/Set<Ljava/lang/Class<*>;>;Ljdk/tools/jaotc/CompilationSpec;Ljdk/tools/jaotc/GraalFilters;Ljdk/vm/ci/meta/MetaAccessProvider;)Ljava/util/List<Ljdk/tools/jaotc/AOTCompiledClass;>;
    MethodParameters:
                         Name  Flags
      classesToCompile         
      compilationRestrictions  
      filters                  
      metaAccess               

  private jdk.tools.jaotc.CompilationSpec collectSpecifiedMethods();
    descriptor: ()Ljdk/tools/jaotc/CompilationSpec;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=11, args_size=1
        start local 0 // jdk.tools.jaotc.Main this
         0: .line 745
            new jdk.tools.jaotc.CompilationSpec
            dup
            invokespecial jdk.tools.jaotc.CompilationSpec.<init>:()V
            astore 1 /* compilationRestrictions */
        start local 1 // jdk.tools.jaotc.CompilationSpec compilationRestrictions
         1: .line 746
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.options:Ljdk/tools/jaotc/Main$Options;
            getfield jdk.tools.jaotc.Main$Options.methodList:Ljava/lang/String;
            astore 2 /* methodListFileName */
        start local 2 // java.lang.String methodListFileName
         2: .line 748
            aload 2 /* methodListFileName */
            ifnull 31
            aload 2 /* methodListFileName */
            ldc ""
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 31
         3: .line 750
            new java.io.FileReader
            dup
            aload 2 /* methodListFileName */
            invokespecial java.io.FileReader.<init>:(Ljava/lang/String;)V
            astore 3 /* methListFile */
        start local 3 // java.io.FileReader methListFile
         4: .line 751
            new java.io.BufferedReader
            dup
            aload 3 /* methListFile */
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
            astore 4 /* readBuf */
        start local 4 // java.io.BufferedReader readBuf
         5: .line 752
            aconst_null
            astore 5 /* line */
        start local 5 // java.lang.String line
         6: .line 753
            goto 24
         7: .line 754
      StackMap locals: jdk.tools.jaotc.Main jdk.tools.jaotc.CompilationSpec java.lang.String java.io.FileReader java.io.BufferedReader java.lang.String
      StackMap stack:
            aload 5 /* line */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 6 /* trimmedLine */
        start local 6 // java.lang.String trimmedLine
         8: .line 755
            aload 6 /* trimmedLine */
            ldc "#"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 24
         9: .line 756
            aload 6 /* trimmedLine */
            ldc " "
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 7 /* components */
        start local 7 // java.lang.String[] components
        10: .line 757
            aload 7 /* components */
            arraylength
            iconst_2
            if_icmpne 22
        11: .line 758
            aload 7 /* components */
            iconst_0
            aaload
            astore 8 /* directive */
        start local 8 // java.lang.String directive
        12: .line 759
            aload 7 /* components */
            iconst_1
            aaload
            astore 9 /* pattern */
        start local 9 // java.lang.String pattern
        13: .line 760
            aload 8 /* directive */
            dup
            astore 10
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 2
          -2074174337: 14
          -1321148966: 15
              default: 20
          }
      StackMap locals: jdk.tools.jaotc.Main jdk.tools.jaotc.CompilationSpec java.lang.String java.io.FileReader java.io.BufferedReader java.lang.String java.lang.String java.lang.String[] java.lang.String java.lang.String java.lang.String
      StackMap stack:
        14: aload 10
            ldc "compileOnly"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 16
            goto 20
      StackMap locals:
      StackMap stack:
        15: aload 10
            ldc "exclude"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 18
            goto 20
        16: .line 762
      StackMap locals:
      StackMap stack:
            aload 1 /* compilationRestrictions */
            aload 9 /* pattern */
            invokevirtual jdk.tools.jaotc.CompilationSpec.addCompileOnlyPattern:(Ljava/lang/String;)V
        17: .line 763
            goto 24
        18: .line 765
      StackMap locals:
      StackMap stack:
            aload 1 /* compilationRestrictions */
            aload 9 /* pattern */
            invokevirtual jdk.tools.jaotc.CompilationSpec.addExcludePattern:(Ljava/lang/String;)V
        19: .line 766
            goto 24
        20: .line 768
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Unrecognized command "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* directive */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ". Ignoring\n\t"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* line */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\n encountered in "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* methodListFileName */
            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
        end local 9 // java.lang.String pattern
        end local 8 // java.lang.String directive
        21: .line 770
            goto 24
        22: .line 771
      StackMap locals:
      StackMap stack:
            aload 6 /* trimmedLine */
            ldc ""
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 24
        23: .line 772
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Ignoring malformed line:\n\t "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* line */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\n"
            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
        end local 7 // java.lang.String[] components
        end local 6 // java.lang.String trimmedLine
        24: .line 753
      StackMap locals:
      StackMap stack:
            aload 4 /* readBuf */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            dup
            astore 5 /* line */
            ifnonnull 7
        25: .line 777
            aload 4 /* readBuf */
            invokevirtual java.io.BufferedReader.close:()V
        end local 5 // java.lang.String line
        end local 4 // java.io.BufferedReader readBuf
        end local 3 // java.io.FileReader methListFile
        26: .line 778
            goto 31
      StackMap locals: jdk.tools.jaotc.Main jdk.tools.jaotc.CompilationSpec java.lang.String
      StackMap stack: java.io.FileNotFoundException
        27: astore 3 /* e */
        start local 3 // java.io.FileNotFoundException e
        28: .line 779
            new java.lang.InternalError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unable to open method list file: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* methodListFileName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 3 /* e */
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.io.FileNotFoundException e
        29: .line 780
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 3 /* e */
        start local 3 // java.io.IOException e
        30: .line 781
            new java.lang.InternalError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unable to read method list file: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* methodListFileName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 3 /* e */
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.io.IOException e
        31: .line 785
      StackMap locals:
      StackMap stack:
            aload 1 /* compilationRestrictions */
            areturn
        end local 2 // java.lang.String methodListFileName
        end local 1 // jdk.tools.jaotc.CompilationSpec compilationRestrictions
        end local 0 // jdk.tools.jaotc.Main this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   32     0                     this  Ljdk/tools/jaotc/Main;
            1   32     1  compilationRestrictions  Ljdk/tools/jaotc/CompilationSpec;
            2   32     2       methodListFileName  Ljava/lang/String;
            4   26     3             methListFile  Ljava/io/FileReader;
            5   26     4                  readBuf  Ljava/io/BufferedReader;
            6   26     5                     line  Ljava/lang/String;
            8   24     6              trimmedLine  Ljava/lang/String;
           10   24     7               components  [Ljava/lang/String;
           12   21     8                directive  Ljava/lang/String;
           13   21     9                  pattern  Ljava/lang/String;
           28   29     3                        e  Ljava/io/FileNotFoundException;
           30   31     3                        e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           3    26      27  Class java.io.FileNotFoundException
           3    26      29  Class java.io.IOException

  private static void openLog();
    descriptor: ()V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=0
         0: .line 789
            ldc "jdk.tools.jaotc.logCompilation"
            iconst_0
            invokestatic java.lang.Integer.getInteger:(Ljava/lang/String;I)Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            istore 0 /* v */
        start local 0 // int v
         1: .line 790
            iload 0 /* v */
            ifne 4
         2: .line 791
            aconst_null
            putstatic jdk.tools.jaotc.Main.logFile:Ljava/io/FileWriter;
         3: .line 792
            return
         4: .line 795
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "aot_compilation"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            new java.util.Date
            dup
            invokespecial java.util.Date.<init>:()V
            invokevirtual java.util.Date.getTime:()J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc ".log"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* fileName */
        start local 1 // java.lang.String fileName
         5: .line 796
            ldc "./"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 1 /* fileName */
            aastore
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            astore 2 /* logFilePath */
        start local 2 // java.nio.file.Path logFilePath
         6: .line 797
            aload 2 /* logFilePath */
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            astore 3 /* logFileName */
        start local 3 // java.lang.String logFileName
         7: .line 800
            new java.io.FileWriter
            dup
            aload 3 /* logFileName */
            iconst_0
            invokespecial java.io.FileWriter.<init>:(Ljava/lang/String;Z)V
            putstatic jdk.tools.jaotc.Main.logFile:Ljava/io/FileWriter;
         8: .line 801
            goto 12
      StackMap locals: int java.lang.String java.nio.file.Path java.lang.String
      StackMap stack: java.io.IOException
         9: pop
        10: .line 802
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Unable to open logfile :"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* logFileName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\nNo logs will be created"
            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
        11: .line 803
            aconst_null
            putstatic jdk.tools.jaotc.Main.logFile:Ljava/io/FileWriter;
        12: .line 805
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.String logFileName
        end local 2 // java.nio.file.Path logFilePath
        end local 1 // java.lang.String fileName
        end local 0 // int v
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            1   13     0            v  I
            5   13     1     fileName  Ljava/lang/String;
            6   13     2  logFilePath  Ljava/nio/file/Path;
            7   13     3  logFileName  Ljava/lang/String;
      Exception table:
        from    to  target  type
           7     8       9  Class java.io.IOException

  public static void writeLog(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 str
         0: .line 808
            getstatic jdk.tools.jaotc.Main.logFile:Ljava/io/FileWriter;
            ifnull 6
         1: .line 810
            getstatic jdk.tools.jaotc.Main.logFile:Ljava/io/FileWriter;
            new java.lang.StringBuilder
            dup
            aload 0 /* str */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.FileWriter.write:(Ljava/lang/String;)V
         2: .line 811
            getstatic jdk.tools.jaotc.Main.logFile:Ljava/io/FileWriter;
            invokevirtual java.io.FileWriter.flush:()V
         3: .line 812
            goto 6
      StackMap locals:
      StackMap stack: java.io.IOException
         4: pop
         5: .line 814
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            aload 0 /* str */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "\n"
            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
         6: .line 817
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.lang.String str
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0   str  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     3       4  Class java.io.IOException
    MethodParameters:
      Name  Flags
      str   

  public static void closeLog();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 820
            getstatic jdk.tools.jaotc.Main.logFile:Ljava/io/FileWriter;
            ifnull 4
         1: .line 822
            getstatic jdk.tools.jaotc.Main.logFile:Ljava/io/FileWriter;
            invokevirtual java.io.FileWriter.close:()V
         2: .line 823
            goto 4
      StackMap locals:
      StackMap stack: java.io.IOException
         3: pop
         4: .line 827
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           1     2       3  Class java.io.IOException

  private static void lambda$0(java.lang.StringBuilder, java.lang.String);
    descriptor: (Ljava/lang/StringBuilder;Ljava/lang/String;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // java.lang.String e
         0: .line 476
            aload 0
            aload 1 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            return
        end local 1 // java.lang.String e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     e  Ljava/lang/String;
}
SourceFile: "Main.java"
NestMembers:
  jdk.tools.jaotc.Main$1  jdk.tools.jaotc.Main$10  jdk.tools.jaotc.Main$11  jdk.tools.jaotc.Main$12  jdk.tools.jaotc.Main$13  jdk.tools.jaotc.Main$14  jdk.tools.jaotc.Main$15  jdk.tools.jaotc.Main$16  jdk.tools.jaotc.Main$17  jdk.tools.jaotc.Main$18  jdk.tools.jaotc.Main$2  jdk.tools.jaotc.Main$3  jdk.tools.jaotc.Main$4  jdk.tools.jaotc.Main$5  jdk.tools.jaotc.Main$6  jdk.tools.jaotc.Main$7  jdk.tools.jaotc.Main$8  jdk.tools.jaotc.Main$9  jdk.tools.jaotc.Main$BadArgs  jdk.tools.jaotc.Main$Option  jdk.tools.jaotc.Main$Options
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  jdk.tools.jaotc.Main$1
  jdk.tools.jaotc.Main$10
  jdk.tools.jaotc.Main$11
  jdk.tools.jaotc.Main$12
  jdk.tools.jaotc.Main$13
  jdk.tools.jaotc.Main$14
  jdk.tools.jaotc.Main$15
  jdk.tools.jaotc.Main$16
  jdk.tools.jaotc.Main$17
  jdk.tools.jaotc.Main$18
  jdk.tools.jaotc.Main$2
  jdk.tools.jaotc.Main$3
  jdk.tools.jaotc.Main$4
  jdk.tools.jaotc.Main$5
  jdk.tools.jaotc.Main$6
  jdk.tools.jaotc.Main$7
  jdk.tools.jaotc.Main$8
  jdk.tools.jaotc.Main$9
  BadArgs = jdk.tools.jaotc.Main$BadArgs of jdk.tools.jaotc.Main
  abstract Option = jdk.tools.jaotc.Main$Option of jdk.tools.jaotc.Main
  public Options = jdk.tools.jaotc.Main$Options of jdk.tools.jaotc.Main