public final class jdk.tools.jaotc.Main
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: jdk.tools.jaotc.Main
  super_class: java.lang.Object
{
  final jdk.tools.jaotc.Options options;
    descriptor: Ljdk/tools/jaotc/Options;
    flags: (0x0010) ACC_FINAL

  private java.io.PrintWriter log;
    descriptor: Ljava/io/PrintWriter;
    flags: (0x0002) ACC_PRIVATE

  jdk.tools.jaotc.LogPrinter printer;
    descriptor: Ljdk/tools/jaotc/LogPrinter;
    flags: (0x0000) 

  jdk.tools.jaotc.GraalFilters filters;
    descriptor: Ljdk/tools/jaotc/GraalFilters;
    flags: (0x0000) 

  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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 88
            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 75
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 77
            aload 0 /* this */
            new jdk.tools.jaotc.Options
            dup
            invokespecial jdk.tools.jaotc.Options.<init>:()V
            putfield jdk.tools.jaotc.Main.options:Ljdk/tools/jaotc/Options;
         2: .line 75
            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 91
            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 92
            aload 1 /* t */
            aload 0 /* args */
            invokestatic jdk.tools.jaotc.Main.parse:([Ljava/lang/String;)[Ljava/lang/String;
            invokevirtual jdk.tools.jaotc.Main.run:([Ljava/lang/String;)I
            istore 2 /* exitCode */
        start local 2 // int exitCode
         2: .line 93
            iload 2 /* exitCode */
            invokestatic java.lang.System.exit:(I)V
         3: .line 94
            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 static java.lang.String[] parse(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=10, args_size=1
        start local 0 // java.lang.String[] args
         0: .line 101
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* result */
        start local 1 // java.util.List result
         1: .line 102
            aload 0 /* args */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 19
      StackMap locals: java.lang.String[] java.util.List top int int java.lang.String[]
      StackMap stack:
         2: aload 5
            iload 3
            aaload
            astore 2 /* arg */
        start local 2 // java.lang.String arg
         3: .line 103
            aload 2 /* arg */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmple 17
            aload 2 /* arg */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 64
            if_icmpne 17
         4: .line 104
            aload 2 /* arg */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 6 /* v */
        start local 6 // java.lang.String v
         5: .line 105
            aload 6 /* v */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 64
            if_icmpne 8
         6: .line 106
            aload 1 /* result */
            aload 6 /* v */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         7: .line 107
            goto 18
         8: .line 108
      StackMap locals: java.lang.String[] java.util.List java.lang.String int int java.lang.String[] java.lang.String
      StackMap stack:
            aconst_null
            astore 7
            aconst_null
            astore 8
         9: aload 6 /* v */
            iconst_0
            anewarray java.lang.String
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            invokestatic java.nio.file.Files.lines:(Ljava/nio/file/Path;)Ljava/util/stream/Stream;
            astore 9 /* file */
        start local 9 // java.util.stream.Stream file
        10: .line 109
            aload 9 /* file */
            invokedynamic apply()Ljava/util/function/Function;
              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;)Ljava/lang/Object;
                  java/util/StringTokenizer.<init>(Ljava/lang/String;)V (8)
                  (Ljava/lang/String;)Ljava/util/StringTokenizer;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            invokedynamic apply()Ljava/util/function/Function;
              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;)Ljava/lang/Object;
                  java/util/Collections.list(Ljava/util/Enumeration;)Ljava/util/ArrayList; (6)
                  (Ljava/util/StringTokenizer;)Ljava/util/ArrayList;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            invokedynamic apply()Ljava/util/function/Function;
              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;)Ljava/lang/Object;
                  jdk/tools/jaotc/Main.lambda$2(Ljava/util/ArrayList;)Ljava/util/stream/Stream; (6)
                  (Ljava/util/ArrayList;)Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.flatMap:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            aload 1 /* result */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic accept(Ljava/util/List;)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
                  java/util/List.add(Ljava/lang/Object;)Z (9 itf)
                  (Ljava/lang/String;)V
            invokeinterface java.util.stream.Stream.forEachOrdered:(Ljava/util/function/Consumer;)V
        11: .line 110
            aload 9 /* file */
            ifnull 18
            aload 9 /* file */
            invokeinterface java.util.stream.Stream.close:()V
            goto 18
      StackMap locals: java.lang.String[] java.util.List java.lang.String int int java.lang.String[] java.lang.String java.lang.Throwable java.lang.Throwable java.util.stream.Stream
      StackMap stack: java.lang.Throwable
        12: astore 7
            aload 9 /* file */
            ifnull 13
            aload 9 /* file */
            invokeinterface java.util.stream.Stream.close:()V
        end local 9 // java.util.stream.Stream file
      StackMap locals:
      StackMap stack:
        13: aload 7
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: astore 8
            aload 7
            ifnonnull 15
            aload 8
            astore 7
            goto 16
      StackMap locals:
      StackMap stack:
        15: aload 7
            aload 8
            if_acmpeq 16
            aload 7
            aload 8
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        16: aload 7
            athrow
        end local 6 // java.lang.String v
        17: .line 113
      StackMap locals:
      StackMap stack:
            aload 1 /* result */
            aload 2 /* arg */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 2 // java.lang.String arg
        18: .line 102
      StackMap locals: java.lang.String[] java.util.List top int int java.lang.String[]
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
        19: iload 3
            iload 4
            if_icmplt 2
        20: .line 116
            aload 1 /* result */
            invokedynamic apply()Ljava/util/function/IntFunction;
              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:
                  (I)Ljava/lang/Object;
                  jdk/tools/jaotc/Main.lambda$5(I)[Ljava/lang/String; (6)
                  (I)[Ljava/lang/String;
            invokeinterface java.util.List.toArray:(Ljava/util/function/IntFunction;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            areturn
        end local 1 // java.util.List result
        end local 0 // java.lang.String[] args
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   21     0    args  [Ljava/lang/String;
            1   21     1  result  Ljava/util/List<Ljava/lang/String;>;
            3   18     2     arg  Ljava/lang/String;
            5   17     6       v  Ljava/lang/String;
           10   13     9    file  Ljava/util/stream/Stream<Ljava/lang/String;>;
      Exception table:
        from    to  target  type
          10    11      12  any
           9    14      14  any
    Exceptions:
      throws java.io.IOException
    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 120
            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;
         1: .line 121
            aload 0 /* this */
            new jdk.tools.jaotc.LogPrinter
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            invokespecial jdk.tools.jaotc.LogPrinter.<init>:(Ljdk/tools/jaotc/Main;Ljava/io/PrintWriter;)V
            putfield jdk.tools.jaotc.Main.printer:Ljdk/tools/jaotc/LogPrinter;
         2: .line 124
            aload 0 /* this */
            aload 1 /* args */
            invokestatic jdk.tools.jaotc.Options.handleOptions:(Ljdk/tools/jaotc/Main;[Ljava/lang/String;)V
         3: .line 125
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.options:Ljdk/tools/jaotc/Options;
            getfield jdk.tools.jaotc.Options.help:Z
            ifeq 7
         4: .line 126
            aload 0 /* this */
            invokevirtual jdk.tools.jaotc.Main.showHelp:()V
         5: .line 153
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
         6: .line 127
            iconst_0
            ireturn
         7: .line 129
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.options:Ljdk/tools/jaotc/Options;
            getfield jdk.tools.jaotc.Options.version:Z
            ifeq 11
         8: .line 130
            aload 0 /* this */
            invokevirtual jdk.tools.jaotc.Main.showVersion:()V
         9: .line 153
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
        10: .line 131
            iconst_0
            ireturn
        11: .line 134
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.printer:Ljdk/tools/jaotc/LogPrinter;
            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/Options;
            getfield jdk.tools.jaotc.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.LogPrinter.printlnInfo:(Ljava/lang/String;)V
        12: .line 135
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 2 /* start */
        start local 2 // long start
        13: .line 136
            aload 0 /* this */
            invokevirtual jdk.tools.jaotc.Main.run:()Z
            ifne 16
        14: .line 153
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
        15: .line 137
            iconst_4
            ireturn
        16: .line 139
      StackMap locals: long
      StackMap stack:
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 4 /* end */
        start local 4 // long end
        17: .line 140
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.printer:Ljdk/tools/jaotc/LogPrinter;
            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.LogPrinter.printlnInfo:(Ljava/lang/String;)V
        18: .line 153
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
        19: .line 142
            iconst_0
            ireturn
        end local 4 // long end
        end local 2 // long start
        20: .line 143
      StackMap locals: jdk.tools.jaotc.Main java.lang.String[]
      StackMap stack: jdk.tools.jaotc.Options$BadArgs
            astore 2 /* e */
        start local 2 // jdk.tools.jaotc.Options$BadArgs e
        21: .line 144
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.printer:Ljdk/tools/jaotc/LogPrinter;
            aload 2 /* e */
            getfield jdk.tools.jaotc.Options$BadArgs.key:Ljava/lang/String;
            aload 2 /* e */
            getfield jdk.tools.jaotc.Options$BadArgs.args:[Ljava/lang/Object;
            invokevirtual jdk.tools.jaotc.LogPrinter.reportError:(Ljava/lang/String;[Ljava/lang/Object;)V
        22: .line 145
            aload 2 /* e */
            getfield jdk.tools.jaotc.Options$BadArgs.showUsage:Z
            ifeq 24
        23: .line 146
            aload 0 /* this */
            invokevirtual jdk.tools.jaotc.Main.showUsage:()V
        24: .line 153
      StackMap locals: jdk.tools.jaotc.Options$BadArgs
      StackMap stack:
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
        25: .line 148
            iconst_2
            ireturn
        end local 2 // jdk.tools.jaotc.Options$BadArgs e
        26: .line 149
      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 150
            aload 2 /* e */
            invokevirtual java.lang.Exception.printStackTrace:()V
        28: .line 153
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
        29: .line 151
            iconst_4
            ireturn
        end local 2 // java.lang.Exception e
        30: .line 152
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6
        31: .line 153
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
        32: .line 154
            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/Options$BadArgs;
           27   30     2      e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           2     5      20  Class jdk.tools.jaotc.Options$BadArgs
           7     9      20  Class jdk.tools.jaotc.Options$BadArgs
          11    14      20  Class jdk.tools.jaotc.Options$BadArgs
          16    18      20  Class jdk.tools.jaotc.Options$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 boolean run();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=32, args_size=1
        start local 0 // jdk.tools.jaotc.Main this
         0: .line 159
            invokestatic jdk.tools.jaotc.LogPrinter.openLog:()V
         1: .line 163
            new jdk.tools.jaotc.Linker
            dup
            aload 0 /* this */
            invokespecial jdk.tools.jaotc.Linker.<init>:(Ljdk/tools/jaotc/Main;)V
            astore 1 /* linker */
        start local 1 // jdk.tools.jaotc.Linker linker
         2: .line 164
            aload 1 /* linker */
            invokevirtual jdk.tools.jaotc.Linker.objFile:()Ljava/lang/String;
            astore 2 /* objectFileName */
        start local 2 // java.lang.String objectFileName
         3: .line 165
            new jdk.tools.jaotc.Collector
            dup
            aload 0 /* this */
            invokespecial jdk.tools.jaotc.Collector.<init>:(Ljdk/tools/jaotc/Main;)V
            astore 3 /* collector */
        start local 3 // jdk.tools.jaotc.Collector collector
         4: .line 168
            aconst_null
            astore 5
            aconst_null
            astore 6
         5: new jdk.tools.jaotc.Timer
            dup
            aload 0 /* this */
            ldc ""
            invokespecial jdk.tools.jaotc.Timer.<init>:(Ljdk/tools/jaotc/Main;Ljava/lang/String;)V
            astore 7 /* t */
        start local 7 // jdk.tools.jaotc.Timer t
         6: .line 169
            aload 3 /* collector */
            invokevirtual jdk.tools.jaotc.Collector.collectClassesToCompile:()Ljava/util/Set;
            astore 4 /* classesToCompile */
        start local 4 // java.util.Set classesToCompile
         7: .line 170
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.printer:Ljdk/tools/jaotc/LogPrinter;
            new java.lang.StringBuilder
            dup
            aload 4 /* 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.LogPrinter.printInfo:(Ljava/lang/String;)V
         8: .line 171
            aload 7 /* t */
            ifnull 14
            aload 7 /* t */
            invokevirtual jdk.tools.jaotc.Timer.close:()V
            goto 14
        end local 4 // java.util.Set classesToCompile
      StackMap locals: jdk.tools.jaotc.Main jdk.tools.jaotc.Linker java.lang.String jdk.tools.jaotc.Collector top java.lang.Throwable java.lang.Throwable jdk.tools.jaotc.Timer
      StackMap stack: java.lang.Throwable
         9: astore 5
            aload 7 /* t */
            ifnull 10
            aload 7 /* t */
            invokevirtual jdk.tools.jaotc.Timer.close:()V
        end local 7 // jdk.tools.jaotc.Timer t
      StackMap locals:
      StackMap stack:
        10: aload 5
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: astore 6
            aload 5
            ifnonnull 12
            aload 6
            astore 5
            goto 13
      StackMap locals:
      StackMap stack:
        12: aload 5
            aload 6
            if_acmpeq 13
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        13: aload 5
            athrow
        start local 4 // java.util.Set classesToCompile
        14: .line 173
      StackMap locals: jdk.tools.jaotc.Main jdk.tools.jaotc.Linker java.lang.String jdk.tools.jaotc.Collector java.util.Set
      StackMap stack:
            invokestatic org.graalvm.compiler.hotspot.HotSpotGraalOptionValues.defaultOptions:()Lorg/graalvm/compiler/options/OptionValues;
            astore 5 /* graalOptions */
        start local 5 // org.graalvm.compiler.options.OptionValues graalOptions
        15: .line 175
            getstatic org.graalvm.compiler.hotspot.meta.HotSpotAOTProfilingPlugin$Options.TieredAOT:Lorg/graalvm/compiler/options/OptionKey;
            aload 5 /* graalOptions */
            invokevirtual org.graalvm.compiler.options.OptionKey.hasBeenSet:(Lorg/graalvm/compiler/options/OptionValues;)Z
            ifne 17
        16: .line 176
            new org.graalvm.compiler.options.OptionValues
            dup
            aload 5 /* graalOptions */
            getstatic org.graalvm.compiler.hotspot.meta.HotSpotAOTProfilingPlugin$Options.TieredAOT:Lorg/graalvm/compiler/options/OptionKey;
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.options:Ljdk/tools/jaotc/Options;
            getfield jdk.tools.jaotc.Options.tiered:Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            iconst_0
            anewarray java.lang.Object
            invokespecial org.graalvm.compiler.options.OptionValues.<init>:(Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/options/OptionKey;Ljava/lang/Object;[Ljava/lang/Object;)V
            astore 5 /* graalOptions */
        17: .line 178
      StackMap locals: org.graalvm.compiler.options.OptionValues
      StackMap stack:
            new org.graalvm.compiler.options.OptionValues
            dup
            aload 5 /* graalOptions */
            getstatic org.graalvm.compiler.core.common.GraalOptions.GeneratePIC:Lorg/graalvm/compiler/options/OptionKey;
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            getstatic org.graalvm.compiler.core.common.GraalOptions.ImmutableCode:Lorg/graalvm/compiler/options/OptionKey;
            aastore
            dup
            iconst_1
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            invokespecial org.graalvm.compiler.options.OptionValues.<init>:(Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/options/OptionKey;Ljava/lang/Object;[Ljava/lang/Object;)V
            astore 5 /* graalOptions */
        18: .line 179
            ldc "JAOTC"
            invokestatic jdk.vm.ci.runtime.JVMCI.getRuntime:()Ljdk/vm/ci/runtime/JVMCIRuntime;
            aload 5 /* graalOptions */
            aconst_null
            aload 5 /* graalOptions */
            invokestatic org.graalvm.compiler.hotspot.CompilerConfigurationFactory.selectFactory:(Ljava/lang/String;Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/hotspot/CompilerConfigurationFactory;
            invokestatic org.graalvm.compiler.hotspot.HotSpotGraalCompilerFactory.createCompiler:(Ljava/lang/String;Ljdk/vm/ci/runtime/JVMCIRuntime;Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/hotspot/CompilerConfigurationFactory;)Lorg/graalvm/compiler/hotspot/HotSpotGraalCompiler;
            astore 6 /* graalCompiler */
        start local 6 // org.graalvm.compiler.api.runtime.GraalJVMCICompiler graalCompiler
        19: .line 180
            aload 6 /* graalCompiler */
            invokeinterface org.graalvm.compiler.api.runtime.GraalJVMCICompiler.getGraalRuntime:()Lorg/graalvm/compiler/api/runtime/GraalRuntime;
            checkcast org.graalvm.compiler.hotspot.HotSpotGraalRuntime
            astore 7 /* runtime */
        start local 7 // org.graalvm.compiler.hotspot.HotSpotGraalRuntime runtime
        20: .line 181
            aload 7 /* runtime */
            invokevirtual org.graalvm.compiler.hotspot.HotSpotGraalRuntime.getVMConfig:()Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            astore 8 /* graalHotSpotVMConfig */
        start local 8 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfig graalHotSpotVMConfig
        21: .line 183
            aload 8 /* graalHotSpotVMConfig */
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.verifyOops:Z
            ifeq 26
        22: .line 184
            getstatic org.graalvm.compiler.hotspot.HotSpotMarkId.VERIFY_OOPS:Lorg/graalvm/compiler/hotspot/HotSpotMarkId;
            invokevirtual org.graalvm.compiler.hotspot.HotSpotMarkId.isAvailable:()Z
            ifeq 23
            getstatic org.graalvm.compiler.hotspot.HotSpotMarkId.VERIFY_OOP_COUNT_ADDRESS:Lorg/graalvm/compiler/hotspot/HotSpotMarkId;
            invokevirtual org.graalvm.compiler.hotspot.HotSpotMarkId.isAvailable:()Z
            ifne 26
        23: .line 185
      StackMap locals: org.graalvm.compiler.api.runtime.GraalJVMCICompiler org.graalvm.compiler.hotspot.HotSpotGraalRuntime org.graalvm.compiler.hotspot.GraalHotSpotVMConfig
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc "Running jaotc with -XX:+VerifyOops is not supported by this JDK"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        24: .line 292
            invokestatic jdk.tools.jaotc.LogPrinter.closeLog:()V
        25: .line 186
            iconst_0
            ireturn
        26: .line 190
      StackMap locals:
      StackMap stack:
            aload 7 /* runtime */
            ldc Lorg/graalvm/compiler/runtime/RuntimeProvider;
            invokevirtual org.graalvm.compiler.hotspot.HotSpotGraalRuntime.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 9 /* backend */
        start local 9 // org.graalvm.compiler.hotspot.HotSpotHostBackend backend
        27: .line 191
            aload 9 /* 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 10 /* metaAccess */
        start local 10 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        28: .line 192
            aload 0 /* this */
            new jdk.tools.jaotc.GraalFilters
            dup
            aload 10 /* metaAccess */
            invokespecial jdk.tools.jaotc.GraalFilters.<init>:(Ljdk/vm/ci/meta/MetaAccessProvider;)V
            putfield jdk.tools.jaotc.Main.filters:Ljdk/tools/jaotc/GraalFilters;
        29: .line 196
            aconst_null
            astore 12
            aconst_null
            astore 13
        30: new jdk.tools.jaotc.Timer
            dup
            aload 0 /* this */
            ldc ""
            invokespecial jdk.tools.jaotc.Timer.<init>:(Ljdk/tools/jaotc/Main;Ljava/lang/String;)V
            astore 14 /* t */
        start local 14 // jdk.tools.jaotc.Timer t
        31: .line 197
            aload 3 /* collector */
            aload 4 /* classesToCompile */
            aload 10 /* metaAccess */
            invokevirtual jdk.tools.jaotc.Collector.collectMethodsToCompile:(Ljava/util/Set;Ljdk/vm/ci/meta/MetaAccessProvider;)Ljava/util/List;
            astore 11 /* classes */
        start local 11 // java.util.List classes
        32: .line 198
            aload 14 /* t */
            ifnull 38
            aload 14 /* t */
            invokevirtual jdk.tools.jaotc.Timer.close:()V
            goto 38
        end local 11 // java.util.List classes
      StackMap locals: jdk.tools.jaotc.Main jdk.tools.jaotc.Linker java.lang.String jdk.tools.jaotc.Collector java.util.Set org.graalvm.compiler.options.OptionValues org.graalvm.compiler.api.runtime.GraalJVMCICompiler org.graalvm.compiler.hotspot.HotSpotGraalRuntime org.graalvm.compiler.hotspot.GraalHotSpotVMConfig org.graalvm.compiler.hotspot.HotSpotHostBackend jdk.vm.ci.meta.MetaAccessProvider top java.lang.Throwable java.lang.Throwable jdk.tools.jaotc.Timer
      StackMap stack: java.lang.Throwable
        33: astore 12
            aload 14 /* t */
            ifnull 34
            aload 14 /* t */
            invokevirtual jdk.tools.jaotc.Timer.close:()V
        end local 14 // jdk.tools.jaotc.Timer t
      StackMap locals:
      StackMap stack:
        34: aload 12
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        35: astore 13
            aload 12
            ifnonnull 36
            aload 13
            astore 12
            goto 37
      StackMap locals:
      StackMap stack:
        36: aload 12
            aload 13
            if_acmpeq 37
            aload 12
            aload 13
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        37: aload 12
            athrow
        start local 11 // java.util.List classes
        38: .line 201
      StackMap locals: jdk.tools.jaotc.Main jdk.tools.jaotc.Linker java.lang.String jdk.tools.jaotc.Collector java.util.Set org.graalvm.compiler.options.OptionValues org.graalvm.compiler.api.runtime.GraalJVMCICompiler org.graalvm.compiler.hotspot.HotSpotGraalRuntime org.graalvm.compiler.hotspot.GraalHotSpotVMConfig org.graalvm.compiler.hotspot.HotSpotHostBackend jdk.vm.ci.meta.MetaAccessProvider java.util.List
      StackMap stack:
            aconst_null
            astore 12
            aconst_null
            astore 13
        39: aload 0 /* this */
            getfield jdk.tools.jaotc.Main.options:Ljdk/tools/jaotc/Options;
            getfield jdk.tools.jaotc.Options.verbose:Z
            ifeq 40
            new jdk.tools.jaotc.Timer
            dup
            aload 0 /* this */
            ldc "Freeing memory"
            invokespecial jdk.tools.jaotc.Timer.<init>:(Ljdk/tools/jaotc/Main;Ljava/lang/String;)V
            goto 41
      StackMap locals: java.lang.Throwable java.lang.Throwable
      StackMap stack:
        40: aconst_null
      StackMap locals:
      StackMap stack: jdk.tools.jaotc.Timer
        41: astore 14 /* t */
        start local 14 // jdk.tools.jaotc.Timer t
        42: .line 202
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.printer:Ljdk/tools/jaotc/LogPrinter;
            invokevirtual jdk.tools.jaotc.LogPrinter.printMemoryUsage:()V
        43: .line 203
            aconst_null
            astore 4 /* classesToCompile */
        44: .line 204
            invokestatic java.lang.System.gc:()V
        45: .line 205
            aload 14 /* t */
            ifnull 51
            aload 14 /* t */
            invokevirtual jdk.tools.jaotc.Timer.close:()V
            goto 51
      StackMap locals: jdk.tools.jaotc.Main jdk.tools.jaotc.Linker java.lang.String jdk.tools.jaotc.Collector java.util.Set org.graalvm.compiler.options.OptionValues org.graalvm.compiler.api.runtime.GraalJVMCICompiler org.graalvm.compiler.hotspot.HotSpotGraalRuntime org.graalvm.compiler.hotspot.GraalHotSpotVMConfig org.graalvm.compiler.hotspot.HotSpotHostBackend jdk.vm.ci.meta.MetaAccessProvider java.util.List java.lang.Throwable java.lang.Throwable jdk.tools.jaotc.Timer
      StackMap stack: java.lang.Throwable
        46: astore 12
            aload 14 /* t */
            ifnull 47
            aload 14 /* t */
            invokevirtual jdk.tools.jaotc.Timer.close:()V
        end local 14 // jdk.tools.jaotc.Timer t
      StackMap locals:
      StackMap stack:
        47: aload 12
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        48: astore 13
            aload 12
            ifnonnull 49
            aload 13
            astore 12
            goto 50
      StackMap locals:
      StackMap stack:
        49: aload 12
            aload 13
            if_acmpeq 50
            aload 12
            aload 13
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        50: aload 12
            athrow
        51: .line 207
      StackMap locals:
      StackMap stack:
            new jdk.tools.jaotc.AOTDynamicTypeStore
            dup
            invokespecial jdk.tools.jaotc.AOTDynamicTypeStore.<init>:()V
            astore 12 /* dynoStore */
        start local 12 // jdk.tools.jaotc.AOTDynamicTypeStore dynoStore
        52: .line 208
            aload 12 /* dynoStore */
            invokestatic jdk.tools.jaotc.AOTCompiledClass.setDynamicTypeStore:(Ljdk/tools/jaotc/AOTDynamicTypeStore;)V
        53: .line 214
            new jdk.tools.jaotc.Main$1
            dup
            aload 0 /* this */
            aload 12 /* dynoStore */
            invokespecial jdk.tools.jaotc.Main$1.<init>:(Ljdk/tools/jaotc/Main;Lorg/graalvm/compiler/hotspot/meta/HotSpotInvokeDynamicPlugin$DynamicTypeStore;)V
            astore 13 /* indyPlugin */
        start local 13 // jdk.tools.jaotc.Main$1 indyPlugin
        54: .line 221
            new jdk.tools.jaotc.AOTBackend
            dup
            aload 0 /* this */
            aload 5 /* graalOptions */
            aload 9 /* backend */
            aload 13 /* indyPlugin */
            invokespecial jdk.tools.jaotc.AOTBackend.<init>:(Ljdk/tools/jaotc/Main;Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/hotspot/HotSpotBackend;Lorg/graalvm/compiler/hotspot/meta/HotSpotInvokeDynamicPlugin;)V
            astore 14 /* aotBackend */
        start local 14 // jdk.tools.jaotc.AOTBackend aotBackend
        55: .line 222
            aload 14 /* aotBackend */
            invokevirtual jdk.tools.jaotc.AOTBackend.getProviders:()Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
            invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getSnippetReflection:()Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
            astore 15 /* snippetReflection */
        start local 15 // org.graalvm.compiler.api.replacements.SnippetReflectionProvider snippetReflection
        56: .line 223
            new jdk.tools.jaotc.AOTCompiler
            dup
            aload 0 /* this */
            aload 5 /* graalOptions */
            aload 14 /* aotBackend */
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.options:Ljdk/tools/jaotc/Options;
            getfield jdk.tools.jaotc.Options.threads:I
            invokespecial jdk.tools.jaotc.AOTCompiler.<init>:(Ljdk/tools/jaotc/Main;Lorg/graalvm/compiler/options/OptionValues;Ljdk/tools/jaotc/AOTBackend;I)V
            astore 16 /* compiler */
        start local 16 // jdk.tools.jaotc.AOTCompiler compiler
        57: .line 224
            aload 16 /* compiler */
            aload 11 /* classes */
            invokevirtual jdk.tools.jaotc.AOTCompiler.compileClasses:(Ljava/util/List;)Ljava/util/List;
            astore 11 /* classes */
        58: .line 226
            aload 14 /* aotBackend */
            invokevirtual jdk.tools.jaotc.AOTBackend.getGraphBuilderSuite:()Lorg/graalvm/compiler/phases/PhaseSuite;
            astore 17 /* graphBuilderSuite */
        start local 17 // org.graalvm.compiler.phases.PhaseSuite graphBuilderSuite
        59: .line 227
            aload 17 /* graphBuilderSuite */
            ldc Lorg/graalvm/compiler/java/GraphBuilderPhase;
            invokevirtual org.graalvm.compiler.phases.PhaseSuite.findPhase:(Ljava/lang/Class;)Ljava/util/ListIterator;
            astore 18 /* iterator */
        start local 18 // java.util.ListIterator iterator
        60: .line 228
            aload 18 /* 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 19 /* graphBuilderConfig */
        start local 19 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration graphBuilderConfig
        61: .line 231
            aconst_null
            astore 20
            aconst_null
            astore 21
        62: aload 0 /* this */
            getfield jdk.tools.jaotc.Main.options:Ljdk/tools/jaotc/Options;
            getfield jdk.tools.jaotc.Options.verbose:Z
            ifeq 63
            new jdk.tools.jaotc.Timer
            dup
            aload 0 /* this */
            ldc "Freeing memory"
            invokespecial jdk.tools.jaotc.Timer.<init>:(Ljdk/tools/jaotc/Main;Ljava/lang/String;)V
            goto 64
      StackMap locals: jdk.tools.jaotc.Main jdk.tools.jaotc.Linker java.lang.String jdk.tools.jaotc.Collector java.util.Set org.graalvm.compiler.options.OptionValues org.graalvm.compiler.api.runtime.GraalJVMCICompiler org.graalvm.compiler.hotspot.HotSpotGraalRuntime org.graalvm.compiler.hotspot.GraalHotSpotVMConfig org.graalvm.compiler.hotspot.HotSpotHostBackend jdk.vm.ci.meta.MetaAccessProvider java.util.List jdk.tools.jaotc.AOTDynamicTypeStore jdk.tools.jaotc.Main$1 jdk.tools.jaotc.AOTBackend org.graalvm.compiler.api.replacements.SnippetReflectionProvider jdk.tools.jaotc.AOTCompiler org.graalvm.compiler.phases.PhaseSuite java.util.ListIterator org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration java.lang.Throwable java.lang.Throwable
      StackMap stack:
        63: aconst_null
      StackMap locals:
      StackMap stack: jdk.tools.jaotc.Timer
        64: astore 22 /* t */
        start local 22 // jdk.tools.jaotc.Timer t
        65: .line 232
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.printer:Ljdk/tools/jaotc/LogPrinter;
            invokevirtual jdk.tools.jaotc.LogPrinter.printMemoryUsage:()V
        66: .line 233
            aconst_null
            astore 14 /* aotBackend */
        67: .line 234
            aconst_null
            astore 16 /* compiler */
        68: .line 235
            invokestatic java.lang.System.gc:()V
        69: .line 236
            aload 22 /* t */
            ifnull 75
            aload 22 /* t */
            invokevirtual jdk.tools.jaotc.Timer.close:()V
            goto 75
      StackMap locals: jdk.tools.jaotc.Main jdk.tools.jaotc.Linker java.lang.String jdk.tools.jaotc.Collector java.util.Set org.graalvm.compiler.options.OptionValues org.graalvm.compiler.api.runtime.GraalJVMCICompiler org.graalvm.compiler.hotspot.HotSpotGraalRuntime org.graalvm.compiler.hotspot.GraalHotSpotVMConfig org.graalvm.compiler.hotspot.HotSpotHostBackend jdk.vm.ci.meta.MetaAccessProvider java.util.List jdk.tools.jaotc.AOTDynamicTypeStore jdk.tools.jaotc.Main$1 jdk.tools.jaotc.AOTBackend org.graalvm.compiler.api.replacements.SnippetReflectionProvider jdk.tools.jaotc.AOTCompiler org.graalvm.compiler.phases.PhaseSuite java.util.ListIterator org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration java.lang.Throwable java.lang.Throwable jdk.tools.jaotc.Timer
      StackMap stack: java.lang.Throwable
        70: astore 20
            aload 22 /* t */
            ifnull 71
            aload 22 /* t */
            invokevirtual jdk.tools.jaotc.Timer.close:()V
        end local 22 // jdk.tools.jaotc.Timer t
      StackMap locals:
      StackMap stack:
        71: aload 20
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        72: astore 21
            aload 20
            ifnonnull 73
            aload 21
            astore 20
            goto 74
      StackMap locals:
      StackMap stack:
        73: aload 20
            aload 21
            if_acmpeq 74
            aload 20
            aload 21
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        74: aload 20
            athrow
        75: .line 238
      StackMap locals:
      StackMap stack:
            aload 7 /* runtime */
            invokevirtual org.graalvm.compiler.hotspot.HotSpotGraalRuntime.getGarbageCollector:()Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntime$HotSpotGC;
            astore 20 /* graalGC */
        start local 20 // org.graalvm.compiler.hotspot.HotSpotGraalRuntime$HotSpotGC graalGC
        76: .line 242
            aload 20 /* graalGC */
            invokevirtual org.graalvm.compiler.hotspot.HotSpotGraalRuntime$HotSpotGC.ordinal:()I
            iconst_1
            iadd
            istore 21 /* def */
        start local 21 // int def
        77: .line 245
            new java.lang.StringBuilder
            dup
            ldc "CollectedHeap::"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 20 /* graalGC */
            invokevirtual org.graalvm.compiler.hotspot.HotSpotGraalRuntime$HotSpotGC.name:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 22 /* name */
        start local 22 // java.lang.String name
        78: .line 246
            aload 8 /* graalHotSpotVMConfig */
            aload 22 /* name */
            ldc Ljava/lang/Integer;
            iload 21 /* def */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_1
            invokevirtual org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.getConstant:(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/Object;Z)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 23 /* gc */
        start local 23 // int gc
        79: .line 248
            new jdk.tools.jaotc.binformat.BinaryContainer
            dup
            aload 5 /* graalOptions */
            aload 8 /* graalHotSpotVMConfig */
            aload 19 /* graphBuilderConfig */
            iload 23 /* gc */
            getstatic jdk.tools.jaotc.Main.JVM_VERSION:Ljava/lang/String;
            invokespecial jdk.tools.jaotc.binformat.BinaryContainer.<init>:(Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;ILjava/lang/String;)V
            astore 24 /* binaryContainer */
        start local 24 // jdk.tools.jaotc.binformat.BinaryContainer binaryContainer
        80: .line 249
            new jdk.tools.jaotc.DataBuilder
            dup
            aload 0 /* this */
            aload 9 /* backend */
            aload 11 /* classes */
            aload 24 /* 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 25 /* dataBuilder */
        start local 25 // jdk.tools.jaotc.DataBuilder dataBuilder
        81: .line 251
            aconst_null
            astore 26
            aconst_null
            astore 27
        82: new org.graalvm.compiler.debug.DebugContext$Builder
            dup
            aload 5 /* graalOptions */
            new org.graalvm.compiler.printer.GraalDebugHandlersFactory
            dup
            aload 15 /* snippetReflection */
            invokespecial org.graalvm.compiler.printer.GraalDebugHandlersFactory.<init>:(Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;)V
            invokespecial org.graalvm.compiler.debug.DebugContext$Builder.<init>:(Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/debug/DebugHandlersFactory;)V
            invokevirtual org.graalvm.compiler.debug.DebugContext$Builder.build:()Lorg/graalvm/compiler/debug/DebugContext;
            astore 28 /* debug */
        start local 28 // org.graalvm.compiler.debug.DebugContext debug
        83: aload 28 /* debug */
            invokevirtual org.graalvm.compiler.debug.DebugContext.activate:()Lorg/graalvm/compiler/debug/DebugContext$Activation;
            astore 29 /* a */
        start local 29 // org.graalvm.compiler.debug.DebugContext$Activation a
        84: .line 252
            aload 25 /* dataBuilder */
            aload 28 /* debug */
            invokevirtual jdk.tools.jaotc.DataBuilder.prepareData:(Lorg/graalvm/compiler/debug/DebugContext;)V
        85: .line 253
            aload 29 /* a */
            ifnull 88
            aload 29 /* a */
            invokevirtual org.graalvm.compiler.debug.DebugContext$Activation.close:()V
            goto 88
      StackMap locals: jdk.tools.jaotc.Main jdk.tools.jaotc.Linker java.lang.String jdk.tools.jaotc.Collector java.util.Set org.graalvm.compiler.options.OptionValues org.graalvm.compiler.api.runtime.GraalJVMCICompiler org.graalvm.compiler.hotspot.HotSpotGraalRuntime org.graalvm.compiler.hotspot.GraalHotSpotVMConfig org.graalvm.compiler.hotspot.HotSpotHostBackend jdk.vm.ci.meta.MetaAccessProvider java.util.List jdk.tools.jaotc.AOTDynamicTypeStore jdk.tools.jaotc.Main$1 jdk.tools.jaotc.AOTBackend org.graalvm.compiler.api.replacements.SnippetReflectionProvider jdk.tools.jaotc.AOTCompiler org.graalvm.compiler.phases.PhaseSuite java.util.ListIterator org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration org.graalvm.compiler.hotspot.HotSpotGraalRuntime$HotSpotGC int java.lang.String int jdk.tools.jaotc.binformat.BinaryContainer jdk.tools.jaotc.DataBuilder java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.debug.DebugContext$Activation
      StackMap stack: java.lang.Throwable
        86: astore 26
            aload 29 /* a */
            ifnull 87
            aload 29 /* a */
            invokevirtual org.graalvm.compiler.debug.DebugContext$Activation.close:()V
        end local 29 // org.graalvm.compiler.debug.DebugContext$Activation a
      StackMap locals:
      StackMap stack:
        87: aload 26
            athrow
      StackMap locals:
      StackMap stack:
        88: aload 28 /* debug */
            ifnull 96
            aload 28 /* debug */
            invokevirtual org.graalvm.compiler.debug.DebugContext.close:()V
            goto 96
      StackMap locals:
      StackMap stack: java.lang.Throwable
        89: astore 27
            aload 26
            ifnonnull 90
            aload 27
            astore 26
            goto 91
      StackMap locals:
      StackMap stack:
        90: aload 26
            aload 27
            if_acmpeq 91
            aload 26
            aload 27
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        91: aload 28 /* debug */
            ifnull 92
            aload 28 /* debug */
            invokevirtual org.graalvm.compiler.debug.DebugContext.close:()V
        end local 28 // org.graalvm.compiler.debug.DebugContext debug
      StackMap locals:
      StackMap stack:
        92: aload 26
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        93: astore 27
            aload 26
            ifnonnull 94
            aload 27
            astore 26
            goto 95
      StackMap locals:
      StackMap stack:
        94: aload 26
            aload 27
            if_acmpeq 95
            aload 26
            aload 27
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        95: aload 26
            athrow
        96: .line 256
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.printer:Ljdk/tools/jaotc/LogPrinter;
            aload 24 /* binaryContainer */
            invokevirtual jdk.tools.jaotc.LogPrinter.containersInfo:(Ljdk/tools/jaotc/binformat/BinaryContainer;)V
        97: .line 259
            aconst_null
            astore 26
            aconst_null
            astore 27
        98: aload 0 /* this */
            getfield jdk.tools.jaotc.Main.options:Ljdk/tools/jaotc/Options;
            getfield jdk.tools.jaotc.Options.verbose:Z
            ifeq 99
            new jdk.tools.jaotc.Timer
            dup
            aload 0 /* this */
            ldc "Freeing memory"
            invokespecial jdk.tools.jaotc.Timer.<init>:(Ljdk/tools/jaotc/Main;Ljava/lang/String;)V
            goto 100
      StackMap locals: java.lang.Throwable java.lang.Throwable
      StackMap stack:
        99: aconst_null
      StackMap locals:
      StackMap stack: jdk.tools.jaotc.Timer
       100: astore 28 /* t */
        start local 28 // jdk.tools.jaotc.Timer t
       101: .line 260
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.printer:Ljdk/tools/jaotc/LogPrinter;
            invokevirtual jdk.tools.jaotc.LogPrinter.printMemoryUsage:()V
       102: .line 261
            aconst_null
            astore 9 /* backend */
       103: .line 262
            aload 11 /* classes */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 30
            goto 106
      StackMap locals: jdk.tools.jaotc.Main jdk.tools.jaotc.Linker java.lang.String jdk.tools.jaotc.Collector java.util.Set org.graalvm.compiler.options.OptionValues org.graalvm.compiler.api.runtime.GraalJVMCICompiler org.graalvm.compiler.hotspot.HotSpotGraalRuntime org.graalvm.compiler.hotspot.GraalHotSpotVMConfig org.graalvm.compiler.hotspot.HotSpotHostBackend jdk.vm.ci.meta.MetaAccessProvider java.util.List jdk.tools.jaotc.AOTDynamicTypeStore jdk.tools.jaotc.Main$1 jdk.tools.jaotc.AOTBackend org.graalvm.compiler.api.replacements.SnippetReflectionProvider jdk.tools.jaotc.AOTCompiler org.graalvm.compiler.phases.PhaseSuite java.util.ListIterator org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration org.graalvm.compiler.hotspot.HotSpotGraalRuntime$HotSpotGC int java.lang.String int jdk.tools.jaotc.binformat.BinaryContainer jdk.tools.jaotc.DataBuilder java.lang.Throwable java.lang.Throwable jdk.tools.jaotc.Timer top java.util.Iterator
      StackMap stack:
       104: aload 30
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.tools.jaotc.AOTCompiledClass
            astore 29 /* aotCompClass */
        start local 29 // jdk.tools.jaotc.AOTCompiledClass aotCompClass
       105: .line 263
            aload 29 /* aotCompClass */
            invokevirtual jdk.tools.jaotc.AOTCompiledClass.clear:()V
        end local 29 // jdk.tools.jaotc.AOTCompiledClass aotCompClass
       106: .line 262
      StackMap locals:
      StackMap stack:
            aload 30
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 104
       107: .line 265
            aload 11 /* classes */
            invokeinterface java.util.List.clear:()V
       108: .line 266
            aconst_null
            astore 11 /* classes */
       109: .line 267
            aconst_null
            astore 25 /* dataBuilder */
       110: .line 268
            aload 24 /* binaryContainer */
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.freeMemory:()V
       111: .line 269
            invokestatic java.lang.System.gc:()V
       112: .line 270
            aload 28 /* t */
            ifnull 118
            aload 28 /* t */
            invokevirtual jdk.tools.jaotc.Timer.close:()V
            goto 118
      StackMap locals: jdk.tools.jaotc.Main jdk.tools.jaotc.Linker java.lang.String jdk.tools.jaotc.Collector java.util.Set org.graalvm.compiler.options.OptionValues org.graalvm.compiler.api.runtime.GraalJVMCICompiler org.graalvm.compiler.hotspot.HotSpotGraalRuntime org.graalvm.compiler.hotspot.GraalHotSpotVMConfig org.graalvm.compiler.hotspot.HotSpotHostBackend jdk.vm.ci.meta.MetaAccessProvider java.util.List jdk.tools.jaotc.AOTDynamicTypeStore jdk.tools.jaotc.Main$1 jdk.tools.jaotc.AOTBackend org.graalvm.compiler.api.replacements.SnippetReflectionProvider jdk.tools.jaotc.AOTCompiler org.graalvm.compiler.phases.PhaseSuite java.util.ListIterator org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration org.graalvm.compiler.hotspot.HotSpotGraalRuntime$HotSpotGC int java.lang.String int jdk.tools.jaotc.binformat.BinaryContainer jdk.tools.jaotc.DataBuilder java.lang.Throwable java.lang.Throwable jdk.tools.jaotc.Timer
      StackMap stack: java.lang.Throwable
       113: astore 26
            aload 28 /* t */
            ifnull 114
            aload 28 /* t */
            invokevirtual jdk.tools.jaotc.Timer.close:()V
        end local 28 // jdk.tools.jaotc.Timer t
      StackMap locals:
      StackMap stack:
       114: aload 26
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
       115: astore 27
            aload 26
            ifnonnull 116
            aload 27
            astore 26
            goto 117
      StackMap locals:
      StackMap stack:
       116: aload 26
            aload 27
            if_acmpeq 117
            aload 26
            aload 27
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       117: aload 26
            athrow
       118: .line 272
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 26
            aconst_null
            astore 27
       119: new jdk.tools.jaotc.Timer
            dup
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "Creating binary: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* objectFileName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial jdk.tools.jaotc.Timer.<init>:(Ljdk/tools/jaotc/Main;Ljava/lang/String;)V
            astore 28 /* t */
        start local 28 // jdk.tools.jaotc.Timer t
       120: .line 273
            aload 24 /* binaryContainer */
            aload 2 /* objectFileName */
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.createBinary:(Ljava/lang/String;)V
       121: .line 274
            aload 28 /* t */
            ifnull 127
            aload 28 /* t */
            invokevirtual jdk.tools.jaotc.Timer.close:()V
            goto 127
      StackMap locals: jdk.tools.jaotc.Main jdk.tools.jaotc.Linker java.lang.String jdk.tools.jaotc.Collector java.util.Set org.graalvm.compiler.options.OptionValues org.graalvm.compiler.api.runtime.GraalJVMCICompiler org.graalvm.compiler.hotspot.HotSpotGraalRuntime org.graalvm.compiler.hotspot.GraalHotSpotVMConfig org.graalvm.compiler.hotspot.HotSpotHostBackend jdk.vm.ci.meta.MetaAccessProvider java.util.List jdk.tools.jaotc.AOTDynamicTypeStore jdk.tools.jaotc.Main$1 jdk.tools.jaotc.AOTBackend org.graalvm.compiler.api.replacements.SnippetReflectionProvider jdk.tools.jaotc.AOTCompiler org.graalvm.compiler.phases.PhaseSuite java.util.ListIterator org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration org.graalvm.compiler.hotspot.HotSpotGraalRuntime$HotSpotGC int java.lang.String int jdk.tools.jaotc.binformat.BinaryContainer jdk.tools.jaotc.DataBuilder java.lang.Throwable java.lang.Throwable jdk.tools.jaotc.Timer
      StackMap stack: java.lang.Throwable
       122: astore 26
            aload 28 /* t */
            ifnull 123
            aload 28 /* t */
            invokevirtual jdk.tools.jaotc.Timer.close:()V
        end local 28 // jdk.tools.jaotc.Timer t
      StackMap locals:
      StackMap stack:
       123: aload 26
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
       124: astore 27
            aload 26
            ifnonnull 125
            aload 27
            astore 26
            goto 126
      StackMap locals:
      StackMap stack:
       125: aload 26
            aload 27
            if_acmpeq 126
            aload 26
            aload 27
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       126: aload 26
            athrow
       127: .line 277
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 26
            aconst_null
            astore 27
       128: aload 0 /* this */
            getfield jdk.tools.jaotc.Main.options:Ljdk/tools/jaotc/Options;
            getfield jdk.tools.jaotc.Options.verbose:Z
            ifeq 129
            new jdk.tools.jaotc.Timer
            dup
            aload 0 /* this */
            ldc "Freeing memory"
            invokespecial jdk.tools.jaotc.Timer.<init>:(Ljdk/tools/jaotc/Main;Ljava/lang/String;)V
            goto 130
      StackMap locals: java.lang.Throwable java.lang.Throwable
      StackMap stack:
       129: aconst_null
      StackMap locals:
      StackMap stack: jdk.tools.jaotc.Timer
       130: astore 28 /* t */
        start local 28 // jdk.tools.jaotc.Timer t
       131: .line 278
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.printer:Ljdk/tools/jaotc/LogPrinter;
            invokevirtual jdk.tools.jaotc.LogPrinter.printMemoryUsage:()V
       132: .line 279
            aconst_null
            astore 24 /* binaryContainer */
       133: .line 280
            invokestatic java.lang.System.gc:()V
       134: .line 281
            aload 28 /* t */
            ifnull 140
            aload 28 /* t */
            invokevirtual jdk.tools.jaotc.Timer.close:()V
            goto 140
      StackMap locals: jdk.tools.jaotc.Main jdk.tools.jaotc.Linker java.lang.String jdk.tools.jaotc.Collector java.util.Set org.graalvm.compiler.options.OptionValues org.graalvm.compiler.api.runtime.GraalJVMCICompiler org.graalvm.compiler.hotspot.HotSpotGraalRuntime org.graalvm.compiler.hotspot.GraalHotSpotVMConfig org.graalvm.compiler.hotspot.HotSpotHostBackend jdk.vm.ci.meta.MetaAccessProvider java.util.List jdk.tools.jaotc.AOTDynamicTypeStore jdk.tools.jaotc.Main$1 jdk.tools.jaotc.AOTBackend org.graalvm.compiler.api.replacements.SnippetReflectionProvider jdk.tools.jaotc.AOTCompiler org.graalvm.compiler.phases.PhaseSuite java.util.ListIterator org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration org.graalvm.compiler.hotspot.HotSpotGraalRuntime$HotSpotGC int java.lang.String int jdk.tools.jaotc.binformat.BinaryContainer jdk.tools.jaotc.DataBuilder java.lang.Throwable java.lang.Throwable jdk.tools.jaotc.Timer
      StackMap stack: java.lang.Throwable
       135: astore 26
            aload 28 /* t */
            ifnull 136
            aload 28 /* t */
            invokevirtual jdk.tools.jaotc.Timer.close:()V
        end local 28 // jdk.tools.jaotc.Timer t
      StackMap locals:
      StackMap stack:
       136: aload 26
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
       137: astore 27
            aload 26
            ifnonnull 138
            aload 27
            astore 26
            goto 139
      StackMap locals:
      StackMap stack:
       138: aload 26
            aload 27
            if_acmpeq 139
            aload 26
            aload 27
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       139: aload 26
            athrow
       140: .line 283
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 26
            aconst_null
            astore 27
       141: new jdk.tools.jaotc.Timer
            dup
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "Creating shared library: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* linker */
            invokevirtual jdk.tools.jaotc.Linker.libFile:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial jdk.tools.jaotc.Timer.<init>:(Ljdk/tools/jaotc/Main;Ljava/lang/String;)V
            astore 28 /* t */
        start local 28 // jdk.tools.jaotc.Timer t
       142: .line 284
            aload 1 /* linker */
            invokevirtual jdk.tools.jaotc.Linker.link:()V
       143: .line 285
            aload 28 /* t */
            ifnull 149
            aload 28 /* t */
            invokevirtual jdk.tools.jaotc.Timer.close:()V
            goto 149
      StackMap locals: jdk.tools.jaotc.Main jdk.tools.jaotc.Linker java.lang.String jdk.tools.jaotc.Collector java.util.Set org.graalvm.compiler.options.OptionValues org.graalvm.compiler.api.runtime.GraalJVMCICompiler org.graalvm.compiler.hotspot.HotSpotGraalRuntime org.graalvm.compiler.hotspot.GraalHotSpotVMConfig org.graalvm.compiler.hotspot.HotSpotHostBackend jdk.vm.ci.meta.MetaAccessProvider java.util.List jdk.tools.jaotc.AOTDynamicTypeStore jdk.tools.jaotc.Main$1 jdk.tools.jaotc.AOTBackend org.graalvm.compiler.api.replacements.SnippetReflectionProvider jdk.tools.jaotc.AOTCompiler org.graalvm.compiler.phases.PhaseSuite java.util.ListIterator org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration org.graalvm.compiler.hotspot.HotSpotGraalRuntime$HotSpotGC int java.lang.String int jdk.tools.jaotc.binformat.BinaryContainer jdk.tools.jaotc.DataBuilder java.lang.Throwable java.lang.Throwable jdk.tools.jaotc.Timer
      StackMap stack: java.lang.Throwable
       144: astore 26
            aload 28 /* t */
            ifnull 145
            aload 28 /* t */
            invokevirtual jdk.tools.jaotc.Timer.close:()V
        end local 28 // jdk.tools.jaotc.Timer t
      StackMap locals:
      StackMap stack:
       145: aload 26
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
       146: astore 27
            aload 26
            ifnonnull 147
            aload 27
            astore 26
            goto 148
      StackMap locals:
      StackMap stack:
       147: aload 26
            aload 27
            if_acmpeq 148
            aload 26
            aload 27
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       148: aload 26
            athrow
       149: .line 287
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.printer:Ljdk/tools/jaotc/LogPrinter;
            ldc "Final memory  "
            invokevirtual jdk.tools.jaotc.LogPrinter.printVerbose:(Ljava/lang/String;)V
       150: .line 288
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.printer:Ljdk/tools/jaotc/LogPrinter;
            invokevirtual jdk.tools.jaotc.LogPrinter.printMemoryUsage:()V
       151: .line 289
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.printer:Ljdk/tools/jaotc/LogPrinter;
            ldc ""
            invokevirtual jdk.tools.jaotc.LogPrinter.printlnVerbose:(Ljava/lang/String;)V
        end local 25 // jdk.tools.jaotc.DataBuilder dataBuilder
        end local 24 // jdk.tools.jaotc.binformat.BinaryContainer binaryContainer
        end local 23 // int gc
        end local 22 // java.lang.String name
        end local 21 // int def
        end local 20 // org.graalvm.compiler.hotspot.HotSpotGraalRuntime$HotSpotGC graalGC
        end local 19 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration graphBuilderConfig
        end local 18 // java.util.ListIterator iterator
        end local 17 // org.graalvm.compiler.phases.PhaseSuite graphBuilderSuite
        end local 16 // jdk.tools.jaotc.AOTCompiler compiler
        end local 15 // org.graalvm.compiler.api.replacements.SnippetReflectionProvider snippetReflection
        end local 14 // jdk.tools.jaotc.AOTBackend aotBackend
        end local 13 // jdk.tools.jaotc.Main$1 indyPlugin
        end local 12 // jdk.tools.jaotc.AOTDynamicTypeStore dynoStore
        end local 11 // java.util.List classes
        end local 10 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        end local 9 // org.graalvm.compiler.hotspot.HotSpotHostBackend backend
        end local 8 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfig graalHotSpotVMConfig
        end local 7 // org.graalvm.compiler.hotspot.HotSpotGraalRuntime runtime
        end local 6 // org.graalvm.compiler.api.runtime.GraalJVMCICompiler graalCompiler
        end local 5 // org.graalvm.compiler.options.OptionValues graalOptions
        end local 4 // java.util.Set classesToCompile
        end local 3 // jdk.tools.jaotc.Collector collector
        end local 2 // java.lang.String objectFileName
        end local 1 // jdk.tools.jaotc.Linker linker
       152: .line 291
            goto 156
      StackMap locals: jdk.tools.jaotc.Main
      StackMap stack: java.lang.Throwable
       153: astore 31
       154: .line 292
            invokestatic jdk.tools.jaotc.LogPrinter.closeLog:()V
       155: .line 293
            aload 31
            athrow
       156: .line 292
      StackMap locals:
      StackMap stack:
            invokestatic jdk.tools.jaotc.LogPrinter.closeLog:()V
       157: .line 294
            iconst_1
            ireturn
        end local 0 // jdk.tools.jaotc.Main this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0  158     0                  this  Ljdk/tools/jaotc/Main;
            2  152     1                linker  Ljdk/tools/jaotc/Linker;
            3  152     2        objectFileName  Ljava/lang/String;
            4  152     3             collector  Ljdk/tools/jaotc/Collector;
            7    9     4      classesToCompile  Ljava/util/Set<Ljava/lang/Class<*>;>;
           14  152     4      classesToCompile  Ljava/util/Set<Ljava/lang/Class<*>;>;
            6   10     7                     t  Ljdk/tools/jaotc/Timer;
           15  152     5          graalOptions  Lorg/graalvm/compiler/options/OptionValues;
           19  152     6         graalCompiler  Lorg/graalvm/compiler/api/runtime/GraalJVMCICompiler;
           20  152     7               runtime  Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntime;
           21  152     8  graalHotSpotVMConfig  Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
           27  152     9               backend  Lorg/graalvm/compiler/hotspot/HotSpotHostBackend;
           28  152    10            metaAccess  Ljdk/vm/ci/meta/MetaAccessProvider;
           32   33    11               classes  Ljava/util/List<Ljdk/tools/jaotc/AOTCompiledClass;>;
           38  152    11               classes  Ljava/util/List<Ljdk/tools/jaotc/AOTCompiledClass;>;
           31   34    14                     t  Ljdk/tools/jaotc/Timer;
           42   47    14                     t  Ljdk/tools/jaotc/Timer;
           52  152    12             dynoStore  Ljdk/tools/jaotc/AOTDynamicTypeStore;
           54  152    13            indyPlugin  Ljdk/tools/jaotc/Main$1;
           55  152    14            aotBackend  Ljdk/tools/jaotc/AOTBackend;
           56  152    15     snippetReflection  Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
           57  152    16              compiler  Ljdk/tools/jaotc/AOTCompiler;
           59  152    17     graphBuilderSuite  Lorg/graalvm/compiler/phases/PhaseSuite<Lorg/graalvm/compiler/phases/tiers/HighTierContext;>;
           60  152    18              iterator  Ljava/util/ListIterator<Lorg/graalvm/compiler/phases/BasePhase<-Lorg/graalvm/compiler/phases/tiers/HighTierContext;>;>;
           61  152    19    graphBuilderConfig  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;
           65   71    22                     t  Ljdk/tools/jaotc/Timer;
           76  152    20               graalGC  Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntime$HotSpotGC;
           77  152    21                   def  I
           78  152    22                  name  Ljava/lang/String;
           79  152    23                    gc  I
           80  152    24       binaryContainer  Ljdk/tools/jaotc/binformat/BinaryContainer;
           81  152    25           dataBuilder  Ljdk/tools/jaotc/DataBuilder;
           83   92    28                 debug  Lorg/graalvm/compiler/debug/DebugContext;
           84   87    29                     a  Lorg/graalvm/compiler/debug/DebugContext$Activation;
          101  114    28                     t  Ljdk/tools/jaotc/Timer;
          105  106    29          aotCompClass  Ljdk/tools/jaotc/AOTCompiledClass;
          120  123    28                     t  Ljdk/tools/jaotc/Timer;
          131  136    28                     t  Ljdk/tools/jaotc/Timer;
          142  145    28                     t  Ljdk/tools/jaotc/Timer;
      Exception table:
        from    to  target  type
           6     8       9  any
           5    11      11  any
          31    32      33  any
          30    35      35  any
          42    45      46  any
          39    48      48  any
          65    69      70  any
          62    72      72  any
          84    85      86  any
          83    88      89  any
          82    93      93  any
         101   112     113  any
          98   115     115  any
         120   121     122  any
         119   124     124  any
         131   134     135  any
         128   137     137  any
         142   143     144  any
         141   146     146  any
           1    24     153  any
          26   153     153  any
    Exceptions:
      throws java.lang.Exception

  void handleError(jdk.vm.ci.meta.ResolvedJavaMethod, java.lang.Throwable, java.lang.String);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Throwable;Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // jdk.tools.jaotc.Main this
        start local 1 // jdk.vm.ci.meta.ResolvedJavaMethod resolvedMethod
        start local 2 // java.lang.Throwable e
        start local 3 // java.lang.String message
         0: .line 298
            aload 1 /* resolvedMethod */
            invokestatic jdk.tools.jaotc.JavaMethodInfo.uniqueMethodName:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljava/lang/String;
            astore 4 /* methodName */
        start local 4 // java.lang.String methodName
         1: .line 300
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.options:Ljdk/tools/jaotc/Options;
            getfield jdk.tools.jaotc.Options.debug:Z
            ifeq 3
         2: .line 301
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.printer:Ljdk/tools/jaotc/LogPrinter;
            new java.lang.StringBuilder
            dup
            ldc "Failed compilation: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* methodName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual jdk.tools.jaotc.LogPrinter.printError:(Ljava/lang/String;)V
         3: .line 305
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* e */
            invokestatic jdk.tools.jaotc.GraalFilters.shouldIgnoreException:(Ljava/lang/Throwable;)Z
            ifeq 5
         4: .line 306
            return
         5: .line 309
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "Failed compilation of method "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* methodName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* message */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.tools.jaotc.LogPrinter.writeLog:(Ljava/lang/String;)V
         6: .line 311
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.options:Ljdk/tools/jaotc/Options;
            getfield jdk.tools.jaotc.Options.debug:Z
            ifne 8
         7: .line 312
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.printer:Ljdk/tools/jaotc/LogPrinter;
            new java.lang.StringBuilder
            dup
            ldc "Failed compilation: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* methodName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual jdk.tools.jaotc.LogPrinter.printError:(Ljava/lang/String;)V
         8: .line 315
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.options:Ljdk/tools/jaotc/Options;
            getfield jdk.tools.jaotc.Options.verbose:Z
            ifeq 10
         9: .line 316
            aload 2 /* e */
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            invokevirtual java.lang.Throwable.printStackTrace:(Ljava/io/PrintWriter;)V
        10: .line 319
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.options:Ljdk/tools/jaotc/Options;
            getfield jdk.tools.jaotc.Options.exitOnError:Z
            ifeq 12
        11: .line 320
            iconst_1
            invokestatic java.lang.System.exit:(I)V
        12: .line 322
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.lang.String methodName
        end local 3 // java.lang.String message
        end local 2 // java.lang.Throwable e
        end local 1 // jdk.vm.ci.meta.ResolvedJavaMethod resolvedMethod
        end local 0 // jdk.tools.jaotc.Main this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   13     0            this  Ljdk/tools/jaotc/Main;
            0   13     1  resolvedMethod  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0   13     2               e  Ljava/lang/Throwable;
            0   13     3         message  Ljava/lang/String;
            1   13     4      methodName  Ljava/lang/String;
    MethodParameters:
                Name  Flags
      resolvedMethod  
      e               
      message         

  void warning(java.lang.String, java.lang.Object[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;)V
    flags: (0x0080) 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 325
            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 326
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
         2: .line 327
            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 330
            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 331
            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 332
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
         3: .line 333
            return
        end local 0 // jdk.tools.jaotc.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     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 336
            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 337
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.println:()V
         2: .line 338
            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 339
            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 340
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.println:()V
         5: .line 341
            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 342
            getstatic jdk.tools.jaotc.Options.recognizedOptions:[Ljdk/tools/jaotc/Options$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.Options$Option[]
      StackMap stack:
         7: aload 4
            iload 2
            aaload
            astore 1 /* o */
        start local 1 // jdk.tools.jaotc.Options$Option o
         8: .line 343
            aload 1 /* o */
            getfield jdk.tools.jaotc.Options$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 344
            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.Options$Option int int jdk.tools.jaotc.Options$Option[] java.lang.String
      StackMap stack:
        10: aload 5 /* name */
      StackMap locals:
      StackMap stack: java.lang.String
        11: astore 5 /* name */
        12: .line 345
            aload 1 /* o */
            invokevirtual jdk.tools.jaotc.Options$Option.isHidden:()Z
            ifne 15
            aload 5 /* name */
            ldc "h"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 14
        13: .line 346
            goto 15
        14: .line 348
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            aload 1 /* o */
            getfield jdk.tools.jaotc.Options$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.Options$Option o
        15: .line 342
      StackMap locals: jdk.tools.jaotc.Main top int int jdk.tools.jaotc.Options$Option[]
      StackMap stack:
            iinc 2 1
      StackMap locals:
      StackMap stack:
        16: iload 2
            iload 3
            if_icmplt 7
        17: .line 350
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
        18: .line 351
            return
        end local 0 // jdk.tools.jaotc.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   19     0  this  Ljdk/tools/jaotc/Main;
            8   15     1     o  Ljdk/tools/jaotc/Options$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 354
            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 355
            return
        end local 0 // jdk.tools.jaotc.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/tools/jaotc/Main;

  private static java.util.stream.Stream lambda$2(java.util.ArrayList);
    descriptor: (Ljava/util/ArrayList;)Ljava/util/stream/Stream;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.ArrayList l
         0: .line 109
            aload 0 /* l */
            invokevirtual java.util.ArrayList.stream:()Ljava/util/stream/Stream;
            invokedynamic apply()Ljava/util/function/Function;
              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;)Ljava/lang/Object;
                  jdk/tools/jaotc/Main.lambda$3(Ljava/lang/Object;)Ljava/lang/String; (6)
                  (Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            areturn
        end local 0 // java.util.ArrayList l
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     l  Ljava/util/ArrayList<Ljava/lang/Object;>;

  private static java.lang.String[] lambda$5(int);
    descriptor: (I)[Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            iload 0
            anewarray java.lang.String
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.String lambda$3(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object o
         0: .line 109
            aload 0 /* o */
            checkcast java.lang.String
            areturn
        end local 0 // java.lang.Object o
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     o  Ljava/lang/Object;
}
SourceFile: "Main.java"
NestMembers:
  jdk.tools.jaotc.Main$1
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  jdk.tools.jaotc.Main$1
  BadArgs = jdk.tools.jaotc.Options$BadArgs of jdk.tools.jaotc.Options
  abstract Option = jdk.tools.jaotc.Options$Option of jdk.tools.jaotc.Options
  public Activation = org.graalvm.compiler.debug.DebugContext$Activation of org.graalvm.compiler.debug.DebugContext
  public Builder = org.graalvm.compiler.debug.DebugContext$Builder of org.graalvm.compiler.debug.DebugContext
  public final HotSpotGC = org.graalvm.compiler.hotspot.HotSpotGraalRuntime$HotSpotGC of org.graalvm.compiler.hotspot.HotSpotGraalRuntime
  public Options = org.graalvm.compiler.hotspot.meta.HotSpotAOTProfilingPlugin$Options of org.graalvm.compiler.hotspot.meta.HotSpotAOTProfilingPlugin
  public abstract DynamicTypeStore = org.graalvm.compiler.hotspot.meta.HotSpotInvokeDynamicPlugin$DynamicTypeStore of org.graalvm.compiler.hotspot.meta.HotSpotInvokeDynamicPlugin