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 76
            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 63
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 65
            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 63
            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 79
            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 80
            aload 1 /* t */
            aload 0 /* args */
            invokevirtual jdk.tools.jaotc.Main.run:([Ljava/lang/String;)I
            istore 2 /* exitCode */
        start local 2 // int exitCode
         2: .line 81
            iload 2 /* exitCode */
            invokestatic java.lang.System.exit:(I)V
         3: .line 82
            return
        end local 2 // int exitCode
        end local 1 // jdk.tools.jaotc.Main t
        end local 0 // java.lang.String[] args
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      args  [Ljava/lang/String;
            1    4     1         t  Ljdk/tools/jaotc/Main;
            2    4     2  exitCode  I
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      args  

  private int run(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=2
        start local 0 // jdk.tools.jaotc.Main this
        start local 1 // java.lang.String[] args
         0: .line 85
            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 86
            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 89
            aload 0 /* this */
            aload 1 /* args */
            invokestatic jdk.tools.jaotc.Options.handleOptions:(Ljdk/tools/jaotc/Main;[Ljava/lang/String;)V
         3: .line 90
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.options:Ljdk/tools/jaotc/Options;
            getfield jdk.tools.jaotc.Options.help:Z
            ifeq 7
         4: .line 91
            aload 0 /* this */
            invokevirtual jdk.tools.jaotc.Main.showHelp:()V
         5: .line 118
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
         6: .line 92
            iconst_0
            ireturn
         7: .line 94
      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 95
            aload 0 /* this */
            invokevirtual jdk.tools.jaotc.Main.showVersion:()V
         9: .line 118
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
        10: .line 96
            iconst_0
            ireturn
        11: .line 99
      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 100
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 2 /* start */
        start local 2 // long start
        13: .line 101
            aload 0 /* this */
            invokevirtual jdk.tools.jaotc.Main.run:()Z
            ifne 16
        14: .line 118
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
        15: .line 102
            iconst_4
            ireturn
        16: .line 104
      StackMap locals: long
      StackMap stack:
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 4 /* end */
        start local 4 // long end
        17: .line 105
            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 118
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
        19: .line 107
            iconst_0
            ireturn
        end local 4 // long end
        end local 2 // long start
        20: .line 108
      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 109
            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 110
            aload 2 /* e */
            getfield jdk.tools.jaotc.Options$BadArgs.showUsage:Z
            ifeq 24
        23: .line 111
            aload 0 /* this */
            invokevirtual jdk.tools.jaotc.Main.showUsage:()V
        24: .line 118
      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 113
            iconst_2
            ireturn
        end local 2 // jdk.tools.jaotc.Options$BadArgs e
        26: .line 114
      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 115
            aload 2 /* e */
            invokevirtual java.lang.Exception.printStackTrace:()V
        28: .line 118
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
        29: .line 116
            iconst_4
            ireturn
        end local 2 // java.lang.Exception e
        30: .line 117
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6
        31: .line 118
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
        32: .line 119
            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=27, args_size=1
        start local 0 // jdk.tools.jaotc.Main this
         0: .line 124
            invokestatic jdk.tools.jaotc.LogPrinter.openLog:()V
         1: .line 128
            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 129
            aload 1 /* linker */
            invokevirtual jdk.tools.jaotc.Linker.objFile:()Ljava/lang/String;
            astore 2 /* objectFileName */
        start local 2 // java.lang.String objectFileName
         3: .line 130
            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 133
            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 134
            aload 3 /* collector */
            invokevirtual jdk.tools.jaotc.Collector.collectClassesToCompile:()Ljava/util/Set;
            astore 4 /* classesToCompile */
        start local 4 // java.util.Set classesToCompile
         7: .line 135
            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 136
            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 138
      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 140
            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 141
            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 143
      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 144
            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:(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 145
            aload 6 /* graalCompiler */
            invokeinterface org.graalvm.compiler.api.runtime.GraalJVMCICompiler.getGraalRuntime:()Lorg/graalvm/compiler/api/runtime/GraalRuntime;
            checkcast org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider
            astore 7 /* runtime */
        start local 7 // org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider runtime
        20: .line 146
            aload 7 /* runtime */
            ldc Lorg/graalvm/compiler/runtime/RuntimeProvider;
            invokeinterface org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider.getCapability:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.runtime.RuntimeProvider
            invokeinterface org.graalvm.compiler.runtime.RuntimeProvider.getHostBackend:()Lorg/graalvm/compiler/core/target/Backend;
            checkcast org.graalvm.compiler.hotspot.HotSpotHostBackend
            astore 8 /* backend */
        start local 8 // org.graalvm.compiler.hotspot.HotSpotHostBackend backend
        21: .line 147
            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 148
            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 152
            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 153
            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 154
            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.HotSpotGraalRuntimeProvider 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 157
      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.HotSpotGraalRuntimeProvider 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 158
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.printer:Ljdk/tools/jaotc/LogPrinter;
            invokevirtual jdk.tools.jaotc.LogPrinter.printMemoryUsage:()V
        37: .line 159
            aconst_null
            astore 4 /* classesToCompile */
        38: .line 160
            invokestatic java.lang.System.gc:()V
        39: .line 161
            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.HotSpotGraalRuntimeProvider 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 163
      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 164
            aload 11 /* dynoStore */
            invokestatic jdk.tools.jaotc.AOTCompiledClass.setDynamicTypeStore:(Ljdk/tools/jaotc/AOTDynamicTypeStore;)V
        47: .line 166
            new jdk.tools.jaotc.AOTBackend
            dup
            aload 0 /* this */
            aload 5 /* graalOptions */
            aload 8 /* backend */
            new org.graalvm.compiler.hotspot.meta.HotSpotInvokeDynamicPlugin
            dup
            aload 11 /* dynoStore */
            invokespecial org.graalvm.compiler.hotspot.meta.HotSpotInvokeDynamicPlugin.<init>:(Lorg/graalvm/compiler/hotspot/meta/HotSpotInvokeDynamicPlugin$DynamicTypeStore;)V
            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 12 /* aotBackend */
        start local 12 // jdk.tools.jaotc.AOTBackend aotBackend
        48: .line 167
            aload 12 /* 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 13 /* snippetReflection */
        start local 13 // org.graalvm.compiler.api.replacements.SnippetReflectionProvider snippetReflection
        49: .line 168
            new jdk.tools.jaotc.AOTCompiler
            dup
            aload 0 /* this */
            aload 5 /* graalOptions */
            aload 12 /* 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 14 /* compiler */
        start local 14 // jdk.tools.jaotc.AOTCompiler compiler
        50: .line 169
            aload 14 /* compiler */
            aload 10 /* classes */
            invokevirtual jdk.tools.jaotc.AOTCompiler.compileClasses:(Ljava/util/List;)Ljava/util/List;
            astore 10 /* classes */
        51: .line 171
            aload 7 /* runtime */
            invokeinterface org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider.getVMConfig:()Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            astore 15 /* graalHotSpotVMConfig */
        start local 15 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfig graalHotSpotVMConfig
        52: .line 172
            aload 12 /* aotBackend */
            invokevirtual jdk.tools.jaotc.AOTBackend.getGraphBuilderSuite:()Lorg/graalvm/compiler/phases/PhaseSuite;
            astore 16 /* graphBuilderSuite */
        start local 16 // org.graalvm.compiler.phases.PhaseSuite graphBuilderSuite
        53: .line 173
            aload 16 /* graphBuilderSuite */
            ldc Lorg/graalvm/compiler/java/GraphBuilderPhase;
            invokevirtual org.graalvm.compiler.phases.PhaseSuite.findPhase:(Ljava/lang/Class;)Ljava/util/ListIterator;
            astore 17 /* iterator */
        start local 17 // java.util.ListIterator iterator
        54: .line 174
            aload 17 /* 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 18 /* graphBuilderConfig */
        start local 18 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration graphBuilderConfig
        55: .line 177
            aconst_null
            astore 19
            aconst_null
            astore 20
        56: aload 0 /* this */
            getfield jdk.tools.jaotc.Main.options:Ljdk/tools/jaotc/Options;
            getfield jdk.tools.jaotc.Options.verbose:Z
            ifeq 57
            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 58
      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.HotSpotGraalRuntimeProvider org.graalvm.compiler.hotspot.HotSpotHostBackend jdk.vm.ci.meta.MetaAccessProvider java.util.List jdk.tools.jaotc.AOTDynamicTypeStore 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:
        57: aconst_null
      StackMap locals:
      StackMap stack: jdk.tools.jaotc.Timer
        58: astore 21 /* t */
        start local 21 // jdk.tools.jaotc.Timer t
        59: .line 178
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.printer:Ljdk/tools/jaotc/LogPrinter;
            invokevirtual jdk.tools.jaotc.LogPrinter.printMemoryUsage:()V
        60: .line 179
            aconst_null
            astore 12 /* aotBackend */
        61: .line 180
            aconst_null
            astore 14 /* compiler */
        62: .line 181
            invokestatic java.lang.System.gc:()V
        63: .line 182
            aload 21 /* t */
            ifnull 69
            aload 21 /* t */
            invokevirtual jdk.tools.jaotc.Timer.close:()V
            goto 69
      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.HotSpotGraalRuntimeProvider org.graalvm.compiler.hotspot.HotSpotHostBackend jdk.vm.ci.meta.MetaAccessProvider java.util.List jdk.tools.jaotc.AOTDynamicTypeStore 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
        64: astore 19
            aload 21 /* t */
            ifnull 65
            aload 21 /* t */
            invokevirtual jdk.tools.jaotc.Timer.close:()V
        end local 21 // jdk.tools.jaotc.Timer t
      StackMap locals:
      StackMap stack:
        65: aload 19
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        66: astore 20
            aload 19
            ifnonnull 67
            aload 20
            astore 19
            goto 68
      StackMap locals:
      StackMap stack:
        67: aload 19
            aload 20
            if_acmpeq 68
            aload 19
            aload 20
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        68: aload 19
            athrow
        69: .line 184
      StackMap locals:
      StackMap stack:
            new jdk.tools.jaotc.binformat.BinaryContainer
            dup
            aload 5 /* graalOptions */
            aload 15 /* graalHotSpotVMConfig */
            aload 18 /* graphBuilderConfig */
            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;Ljava/lang/String;)V
            astore 19 /* binaryContainer */
        start local 19 // jdk.tools.jaotc.binformat.BinaryContainer binaryContainer
        70: .line 185
            new jdk.tools.jaotc.DataBuilder
            dup
            aload 0 /* this */
            aload 8 /* backend */
            aload 10 /* classes */
            aload 19 /* 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 20 /* dataBuilder */
        start local 20 // jdk.tools.jaotc.DataBuilder dataBuilder
        71: .line 187
            aconst_null
            astore 21
            aconst_null
            astore 22
        72: aload 5 /* graalOptions */
            new org.graalvm.compiler.printer.GraalDebugHandlersFactory
            dup
            aload 13 /* 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 23 /* debug */
        start local 23 // org.graalvm.compiler.debug.DebugContext debug
        73: aload 23 /* debug */
            invokevirtual org.graalvm.compiler.debug.DebugContext.activate:()Lorg/graalvm/compiler/debug/DebugContext$Activation;
            astore 24 /* a */
        start local 24 // org.graalvm.compiler.debug.DebugContext$Activation a
        74: .line 188
            aload 20 /* dataBuilder */
            aload 23 /* debug */
            invokevirtual jdk.tools.jaotc.DataBuilder.prepareData:(Lorg/graalvm/compiler/debug/DebugContext;)V
        75: .line 189
            aload 24 /* a */
            ifnull 78
            aload 24 /* a */
            invokevirtual org.graalvm.compiler.debug.DebugContext$Activation.close:()V
            goto 78
      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.HotSpotGraalRuntimeProvider org.graalvm.compiler.hotspot.HotSpotHostBackend jdk.vm.ci.meta.MetaAccessProvider java.util.List jdk.tools.jaotc.AOTDynamicTypeStore 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 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
        76: astore 21
            aload 24 /* a */
            ifnull 77
            aload 24 /* a */
            invokevirtual org.graalvm.compiler.debug.DebugContext$Activation.close:()V
        end local 24 // org.graalvm.compiler.debug.DebugContext$Activation a
      StackMap locals:
      StackMap stack:
        77: aload 21
            athrow
      StackMap locals:
      StackMap stack:
        78: aload 23 /* debug */
            ifnull 86
            aload 23 /* debug */
            invokevirtual org.graalvm.compiler.debug.DebugContext.close:()V
            goto 86
      StackMap locals:
      StackMap stack: java.lang.Throwable
        79: astore 22
            aload 21
            ifnonnull 80
            aload 22
            astore 21
            goto 81
      StackMap locals:
      StackMap stack:
        80: aload 21
            aload 22
            if_acmpeq 81
            aload 21
            aload 22
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        81: aload 23 /* debug */
            ifnull 82
            aload 23 /* debug */
            invokevirtual org.graalvm.compiler.debug.DebugContext.close:()V
        end local 23 // org.graalvm.compiler.debug.DebugContext debug
      StackMap locals:
      StackMap stack:
        82: aload 21
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        83: astore 22
            aload 21
            ifnonnull 84
            aload 22
            astore 21
            goto 85
      StackMap locals:
      StackMap stack:
        84: aload 21
            aload 22
            if_acmpeq 85
            aload 21
            aload 22
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        85: aload 21
            athrow
        86: .line 192
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.printer:Ljdk/tools/jaotc/LogPrinter;
            aload 19 /* binaryContainer */
            invokevirtual jdk.tools.jaotc.LogPrinter.containersInfo:(Ljdk/tools/jaotc/binformat/BinaryContainer;)V
        87: .line 195
            aconst_null
            astore 21
            aconst_null
            astore 22
        88: aload 0 /* this */
            getfield jdk.tools.jaotc.Main.options:Ljdk/tools/jaotc/Options;
            getfield jdk.tools.jaotc.Options.verbose:Z
            ifeq 89
            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 90
      StackMap locals: java.lang.Throwable java.lang.Throwable
      StackMap stack:
        89: aconst_null
      StackMap locals:
      StackMap stack: jdk.tools.jaotc.Timer
        90: astore 23 /* t */
        start local 23 // jdk.tools.jaotc.Timer t
        91: .line 196
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.printer:Ljdk/tools/jaotc/LogPrinter;
            invokevirtual jdk.tools.jaotc.LogPrinter.printMemoryUsage:()V
        92: .line 197
            aconst_null
            astore 8 /* backend */
        93: .line 198
            aload 10 /* classes */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 25
            goto 96
      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.HotSpotGraalRuntimeProvider org.graalvm.compiler.hotspot.HotSpotHostBackend jdk.vm.ci.meta.MetaAccessProvider java.util.List jdk.tools.jaotc.AOTDynamicTypeStore 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 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:
        94: aload 25
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.tools.jaotc.AOTCompiledClass
            astore 24 /* aotCompClass */
        start local 24 // jdk.tools.jaotc.AOTCompiledClass aotCompClass
        95: .line 199
            aload 24 /* aotCompClass */
            invokevirtual jdk.tools.jaotc.AOTCompiledClass.clear:()V
        end local 24 // jdk.tools.jaotc.AOTCompiledClass aotCompClass
        96: .line 198
      StackMap locals:
      StackMap stack:
            aload 25
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 94
        97: .line 201
            aload 10 /* classes */
            invokeinterface java.util.List.clear:()V
        98: .line 202
            aconst_null
            astore 10 /* classes */
        99: .line 203
            aconst_null
            astore 20 /* dataBuilder */
       100: .line 204
            aload 19 /* binaryContainer */
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.freeMemory:()V
       101: .line 205
            invokestatic java.lang.System.gc:()V
       102: .line 206
            aload 23 /* t */
            ifnull 108
            aload 23 /* t */
            invokevirtual jdk.tools.jaotc.Timer.close:()V
            goto 108
      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.HotSpotGraalRuntimeProvider org.graalvm.compiler.hotspot.HotSpotHostBackend jdk.vm.ci.meta.MetaAccessProvider java.util.List jdk.tools.jaotc.AOTDynamicTypeStore 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 jdk.tools.jaotc.binformat.BinaryContainer jdk.tools.jaotc.DataBuilder java.lang.Throwable java.lang.Throwable jdk.tools.jaotc.Timer
      StackMap stack: java.lang.Throwable
       103: astore 21
            aload 23 /* t */
            ifnull 104
            aload 23 /* t */
            invokevirtual jdk.tools.jaotc.Timer.close:()V
        end local 23 // jdk.tools.jaotc.Timer t
      StackMap locals:
      StackMap stack:
       104: aload 21
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
       105: astore 22
            aload 21
            ifnonnull 106
            aload 22
            astore 21
            goto 107
      StackMap locals:
      StackMap stack:
       106: aload 21
            aload 22
            if_acmpeq 107
            aload 21
            aload 22
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       107: aload 21
            athrow
       108: .line 208
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 21
            aconst_null
            astore 22
       109: 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 23 /* t */
        start local 23 // jdk.tools.jaotc.Timer t
       110: .line 209
            aload 19 /* binaryContainer */
            aload 2 /* objectFileName */
            invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.createBinary:(Ljava/lang/String;)V
       111: .line 210
            aload 23 /* t */
            ifnull 117
            aload 23 /* t */
            invokevirtual jdk.tools.jaotc.Timer.close:()V
            goto 117
      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.HotSpotGraalRuntimeProvider org.graalvm.compiler.hotspot.HotSpotHostBackend jdk.vm.ci.meta.MetaAccessProvider java.util.List jdk.tools.jaotc.AOTDynamicTypeStore 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 jdk.tools.jaotc.binformat.BinaryContainer jdk.tools.jaotc.DataBuilder java.lang.Throwable java.lang.Throwable jdk.tools.jaotc.Timer
      StackMap stack: java.lang.Throwable
       112: astore 21
            aload 23 /* t */
            ifnull 113
            aload 23 /* t */
            invokevirtual jdk.tools.jaotc.Timer.close:()V
        end local 23 // jdk.tools.jaotc.Timer t
      StackMap locals:
      StackMap stack:
       113: aload 21
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
       114: astore 22
            aload 21
            ifnonnull 115
            aload 22
            astore 21
            goto 116
      StackMap locals:
      StackMap stack:
       115: aload 21
            aload 22
            if_acmpeq 116
            aload 21
            aload 22
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       116: aload 21
            athrow
       117: .line 213
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 21
            aconst_null
            astore 22
       118: aload 0 /* this */
            getfield jdk.tools.jaotc.Main.options:Ljdk/tools/jaotc/Options;
            getfield jdk.tools.jaotc.Options.verbose:Z
            ifeq 119
            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 120
      StackMap locals: java.lang.Throwable java.lang.Throwable
      StackMap stack:
       119: aconst_null
      StackMap locals:
      StackMap stack: jdk.tools.jaotc.Timer
       120: astore 23 /* t */
        start local 23 // jdk.tools.jaotc.Timer t
       121: .line 214
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.printer:Ljdk/tools/jaotc/LogPrinter;
            invokevirtual jdk.tools.jaotc.LogPrinter.printMemoryUsage:()V
       122: .line 215
            aconst_null
            astore 19 /* binaryContainer */
       123: .line 216
            invokestatic java.lang.System.gc:()V
       124: .line 217
            aload 23 /* t */
            ifnull 130
            aload 23 /* t */
            invokevirtual jdk.tools.jaotc.Timer.close:()V
            goto 130
      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.HotSpotGraalRuntimeProvider org.graalvm.compiler.hotspot.HotSpotHostBackend jdk.vm.ci.meta.MetaAccessProvider java.util.List jdk.tools.jaotc.AOTDynamicTypeStore 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 jdk.tools.jaotc.binformat.BinaryContainer jdk.tools.jaotc.DataBuilder java.lang.Throwable java.lang.Throwable jdk.tools.jaotc.Timer
      StackMap stack: java.lang.Throwable
       125: astore 21
            aload 23 /* t */
            ifnull 126
            aload 23 /* t */
            invokevirtual jdk.tools.jaotc.Timer.close:()V
        end local 23 // jdk.tools.jaotc.Timer t
      StackMap locals:
      StackMap stack:
       126: aload 21
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
       127: astore 22
            aload 21
            ifnonnull 128
            aload 22
            astore 21
            goto 129
      StackMap locals:
      StackMap stack:
       128: aload 21
            aload 22
            if_acmpeq 129
            aload 21
            aload 22
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       129: aload 21
            athrow
       130: .line 219
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 21
            aconst_null
            astore 22
       131: 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 23 /* t */
        start local 23 // jdk.tools.jaotc.Timer t
       132: .line 220
            aload 1 /* linker */
            invokevirtual jdk.tools.jaotc.Linker.link:()V
       133: .line 221
            aload 23 /* t */
            ifnull 139
            aload 23 /* t */
            invokevirtual jdk.tools.jaotc.Timer.close:()V
            goto 139
      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.HotSpotGraalRuntimeProvider org.graalvm.compiler.hotspot.HotSpotHostBackend jdk.vm.ci.meta.MetaAccessProvider java.util.List jdk.tools.jaotc.AOTDynamicTypeStore 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 jdk.tools.jaotc.binformat.BinaryContainer jdk.tools.jaotc.DataBuilder java.lang.Throwable java.lang.Throwable jdk.tools.jaotc.Timer
      StackMap stack: java.lang.Throwable
       134: astore 21
            aload 23 /* t */
            ifnull 135
            aload 23 /* t */
            invokevirtual jdk.tools.jaotc.Timer.close:()V
        end local 23 // jdk.tools.jaotc.Timer t
      StackMap locals:
      StackMap stack:
       135: aload 21
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
       136: astore 22
            aload 21
            ifnonnull 137
            aload 22
            astore 21
            goto 138
      StackMap locals:
      StackMap stack:
       137: aload 21
            aload 22
            if_acmpeq 138
            aload 21
            aload 22
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       138: aload 21
            athrow
       139: .line 223
      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
       140: .line 224
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.printer:Ljdk/tools/jaotc/LogPrinter;
            invokevirtual jdk.tools.jaotc.LogPrinter.printMemoryUsage:()V
       141: .line 225
            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 20 // jdk.tools.jaotc.DataBuilder dataBuilder
        end local 19 // jdk.tools.jaotc.binformat.BinaryContainer binaryContainer
        end local 18 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration graphBuilderConfig
        end local 17 // java.util.ListIterator iterator
        end local 16 // org.graalvm.compiler.phases.PhaseSuite graphBuilderSuite
        end local 15 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfig graalHotSpotVMConfig
        end local 14 // jdk.tools.jaotc.AOTCompiler compiler
        end local 13 // org.graalvm.compiler.api.replacements.SnippetReflectionProvider snippetReflection
        end local 12 // jdk.tools.jaotc.AOTBackend aotBackend
        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.HotSpotGraalRuntimeProvider 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
       142: .line 227
            goto 146
      StackMap locals: jdk.tools.jaotc.Main
      StackMap stack: java.lang.Throwable
       143: astore 26
       144: .line 228
            invokestatic jdk.tools.jaotc.LogPrinter.closeLog:()V
       145: .line 229
            aload 26
            athrow
       146: .line 228
      StackMap locals:
      StackMap stack:
            invokestatic jdk.tools.jaotc.LogPrinter.closeLog:()V
       147: .line 230
            iconst_1
            ireturn
        end local 0 // jdk.tools.jaotc.Main this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0  148     0                  this  Ljdk/tools/jaotc/Main;
            2  142     1                linker  Ljdk/tools/jaotc/Linker;
            3  142     2        objectFileName  Ljava/lang/String;
            4  142     3             collector  Ljdk/tools/jaotc/Collector;
            7    9     4      classesToCompile  Ljava/util/Set<Ljava/lang/Class<*>;>;
           14  142     4      classesToCompile  Ljava/util/Set<Ljava/lang/Class<*>;>;
            6   10     7                     t  Ljdk/tools/jaotc/Timer;
           15  142     5          graalOptions  Lorg/graalvm/compiler/options/OptionValues;
           19  142     6         graalCompiler  Lorg/graalvm/compiler/api/runtime/GraalJVMCICompiler;
           20  142     7               runtime  Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
           21  142     8               backend  Lorg/graalvm/compiler/hotspot/HotSpotHostBackend;
           22  142     9            metaAccess  Ljdk/vm/ci/meta/MetaAccessProvider;
           26   27    10               classes  Ljava/util/List<Ljdk/tools/jaotc/AOTCompiledClass;>;
           32  142    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  142    11             dynoStore  Ljdk/tools/jaotc/AOTDynamicTypeStore;
           48  142    12            aotBackend  Ljdk/tools/jaotc/AOTBackend;
           49  142    13     snippetReflection  Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
           50  142    14              compiler  Ljdk/tools/jaotc/AOTCompiler;
           52  142    15  graalHotSpotVMConfig  Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
           53  142    16     graphBuilderSuite  Lorg/graalvm/compiler/phases/PhaseSuite<Lorg/graalvm/compiler/phases/tiers/HighTierContext;>;
           54  142    17              iterator  Ljava/util/ListIterator<Lorg/graalvm/compiler/phases/BasePhase<-Lorg/graalvm/compiler/phases/tiers/HighTierContext;>;>;
           55  142    18    graphBuilderConfig  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;
           59   65    21                     t  Ljdk/tools/jaotc/Timer;
           70  142    19       binaryContainer  Ljdk/tools/jaotc/binformat/BinaryContainer;
           71  142    20           dataBuilder  Ljdk/tools/jaotc/DataBuilder;
           73   82    23                 debug  Lorg/graalvm/compiler/debug/DebugContext;
           74   77    24                     a  Lorg/graalvm/compiler/debug/DebugContext$Activation;
           91  104    23                     t  Ljdk/tools/jaotc/Timer;
           95   96    24          aotCompClass  Ljdk/tools/jaotc/AOTCompiledClass;
          110  113    23                     t  Ljdk/tools/jaotc/Timer;
          121  126    23                     t  Ljdk/tools/jaotc/Timer;
          132  135    23                     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
          59    63      64  any
          56    66      66  any
          74    75      76  any
          73    78      79  any
          72    83      83  any
          91   102     103  any
          88   105     105  any
         110   111     112  any
         109   114     114  any
         121   124     125  any
         118   127     127  any
         132   133     134  any
         131   136     136  any
           1   143     143  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 234
            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 236
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.options:Ljdk/tools/jaotc/Options;
            getfield jdk.tools.jaotc.Options.debug:Z
            ifeq 3
         2: .line 237
            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 241
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* e */
            invokestatic jdk.tools.jaotc.GraalFilters.shouldIgnoreException:(Ljava/lang/Throwable;)Z
            ifeq 5
         4: .line 242
            return
         5: .line 245
      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 247
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.options:Ljdk/tools/jaotc/Options;
            getfield jdk.tools.jaotc.Options.debug:Z
            ifne 8
         7: .line 248
            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 251
      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 252
            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 255
      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 256
            iconst_1
            invokestatic java.lang.System.exit:(I)V
        12: .line 258
      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 261
            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 262
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
         2: .line 263
            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 266
            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 267
            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 268
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
         3: .line 269
            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 272
            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 273
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.println:()V
         2: .line 274
            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 275
            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 276
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.println:()V
         5: .line 277
            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 278
            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 279
            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 280
            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 281
            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 282
            goto 15
        14: .line 284
      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 278
      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 286
            aload 0 /* this */
            getfield jdk.tools.jaotc.Main.log:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
        18: .line 287
            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 290
            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 291
            return
        end local 0 // jdk.tools.jaotc.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/tools/jaotc/Main;
}
SourceFile: "Main.java"
InnerClasses:
  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 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