final class jdk.tools.jaotc.AOTBackend
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: jdk.tools.jaotc.AOTBackend
  super_class: java.lang.Object
{
  private final jdk.tools.jaotc.Main main;
    descriptor: Ljdk/tools/jaotc/Main;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.graalvm.compiler.options.OptionValues graalOptions;
    descriptor: Lorg/graalvm/compiler/options/OptionValues;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.graalvm.compiler.hotspot.HotSpotBackend backend;
    descriptor: Lorg/graalvm/compiler/hotspot/HotSpotBackend;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.graalvm.compiler.hotspot.meta.HotSpotProviders providers;
    descriptor: Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final jdk.vm.ci.hotspot.HotSpotCodeCacheProvider codeCache;
    descriptor: Ljdk/vm/ci/hotspot/HotSpotCodeCacheProvider;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.graalvm.compiler.phases.PhaseSuite<org.graalvm.compiler.phases.tiers.HighTierContext> graphBuilderSuite;
    descriptor: Lorg/graalvm/compiler/phases/PhaseSuite;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/graalvm/compiler/phases/PhaseSuite<Lorg/graalvm/compiler/phases/tiers/HighTierContext;>;

  private final org.graalvm.compiler.phases.tiers.HighTierContext highTierContext;
    descriptor: Lorg/graalvm/compiler/phases/tiers/HighTierContext;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  void <init>(jdk.tools.jaotc.Main, org.graalvm.compiler.options.OptionValues, org.graalvm.compiler.hotspot.HotSpotBackend, org.graalvm.compiler.hotspot.meta.HotSpotInvokeDynamicPlugin);
    descriptor: (Ljdk/tools/jaotc/Main;Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/hotspot/HotSpotBackend;Lorg/graalvm/compiler/hotspot/meta/HotSpotInvokeDynamicPlugin;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // jdk.tools.jaotc.AOTBackend this
        start local 1 // jdk.tools.jaotc.Main main
        start local 2 // org.graalvm.compiler.options.OptionValues graalOptions
        start local 3 // org.graalvm.compiler.hotspot.HotSpotBackend backend
        start local 4 // org.graalvm.compiler.hotspot.meta.HotSpotInvokeDynamicPlugin inokeDynamicPlugin
         0: .line 67
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 68
            aload 0 /* this */
            aload 1 /* main */
            putfield jdk.tools.jaotc.AOTBackend.main:Ljdk/tools/jaotc/Main;
         2: .line 69
            aload 0 /* this */
            aload 2 /* graalOptions */
            putfield jdk.tools.jaotc.AOTBackend.graalOptions:Lorg/graalvm/compiler/options/OptionValues;
         3: .line 70
            aload 0 /* this */
            aload 3 /* backend */
            putfield jdk.tools.jaotc.AOTBackend.backend:Lorg/graalvm/compiler/hotspot/HotSpotBackend;
         4: .line 71
            aload 0 /* this */
            aload 3 /* backend */
            invokevirtual org.graalvm.compiler.hotspot.HotSpotBackend.getProviders:()Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
            putfield jdk.tools.jaotc.AOTBackend.providers:Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
         5: .line 72
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.tools.jaotc.AOTBackend.providers:Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
            invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getCodeCache:()Ljdk/vm/ci/hotspot/HotSpotCodeCacheProvider;
            putfield jdk.tools.jaotc.AOTBackend.codeCache:Ljdk/vm/ci/hotspot/HotSpotCodeCacheProvider;
         6: .line 73
            aload 0 /* this */
            aload 3 /* backend */
            aload 1 /* main */
            getfield jdk.tools.jaotc.Main.options:Ljdk/tools/jaotc/Options;
            getfield jdk.tools.jaotc.Options.compileWithAssertions:Z
            aload 4 /* inokeDynamicPlugin */
            invokestatic jdk.tools.jaotc.AOTBackend.initGraphBuilderSuite:(Lorg/graalvm/compiler/hotspot/HotSpotBackend;ZLorg/graalvm/compiler/hotspot/meta/HotSpotInvokeDynamicPlugin;)Lorg/graalvm/compiler/phases/PhaseSuite;
            putfield jdk.tools.jaotc.AOTBackend.graphBuilderSuite:Lorg/graalvm/compiler/phases/PhaseSuite;
         7: .line 74
            aload 0 /* this */
            new org.graalvm.compiler.phases.tiers.HighTierContext
            dup
            aload 0 /* this */
            getfield jdk.tools.jaotc.AOTBackend.providers:Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
            aload 0 /* this */
            getfield jdk.tools.jaotc.AOTBackend.graphBuilderSuite:Lorg/graalvm/compiler/phases/PhaseSuite;
            getstatic org.graalvm.compiler.phases.OptimisticOptimizations.ALL:Lorg/graalvm/compiler/phases/OptimisticOptimizations;
            invokespecial org.graalvm.compiler.phases.tiers.HighTierContext.<init>:(Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/phases/PhaseSuite;Lorg/graalvm/compiler/phases/OptimisticOptimizations;)V
            putfield jdk.tools.jaotc.AOTBackend.highTierContext:Lorg/graalvm/compiler/phases/tiers/HighTierContext;
         8: .line 75
            return
        end local 4 // org.graalvm.compiler.hotspot.meta.HotSpotInvokeDynamicPlugin inokeDynamicPlugin
        end local 3 // org.graalvm.compiler.hotspot.HotSpotBackend backend
        end local 2 // org.graalvm.compiler.options.OptionValues graalOptions
        end local 1 // jdk.tools.jaotc.Main main
        end local 0 // jdk.tools.jaotc.AOTBackend this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    9     0                this  Ljdk/tools/jaotc/AOTBackend;
            0    9     1                main  Ljdk/tools/jaotc/Main;
            0    9     2        graalOptions  Lorg/graalvm/compiler/options/OptionValues;
            0    9     3             backend  Lorg/graalvm/compiler/hotspot/HotSpotBackend;
            0    9     4  inokeDynamicPlugin  Lorg/graalvm/compiler/hotspot/meta/HotSpotInvokeDynamicPlugin;
    MethodParameters:
                    Name  Flags
      main                
      graalOptions        
      backend             
      inokeDynamicPlugin  

  org.graalvm.compiler.phases.PhaseSuite<org.graalvm.compiler.phases.tiers.HighTierContext> getGraphBuilderSuite();
    descriptor: ()Lorg/graalvm/compiler/phases/PhaseSuite;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.tools.jaotc.AOTBackend this
         0: .line 78
            aload 0 /* this */
            getfield jdk.tools.jaotc.AOTBackend.graphBuilderSuite:Lorg/graalvm/compiler/phases/PhaseSuite;
            areturn
        end local 0 // jdk.tools.jaotc.AOTBackend this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/tools/jaotc/AOTBackend;
    Signature: ()Lorg/graalvm/compiler/phases/PhaseSuite<Lorg/graalvm/compiler/phases/tiers/HighTierContext;>;

  org.graalvm.compiler.hotspot.HotSpotBackend getBackend();
    descriptor: ()Lorg/graalvm/compiler/hotspot/HotSpotBackend;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.tools.jaotc.AOTBackend this
         0: .line 82
            aload 0 /* this */
            getfield jdk.tools.jaotc.AOTBackend.backend:Lorg/graalvm/compiler/hotspot/HotSpotBackend;
            areturn
        end local 0 // jdk.tools.jaotc.AOTBackend this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/tools/jaotc/AOTBackend;

  org.graalvm.compiler.hotspot.meta.HotSpotProviders getProviders();
    descriptor: ()Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.tools.jaotc.AOTBackend this
         0: .line 86
            aload 0 /* this */
            getfield jdk.tools.jaotc.AOTBackend.providers:Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
            areturn
        end local 0 // jdk.tools.jaotc.AOTBackend this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/tools/jaotc/AOTBackend;

  private org.graalvm.compiler.phases.tiers.Suites getSuites();
    descriptor: ()Lorg/graalvm/compiler/phases/tiers/Suites;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.tools.jaotc.AOTBackend this
         0: .line 91
            aload 0 /* this */
            getfield jdk.tools.jaotc.AOTBackend.backend:Lorg/graalvm/compiler/hotspot/HotSpotBackend;
            invokevirtual org.graalvm.compiler.hotspot.HotSpotBackend.getSuites:()Lorg/graalvm/compiler/phases/tiers/SuitesProvider;
            aload 0 /* this */
            getfield jdk.tools.jaotc.AOTBackend.graalOptions:Lorg/graalvm/compiler/options/OptionValues;
            invokeinterface org.graalvm.compiler.phases.tiers.SuitesProvider.getDefaultSuites:(Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/phases/tiers/Suites;
            areturn
        end local 0 // jdk.tools.jaotc.AOTBackend this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/tools/jaotc/AOTBackend;

  private org.graalvm.compiler.lir.phases.LIRSuites getLirSuites();
    descriptor: ()Lorg/graalvm/compiler/lir/phases/LIRSuites;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.tools.jaotc.AOTBackend this
         0: .line 96
            aload 0 /* this */
            getfield jdk.tools.jaotc.AOTBackend.backend:Lorg/graalvm/compiler/hotspot/HotSpotBackend;
            invokevirtual org.graalvm.compiler.hotspot.HotSpotBackend.getSuites:()Lorg/graalvm/compiler/phases/tiers/SuitesProvider;
            aload 0 /* this */
            getfield jdk.tools.jaotc.AOTBackend.graalOptions:Lorg/graalvm/compiler/options/OptionValues;
            invokeinterface org.graalvm.compiler.phases.tiers.SuitesProvider.getDefaultLIRSuites:(Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/lir/phases/LIRSuites;
            areturn
        end local 0 // jdk.tools.jaotc.AOTBackend this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/tools/jaotc/AOTBackend;

  org.graalvm.compiler.code.CompilationResult compileMethod(jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.debug.DebugContext);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/code/CompilationResult;
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // jdk.tools.jaotc.AOTBackend this
        start local 1 // jdk.vm.ci.meta.ResolvedJavaMethod resolvedMethod
        start local 2 // org.graalvm.compiler.debug.DebugContext debug
         0: .line 101
            aload 0 /* this */
            aload 1 /* resolvedMethod */
            aload 2 /* debug */
            invokevirtual jdk.tools.jaotc.AOTBackend.buildStructuredGraph:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 3 /* graph */
        start local 3 // org.graalvm.compiler.nodes.StructuredGraph graph
         1: .line 102
            aload 3 /* graph */
            ifnull 3
         2: .line 103
            aload 0 /* this */
            aload 1 /* resolvedMethod */
            aload 3 /* graph */
            aload 2 /* debug */
            invokevirtual jdk.tools.jaotc.AOTBackend.compileGraph:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/code/CompilationResult;
            areturn
         3: .line 105
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph
      StackMap stack:
            aconst_null
            areturn
        end local 3 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 2 // org.graalvm.compiler.debug.DebugContext debug
        end local 1 // jdk.vm.ci.meta.ResolvedJavaMethod resolvedMethod
        end local 0 // jdk.tools.jaotc.AOTBackend this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0            this  Ljdk/tools/jaotc/AOTBackend;
            0    4     1  resolvedMethod  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0    4     2           debug  Lorg/graalvm/compiler/debug/DebugContext;
            1    4     3           graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
    MethodParameters:
                Name  Flags
      resolvedMethod  
      debug           

  private org.graalvm.compiler.nodes.StructuredGraph buildStructuredGraph(jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.debug.DebugContext);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/nodes/StructuredGraph;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // jdk.tools.jaotc.AOTBackend this
        start local 1 // jdk.vm.ci.meta.ResolvedJavaMethod javaMethod
        start local 2 // org.graalvm.compiler.debug.DebugContext debug
         0: .line 117
            aconst_null
            astore 3
            aconst_null
            astore 4
         1: aload 2 /* debug */
            ldc "AOTParseMethod"
            invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
            astore 5 /* s */
        start local 5 // org.graalvm.compiler.debug.DebugContext$Scope s
         2: .line 118
            new org.graalvm.compiler.nodes.StructuredGraph$Builder
            dup
            aload 0 /* this */
            getfield jdk.tools.jaotc.AOTBackend.graalOptions:Lorg/graalvm/compiler/options/OptionValues;
            aload 2 /* debug */
            invokespecial org.graalvm.compiler.nodes.StructuredGraph$Builder.<init>:(Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/debug/DebugContext;)V
            aload 1 /* javaMethod */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$Builder.method:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/compiler/nodes/StructuredGraph$Builder;
            iconst_0
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$Builder.useProfilingInfo:(Z)Lorg/graalvm/compiler/nodes/StructuredGraph$Builder;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$Builder.build:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 6 /* graph */
        start local 6 // org.graalvm.compiler.nodes.StructuredGraph graph
         3: .line 119
            aload 0 /* this */
            getfield jdk.tools.jaotc.AOTBackend.graphBuilderSuite:Lorg/graalvm/compiler/phases/PhaseSuite;
            aload 6 /* graph */
            aload 0 /* this */
            getfield jdk.tools.jaotc.AOTBackend.highTierContext:Lorg/graalvm/compiler/phases/tiers/HighTierContext;
            invokevirtual org.graalvm.compiler.phases.PhaseSuite.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
         4: .line 120
            aload 6 /* graph */
         5: .line 121
            aload 5 /* s */
            ifnull 6
            aload 5 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
         6: .line 120
      StackMap locals: jdk.tools.jaotc.AOTBackend jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.nodes.StructuredGraph
      StackMap stack: org.graalvm.compiler.nodes.StructuredGraph
            areturn
        end local 6 // org.graalvm.compiler.nodes.StructuredGraph graph
      StackMap locals: jdk.tools.jaotc.AOTBackend jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
      StackMap stack: java.lang.Throwable
         7: astore 3
         8: .line 121
            aload 5 /* s */
            ifnull 9
            aload 5 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
        end local 5 // org.graalvm.compiler.debug.DebugContext$Scope s
      StackMap locals:
      StackMap stack:
         9: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: astore 4
            aload 3
            ifnonnull 11
            aload 4
            astore 3
            goto 12
      StackMap locals:
      StackMap stack:
        11: aload 3
            aload 4
            if_acmpeq 12
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        12: aload 3
            athrow
      StackMap locals: jdk.tools.jaotc.AOTBackend jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.debug.DebugContext
      StackMap stack: java.lang.Throwable
        13: astore 3 /* e */
        start local 3 // java.lang.Throwable e
        14: .line 122
            aload 0 /* this */
            getfield jdk.tools.jaotc.AOTBackend.main:Ljdk/tools/jaotc/Main;
            aload 1 /* javaMethod */
            aload 3 /* e */
            ldc " (building graph)"
            invokevirtual jdk.tools.jaotc.Main.handleError:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Throwable;Ljava/lang/String;)V
        end local 3 // java.lang.Throwable e
        15: .line 124
            aconst_null
            areturn
        end local 2 // org.graalvm.compiler.debug.DebugContext debug
        end local 1 // jdk.vm.ci.meta.ResolvedJavaMethod javaMethod
        end local 0 // jdk.tools.jaotc.AOTBackend this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   16     0        this  Ljdk/tools/jaotc/AOTBackend;
            0   16     1  javaMethod  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0   16     2       debug  Lorg/graalvm/compiler/debug/DebugContext;
            2    9     5           s  Lorg/graalvm/compiler/debug/DebugContext$Scope;
            3    7     6       graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
           14   15     3           e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           2     5       7  any
           1     6      10  any
           7    10      10  any
           0     6      13  Class java.lang.Throwable
           7    13      13  Class java.lang.Throwable
    MethodParameters:
            Name  Flags
      javaMethod  
      debug       

  private org.graalvm.compiler.code.CompilationResult compileGraph(jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.debug.DebugContext);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/code/CompilationResult;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=12, locals=10, args_size=4
        start local 0 // jdk.tools.jaotc.AOTBackend this
        start local 1 // jdk.vm.ci.meta.ResolvedJavaMethod resolvedMethod
        start local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 3 // org.graalvm.compiler.debug.DebugContext debug
         0: .line 129
            aconst_null
            astore 4
            aconst_null
            astore 5
         1: aload 3 /* debug */
            ldc "AOTCompileMethod"
            invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
            astore 6 /* s */
        start local 6 // org.graalvm.compiler.debug.DebugContext$Scope s
         2: .line 130
            getstatic jdk.vm.ci.meta.TriState.FALSE:Ljdk/vm/ci/meta/TriState;
            invokestatic jdk.vm.ci.meta.DefaultProfilingInfo.get:(Ljdk/vm/ci/meta/TriState;)Ljdk/vm/ci/meta/ProfilingInfo;
            astore 7 /* profilingInfo */
        start local 7 // jdk.vm.ci.meta.ProfilingInfo profilingInfo
         3: .line 133
            new jdk.tools.jaotc.AOTBackend$1
            dup
            aload 0 /* this */
            aload 1 /* resolvedMethod */
            invokespecial jdk.tools.jaotc.AOTBackend$1.<init>:(Ljdk/tools/jaotc/AOTBackend;Ljdk/vm/ci/meta/ResolvedJavaMethod;)V
            astore 8 /* id */
        start local 8 // org.graalvm.compiler.core.common.CompilationIdentifier id
         4: .line 139
            new org.graalvm.compiler.code.CompilationResult
            dup
            aload 8 /* id */
            iconst_1
            invokespecial org.graalvm.compiler.code.CompilationResult.<init>:(Lorg/graalvm/compiler/core/common/CompilationIdentifier;Z)V
            astore 9 /* compilationResult */
        start local 9 // org.graalvm.compiler.code.CompilationResult compilationResult
         5: .line 141
            aload 2 /* graph */
            aload 1 /* resolvedMethod */
            aload 0 /* this */
            getfield jdk.tools.jaotc.AOTBackend.providers:Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
            aload 0 /* this */
            getfield jdk.tools.jaotc.AOTBackend.backend:Lorg/graalvm/compiler/hotspot/HotSpotBackend;
            aload 0 /* this */
            getfield jdk.tools.jaotc.AOTBackend.graphBuilderSuite:Lorg/graalvm/compiler/phases/PhaseSuite;
            getstatic org.graalvm.compiler.phases.OptimisticOptimizations.ALL:Lorg/graalvm/compiler/phases/OptimisticOptimizations;
            aload 7 /* profilingInfo */
            aload 0 /* this */
            invokevirtual jdk.tools.jaotc.AOTBackend.getSuites:()Lorg/graalvm/compiler/phases/tiers/Suites;
            aload 0 /* this */
            invokevirtual jdk.tools.jaotc.AOTBackend.getLirSuites:()Lorg/graalvm/compiler/lir/phases/LIRSuites;
         6: .line 142
            aload 9 /* compilationResult */
            getstatic org.graalvm.compiler.lir.asm.CompilationResultBuilderFactory.Default:Lorg/graalvm/compiler/lir/asm/CompilationResultBuilderFactory;
            iconst_1
         7: .line 141
            invokestatic org.graalvm.compiler.core.GraalCompiler.compileGraph:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/core/target/Backend;Lorg/graalvm/compiler/phases/PhaseSuite;Lorg/graalvm/compiler/phases/OptimisticOptimizations;Ljdk/vm/ci/meta/ProfilingInfo;Lorg/graalvm/compiler/phases/tiers/Suites;Lorg/graalvm/compiler/lir/phases/LIRSuites;Lorg/graalvm/compiler/code/CompilationResult;Lorg/graalvm/compiler/lir/asm/CompilationResultBuilderFactory;Z)Lorg/graalvm/compiler/code/CompilationResult;
         8: .line 144
            aload 6 /* s */
            ifnull 9
            aload 6 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
         9: .line 141
      StackMap locals: jdk.tools.jaotc.AOTBackend jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.vm.ci.meta.ProfilingInfo org.graalvm.compiler.core.common.CompilationIdentifier org.graalvm.compiler.code.CompilationResult
      StackMap stack: org.graalvm.compiler.code.CompilationResult
            areturn
        end local 9 // org.graalvm.compiler.code.CompilationResult compilationResult
        end local 8 // org.graalvm.compiler.core.common.CompilationIdentifier id
        end local 7 // jdk.vm.ci.meta.ProfilingInfo profilingInfo
      StackMap locals: jdk.tools.jaotc.AOTBackend jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
      StackMap stack: java.lang.Throwable
        10: astore 4
        11: .line 144
            aload 6 /* s */
            ifnull 12
            aload 6 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
        end local 6 // org.graalvm.compiler.debug.DebugContext$Scope s
      StackMap locals:
      StackMap stack:
        12: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: astore 5
            aload 4
            ifnonnull 14
            aload 5
            astore 4
            goto 15
      StackMap locals:
      StackMap stack:
        14: aload 4
            aload 5
            if_acmpeq 15
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        15: aload 4
            athrow
      StackMap locals: jdk.tools.jaotc.AOTBackend jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.debug.DebugContext
      StackMap stack: java.lang.Throwable
        16: astore 4 /* e */
        start local 4 // java.lang.Throwable e
        17: .line 145
            aload 0 /* this */
            getfield jdk.tools.jaotc.AOTBackend.main:Ljdk/tools/jaotc/Main;
            aload 1 /* resolvedMethod */
            aload 4 /* e */
            ldc " (compiling graph)"
            invokevirtual jdk.tools.jaotc.Main.handleError:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Throwable;Ljava/lang/String;)V
        end local 4 // java.lang.Throwable e
        18: .line 147
            aconst_null
            areturn
        end local 3 // org.graalvm.compiler.debug.DebugContext debug
        end local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 1 // jdk.vm.ci.meta.ResolvedJavaMethod resolvedMethod
        end local 0 // jdk.tools.jaotc.AOTBackend this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   19     0               this  Ljdk/tools/jaotc/AOTBackend;
            0   19     1     resolvedMethod  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0   19     2              graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0   19     3              debug  Lorg/graalvm/compiler/debug/DebugContext;
            2   12     6                  s  Lorg/graalvm/compiler/debug/DebugContext$Scope;
            3   10     7      profilingInfo  Ljdk/vm/ci/meta/ProfilingInfo;
            4   10     8                 id  Lorg/graalvm/compiler/core/common/CompilationIdentifier;
            5   10     9  compilationResult  Lorg/graalvm/compiler/code/CompilationResult;
           17   18     4                  e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           2     8      10  any
           1     9      13  any
          10    13      13  any
           0     9      16  Class java.lang.Throwable
          10    16      16  Class java.lang.Throwable
    MethodParameters:
                Name  Flags
      resolvedMethod  
      graph           
      debug           

  private static org.graalvm.compiler.phases.PhaseSuite<org.graalvm.compiler.phases.tiers.HighTierContext> initGraphBuilderSuite(org.graalvm.compiler.hotspot.HotSpotBackend, boolean, org.graalvm.compiler.hotspot.meta.HotSpotInvokeDynamicPlugin);
    descriptor: (Lorg/graalvm/compiler/hotspot/HotSpotBackend;ZLorg/graalvm/compiler/hotspot/meta/HotSpotInvokeDynamicPlugin;)Lorg/graalvm/compiler/phases/PhaseSuite;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // org.graalvm.compiler.hotspot.HotSpotBackend backend
        start local 1 // boolean compileWithAssertions
        start local 2 // org.graalvm.compiler.hotspot.meta.HotSpotInvokeDynamicPlugin inokeDynamicPlugin
         0: .line 151
            aload 0 /* backend */
            invokevirtual org.graalvm.compiler.hotspot.HotSpotBackend.getSuites:()Lorg/graalvm/compiler/phases/tiers/SuitesProvider;
            invokeinterface org.graalvm.compiler.phases.tiers.SuitesProvider.getDefaultGraphBuilderSuite:()Lorg/graalvm/compiler/phases/PhaseSuite;
            invokevirtual org.graalvm.compiler.phases.PhaseSuite.copy:()Lorg/graalvm/compiler/phases/PhaseSuite;
            astore 3 /* graphBuilderSuite */
        start local 3 // org.graalvm.compiler.phases.PhaseSuite graphBuilderSuite
         1: .line 152
            aload 3 /* graphBuilderSuite */
            ldc Lorg/graalvm/compiler/java/GraphBuilderPhase;
            invokevirtual org.graalvm.compiler.phases.PhaseSuite.findPhase:(Ljava/lang/Class;)Ljava/util/ListIterator;
            astore 4 /* iterator */
        start local 4 // java.util.ListIterator iterator
         2: .line 153
            aload 4 /* 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 5 /* baseConfig */
        start local 5 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration baseConfig
         3: .line 156
            aload 5 /* baseConfig */
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration.getPlugins:()Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;
            astore 6 /* plugins */
        start local 6 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins plugins
         4: .line 157
            aload 6 /* plugins */
            aload 2 /* inokeDynamicPlugin */
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins.setInvokeDynamicPlugin:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvokeDynamicPlugin;)V
         5: .line 158
            aload 6 /* plugins */
            invokestatic org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration.getDefault:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;)Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;
            iconst_1
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration.withEagerResolving:(Z)Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;
            iload 1 /* compileWithAssertions */
            ifeq 6
            iconst_0
            goto 7
      StackMap locals: org.graalvm.compiler.hotspot.HotSpotBackend int org.graalvm.compiler.hotspot.meta.HotSpotInvokeDynamicPlugin org.graalvm.compiler.phases.PhaseSuite java.util.ListIterator org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins
      StackMap stack: org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration
         6: iconst_1
      StackMap locals: org.graalvm.compiler.hotspot.HotSpotBackend int org.graalvm.compiler.hotspot.meta.HotSpotInvokeDynamicPlugin org.graalvm.compiler.phases.PhaseSuite java.util.ListIterator org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins
      StackMap stack: org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration int
         7: invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration.withOmitAssertions:(Z)Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;
            astore 7 /* aotConfig */
        start local 7 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration aotConfig
         8: .line 160
            aload 4 /* iterator */
            invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
            pop
         9: .line 161
            aload 4 /* iterator */
            invokeinterface java.util.ListIterator.remove:()V
        10: .line 162
            aload 4 /* iterator */
            new org.graalvm.compiler.java.GraphBuilderPhase
            dup
            aload 7 /* aotConfig */
            invokespecial org.graalvm.compiler.java.GraphBuilderPhase.<init>:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;)V
            invokeinterface java.util.ListIterator.add:(Ljava/lang/Object;)V
        11: .line 164
            aload 3 /* graphBuilderSuite */
            areturn
        end local 7 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration aotConfig
        end local 6 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins plugins
        end local 5 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration baseConfig
        end local 4 // java.util.ListIterator iterator
        end local 3 // org.graalvm.compiler.phases.PhaseSuite graphBuilderSuite
        end local 2 // org.graalvm.compiler.hotspot.meta.HotSpotInvokeDynamicPlugin inokeDynamicPlugin
        end local 1 // boolean compileWithAssertions
        end local 0 // org.graalvm.compiler.hotspot.HotSpotBackend backend
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   12     0                backend  Lorg/graalvm/compiler/hotspot/HotSpotBackend;
            0   12     1  compileWithAssertions  Z
            0   12     2     inokeDynamicPlugin  Lorg/graalvm/compiler/hotspot/meta/HotSpotInvokeDynamicPlugin;
            1   12     3      graphBuilderSuite  Lorg/graalvm/compiler/phases/PhaseSuite<Lorg/graalvm/compiler/phases/tiers/HighTierContext;>;
            2   12     4               iterator  Ljava/util/ListIterator<Lorg/graalvm/compiler/phases/BasePhase<-Lorg/graalvm/compiler/phases/tiers/HighTierContext;>;>;
            3   12     5             baseConfig  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;
            4   12     6                plugins  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;
            8   12     7              aotConfig  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;
    Signature: (Lorg/graalvm/compiler/hotspot/HotSpotBackend;ZLorg/graalvm/compiler/hotspot/meta/HotSpotInvokeDynamicPlugin;)Lorg/graalvm/compiler/phases/PhaseSuite<Lorg/graalvm/compiler/phases/tiers/HighTierContext;>;
    MethodParameters:
                       Name  Flags
      backend                
      compileWithAssertions  
      inokeDynamicPlugin     

  void printCompiledMethod(jdk.vm.ci.hotspot.HotSpotResolvedJavaMethod, org.graalvm.compiler.code.CompilationResult);
    descriptor: (Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethod;Lorg/graalvm/compiler/code/CompilationResult;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // jdk.tools.jaotc.AOTBackend this
        start local 1 // jdk.vm.ci.hotspot.HotSpotResolvedJavaMethod resolvedMethod
        start local 2 // org.graalvm.compiler.code.CompilationResult compResult
         0: .line 169
            aload 0 /* this */
            getfield jdk.tools.jaotc.AOTBackend.codeCache:Ljdk/vm/ci/hotspot/HotSpotCodeCacheProvider;
            aload 1 /* resolvedMethod */
            aload 0 /* this */
            getfield jdk.tools.jaotc.AOTBackend.codeCache:Ljdk/vm/ci/hotspot/HotSpotCodeCacheProvider;
            aload 1 /* resolvedMethod */
            aconst_null
            aload 2 /* compResult */
            invokestatic org.graalvm.compiler.hotspot.HotSpotCompiledCodeBuilder.createCompiledCode:(Ljdk/vm/ci/code/CodeCacheProvider;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/hotspot/HotSpotCompilationRequest;Lorg/graalvm/compiler/code/CompilationResult;)Ljdk/vm/ci/hotspot/HotSpotCompiledCode;
            aconst_null
            aconst_null
            invokevirtual jdk.vm.ci.hotspot.HotSpotCodeCacheProvider.addCode:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/code/CompiledCode;Ljdk/vm/ci/meta/SpeculationLog;Ljdk/vm/ci/code/InstalledCode;)Ljdk/vm/ci/code/InstalledCode;
            astore 3 /* installedCode */
        start local 3 // jdk.vm.ci.code.InstalledCode installedCode
         1: .line 170
            aload 0 /* this */
            getfield jdk.tools.jaotc.AOTBackend.codeCache:Ljdk/vm/ci/hotspot/HotSpotCodeCacheProvider;
            aload 3 /* installedCode */
            invokevirtual jdk.vm.ci.hotspot.HotSpotCodeCacheProvider.disassemble:(Ljdk/vm/ci/code/InstalledCode;)Ljava/lang/String;
            astore 4 /* disassembly */
        start local 4 // java.lang.String disassembly
         2: .line 171
            aload 4 /* disassembly */
            ifnull 4
         3: .line 172
            aload 0 /* this */
            getfield jdk.tools.jaotc.AOTBackend.main:Ljdk/tools/jaotc/Main;
            getfield jdk.tools.jaotc.Main.printer:Ljdk/tools/jaotc/LogPrinter;
            aload 4 /* disassembly */
            invokevirtual jdk.tools.jaotc.LogPrinter.printlnDebug:(Ljava/lang/String;)V
         4: .line 174
      StackMap locals: jdk.vm.ci.code.InstalledCode java.lang.String
      StackMap stack:
            return
        end local 4 // java.lang.String disassembly
        end local 3 // jdk.vm.ci.code.InstalledCode installedCode
        end local 2 // org.graalvm.compiler.code.CompilationResult compResult
        end local 1 // jdk.vm.ci.hotspot.HotSpotResolvedJavaMethod resolvedMethod
        end local 0 // jdk.tools.jaotc.AOTBackend this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Ljdk/tools/jaotc/AOTBackend;
            0    5     1  resolvedMethod  Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethod;
            0    5     2      compResult  Lorg/graalvm/compiler/code/CompilationResult;
            1    5     3   installedCode  Ljdk/vm/ci/code/InstalledCode;
            2    5     4     disassembly  Ljava/lang/String;
    MethodParameters:
                Name  Flags
      resolvedMethod  
      compResult      
}
SourceFile: "AOTBackend.java"
NestMembers:
  jdk.tools.jaotc.AOTBackend$1
InnerClasses:
  jdk.tools.jaotc.AOTBackend$1
  public abstract Scope = org.graalvm.compiler.debug.DebugContext$Scope of org.graalvm.compiler.debug.DebugContext
  public Builder = org.graalvm.compiler.nodes.StructuredGraph$Builder of org.graalvm.compiler.nodes.StructuredGraph
  public Plugins = org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins of org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration