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 85
            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 72
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 74
            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 72
            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 88
            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 89
            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 90
            iload 2 /* exitCode */
            invokestatic java.lang.System.exit:(I)V
         3: .line 91
            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 98
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* result */
        start local 1 // java.util.List result
         1: .line 99
            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 100
            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 101
            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 102
            aload 6 /* v */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 64
            if_icmpne 8
         6: .line 103
            aload 1 /* result */
            aload 6 /* v */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         7: .line 104
            goto 18
         8: .line 105
      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 106
            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 107
            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 110
      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 99
      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 113
            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 117
            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 118
            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 121
            aload 0 /* this */
            aload 1 /* args */
            invokestatic jdk.tools.jaotc.Options.handleOptions:(Ljdk/tools/jaotc/Main;[Ljava/lang/String;)V
         3: .line 122
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.options:Ljdk/tools/jaotc/Options;
            getfield jdk.tools.jaotc.Options.help:Z
            ifeq 7
         4: .line 123
            aload 0 /* this */
            invokevirtual jdk.tools.jaotc.Main.showHelp:()V
         5: .line 150
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
         6: .line 124
            iconst_0
            ireturn
         7: .line 126
      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 127
            aload 0 /* this */
            invokevirtual jdk.tools.jaotc.Main.showVersion:()V
         9: .line 150
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
        10: .line 128
            iconst_0
            ireturn
        11: .line 131
      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 132
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 2 /* start */
        start local 2 // long start
        13: .line 133
            aload 0 /* this */
            invokevirtual jdk.tools.jaotc.Main.run:()Z
            ifne 16
        14: .line 150
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
        15: .line 134
            iconst_4
            ireturn
        16: .line 136
      StackMap locals: long
      StackMap stack:
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 4 /* end */
        start local 4 // long end
        17: .line 137
            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 150
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
        19: .line 139
            iconst_0
            ireturn
        end local 4 // long end
        end local 2 // long start
        20: .line 140
      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 141
            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 142
            aload 2 /* e */
            getfield jdk.tools.jaotc.Options$BadArgs.showUsage:Z
            ifeq 24
        23: .line 143
            aload 0 /* this */
            invokevirtual jdk.tools.jaotc.Main.showUsage:()V
        24: .line 150
      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 145
            iconst_2
            ireturn
        end local 2 // jdk.tools.jaotc.Options$BadArgs e
        26: .line 146
      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 147
            aload 2 /* e */
            invokevirtual java.lang.Exception.printStackTrace:()V
        28: .line 150
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
        29: .line 148
            iconst_4
            ireturn
        end local 2 // java.lang.Exception e
        30: .line 149
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6
        31: .line 150
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
        32: .line 151
            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=29, args_size=1
        start local 0 // jdk.tools.jaotc.Main this
         0: .line 156
            invokestatic jdk.tools.jaotc.LogPrinter.openLog:()V
         1: .line 160
            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 161
            aload 1 /* linker */
            invokevirtual jdk.tools.jaotc.Linker.objFile:()Ljava/lang/String;
            astore 2 /* objectFileName */
        start local 2 // java.lang.String objectFileName
         3: .line 162
            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 165
            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 166
            aload 3 /* collector */
            invokevirtual jdk.tools.jaotc.Collector.collectClassesToCompile:()Ljava/util/Set;
            astore 4 /* classesToCompile */
        start local 4 // java.util.Set classesToCompile
         7: .line 167
            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 168
            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 170
      StackMap locals: jdk.tools.jaotc.Main jdk.tools.jaotc.Linker java.lang.String jdk.tools.jaotc.Collector java.util.Set
      StackMap stack:
            getstatic org.graalvm.compiler.hotspot.HotSpotGraalOptionValues.HOTSPOT_OPTIONS:Lorg/graalvm/compiler/options/OptionValues;
            astore 5 /* graalOptions */
        start local 5 // org.graalvm.compiler.options.OptionValues graalOptions
        15: .line 172
            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 173
            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 175
      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 176
            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 177
            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 178
            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 8 /* backend */
        start local 8 // org.graalvm.compiler.hotspot.HotSpotHostBackend backend
        21: .line 179
            aload 8 /* 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 9 /* metaAccess */
        start local 9 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        22: .line 180
            aload 0 /* this */
            new jdk.tools.jaotc.GraalFilters
            dup
            aload 9 /* metaAccess */
            invokespecial jdk.tools.jaotc.GraalFilters.<init>:(Ljdk/vm/ci/meta/MetaAccessProvider;)V
            putfield jdk.tools.jaotc.Main.filters:Ljdk/tools/jaotc/GraalFilters;
        23: .line 184
            aconst_null
            astore 11
            aconst_null
            astore 12
        24: 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 13 /* t */
        start local 13 // jdk.tools.jaotc.Timer t
        25: .line 185
            aload 3 /* collector */
            aload 4 /* classesToCompile */
            aload 9 /* metaAccess */
            invokevirtual jdk.tools.jaotc.Collector.collectMethodsToCompile:(Ljava/util/Set;Ljdk/vm/ci/meta/MetaAccessProvider;)Ljava/util/List;
            astore 10 /* classes */
        start local 10 // java.util.List classes
        26: .line 186
            aload 13 /* t */
            ifnull 32
            aload 13 /* t */
            invokevirtual jdk.tools.jaotc.Timer.close:()V
            goto 32
        end local 10 // 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.HotSpotHostBackend jdk.vm.ci.meta.MetaAccessProvider top java.lang.Throwable java.lang.Throwable jdk.tools.jaotc.Timer
      StackMap stack: java.lang.Throwable
        27: astore 11
            aload 13 /* t */
            ifnull 28
            aload 13 /* t */
            invokevirtual jdk.tools.jaotc.Timer.close:()V
        end local 13 // jdk.tools.jaotc.Timer t
      StackMap locals:
      StackMap stack:
        28: aload 11
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        29: astore 12
            aload 11
            ifnonnull 30
            aload 12
            astore 11
            goto 31
      StackMap locals:
      StackMap stack:
        30: aload 11
            aload 12
            if_acmpeq 31
            aload 11
            aload 12
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        31: aload 11
            athrow
        start local 10 // java.util.List classes
        32: .line 189
      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.HotSpotHostBackend jdk.vm.ci.meta.MetaAccessProvider java.util.List
      StackMap stack:
            aconst_null
            astore 11
            aconst_null
            astore 12
        33: aload 0 /* this */
            getfield jdk.tools.jaotc.Main.options:Ljdk/tools/jaotc/Options;
            getfield jdk.tools.jaotc.Options.verbose:Z
            ifeq 34
            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 35
      StackMap locals: java.lang.Throwable java.lang.Throwable
      StackMap stack:
        34: aconst_null
      StackMap locals:
      StackMap stack: jdk.tools.jaotc.Timer
        35: astore 13 /* t */
        start local 13 // jdk.tools.jaotc.Timer t
        36: .line 190
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.printer:Ljdk/tools/jaotc/LogPrinter;
            invokevirtual jdk.tools.jaotc.LogPrinter.printMemoryUsage:()V
        37: .line 191
            aconst_null
            astore 4 /* classesToCompile */
        38: .line 192
            invokestatic java.lang.System.gc:()V
        39: .line 193
            aload 13 /* t */
            ifnull 45
            aload 13 /* t */
            invokevirtual jdk.tools.jaotc.Timer.close:()V
            goto 45
      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.HotSpotHostBackend jdk.vm.ci.meta.MetaAccessProvider java.util.List java.lang.Throwable java.lang.Throwable jdk.tools.jaotc.Timer
      StackMap stack: java.lang.Throwable
        40: astore 11
            aload 13 /* t */
            ifnull 41
            aload 13 /* t */
            invokevirtual jdk.tools.jaotc.Timer.close:()V
        end local 13 // jdk.tools.jaotc.Timer t
      StackMap locals:
      StackMap stack:
        41: aload 11
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        42: astore 12
            aload 11
            ifnonnull 43
            aload 12
            astore 11
            goto 44
      StackMap locals:
      StackMap stack:
        43: aload 11
            aload 12
            if_acmpeq 44
            aload 11
            aload 12
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        44: aload 11
            athrow
        45: .line 195
      StackMap locals:
      StackMap stack:
            new jdk.tools.jaotc.AOTDynamicTypeStore
            dup
            invokespecial jdk.tools.jaotc.AOTDynamicTypeStore.<init>:()V
            astore 11 /* dynoStore */
        start local 11 // jdk.tools.jaotc.AOTDynamicTypeStore dynoStore
        46: .line 196
            aload 11 /* dynoStore */
            invokestatic jdk.tools.jaotc.AOTCompiledClass.setDynamicTypeStore:(Ljdk/tools/jaotc/AOTDynamicTypeStore;)V
        47: .line 201
            new jdk.tools.jaotc.Main$1
            dup
            aload 0 /* this */
            aload 11 /* dynoStore */
            invokespecial jdk.tools.jaotc.Main$1.<init>:(Ljdk/tools/jaotc/Main;Lorg/graalvm/compiler/hotspot/meta/HotSpotInvokeDynamicPlugin$DynamicTypeStore;)V
            astore 12 /* indyPlugin */
        start local 12 // jdk.tools.jaotc.Main$1 indyPlugin
        48: .line 207
            new jdk.tools.jaotc.AOTBackend
            dup
            aload 0 /* this */
            aload 5 /* graalOptions */
            aload 8 /* backend */
            aload 12 /* 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 13 /* aotBackend */
        start local 13 // jdk.tools.jaotc.AOTBackend aotBackend
        49: .line 208
            aload 13 /* 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 14 /* snippetReflection */
        start local 14 // org.graalvm.compiler.api.replacements.SnippetReflectionProvider snippetReflection
        50: .line 209
            new jdk.tools.jaotc.AOTCompiler
            dup
            aload 0 /* this */
            aload 5 /* graalOptions */
            aload 13 /* 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 15 /* compiler */
        start local 15 // jdk.tools.jaotc.AOTCompiler compiler
        51: .line 210
            aload 15 /* compiler */
            aload 10 /* classes */
            invokevirtual jdk.tools.jaotc.AOTCompiler.compileClasses:(Ljava/util/List;)Ljava/util/List;
            astore 10 /* classes */
        52: .line 212
            aload 7 /* runtime */
            invokevirtual org.graalvm.compiler.hotspot.HotSpotGraalRuntime.getVMConfig:()Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            astore 16 /* graalHotSpotVMConfig */
        start local 16 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfig graalHotSpotVMConfig
        53: .line 213
            aload 13 /* aotBackend */
            invokevirtual jdk.tools.jaotc.AOTBackend.getGraphBuilderSuite:()Lorg/graalvm/compiler/phases/PhaseSuite;
            astore 17 /* graphBuilderSuite */
        start local 17 // org.graalvm.compiler.phases.PhaseSuite graphBuilderSuite
        54: .line 214
            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
        55: .line 215
            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
        56: .line 218
            aconst_null
            astore 20
            aconst_null
            astore 21
        57: aload 0 /* this */
            getfield jdk.tools.jaotc.Main.options:Ljdk/tools/jaotc/Options;
            getfield jdk.tools.jaotc.Options.verbose:Z
            ifeq 58
            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 59
      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.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.hotspot.GraalHotSpotVMConfig org.graalvm.compiler.phases.PhaseSuite java.util.ListIterator org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration java.lang.Throwable java.lang.Throwable
      StackMap stack:
        58: aconst_null
      StackMap locals:
      StackMap stack: jdk.tools.jaotc.Timer
        59: astore 22 /* t */
        start local 22 // jdk.tools.jaotc.Timer t
        60: .line 219
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.printer:Ljdk/tools/jaotc/LogPrinter;
            invokevirtual jdk.tools.jaotc.LogPrinter.printMemoryUsage:()V
        61: .line 220
            aconst_null
            astore 13 /* aotBackend */
        62: .line 221
            aconst_null
            astore 15 /* compiler */
        63: .line 222
            invokestatic java.lang.System.gc:()V
        64: .line 223
            aload 22 /* t */
            ifnull 70
            aload 22 /* t */
            invokevirtual jdk.tools.jaotc.Timer.close:()V
            goto 70
      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.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.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.Timer
      StackMap stack: java.lang.Throwable
        65: astore 20
            aload 22 /* t */
            ifnull 66
            aload 22 /* t */
            invokevirtual jdk.tools.jaotc.Timer.close:()V
        end local 22 // jdk.tools.jaotc.Timer t
      StackMap locals:
      StackMap stack:
        66: aload 20
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        67: astore 21
            aload 20
            ifnonnull 68
            aload 21
            astore 20
            goto 69
      StackMap locals:
      StackMap stack:
        68: aload 20
            aload 21
            if_acmpeq 69
            aload 20
            aload 21
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        69: aload 20
            athrow
        70: .line 225
      StackMap locals:
      StackMap stack:
            aload 7 /* runtime */
            invokevirtual org.graalvm.compiler.hotspot.HotSpotGraalRuntime.getGarbageCollector:()Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntime$HotSpotGC;
            invokevirtual org.graalvm.compiler.hotspot.HotSpotGraalRuntime$HotSpotGC.ordinal:()I
            iconst_1
            iadd
            istore 20 /* gc */
        start local 20 // int gc
        71: .line 226
            new jdk.tools.jaotc.binformat.BinaryContainer
            dup
            aload 5 /* graalOptions */
            aload 16 /* graalHotSpotVMConfig */
            aload 19 /* graphBuilderConfig */
            iload 20 /* 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 21 /* binaryContainer */
        start local 21 // jdk.tools.jaotc.binformat.BinaryContainer binaryContainer
        72: .line 227
            new jdk.tools.jaotc.DataBuilder
            dup
            aload 0 /* this */
            aload 8 /* backend */
            aload 10 /* classes */
            aload 21 /* 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 22 /* dataBuilder */
        start local 22 // jdk.tools.jaotc.DataBuilder dataBuilder
        73: .line 229
            aconst_null
            astore 23
            aconst_null
            astore 24
        74: aload 5 /* graalOptions */
            new org.graalvm.compiler.printer.GraalDebugHandlersFactory
            dup
            aload 14 /* snippetReflection */
            invokespecial org.graalvm.compiler.printer.GraalDebugHandlersFactory.<init>:(Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;)V
            invokestatic org.graalvm.compiler.debug.DebugContext.create:(Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/debug/DebugHandlersFactory;)Lorg/graalvm/compiler/debug/DebugContext;
            astore 25 /* debug */
        start local 25 // org.graalvm.compiler.debug.DebugContext debug
        75: aload 25 /* debug */
            invokevirtual org.graalvm.compiler.debug.DebugContext.activate:()Lorg/graalvm/compiler/debug/DebugContext$Activation;
            astore 26 /* a */
        start local 26 // org.graalvm.compiler.debug.DebugContext$Activation a
        76: .line 230
            aload 22 /* dataBuilder */
            aload 25 /* debug */
            invokevirtual jdk.tools.jaotc.DataBuilder.prepareData:(Lorg/graalvm/compiler/debug/DebugContext;)V
        77: .line 231
            aload 26 /* a */
            ifnull 80
            aload 26 /* a */
            invokevirtual org.graalvm.compiler.debug.DebugContext$Activation.close:()V
            goto 80
      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.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.hotspot.GraalHotSpotVMConfig org.graalvm.compiler.phases.PhaseSuite java.util.ListIterator org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration 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
        78: astore 23
            aload 26 /* a */
            ifnull 79
            aload 26 /* a */
            invokevirtual org.graalvm.compiler.debug.DebugContext$Activation.close:()V
        end local 26 // org.graalvm.compiler.debug.DebugContext$Activation a
      StackMap locals:
      StackMap stack:
        79: aload 23
            athrow
      StackMap locals:
      StackMap stack:
        80: aload 25 /* debug */
            ifnull 88
            aload 25 /* debug */
            invokevirtual org.graalvm.compiler.debug.DebugContext.close:()V
            goto 88
      StackMap locals:
      StackMap stack: java.lang.Throwable
        81: astore 24
            aload 23
            ifnonnull 82
            aload 24
            astore 23
            goto 83
      StackMap locals:
      StackMap stack:
        82: aload 23
            aload 24
            if_acmpeq 83
            aload 23
            aload 24
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        83: aload 25 /* debug */
            ifnull 84
            aload 25 /* debug */
            invokevirtual org.graalvm.compiler.debug.DebugContext.close:()V
        end local 25 // org.graalvm.compiler.debug.DebugContext debug
      StackMap locals:
      StackMap stack:
        84: aload 23
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        85: astore 24
            aload 23
            ifnonnull 86
            aload 24
            astore 23
            goto 87
      StackMap locals:
      StackMap stack:
        86: aload 23
            aload 24
            if_acmpeq 87
            aload 23
            aload 24
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        87: aload 23
            athrow
        88: .line 234
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.printer:Ljdk/tools/jaotc/LogPrinter;
            aload 21 /* binaryContainer */
            invokevirtual jdk.tools.jaotc.LogPrinter.containersInfo:(Ljdk/tools/jaotc/binformat/BinaryContainer;)V
        89: .line 237
            aconst_null
            astore 23
            aconst_null
            astore 24
        90: aload 0 /* this */
            getfield jdk.tools.jaotc.Main.options:Ljdk/tools/jaotc/Options;
            getfield jdk.tools.jaotc.Options.verbose:Z
            ifeq 91
            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 92
      StackMap locals: java.lang.Throwable java.lang.Throwable
      StackMap stack:
        91: aconst_null
      StackMap locals:
      StackMap stack: jdk.tools.jaotc.Timer
        92: astore 25 /* t */
        start local 25 // jdk.tools.jaotc.Timer t
        93: .line 238
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.printer:Ljdk/tools/jaotc/LogPrinter;
            invokevirtual jdk.tools.jaotc.LogPrinter.printMemoryUsage:()V
        94: .line 239
            aconst_null
            astore 8 /* backend */
        95: .line 240
            aload 10 /* classes */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 27
            goto 98
      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.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.hotspot.GraalHotSpotVMConfig org.graalvm.compiler.phases.PhaseSuite java.util.ListIterator org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration 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:
        96: aload 27
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.tools.jaotc.AOTCompiledClass
            astore 26 /* aotCompClass */
        start local 26 // jdk.tools.jaotc.AOTCompiledClass aotCompClass
        97: .line 241
            aload 26 /* aotCompClass */
            invokevirtual jdk.tools.jaotc.AOTCompiledClass.clear:()V
        end local 26 // jdk.tools.jaotc.AOTCompiledClass aotCompClass
        98: .line 240
      StackMap locals:
      StackMap stack:
            aload 27
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 96
        99: .line 243
            aload 10 /* classes */
            invokeinterface java.util.List.clear:()V
       100: .line 244
            aconst_null
            astore 10 /* classes */
       101: .line 245
            aconst_null
            astore 22 /* dataBuilder */
       102: .line 246
            aload 21 /* binaryContainer */
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.freeMemory:()V
       103: .line 247
            invokestatic java.lang.System.gc:()V
       104: .line 248
            aload 25 /* t */
            ifnull 110
            aload 25 /* t */
            invokevirtual jdk.tools.jaotc.Timer.close:()V
            goto 110
      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.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.hotspot.GraalHotSpotVMConfig org.graalvm.compiler.phases.PhaseSuite java.util.ListIterator org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration 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
       105: astore 23
            aload 25 /* t */
            ifnull 106
            aload 25 /* t */
            invokevirtual jdk.tools.jaotc.Timer.close:()V
        end local 25 // jdk.tools.jaotc.Timer t
      StackMap locals:
      StackMap stack:
       106: aload 23
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
       107: astore 24
            aload 23
            ifnonnull 108
            aload 24
            astore 23
            goto 109
      StackMap locals:
      StackMap stack:
       108: aload 23
            aload 24
            if_acmpeq 109
            aload 23
            aload 24
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       109: aload 23
            athrow
       110: .line 250
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 23
            aconst_null
            astore 24
       111: 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 25 /* t */
        start local 25 // jdk.tools.jaotc.Timer t
       112: .line 251
            aload 21 /* binaryContainer */
            aload 2 /* objectFileName */
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.createBinary:(Ljava/lang/String;)V
       113: .line 252
            aload 25 /* t */
            ifnull 119
            aload 25 /* t */
            invokevirtual jdk.tools.jaotc.Timer.close:()V
            goto 119
      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.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.hotspot.GraalHotSpotVMConfig org.graalvm.compiler.phases.PhaseSuite java.util.ListIterator org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration 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
       114: astore 23
            aload 25 /* t */
            ifnull 115
            aload 25 /* t */
            invokevirtual jdk.tools.jaotc.Timer.close:()V
        end local 25 // jdk.tools.jaotc.Timer t
      StackMap locals:
      StackMap stack:
       115: aload 23
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
       116: astore 24
            aload 23
            ifnonnull 117
            aload 24
            astore 23
            goto 118
      StackMap locals:
      StackMap stack:
       117: aload 23
            aload 24
            if_acmpeq 118
            aload 23
            aload 24
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       118: aload 23
            athrow
       119: .line 255
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 23
            aconst_null
            astore 24
       120: aload 0 /* this */
            getfield jdk.tools.jaotc.Main.options:Ljdk/tools/jaotc/Options;
            getfield jdk.tools.jaotc.Options.verbose:Z
            ifeq 121
            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 122
      StackMap locals: java.lang.Throwable java.lang.Throwable
      StackMap stack:
       121: aconst_null
      StackMap locals:
      StackMap stack: jdk.tools.jaotc.Timer
       122: astore 25 /* t */
        start local 25 // jdk.tools.jaotc.Timer t
       123: .line 256
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.printer:Ljdk/tools/jaotc/LogPrinter;
            invokevirtual jdk.tools.jaotc.LogPrinter.printMemoryUsage:()V
       124: .line 257
            aconst_null
            astore 21 /* binaryContainer */
       125: .line 258
            invokestatic java.lang.System.gc:()V
       126: .line 259
            aload 25 /* t */
            ifnull 132
            aload 25 /* t */
            invokevirtual jdk.tools.jaotc.Timer.close:()V
            goto 132
      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.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.hotspot.GraalHotSpotVMConfig org.graalvm.compiler.phases.PhaseSuite java.util.ListIterator org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration 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
       127: astore 23
            aload 25 /* t */
            ifnull 128
            aload 25 /* t */
            invokevirtual jdk.tools.jaotc.Timer.close:()V
        end local 25 // jdk.tools.jaotc.Timer t
      StackMap locals:
      StackMap stack:
       128: aload 23
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
       129: astore 24
            aload 23
            ifnonnull 130
            aload 24
            astore 23
            goto 131
      StackMap locals:
      StackMap stack:
       130: aload 23
            aload 24
            if_acmpeq 131
            aload 23
            aload 24
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       131: aload 23
            athrow
       132: .line 261
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 23
            aconst_null
            astore 24
       133: 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 25 /* t */
        start local 25 // jdk.tools.jaotc.Timer t
       134: .line 262
            aload 1 /* linker */
            invokevirtual jdk.tools.jaotc.Linker.link:()V
       135: .line 263
            aload 25 /* t */
            ifnull 141
            aload 25 /* t */
            invokevirtual jdk.tools.jaotc.Timer.close:()V
            goto 141
      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.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.hotspot.GraalHotSpotVMConfig org.graalvm.compiler.phases.PhaseSuite java.util.ListIterator org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration 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
       136: astore 23
            aload 25 /* t */
            ifnull 137
            aload 25 /* t */
            invokevirtual jdk.tools.jaotc.Timer.close:()V
        end local 25 // jdk.tools.jaotc.Timer t
      StackMap locals:
      StackMap stack:
       137: aload 23
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
       138: astore 24
            aload 23
            ifnonnull 139
            aload 24
            astore 23
            goto 140
      StackMap locals:
      StackMap stack:
       139: aload 23
            aload 24
            if_acmpeq 140
            aload 23
            aload 24
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       140: aload 23
            athrow
       141: .line 265
      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
       142: .line 266
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.printer:Ljdk/tools/jaotc/LogPrinter;
            invokevirtual jdk.tools.jaotc.LogPrinter.printMemoryUsage:()V
       143: .line 267
            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 22 // jdk.tools.jaotc.DataBuilder dataBuilder
        end local 21 // jdk.tools.jaotc.binformat.BinaryContainer binaryContainer
        end local 20 // int gc
        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 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfig graalHotSpotVMConfig
        end local 15 // jdk.tools.jaotc.AOTCompiler compiler
        end local 14 // org.graalvm.compiler.api.replacements.SnippetReflectionProvider snippetReflection
        end local 13 // jdk.tools.jaotc.AOTBackend aotBackend
        end local 12 // jdk.tools.jaotc.Main$1 indyPlugin
        end local 11 // jdk.tools.jaotc.AOTDynamicTypeStore dynoStore
        end local 10 // java.util.List classes
        end local 9 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        end local 8 // org.graalvm.compiler.hotspot.HotSpotHostBackend backend
        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
       144: .line 269
            goto 148
      StackMap locals: jdk.tools.jaotc.Main
      StackMap stack: java.lang.Throwable
       145: astore 28
       146: .line 270
            invokestatic jdk.tools.jaotc.LogPrinter.closeLog:()V
       147: .line 271
            aload 28
            athrow
       148: .line 270
      StackMap locals:
      StackMap stack:
            invokestatic jdk.tools.jaotc.LogPrinter.closeLog:()V
       149: .line 272
            iconst_1
            ireturn
        end local 0 // jdk.tools.jaotc.Main this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0  150     0                  this  Ljdk/tools/jaotc/Main;
            2  144     1                linker  Ljdk/tools/jaotc/Linker;
            3  144     2        objectFileName  Ljava/lang/String;
            4  144     3             collector  Ljdk/tools/jaotc/Collector;
            7    9     4      classesToCompile  Ljava/util/Set<Ljava/lang/Class<*>;>;
           14  144     4      classesToCompile  Ljava/util/Set<Ljava/lang/Class<*>;>;
            6   10     7                     t  Ljdk/tools/jaotc/Timer;
           15  144     5          graalOptions  Lorg/graalvm/compiler/options/OptionValues;
           19  144     6         graalCompiler  Lorg/graalvm/compiler/api/runtime/GraalJVMCICompiler;
           20  144     7               runtime  Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntime;
           21  144     8               backend  Lorg/graalvm/compiler/hotspot/HotSpotHostBackend;
           22  144     9            metaAccess  Ljdk/vm/ci/meta/MetaAccessProvider;
           26   27    10               classes  Ljava/util/List<Ljdk/tools/jaotc/AOTCompiledClass;>;
           32  144    10               classes  Ljava/util/List<Ljdk/tools/jaotc/AOTCompiledClass;>;
           25   28    13                     t  Ljdk/tools/jaotc/Timer;
           36   41    13                     t  Ljdk/tools/jaotc/Timer;
           46  144    11             dynoStore  Ljdk/tools/jaotc/AOTDynamicTypeStore;
           48  144    12            indyPlugin  Ljdk/tools/jaotc/Main$1;
           49  144    13            aotBackend  Ljdk/tools/jaotc/AOTBackend;
           50  144    14     snippetReflection  Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
           51  144    15              compiler  Ljdk/tools/jaotc/AOTCompiler;
           53  144    16  graalHotSpotVMConfig  Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
           54  144    17     graphBuilderSuite  Lorg/graalvm/compiler/phases/PhaseSuite<Lorg/graalvm/compiler/phases/tiers/HighTierContext;>;
           55  144    18              iterator  Ljava/util/ListIterator<Lorg/graalvm/compiler/phases/BasePhase<-Lorg/graalvm/compiler/phases/tiers/HighTierContext;>;>;
           56  144    19    graphBuilderConfig  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;
           60   66    22                     t  Ljdk/tools/jaotc/Timer;
           71  144    20                    gc  I
           72  144    21       binaryContainer  Ljdk/tools/jaotc/binformat/BinaryContainer;
           73  144    22           dataBuilder  Ljdk/tools/jaotc/DataBuilder;
           75   84    25                 debug  Lorg/graalvm/compiler/debug/DebugContext;
           76   79    26                     a  Lorg/graalvm/compiler/debug/DebugContext$Activation;
           93  106    25                     t  Ljdk/tools/jaotc/Timer;
           97   98    26          aotCompClass  Ljdk/tools/jaotc/AOTCompiledClass;
          112  115    25                     t  Ljdk/tools/jaotc/Timer;
          123  128    25                     t  Ljdk/tools/jaotc/Timer;
          134  137    25                     t  Ljdk/tools/jaotc/Timer;
      Exception table:
        from    to  target  type
           6     8       9  any
           5    11      11  any
          25    26      27  any
          24    29      29  any
          36    39      40  any
          33    42      42  any
          60    64      65  any
          57    67      67  any
          76    77      78  any
          75    80      81  any
          74    85      85  any
          93   104     105  any
          90   107     107  any
         112   113     114  any
         111   116     116  any
         123   126     127  any
         120   129     129  any
         134   135     136  any
         133   138     138  any
           1   145     145  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 276
            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 278
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.options:Ljdk/tools/jaotc/Options;
            getfield jdk.tools.jaotc.Options.debug:Z
            ifeq 3
         2: .line 279
            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 283
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* e */
            invokestatic jdk.tools.jaotc.GraalFilters.shouldIgnoreException:(Ljava/lang/Throwable;)Z
            ifeq 5
         4: .line 284
            return
         5: .line 287
      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 289
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.options:Ljdk/tools/jaotc/Options;
            getfield jdk.tools.jaotc.Options.debug:Z
            ifne 8
         7: .line 290
            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 293
      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 294
            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 297
      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 298
            iconst_1
            invokestatic java.lang.System.exit:(I)V
        12: .line 300
      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 303
            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 304
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
         2: .line 305
            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 308
            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 309
            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 310
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
         3: .line 311
            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 314
            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 315
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.println:()V
         2: .line 316
            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 317
            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 318
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.println:()V
         5: .line 319
            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 320
            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 321
            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 322
            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 323
            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 324
            goto 15
        14: .line 326
      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 320
      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 328
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
        18: .line 329
            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 332
            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 333
            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 106
            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 106
            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 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