public class org.graalvm.compiler.core.GraalCompiler
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.core.GraalCompiler
  super_class: java.lang.Object
{
  private static final org.graalvm.compiler.debug.TimerKey CompilerTimer;
    descriptor: Lorg/graalvm/compiler/debug/TimerKey;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.graalvm.compiler.debug.TimerKey FrontEnd;
    descriptor: Lorg/graalvm/compiler/debug/TimerKey;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.graalvm.compiler.debug.TimerKey EmitLIR;
    descriptor: Lorg/graalvm/compiler/debug/TimerKey;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.graalvm.compiler.debug.TimerKey EmitCode;
    descriptor: Lorg/graalvm/compiler/debug/TimerKey;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.graalvm.compiler.debug.TimerKey BackEnd;
    descriptor: Lorg/graalvm/compiler/debug/TimerKey;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 88
            ldc Lorg/graalvm/compiler/core/GraalCompiler;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.graalvm.compiler.core.GraalCompiler.$assertionsDisabled:Z
         3: .line 90
            ldc "GraalCompiler"
            invokestatic org.graalvm.compiler.debug.DebugContext.timer:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/TimerKey;
            ldc "Time spent in compilation (excludes code installation)."
            invokeinterface org.graalvm.compiler.debug.TimerKey.doc:(Ljava/lang/String;)Lorg/graalvm/compiler/debug/TimerKey;
            putstatic org.graalvm.compiler.core.GraalCompiler.CompilerTimer:Lorg/graalvm/compiler/debug/TimerKey;
         4: .line 91
            ldc "FrontEnd"
            invokestatic org.graalvm.compiler.debug.DebugContext.timer:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/TimerKey;
            ldc "Time spent processing HIR."
            invokeinterface org.graalvm.compiler.debug.TimerKey.doc:(Ljava/lang/String;)Lorg/graalvm/compiler/debug/TimerKey;
            putstatic org.graalvm.compiler.core.GraalCompiler.FrontEnd:Lorg/graalvm/compiler/debug/TimerKey;
         5: .line 92
            ldc "EmitLIR"
            invokestatic org.graalvm.compiler.debug.DebugContext.timer:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/TimerKey;
            ldc "Time spent generating LIR from HIR."
            invokeinterface org.graalvm.compiler.debug.TimerKey.doc:(Ljava/lang/String;)Lorg/graalvm/compiler/debug/TimerKey;
            putstatic org.graalvm.compiler.core.GraalCompiler.EmitLIR:Lorg/graalvm/compiler/debug/TimerKey;
         6: .line 93
            ldc "EmitCode"
            invokestatic org.graalvm.compiler.debug.DebugContext.timer:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/TimerKey;
            ldc "Time spent generating machine code from LIR."
            invokeinterface org.graalvm.compiler.debug.TimerKey.doc:(Ljava/lang/String;)Lorg/graalvm/compiler/debug/TimerKey;
            putstatic org.graalvm.compiler.core.GraalCompiler.EmitCode:Lorg/graalvm/compiler/debug/TimerKey;
         7: .line 94
            ldc "BackEnd"
            invokestatic org.graalvm.compiler.debug.DebugContext.timer:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/TimerKey;
            ldc "Time spent in EmitLIR and EmitCode."
            invokeinterface org.graalvm.compiler.debug.TimerKey.doc:(Ljava/lang/String;)Lorg/graalvm/compiler/debug/TimerKey;
            putstatic org.graalvm.compiler.core.GraalCompiler.BackEnd:Lorg/graalvm/compiler/debug/TimerKey;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.GraalCompiler this
         0: .line 88
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.graalvm.compiler.core.GraalCompiler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/core/GraalCompiler;

  public static <T extends org.graalvm.compiler.code.CompilationResult> T compileGraph(org.graalvm.compiler.nodes.StructuredGraph, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.phases.util.Providers, org.graalvm.compiler.core.target.Backend, org.graalvm.compiler.phases.PhaseSuite<org.graalvm.compiler.phases.tiers.HighTierContext>, org.graalvm.compiler.phases.OptimisticOptimizations, jdk.vm.ci.meta.ProfilingInfo, org.graalvm.compiler.phases.tiers.Suites, org.graalvm.compiler.lir.phases.LIRSuites, T, org.graalvm.compiler.lir.asm.CompilationResultBuilderFactory, );
    descriptor: (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;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=14, locals=12, args_size=12
        start local 0 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 1 // jdk.vm.ci.meta.ResolvedJavaMethod installedCodeOwner
        start local 2 // org.graalvm.compiler.phases.util.Providers providers
        start local 3 // org.graalvm.compiler.core.target.Backend backend
        start local 4 // org.graalvm.compiler.phases.PhaseSuite graphBuilderSuite
        start local 5 // org.graalvm.compiler.phases.OptimisticOptimizations optimisticOpts
        start local 6 // jdk.vm.ci.meta.ProfilingInfo profilingInfo
        start local 7 // org.graalvm.compiler.phases.tiers.Suites suites
        start local 8 // org.graalvm.compiler.lir.phases.LIRSuites lirSuites
        start local 9 // org.graalvm.compiler.code.CompilationResult compilationResult
        start local 10 // org.graalvm.compiler.lir.asm.CompilationResultBuilderFactory factory
        start local 11 // boolean verifySourcePositions
         0: .line 165
            new org.graalvm.compiler.core.GraalCompiler$Request
            dup
            aload 0 /* graph */
            aload 1 /* installedCodeOwner */
            aload 2 /* providers */
            aload 3 /* backend */
            aload 4 /* graphBuilderSuite */
            aload 5 /* optimisticOpts */
            aload 6 /* profilingInfo */
            aload 7 /* suites */
            aload 8 /* lirSuites */
            aload 9 /* compilationResult */
            aload 10 /* factory */
         1: .line 166
            iload 11 /* verifySourcePositions */
         2: .line 165
            invokespecial org.graalvm.compiler.core.GraalCompiler$Request.<init>:(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)V
            invokestatic org.graalvm.compiler.core.GraalCompiler.compile:(Lorg/graalvm/compiler/core/GraalCompiler$Request;)Lorg/graalvm/compiler/code/CompilationResult;
            areturn
        end local 11 // boolean verifySourcePositions
        end local 10 // org.graalvm.compiler.lir.asm.CompilationResultBuilderFactory factory
        end local 9 // org.graalvm.compiler.code.CompilationResult compilationResult
        end local 8 // org.graalvm.compiler.lir.phases.LIRSuites lirSuites
        end local 7 // org.graalvm.compiler.phases.tiers.Suites suites
        end local 6 // jdk.vm.ci.meta.ProfilingInfo profilingInfo
        end local 5 // org.graalvm.compiler.phases.OptimisticOptimizations optimisticOpts
        end local 4 // org.graalvm.compiler.phases.PhaseSuite graphBuilderSuite
        end local 3 // org.graalvm.compiler.core.target.Backend backend
        end local 2 // org.graalvm.compiler.phases.util.Providers providers
        end local 1 // jdk.vm.ci.meta.ResolvedJavaMethod installedCodeOwner
        end local 0 // org.graalvm.compiler.nodes.StructuredGraph graph
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    3     0                  graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0    3     1     installedCodeOwner  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0    3     2              providers  Lorg/graalvm/compiler/phases/util/Providers;
            0    3     3                backend  Lorg/graalvm/compiler/core/target/Backend;
            0    3     4      graphBuilderSuite  Lorg/graalvm/compiler/phases/PhaseSuite<Lorg/graalvm/compiler/phases/tiers/HighTierContext;>;
            0    3     5         optimisticOpts  Lorg/graalvm/compiler/phases/OptimisticOptimizations;
            0    3     6          profilingInfo  Ljdk/vm/ci/meta/ProfilingInfo;
            0    3     7                 suites  Lorg/graalvm/compiler/phases/tiers/Suites;
            0    3     8              lirSuites  Lorg/graalvm/compiler/lir/phases/LIRSuites;
            0    3     9      compilationResult  TT;
            0    3    10                factory  Lorg/graalvm/compiler/lir/asm/CompilationResultBuilderFactory;
            0    3    11  verifySourcePositions  Z
    Signature: <T:Lorg/graalvm/compiler/code/CompilationResult;>(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/tiers/HighTierContext;>;Lorg/graalvm/compiler/phases/OptimisticOptimizations;Ljdk/vm/ci/meta/ProfilingInfo;Lorg/graalvm/compiler/phases/tiers/Suites;Lorg/graalvm/compiler/lir/phases/LIRSuites;TT;Lorg/graalvm/compiler/lir/asm/CompilationResultBuilderFactory;Z)TT;
    MethodParameters:
                       Name  Flags
      graph                  
      installedCodeOwner     
      providers              
      backend                
      graphBuilderSuite      
      optimisticOpts         
      profilingInfo          
      suites                 
      lirSuites              
      compilationResult      
      factory                
      verifySourcePositions  

  public static <T extends org.graalvm.compiler.code.CompilationResult> T compile(org.graalvm.compiler.core.GraalCompiler$Request<T>);
    descriptor: (Lorg/graalvm/compiler/core/GraalCompiler$Request;)Lorg/graalvm/compiler/code/CompilationResult;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=9, args_size=1
        start local 0 // org.graalvm.compiler.core.GraalCompiler$Request r
         0: .line 176
            aload 0 /* r */
            getfield org.graalvm.compiler.core.GraalCompiler$Request.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
            astore 1 /* debug */
        start local 1 // org.graalvm.compiler.debug.DebugContext debug
         1: .line 177
            aconst_null
            astore 2
            aconst_null
            astore 3
         2: aload 0 /* r */
            getfield org.graalvm.compiler.core.GraalCompiler$Request.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
            invokestatic org.graalvm.compiler.core.common.util.CompilationAlarm.trackCompilationPeriod:(Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/core/common/util/CompilationAlarm;
            astore 4 /* alarm */
        start local 4 // org.graalvm.compiler.core.common.util.CompilationAlarm alarm
         3: .line 178
            getstatic org.graalvm.compiler.core.GraalCompiler.$assertionsDisabled:Z
            ifne 4
            aload 0 /* r */
            getfield org.graalvm.compiler.core.GraalCompiler$Request.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.isFrozen:()Z
            ifeq 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 179
      StackMap locals: org.graalvm.compiler.core.GraalCompiler$Request org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.core.common.util.CompilationAlarm
      StackMap stack:
            aconst_null
            astore 5
            aconst_null
            astore 6
         5: aload 1 /* debug */
            ldc "GraalCompiler"
            aload 0 /* r */
            getfield org.graalvm.compiler.core.GraalCompiler$Request.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
            aload 0 /* r */
            getfield org.graalvm.compiler.core.GraalCompiler$Request.providers:Lorg/graalvm/compiler/phases/util/Providers;
            invokevirtual org.graalvm.compiler.phases.util.Providers.getCodeCache:()Ljdk/vm/ci/code/CodeCacheProvider;
            invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
            astore 7 /* s0 */
        start local 7 // org.graalvm.compiler.debug.DebugContext$Scope s0
         6: getstatic org.graalvm.compiler.core.GraalCompiler.CompilerTimer:Lorg/graalvm/compiler/debug/TimerKey;
            aload 1 /* debug */
            invokeinterface org.graalvm.compiler.debug.TimerKey.start:(Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/debug/DebugCloseable;
            astore 8 /* a */
        start local 8 // org.graalvm.compiler.debug.DebugCloseable a
         7: .line 180
            aload 0 /* r */
            getfield org.graalvm.compiler.core.GraalCompiler$Request.providers:Lorg/graalvm/compiler/phases/util/Providers;
            aload 0 /* r */
            getfield org.graalvm.compiler.core.GraalCompiler$Request.backend:Lorg/graalvm/compiler/core/target/Backend;
            aload 0 /* r */
            getfield org.graalvm.compiler.core.GraalCompiler$Request.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
            aload 0 /* r */
            getfield org.graalvm.compiler.core.GraalCompiler$Request.graphBuilderSuite:Lorg/graalvm/compiler/phases/PhaseSuite;
            aload 0 /* r */
            getfield org.graalvm.compiler.core.GraalCompiler$Request.optimisticOpts:Lorg/graalvm/compiler/phases/OptimisticOptimizations;
            aload 0 /* r */
            getfield org.graalvm.compiler.core.GraalCompiler$Request.profilingInfo:Ljdk/vm/ci/meta/ProfilingInfo;
            aload 0 /* r */
            getfield org.graalvm.compiler.core.GraalCompiler$Request.suites:Lorg/graalvm/compiler/phases/tiers/Suites;
            invokestatic org.graalvm.compiler.core.GraalCompiler.emitFrontEnd:(Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/phases/tiers/TargetProvider;Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/PhaseSuite;Lorg/graalvm/compiler/phases/OptimisticOptimizations;Ljdk/vm/ci/meta/ProfilingInfo;Lorg/graalvm/compiler/phases/tiers/Suites;)V
         8: .line 181
            aload 0 /* r */
            getfield org.graalvm.compiler.core.GraalCompiler$Request.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
            aconst_null
            aload 0 /* r */
            getfield org.graalvm.compiler.core.GraalCompiler$Request.installedCodeOwner:Ljdk/vm/ci/meta/ResolvedJavaMethod;
            aload 0 /* r */
            getfield org.graalvm.compiler.core.GraalCompiler$Request.backend:Lorg/graalvm/compiler/core/target/Backend;
            aload 0 /* r */
            getfield org.graalvm.compiler.core.GraalCompiler$Request.compilationResult:Lorg/graalvm/compiler/code/CompilationResult;
            aload 0 /* r */
            getfield org.graalvm.compiler.core.GraalCompiler$Request.factory:Lorg/graalvm/compiler/lir/asm/CompilationResultBuilderFactory;
            aconst_null
            aload 0 /* r */
            getfield org.graalvm.compiler.core.GraalCompiler$Request.lirSuites:Lorg/graalvm/compiler/lir/phases/LIRSuites;
            invokestatic org.graalvm.compiler.core.GraalCompiler.emitBackEnd:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/core/target/Backend;Lorg/graalvm/compiler/code/CompilationResult;Lorg/graalvm/compiler/lir/asm/CompilationResultBuilderFactory;Ljdk/vm/ci/code/RegisterConfig;Lorg/graalvm/compiler/lir/phases/LIRSuites;)V
         9: .line 182
            aload 0 /* r */
            getfield org.graalvm.compiler.core.GraalCompiler$Request.verifySourcePositions:Z
            ifeq 11
        10: .line 183
            getstatic org.graalvm.compiler.core.GraalCompiler.$assertionsDisabled:Z
            ifne 11
            aload 0 /* r */
            getfield org.graalvm.compiler.core.GraalCompiler$Request.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
            iconst_1
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.verifySourcePositions:(Z)Z
            ifne 11
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        11: .line 185
      StackMap locals: org.graalvm.compiler.core.GraalCompiler$Request org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.core.common.util.CompilationAlarm java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.debug.DebugCloseable
      StackMap stack:
            aload 8 /* a */
            ifnull 14
            aload 8 /* a */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 14
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: astore 5
            aload 8 /* a */
            ifnull 13
            aload 8 /* a */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 8 // org.graalvm.compiler.debug.DebugCloseable a
      StackMap locals:
      StackMap stack:
        13: aload 5
            athrow
      StackMap locals:
      StackMap stack:
        14: aload 7 /* s0 */
            ifnull 24
            aload 7 /* s0 */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
            goto 24
      StackMap locals:
      StackMap stack: java.lang.Throwable
        15: astore 6
            aload 5
            ifnonnull 16
            aload 6
            astore 5
            goto 17
      StackMap locals:
      StackMap stack:
        16: aload 5
            aload 6
            if_acmpeq 17
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        17: aload 7 /* s0 */
            ifnull 18
            aload 7 /* s0 */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
        end local 7 // org.graalvm.compiler.debug.DebugContext$Scope s0
      StackMap locals:
      StackMap stack:
        18: aload 5
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        19: astore 6
            aload 5
            ifnonnull 20
            aload 6
            astore 5
            goto 21
      StackMap locals:
      StackMap stack:
        20: aload 5
            aload 6
            if_acmpeq 21
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        21: aload 5
            athrow
      StackMap locals: org.graalvm.compiler.core.GraalCompiler$Request org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.core.common.util.CompilationAlarm
      StackMap stack: java.lang.Throwable
        22: astore 5 /* e */
        start local 5 // java.lang.Throwable e
        23: .line 186
            aload 1 /* debug */
            aload 5 /* e */
            invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 5 // java.lang.Throwable e
        24: .line 188
      StackMap locals:
      StackMap stack:
            aload 0 /* r */
            getfield org.graalvm.compiler.core.GraalCompiler$Request.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokestatic org.graalvm.compiler.core.GraalCompiler.checkForRequestedCrash:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
        25: .line 189
            aload 0 /* r */
            getfield org.graalvm.compiler.core.GraalCompiler$Request.compilationResult:Lorg/graalvm/compiler/code/CompilationResult;
        26: .line 190
            aload 4 /* alarm */
            ifnull 27
            aload 4 /* alarm */
            invokevirtual org.graalvm.compiler.core.common.util.CompilationAlarm.close:()V
        27: .line 189
      StackMap locals:
      StackMap stack: org.graalvm.compiler.code.CompilationResult
            areturn
      StackMap locals:
      StackMap stack: java.lang.Throwable
        28: astore 2
        29: .line 190
            aload 4 /* alarm */
            ifnull 30
            aload 4 /* alarm */
            invokevirtual org.graalvm.compiler.core.common.util.CompilationAlarm.close:()V
        end local 4 // org.graalvm.compiler.core.common.util.CompilationAlarm alarm
      StackMap locals:
      StackMap stack:
        30: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        31: astore 3
            aload 2
            ifnonnull 32
            aload 3
            astore 2
            goto 33
      StackMap locals:
      StackMap stack:
        32: aload 2
            aload 3
            if_acmpeq 33
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        33: aload 2
            athrow
        end local 1 // org.graalvm.compiler.debug.DebugContext debug
        end local 0 // org.graalvm.compiler.core.GraalCompiler$Request r
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   34     0      r  Lorg/graalvm/compiler/core/GraalCompiler$Request<TT;>;
            1   34     1  debug  Lorg/graalvm/compiler/debug/DebugContext;
            3   30     4  alarm  Lorg/graalvm/compiler/core/common/util/CompilationAlarm;
            6   18     7     s0  Lorg/graalvm/compiler/debug/DebugContext$Scope;
            7   13     8      a  Lorg/graalvm/compiler/debug/DebugCloseable;
           23   24     5      e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           7    11      12  any
           6    14      15  any
           5    19      19  any
           4    22      22  Class java.lang.Throwable
           3    26      28  any
           2    27      31  any
          28    31      31  any
    Signature: <T:Lorg/graalvm/compiler/code/CompilationResult;>(Lorg/graalvm/compiler/core/GraalCompiler$Request<TT;>;)TT;
    MethodParameters:
      Name  Flags
      r     

  private static void checkForRequestedCrash(org.graalvm.compiler.nodes.StructuredGraph);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=12, args_size=1
        start local 0 // org.graalvm.compiler.nodes.StructuredGraph graph
         0: .line 202
            getstatic org.graalvm.compiler.core.GraalCompilerOptions.CrashAt:Lorg/graalvm/compiler/options/OptionKey;
            aload 0 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
            invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 1 /* value */
        start local 1 // java.lang.String value
         1: .line 203
            aload 1 /* value */
            ifnull 30
         2: .line 204
            iconst_0
            istore 2 /* bailout */
        start local 2 // boolean bailout
         3: .line 205
            iconst_0
            istore 3 /* permanentBailout */
        start local 3 // boolean permanentBailout
         4: .line 206
            aload 1 /* value */
            astore 4 /* methodPattern */
        start local 4 // java.lang.String methodPattern
         5: .line 207
            aload 1 /* value */
            ldc ":Bailout"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 9
         6: .line 208
            aload 1 /* value */
            iconst_0
            aload 1 /* value */
            invokevirtual java.lang.String.length:()I
            ldc ":Bailout"
            invokevirtual java.lang.String.length:()I
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 4 /* methodPattern */
         7: .line 209
            iconst_1
            istore 2 /* bailout */
         8: .line 210
            goto 12
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph java.lang.String int int java.lang.String
      StackMap stack:
         9: aload 1 /* value */
            ldc ":PermanentBailout"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 12
        10: .line 211
            aload 1 /* value */
            iconst_0
            aload 1 /* value */
            invokevirtual java.lang.String.length:()I
            ldc ":PermanentBailout"
            invokevirtual java.lang.String.length:()I
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 4 /* methodPattern */
        11: .line 212
            iconst_1
            istore 3 /* permanentBailout */
        12: .line 214
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5 /* crashLabel */
        start local 5 // java.lang.String crashLabel
        13: .line 215
            aload 0 /* graph */
            getfield org.graalvm.compiler.nodes.StructuredGraph.name:Ljava/lang/String;
            ifnull 15
            aload 0 /* graph */
            getfield org.graalvm.compiler.nodes.StructuredGraph.name:Ljava/lang/String;
            aload 4 /* methodPattern */
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 15
        14: .line 216
            aload 0 /* graph */
            getfield org.graalvm.compiler.nodes.StructuredGraph.name:Ljava/lang/String;
            astore 5 /* crashLabel */
        15: .line 218
      StackMap locals: java.lang.String
      StackMap stack:
            aload 5 /* crashLabel */
            ifnonnull 24
        16: .line 219
            aload 0 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            astore 6 /* method */
        start local 6 // jdk.vm.ci.meta.ResolvedJavaMethod method
        17: .line 220
            aload 4 /* methodPattern */
            invokestatic org.graalvm.compiler.debug.MethodFilter.parse:(Ljava/lang/String;)[Lorg/graalvm/compiler/debug/MethodFilter;
            astore 7 /* filters */
        start local 7 // org.graalvm.compiler.debug.MethodFilter[] filters
        18: .line 221
            aload 7 /* filters */
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 23
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph java.lang.String int int java.lang.String java.lang.String jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.debug.MethodFilter[] top int int org.graalvm.compiler.debug.MethodFilter[]
      StackMap stack:
        19: aload 11
            iload 9
            aaload
            astore 8 /* filter */
        start local 8 // org.graalvm.compiler.debug.MethodFilter filter
        20: .line 222
            aload 8 /* filter */
            aload 6 /* method */
            invokevirtual org.graalvm.compiler.debug.MethodFilter.matches:(Ljdk/vm/ci/meta/JavaMethod;)Z
            ifeq 22
        21: .line 223
            aload 6 /* method */
            ldc "%H.%n(%p)"
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.format:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* crashLabel */
        end local 8 // org.graalvm.compiler.debug.MethodFilter filter
        22: .line 221
      StackMap locals:
      StackMap stack:
            iinc 9 1
      StackMap locals:
      StackMap stack:
        23: iload 9
            iload 10
            if_icmplt 19
        end local 7 // org.graalvm.compiler.debug.MethodFilter[] filters
        end local 6 // jdk.vm.ci.meta.ResolvedJavaMethod method
        24: .line 227
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph java.lang.String int int java.lang.String java.lang.String
      StackMap stack:
            aload 5 /* crashLabel */
            ifnull 30
        25: .line 228
            iload 3 /* permanentBailout */
            ifeq 27
        26: .line 229
            new org.graalvm.compiler.core.common.PermanentBailoutException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Forced crash after compiling "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* crashLabel */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.graalvm.compiler.core.common.PermanentBailoutException.<init>:(Ljava/lang/String;)V
            athrow
        27: .line 231
      StackMap locals:
      StackMap stack:
            iload 2 /* bailout */
            ifeq 29
        28: .line 232
            new org.graalvm.compiler.core.common.RetryableBailoutException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Forced crash after compiling "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* crashLabel */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.graalvm.compiler.core.common.RetryableBailoutException.<init>:(Ljava/lang/String;)V
            athrow
        29: .line 234
      StackMap locals:
      StackMap stack:
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Forced crash after compiling "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* crashLabel */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.lang.String crashLabel
        end local 4 // java.lang.String methodPattern
        end local 3 // boolean permanentBailout
        end local 2 // boolean bailout
        30: .line 237
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph java.lang.String
      StackMap stack:
            return
        end local 1 // java.lang.String value
        end local 0 // org.graalvm.compiler.nodes.StructuredGraph graph
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   31     0             graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            1   31     1             value  Ljava/lang/String;
            3   30     2           bailout  Z
            4   30     3  permanentBailout  Z
            5   30     4     methodPattern  Ljava/lang/String;
           13   30     5        crashLabel  Ljava/lang/String;
           17   24     6            method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
           18   24     7           filters  [Lorg/graalvm/compiler/debug/MethodFilter;
           20   22     8            filter  Lorg/graalvm/compiler/debug/MethodFilter;
    MethodParameters:
       Name  Flags
      graph  

  public static void emitFrontEnd(org.graalvm.compiler.phases.util.Providers, org.graalvm.compiler.phases.tiers.TargetProvider, org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.phases.PhaseSuite<org.graalvm.compiler.phases.tiers.HighTierContext>, org.graalvm.compiler.phases.OptimisticOptimizations, jdk.vm.ci.meta.ProfilingInfo, org.graalvm.compiler.phases.tiers.Suites);
    descriptor: (Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/phases/tiers/TargetProvider;Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/PhaseSuite;Lorg/graalvm/compiler/phases/OptimisticOptimizations;Ljdk/vm/ci/meta/ProfilingInfo;Lorg/graalvm/compiler/phases/tiers/Suites;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=16, args_size=7
        start local 0 // org.graalvm.compiler.phases.util.Providers providers
        start local 1 // org.graalvm.compiler.phases.tiers.TargetProvider target
        start local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 3 // org.graalvm.compiler.phases.PhaseSuite graphBuilderSuite
        start local 4 // org.graalvm.compiler.phases.OptimisticOptimizations optimisticOpts
        start local 5 // jdk.vm.ci.meta.ProfilingInfo profilingInfo
        start local 6 // org.graalvm.compiler.phases.tiers.Suites suites
         0: .line 245
            aload 2 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
            astore 7 /* debug */
        start local 7 // org.graalvm.compiler.debug.DebugContext debug
         1: .line 246
            aconst_null
            astore 8
            aconst_null
            astore 9
         2: aload 7 /* debug */
            ldc "FrontEnd"
            invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
            astore 10 /* s */
        start local 10 // org.graalvm.compiler.debug.DebugContext$Scope s
         3: getstatic org.graalvm.compiler.core.GraalCompiler.FrontEnd:Lorg/graalvm/compiler/debug/TimerKey;
            aload 7 /* debug */
            invokeinterface org.graalvm.compiler.debug.TimerKey.start:(Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/debug/DebugCloseable;
            astore 11 /* a */
        start local 11 // org.graalvm.compiler.debug.DebugCloseable a
         4: .line 247
            new org.graalvm.compiler.phases.tiers.HighTierContext
            dup
            aload 0 /* providers */
            aload 3 /* graphBuilderSuite */
            aload 4 /* optimisticOpts */
            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
            astore 12 /* highTierContext */
        start local 12 // org.graalvm.compiler.phases.tiers.HighTierContext highTierContext
         5: .line 248
            aload 2 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.start:()Lorg/graalvm/compiler/nodes/StartNode;
            invokevirtual org.graalvm.compiler.nodes.StartNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
            ifnonnull 10
         6: .line 249
            aload 3 /* graphBuilderSuite */
            aload 2 /* graph */
            aload 12 /* highTierContext */
            invokevirtual org.graalvm.compiler.phases.PhaseSuite.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
         7: .line 250
            new org.graalvm.compiler.phases.common.DeadCodeEliminationPhase
            dup
            getstatic org.graalvm.compiler.phases.common.DeadCodeEliminationPhase$Optionality.Optional:Lorg/graalvm/compiler/phases/common/DeadCodeEliminationPhase$Optionality;
            invokespecial org.graalvm.compiler.phases.common.DeadCodeEliminationPhase.<init>:(Lorg/graalvm/compiler/phases/common/DeadCodeEliminationPhase$Optionality;)V
            aload 2 /* graph */
            invokevirtual org.graalvm.compiler.phases.common.DeadCodeEliminationPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
         8: .line 251
            aload 7 /* debug */
            iconst_1
            aload 2 /* graph */
            ldc "After parsing"
            invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;)V
         9: .line 252
            goto 11
        10: .line 253
      StackMap locals: org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.phases.tiers.TargetProvider org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.phases.PhaseSuite org.graalvm.compiler.phases.OptimisticOptimizations jdk.vm.ci.meta.ProfilingInfo org.graalvm.compiler.phases.tiers.Suites org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.phases.tiers.HighTierContext
      StackMap stack:
            aload 7 /* debug */
            iconst_2
            aload 2 /* graph */
            ldc "initial state"
            invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;)V
        11: .line 256
      StackMap locals:
      StackMap stack:
            aload 6 /* suites */
            invokevirtual org.graalvm.compiler.phases.tiers.Suites.getHighTier:()Lorg/graalvm/compiler/phases/PhaseSuite;
            aload 2 /* graph */
            aload 12 /* highTierContext */
            invokevirtual org.graalvm.compiler.phases.PhaseSuite.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
        12: .line 257
            aload 2 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.maybeCompress:()Z
            pop
        13: .line 258
            aload 7 /* debug */
            iconst_1
            aload 2 /* graph */
            ldc "After high tier"
            invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;)V
        14: .line 260
            new org.graalvm.compiler.phases.tiers.MidTierContext
            dup
            aload 0 /* providers */
            aload 1 /* target */
            aload 4 /* optimisticOpts */
            aload 5 /* profilingInfo */
            invokespecial org.graalvm.compiler.phases.tiers.MidTierContext.<init>:(Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/phases/tiers/TargetProvider;Lorg/graalvm/compiler/phases/OptimisticOptimizations;Ljdk/vm/ci/meta/ProfilingInfo;)V
            astore 13 /* midTierContext */
        start local 13 // org.graalvm.compiler.phases.tiers.MidTierContext midTierContext
        15: .line 261
            aload 6 /* suites */
            invokevirtual org.graalvm.compiler.phases.tiers.Suites.getMidTier:()Lorg/graalvm/compiler/phases/PhaseSuite;
            aload 2 /* graph */
            aload 13 /* midTierContext */
            invokevirtual org.graalvm.compiler.phases.PhaseSuite.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
        16: .line 262
            aload 2 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.maybeCompress:()Z
            pop
        17: .line 263
            aload 7 /* debug */
            iconst_1
            aload 2 /* graph */
            ldc "After mid tier"
            invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;)V
        18: .line 265
            new org.graalvm.compiler.phases.tiers.LowTierContext
            dup
            aload 0 /* providers */
            aload 1 /* target */
            invokespecial org.graalvm.compiler.phases.tiers.LowTierContext.<init>:(Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/phases/tiers/TargetProvider;)V
            astore 14 /* lowTierContext */
        start local 14 // org.graalvm.compiler.phases.tiers.LowTierContext lowTierContext
        19: .line 266
            aload 6 /* suites */
            invokevirtual org.graalvm.compiler.phases.tiers.Suites.getLowTier:()Lorg/graalvm/compiler/phases/PhaseSuite;
            aload 2 /* graph */
            aload 14 /* lowTierContext */
            invokevirtual org.graalvm.compiler.phases.PhaseSuite.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
        20: .line 267
            aload 7 /* debug */
            iconst_1
            aload 2 /* graph */
            ldc "After low tier"
            invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;)V
        21: .line 269
            aload 7 /* debug */
            iconst_1
            aload 2 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getLastSchedule:()Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;
            ldc "Final HIR schedule"
            invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;)V
        22: .line 270
            aload 2 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.logInliningTree:()V
        end local 14 // org.graalvm.compiler.phases.tiers.LowTierContext lowTierContext
        end local 13 // org.graalvm.compiler.phases.tiers.MidTierContext midTierContext
        end local 12 // org.graalvm.compiler.phases.tiers.HighTierContext highTierContext
        23: .line 271
            aload 11 /* a */
            ifnull 26
            aload 11 /* a */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 26
      StackMap locals: org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.phases.tiers.TargetProvider org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.phases.PhaseSuite org.graalvm.compiler.phases.OptimisticOptimizations jdk.vm.ci.meta.ProfilingInfo org.graalvm.compiler.phases.tiers.Suites org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.debug.DebugCloseable
      StackMap stack: java.lang.Throwable
        24: astore 8
            aload 11 /* a */
            ifnull 25
            aload 11 /* a */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 11 // org.graalvm.compiler.debug.DebugCloseable a
      StackMap locals:
      StackMap stack:
        25: aload 8
            athrow
      StackMap locals:
      StackMap stack:
        26: aload 10 /* s */
            ifnull 39
            aload 10 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
            goto 39
      StackMap locals:
      StackMap stack: java.lang.Throwable
        27: astore 9
            aload 8
            ifnonnull 28
            aload 9
            astore 8
            goto 29
      StackMap locals:
      StackMap stack:
        28: aload 8
            aload 9
            if_acmpeq 29
            aload 8
            aload 9
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        29: aload 10 /* s */
            ifnull 30
            aload 10 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
        end local 10 // org.graalvm.compiler.debug.DebugContext$Scope s
      StackMap locals:
      StackMap stack:
        30: aload 8
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        31: astore 9
            aload 8
            ifnonnull 32
            aload 9
            astore 8
            goto 33
      StackMap locals:
      StackMap stack:
        32: aload 8
            aload 9
            if_acmpeq 33
            aload 8
            aload 9
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        33: aload 8
            athrow
      StackMap locals: org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.phases.tiers.TargetProvider org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.phases.PhaseSuite org.graalvm.compiler.phases.OptimisticOptimizations jdk.vm.ci.meta.ProfilingInfo org.graalvm.compiler.phases.tiers.Suites org.graalvm.compiler.debug.DebugContext
      StackMap stack: java.lang.Throwable
        34: astore 8 /* e */
        start local 8 // java.lang.Throwable e
        35: .line 272
            aload 7 /* debug */
            aload 8 /* e */
            invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 8 // java.lang.Throwable e
        36: .line 273
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 15
        37: .line 274
            aload 2 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.checkCancellation:()V
        38: .line 275
            aload 15
            athrow
        39: .line 274
      StackMap locals:
      StackMap stack:
            aload 2 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.checkCancellation:()V
        40: .line 276
            return
        end local 7 // org.graalvm.compiler.debug.DebugContext debug
        end local 6 // org.graalvm.compiler.phases.tiers.Suites suites
        end local 5 // jdk.vm.ci.meta.ProfilingInfo profilingInfo
        end local 4 // org.graalvm.compiler.phases.OptimisticOptimizations optimisticOpts
        end local 3 // org.graalvm.compiler.phases.PhaseSuite graphBuilderSuite
        end local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 1 // org.graalvm.compiler.phases.tiers.TargetProvider target
        end local 0 // org.graalvm.compiler.phases.util.Providers providers
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   41     0          providers  Lorg/graalvm/compiler/phases/util/Providers;
            0   41     1             target  Lorg/graalvm/compiler/phases/tiers/TargetProvider;
            0   41     2              graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0   41     3  graphBuilderSuite  Lorg/graalvm/compiler/phases/PhaseSuite<Lorg/graalvm/compiler/phases/tiers/HighTierContext;>;
            0   41     4     optimisticOpts  Lorg/graalvm/compiler/phases/OptimisticOptimizations;
            0   41     5      profilingInfo  Ljdk/vm/ci/meta/ProfilingInfo;
            0   41     6             suites  Lorg/graalvm/compiler/phases/tiers/Suites;
            1   41     7              debug  Lorg/graalvm/compiler/debug/DebugContext;
            3   30    10                  s  Lorg/graalvm/compiler/debug/DebugContext$Scope;
            4   25    11                  a  Lorg/graalvm/compiler/debug/DebugCloseable;
            5   23    12    highTierContext  Lorg/graalvm/compiler/phases/tiers/HighTierContext;
           15   23    13     midTierContext  Lorg/graalvm/compiler/phases/tiers/MidTierContext;
           19   23    14     lowTierContext  Lorg/graalvm/compiler/phases/tiers/LowTierContext;
           35   36     8                  e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           4    23      24  any
           3    26      27  any
           2    31      31  any
           1    34      34  Class java.lang.Throwable
           1    36      36  any
    Signature: (Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/phases/tiers/TargetProvider;Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/PhaseSuite<Lorg/graalvm/compiler/phases/tiers/HighTierContext;>;Lorg/graalvm/compiler/phases/OptimisticOptimizations;Ljdk/vm/ci/meta/ProfilingInfo;Lorg/graalvm/compiler/phases/tiers/Suites;)V
    MethodParameters:
                   Name  Flags
      providers          
      target             
      graph              
      graphBuilderSuite  
      optimisticOpts     
      profilingInfo      
      suites             

  public static <T extends org.graalvm.compiler.code.CompilationResult> void emitBackEnd(org.graalvm.compiler.nodes.StructuredGraph, , jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.core.target.Backend, T, org.graalvm.compiler.lir.asm.CompilationResultBuilderFactory, jdk.vm.ci.code.RegisterConfig, org.graalvm.compiler.lir.phases.LIRSuites);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/core/target/Backend;Lorg/graalvm/compiler/code/CompilationResult;Lorg/graalvm/compiler/lir/asm/CompilationResultBuilderFactory;Ljdk/vm/ci/code/RegisterConfig;Lorg/graalvm/compiler/lir/phases/LIRSuites;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=10, locals=19, args_size=8
        start local 0 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 1 // java.lang.Object stub
        start local 2 // jdk.vm.ci.meta.ResolvedJavaMethod installedCodeOwner
        start local 3 // org.graalvm.compiler.core.target.Backend backend
        start local 4 // org.graalvm.compiler.code.CompilationResult compilationResult
        start local 5 // org.graalvm.compiler.lir.asm.CompilationResultBuilderFactory factory
        start local 6 // jdk.vm.ci.code.RegisterConfig registerConfig
        start local 7 // org.graalvm.compiler.lir.phases.LIRSuites lirSuites
         0: .line 281
            aload 0 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
            astore 8 /* debug */
        start local 8 // org.graalvm.compiler.debug.DebugContext debug
         1: .line 282
            aconst_null
            astore 9
            aconst_null
            astore 10
         2: aload 8 /* debug */
            ldc "BackEnd"
            aload 0 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getLastSchedule:()Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;
            invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
            astore 11 /* s */
        start local 11 // org.graalvm.compiler.debug.DebugContext$Scope s
         3: getstatic org.graalvm.compiler.core.GraalCompiler.BackEnd:Lorg/graalvm/compiler/debug/TimerKey;
            aload 8 /* debug */
            invokeinterface org.graalvm.compiler.debug.TimerKey.start:(Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/debug/DebugCloseable;
            astore 12 /* a */
        start local 12 // org.graalvm.compiler.debug.DebugCloseable a
         4: .line 283
            aconst_null
            astore 13 /* lirGen */
        start local 13 // org.graalvm.compiler.lir.gen.LIRGenerationResult lirGen
         5: .line 284
            aload 3 /* backend */
            aload 0 /* graph */
            aload 1 /* stub */
            aload 6 /* registerConfig */
            aload 7 /* lirSuites */
            invokestatic org.graalvm.compiler.core.GraalCompiler.emitLIR:(Lorg/graalvm/compiler/core/target/Backend;Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;Ljdk/vm/ci/code/RegisterConfig;Lorg/graalvm/compiler/lir/phases/LIRSuites;)Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
            astore 13 /* lirGen */
         6: .line 285
            aconst_null
            astore 14
            aconst_null
            astore 15
         7: aload 8 /* debug */
            ldc "CodeGen"
            aload 13 /* lirGen */
            aload 13 /* lirGen */
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getLIR:()Lorg/graalvm/compiler/lir/LIR;
            invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
            astore 16 /* s2 */
        start local 16 // org.graalvm.compiler.debug.DebugContext$Scope s2
         8: .line 286
            aload 0 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            ifnonnull 9
            iconst_0
            goto 10
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph java.lang.Object jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.core.target.Backend org.graalvm.compiler.code.CompilationResult org.graalvm.compiler.lir.asm.CompilationResultBuilderFactory jdk.vm.ci.code.RegisterConfig org.graalvm.compiler.lir.phases.LIRSuites org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.lir.gen.LIRGenerationResult java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
      StackMap stack:
         9: aload 0 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getBytecodeSize:()I
      StackMap locals:
      StackMap stack: int
        10: istore 17 /* bytecodeSize */
        start local 17 // int bytecodeSize
        11: .line 287
            aload 4 /* compilationResult */
            aload 0 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.hasUnsafeAccess:()Z
            invokevirtual org.graalvm.compiler.code.CompilationResult.setHasUnsafeAccess:(Z)V
        12: .line 288
            aload 3 /* backend */
            aload 0 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getAssumptions:()Ljdk/vm/ci/meta/Assumptions;
            aload 0 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            aload 0 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getMethods:()Ljava/util/List;
            aload 0 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getFields:()Ljdk/internal/vm/compiler/collections/EconomicSet;
            iload 17 /* bytecodeSize */
            aload 13 /* lirGen */
            aload 4 /* compilationResult */
            aload 2 /* installedCodeOwner */
            aload 5 /* factory */
            invokestatic org.graalvm.compiler.core.GraalCompiler.emitCode:(Lorg/graalvm/compiler/core/target/Backend;Ljdk/vm/ci/meta/Assumptions;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/util/Collection;Ljdk/internal/vm/compiler/collections/EconomicSet;ILorg/graalvm/compiler/lir/gen/LIRGenerationResult;Lorg/graalvm/compiler/code/CompilationResult;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/lir/asm/CompilationResultBuilderFactory;)V
        end local 17 // int bytecodeSize
        13: .line 289
            aload 16 /* s2 */
            ifnull 21
            aload 16 /* s2 */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
            goto 21
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: astore 14
            aload 16 /* s2 */
            ifnull 15
            aload 16 /* s2 */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
        end local 16 // org.graalvm.compiler.debug.DebugContext$Scope s2
      StackMap locals:
      StackMap stack:
        15: aload 14
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        16: astore 15
            aload 14
            ifnonnull 17
            aload 15
            astore 14
            goto 18
      StackMap locals:
      StackMap stack:
        17: aload 14
            aload 15
            if_acmpeq 18
            aload 14
            aload 15
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        18: aload 14
            athrow
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph java.lang.Object jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.core.target.Backend org.graalvm.compiler.code.CompilationResult org.graalvm.compiler.lir.asm.CompilationResultBuilderFactory jdk.vm.ci.code.RegisterConfig org.graalvm.compiler.lir.phases.LIRSuites org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.lir.gen.LIRGenerationResult
      StackMap stack: java.lang.Throwable
        19: astore 14 /* e */
        start local 14 // java.lang.Throwable e
        20: .line 290
            aload 8 /* debug */
            aload 14 /* e */
            invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 14 // java.lang.Throwable e
        end local 13 // org.graalvm.compiler.lir.gen.LIRGenerationResult lirGen
        21: .line 292
      StackMap locals:
      StackMap stack:
            aload 12 /* a */
            ifnull 24
            aload 12 /* a */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 24
      StackMap locals:
      StackMap stack: java.lang.Throwable
        22: astore 9
            aload 12 /* a */
            ifnull 23
            aload 12 /* a */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 12 // org.graalvm.compiler.debug.DebugCloseable a
      StackMap locals:
      StackMap stack:
        23: aload 9
            athrow
      StackMap locals:
      StackMap stack:
        24: aload 11 /* s */
            ifnull 37
            aload 11 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
            goto 37
      StackMap locals:
      StackMap stack: java.lang.Throwable
        25: astore 10
            aload 9
            ifnonnull 26
            aload 10
            astore 9
            goto 27
      StackMap locals:
      StackMap stack:
        26: aload 9
            aload 10
            if_acmpeq 27
            aload 9
            aload 10
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        27: aload 11 /* s */
            ifnull 28
            aload 11 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
        end local 11 // org.graalvm.compiler.debug.DebugContext$Scope s
      StackMap locals:
      StackMap stack:
        28: aload 9
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        29: astore 10
            aload 9
            ifnonnull 30
            aload 10
            astore 9
            goto 31
      StackMap locals:
      StackMap stack:
        30: aload 9
            aload 10
            if_acmpeq 31
            aload 9
            aload 10
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        31: aload 9
            athrow
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph java.lang.Object jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.core.target.Backend org.graalvm.compiler.code.CompilationResult org.graalvm.compiler.lir.asm.CompilationResultBuilderFactory jdk.vm.ci.code.RegisterConfig org.graalvm.compiler.lir.phases.LIRSuites org.graalvm.compiler.debug.DebugContext
      StackMap stack: java.lang.Throwable
        32: astore 9 /* e */
        start local 9 // java.lang.Throwable e
        33: .line 293
            aload 8 /* debug */
            aload 9 /* e */
            invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 9 // java.lang.Throwable e
        34: .line 294
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 18
        35: .line 295
            aload 0 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.checkCancellation:()V
        36: .line 296
            aload 18
            athrow
        37: .line 295
      StackMap locals:
      StackMap stack:
            aload 0 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.checkCancellation:()V
        38: .line 297
            return
        end local 8 // org.graalvm.compiler.debug.DebugContext debug
        end local 7 // org.graalvm.compiler.lir.phases.LIRSuites lirSuites
        end local 6 // jdk.vm.ci.code.RegisterConfig registerConfig
        end local 5 // org.graalvm.compiler.lir.asm.CompilationResultBuilderFactory factory
        end local 4 // org.graalvm.compiler.code.CompilationResult compilationResult
        end local 3 // org.graalvm.compiler.core.target.Backend backend
        end local 2 // jdk.vm.ci.meta.ResolvedJavaMethod installedCodeOwner
        end local 1 // java.lang.Object stub
        end local 0 // org.graalvm.compiler.nodes.StructuredGraph graph
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   39     0               graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0   39     1                stub  Ljava/lang/Object;
            0   39     2  installedCodeOwner  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0   39     3             backend  Lorg/graalvm/compiler/core/target/Backend;
            0   39     4   compilationResult  TT;
            0   39     5             factory  Lorg/graalvm/compiler/lir/asm/CompilationResultBuilderFactory;
            0   39     6      registerConfig  Ljdk/vm/ci/code/RegisterConfig;
            0   39     7           lirSuites  Lorg/graalvm/compiler/lir/phases/LIRSuites;
            1   39     8               debug  Lorg/graalvm/compiler/debug/DebugContext;
            3   28    11                   s  Lorg/graalvm/compiler/debug/DebugContext$Scope;
            4   23    12                   a  Lorg/graalvm/compiler/debug/DebugCloseable;
            5   21    13              lirGen  Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
            8   15    16                  s2  Lorg/graalvm/compiler/debug/DebugContext$Scope;
           11   13    17        bytecodeSize  I
           20   21    14                   e  Ljava/lang/Throwable;
           33   34     9                   e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           8    13      14  any
           7    16      16  any
           6    19      19  Class java.lang.Throwable
           4    21      22  any
           3    24      25  any
           2    29      29  any
           1    32      32  Class java.lang.Throwable
           1    34      34  any
    Signature: <T:Lorg/graalvm/compiler/code/CompilationResult;>(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/core/target/Backend;TT;Lorg/graalvm/compiler/lir/asm/CompilationResultBuilderFactory;Ljdk/vm/ci/code/RegisterConfig;Lorg/graalvm/compiler/lir/phases/LIRSuites;)V
    MethodParameters:
                    Name  Flags
      graph               
      stub                
      installedCodeOwner  
      backend             
      compilationResult   
      factory             
      registerConfig      
      lirSuites           

  public static org.graalvm.compiler.lir.gen.LIRGenerationResult emitLIR(org.graalvm.compiler.core.target.Backend, org.graalvm.compiler.nodes.StructuredGraph, java.lang.Object, jdk.vm.ci.code.RegisterConfig, org.graalvm.compiler.lir.phases.LIRSuites);
    descriptor: (Lorg/graalvm/compiler/core/target/Backend;Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;Ljdk/vm/ci/code/RegisterConfig;Lorg/graalvm/compiler/lir/phases/LIRSuites;)Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=10, args_size=5
        start local 0 // org.graalvm.compiler.core.target.Backend backend
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 2 // java.lang.Object stub
        start local 3 // jdk.vm.ci.code.RegisterConfig registerConfig
        start local 4 // org.graalvm.compiler.lir.phases.LIRSuites lirSuites
         0: .line 301
            getstatic org.graalvm.compiler.core.common.GraalOptions.RegisterPressure:Lorg/graalvm/compiler/options/OptionKey;
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
            invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* registerPressure */
        start local 5 // java.lang.String registerPressure
         1: .line 302
            aload 5 /* registerPressure */
            ifnonnull 2
            aconst_null
            goto 3
      StackMap locals: java.lang.String
      StackMap stack:
         2: aload 5 /* registerPressure */
            ldc ","
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String[]
         3: astore 6 /* allocationRestrictedTo */
        start local 6 // java.lang.String[] allocationRestrictedTo
         4: .line 304
            aload 0 /* backend */
            aload 1 /* graph */
            aload 2 /* stub */
            aload 3 /* registerConfig */
            aload 4 /* lirSuites */
            aload 6 /* allocationRestrictedTo */
            invokestatic org.graalvm.compiler.core.GraalCompiler.emitLIR0:(Lorg/graalvm/compiler/core/target/Backend;Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;Ljdk/vm/ci/code/RegisterConfig;Lorg/graalvm/compiler/lir/phases/LIRSuites;[Ljava/lang/String;)Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
            astore 9
         5: .line 313
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.checkCancellation:()V
         6: .line 304
            aload 9
            areturn
         7: .line 305
      StackMap locals: org.graalvm.compiler.core.target.Backend org.graalvm.compiler.nodes.StructuredGraph java.lang.Object jdk.vm.ci.code.RegisterConfig org.graalvm.compiler.lir.phases.LIRSuites java.lang.String java.lang.String[]
      StackMap stack: org.graalvm.compiler.lir.alloc.OutOfRegistersException
            astore 7 /* e */
        start local 7 // org.graalvm.compiler.lir.alloc.OutOfRegistersException e
         8: .line 306
            aload 6 /* allocationRestrictedTo */
            ifnull 13
         9: .line 307
            aconst_null
            astore 6 /* allocationRestrictedTo */
        10: .line 308
            aload 0 /* backend */
            aload 1 /* graph */
            aload 2 /* stub */
            aload 3 /* registerConfig */
            aload 4 /* lirSuites */
            aload 6 /* allocationRestrictedTo */
            invokestatic org.graalvm.compiler.core.GraalCompiler.emitLIR0:(Lorg/graalvm/compiler/core/target/Backend;Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;Ljdk/vm/ci/code/RegisterConfig;Lorg/graalvm/compiler/lir/phases/LIRSuites;[Ljava/lang/String;)Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
            astore 9
        11: .line 313
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.checkCancellation:()V
        12: .line 308
            aload 9
            areturn
        13: .line 311
      StackMap locals: org.graalvm.compiler.lir.alloc.OutOfRegistersException
      StackMap stack:
            new org.graalvm.compiler.debug.GraalError
            dup
            aload 7 /* e */
            invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 7 // org.graalvm.compiler.lir.alloc.OutOfRegistersException e
        14: .line 312
      StackMap locals: org.graalvm.compiler.core.target.Backend org.graalvm.compiler.nodes.StructuredGraph java.lang.Object jdk.vm.ci.code.RegisterConfig org.graalvm.compiler.lir.phases.LIRSuites java.lang.String java.lang.String[]
      StackMap stack: java.lang.Throwable
            astore 8
        15: .line 313
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.checkCancellation:()V
        16: .line 314
            aload 8
            athrow
        end local 6 // java.lang.String[] allocationRestrictedTo
        end local 5 // java.lang.String registerPressure
        end local 4 // org.graalvm.compiler.lir.phases.LIRSuites lirSuites
        end local 3 // jdk.vm.ci.code.RegisterConfig registerConfig
        end local 2 // java.lang.Object stub
        end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 0 // org.graalvm.compiler.core.target.Backend backend
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   17     0                 backend  Lorg/graalvm/compiler/core/target/Backend;
            0   17     1                   graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0   17     2                    stub  Ljava/lang/Object;
            0   17     3          registerConfig  Ljdk/vm/ci/code/RegisterConfig;
            0   17     4               lirSuites  Lorg/graalvm/compiler/lir/phases/LIRSuites;
            1   17     5        registerPressure  Ljava/lang/String;
            4   17     6  allocationRestrictedTo  [Ljava/lang/String;
            8   14     7                       e  Lorg/graalvm/compiler/lir/alloc/OutOfRegistersException;
      Exception table:
        from    to  target  type
           4     5       7  Class org.graalvm.compiler.lir.alloc.OutOfRegistersException
           4     5      14  any
           7    11      14  any
          13    14      14  any
    MethodParameters:
                Name  Flags
      backend         
      graph           
      stub            
      registerConfig  
      lirSuites       

  private static org.graalvm.compiler.lir.gen.LIRGenerationResult emitLIR0(org.graalvm.compiler.core.target.Backend, org.graalvm.compiler.nodes.StructuredGraph, java.lang.Object, jdk.vm.ci.code.RegisterConfig, org.graalvm.compiler.lir.phases.LIRSuites, java.lang.String[]);
    descriptor: (Lorg/graalvm/compiler/core/target/Backend;Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;Ljdk/vm/ci/code/RegisterConfig;Lorg/graalvm/compiler/lir/phases/LIRSuites;[Ljava/lang/String;)Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=28, args_size=6
        start local 0 // org.graalvm.compiler.core.target.Backend backend
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 2 // java.lang.Object stub
        start local 3 // jdk.vm.ci.code.RegisterConfig registerConfig
        start local 4 // org.graalvm.compiler.lir.phases.LIRSuites lirSuites
        start local 5 // java.lang.String[] allocationRestrictedTo
         0: .line 320
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
            astore 6 /* debug */
        start local 6 // org.graalvm.compiler.debug.DebugContext debug
         1: .line 321
            aconst_null
            astore 7
            aconst_null
            astore 8
         2: aload 6 /* debug */
            ldc "EmitLIR"
            invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
            astore 9 /* ds */
        start local 9 // org.graalvm.compiler.debug.DebugContext$Scope ds
         3: getstatic org.graalvm.compiler.core.GraalCompiler.EmitLIR:Lorg/graalvm/compiler/debug/TimerKey;
            aload 6 /* debug */
            invokeinterface org.graalvm.compiler.debug.TimerKey.start:(Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/debug/DebugCloseable;
            astore 10 /* a */
        start local 10 // org.graalvm.compiler.debug.DebugCloseable a
         4: .line 322
            getstatic org.graalvm.compiler.core.GraalCompiler.$assertionsDisabled:Z
            ifne 5
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.hasValueProxies:()Z
            ifeq 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 323
      StackMap locals: org.graalvm.compiler.core.target.Backend org.graalvm.compiler.nodes.StructuredGraph java.lang.Object jdk.vm.ci.code.RegisterConfig org.graalvm.compiler.lir.phases.LIRSuites java.lang.String[] org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.debug.DebugCloseable
      StackMap stack:
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getLastSchedule:()Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;
            astore 11 /* schedule */
        start local 11 // org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult schedule
         6: .line 324
            aload 11 /* schedule */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult.getCFG:()Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
            invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.getBlocks:()[Lorg/graalvm/compiler/nodes/cfg/Block;
            astore 12 /* blocks */
        start local 12 // org.graalvm.compiler.nodes.cfg.Block[] blocks
         7: .line 325
            aload 11 /* schedule */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult.getCFG:()Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
            invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.getStartBlock:()Lorg/graalvm/compiler/nodes/cfg/Block;
            astore 13 /* startBlock */
        start local 13 // org.graalvm.compiler.nodes.cfg.Block startBlock
         8: .line 326
            getstatic org.graalvm.compiler.core.GraalCompiler.$assertionsDisabled:Z
            ifne 9
            aload 13 /* startBlock */
            ifnonnull 9
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         9: .line 327
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult org.graalvm.compiler.nodes.cfg.Block[] org.graalvm.compiler.nodes.cfg.Block
      StackMap stack:
            getstatic org.graalvm.compiler.core.GraalCompiler.$assertionsDisabled:Z
            ifne 10
            aload 13 /* startBlock */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getPredecessorCount:()I
            ifeq 10
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        10: .line 329
      StackMap locals:
      StackMap stack:
            aload 12 /* blocks */
            arraylength
            aload 13 /* startBlock */
            invokestatic org.graalvm.compiler.core.common.alloc.ComputeBlockOrder.computeCodeEmittingOrder:(ILorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            astore 14 /* codeEmittingOrder */
        start local 14 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] codeEmittingOrder
        11: .line 330
            aload 12 /* blocks */
            arraylength
            aload 13 /* startBlock */
            invokestatic org.graalvm.compiler.core.common.alloc.ComputeBlockOrder.computeLinearScanOrder:(ILorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            astore 15 /* linearScanOrder */
        start local 15 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] linearScanOrder
        12: .line 331
            new org.graalvm.compiler.lir.LIR
            dup
            aload 11 /* schedule */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult.getCFG:()Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
            aload 15 /* linearScanOrder */
            aload 14 /* codeEmittingOrder */
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
            invokespecial org.graalvm.compiler.lir.LIR.<init>:(Lorg/graalvm/compiler/core/common/cfg/AbstractControlFlowGraph;[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/debug/DebugContext;)V
            astore 16 /* lir */
        start local 16 // org.graalvm.compiler.lir.LIR lir
        13: .line 333
            aload 0 /* backend */
            aload 3 /* registerConfig */
            invokevirtual org.graalvm.compiler.core.target.Backend.newFrameMapBuilder:(Ljdk/vm/ci/code/RegisterConfig;)Lorg/graalvm/compiler/lir/framemap/FrameMapBuilder;
            astore 17 /* frameMapBuilder */
        start local 17 // org.graalvm.compiler.lir.framemap.FrameMapBuilder frameMapBuilder
        14: .line 334
            aload 0 /* backend */
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.compilationId:()Lorg/graalvm/compiler/core/common/CompilationIdentifier;
            aload 16 /* lir */
            aload 17 /* frameMapBuilder */
            aload 1 /* graph */
            aload 2 /* stub */
            invokevirtual org.graalvm.compiler.core.target.Backend.newLIRGenerationResult:(Lorg/graalvm/compiler/core/common/CompilationIdentifier;Lorg/graalvm/compiler/lir/LIR;Lorg/graalvm/compiler/lir/framemap/FrameMapBuilder;Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
            astore 18 /* lirGenRes */
        start local 18 // org.graalvm.compiler.lir.gen.LIRGenerationResult lirGenRes
        15: .line 335
            aload 0 /* backend */
            aload 18 /* lirGenRes */
            invokevirtual org.graalvm.compiler.core.target.Backend.newLIRGenerator:(Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;)Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
            astore 19 /* lirGen */
        start local 19 // org.graalvm.compiler.lir.gen.LIRGeneratorTool lirGen
        16: .line 336
            aload 0 /* backend */
            aload 1 /* graph */
            aload 19 /* lirGen */
            invokevirtual org.graalvm.compiler.core.target.Backend.newNodeLIRBuilder:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;)Lorg/graalvm/compiler/nodes/spi/NodeLIRBuilderTool;
            astore 20 /* nodeLirGen */
        start local 20 // org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool nodeLirGen
        17: .line 339
            new org.graalvm.compiler.core.LIRGenerationPhase$LIRGenerationContext
            dup
            aload 19 /* lirGen */
            aload 20 /* nodeLirGen */
            aload 1 /* graph */
            aload 11 /* schedule */
            invokespecial org.graalvm.compiler.core.LIRGenerationPhase$LIRGenerationContext.<init>:(Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;Lorg/graalvm/compiler/nodes/spi/NodeLIRBuilderTool;Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;)V
            astore 21 /* context */
        start local 21 // org.graalvm.compiler.core.LIRGenerationPhase$LIRGenerationContext context
        18: .line 340
            new org.graalvm.compiler.core.LIRGenerationPhase
            dup
            invokespecial org.graalvm.compiler.core.LIRGenerationPhase.<init>:()V
            aload 0 /* backend */
            invokevirtual org.graalvm.compiler.core.target.Backend.getTarget:()Ljdk/vm/ci/code/TargetDescription;
            aload 18 /* lirGenRes */
            aload 21 /* context */
            invokevirtual org.graalvm.compiler.core.LIRGenerationPhase.apply:(Ljdk/vm/ci/code/TargetDescription;Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Ljava/lang/Object;)V
        19: .line 342
            aconst_null
            astore 22
            aconst_null
            astore 23
        20: aload 6 /* debug */
            ldc "LIRStages"
            aload 20 /* nodeLirGen */
            aload 18 /* lirGenRes */
            aload 16 /* lir */
            invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
            astore 24 /* s */
        start local 24 // org.graalvm.compiler.debug.DebugContext$Scope s
        21: .line 344
            aload 6 /* debug */
            iconst_1
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getLastSchedule:()Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;
            ldc "After LIR generation"
            invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;)V
        22: .line 345
            aload 0 /* backend */
            invokevirtual org.graalvm.compiler.core.target.Backend.getTarget:()Ljdk/vm/ci/code/TargetDescription;
            aload 18 /* lirGenRes */
            aload 19 /* lirGen */
            aload 4 /* lirSuites */
            aload 0 /* backend */
            aload 3 /* registerConfig */
            aload 5 /* allocationRestrictedTo */
            invokevirtual org.graalvm.compiler.core.target.Backend.newRegisterAllocationConfig:(Ljdk/vm/ci/code/RegisterConfig;[Ljava/lang/String;)Lorg/graalvm/compiler/core/common/alloc/RegisterAllocationConfig;
            invokestatic org.graalvm.compiler.core.GraalCompiler.emitLowLevel:(Ljdk/vm/ci/code/TargetDescription;Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;Lorg/graalvm/compiler/lir/phases/LIRSuites;Lorg/graalvm/compiler/core/common/alloc/RegisterAllocationConfig;)Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
            astore 25 /* result */
        start local 25 // org.graalvm.compiler.lir.gen.LIRGenerationResult result
        23: .line 346
            aload 25 /* result */
            astore 27
        24: .line 347
            aload 24 /* s */
            ifnull 25
            aload 24 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
        25: .line 350
      StackMap locals: org.graalvm.compiler.core.target.Backend org.graalvm.compiler.nodes.StructuredGraph java.lang.Object jdk.vm.ci.code.RegisterConfig org.graalvm.compiler.lir.phases.LIRSuites java.lang.String[] org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult org.graalvm.compiler.nodes.cfg.Block[] org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] org.graalvm.compiler.lir.LIR org.graalvm.compiler.lir.framemap.FrameMapBuilder org.graalvm.compiler.lir.gen.LIRGenerationResult org.graalvm.compiler.lir.gen.LIRGeneratorTool org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool org.graalvm.compiler.core.LIRGenerationPhase$LIRGenerationContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.lir.gen.LIRGenerationResult top org.graalvm.compiler.lir.gen.LIRGenerationResult
      StackMap stack:
            aload 10 /* a */
            ifnull 26
            aload 10 /* a */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
      StackMap locals:
      StackMap stack:
        26: aload 9 /* ds */
            ifnull 27
            aload 9 /* ds */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
        27: .line 353
      StackMap locals:
      StackMap stack:
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.checkCancellation:()V
        28: .line 346
            aload 27
            areturn
        end local 25 // org.graalvm.compiler.lir.gen.LIRGenerationResult result
      StackMap locals: org.graalvm.compiler.core.target.Backend org.graalvm.compiler.nodes.StructuredGraph java.lang.Object jdk.vm.ci.code.RegisterConfig org.graalvm.compiler.lir.phases.LIRSuites java.lang.String[] org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult org.graalvm.compiler.nodes.cfg.Block[] org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] org.graalvm.compiler.lir.LIR org.graalvm.compiler.lir.framemap.FrameMapBuilder org.graalvm.compiler.lir.gen.LIRGenerationResult org.graalvm.compiler.lir.gen.LIRGeneratorTool org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool org.graalvm.compiler.core.LIRGenerationPhase$LIRGenerationContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
      StackMap stack: java.lang.Throwable
        29: astore 22
        30: .line 347
            aload 24 /* s */
            ifnull 31
            aload 24 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
        end local 24 // org.graalvm.compiler.debug.DebugContext$Scope s
      StackMap locals:
      StackMap stack:
        31: aload 22
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        32: astore 23
            aload 22
            ifnonnull 33
            aload 23
            astore 22
            goto 34
      StackMap locals:
      StackMap stack:
        33: aload 22
            aload 23
            if_acmpeq 34
            aload 22
            aload 23
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        34: aload 22
            athrow
      StackMap locals: org.graalvm.compiler.core.target.Backend org.graalvm.compiler.nodes.StructuredGraph java.lang.Object jdk.vm.ci.code.RegisterConfig org.graalvm.compiler.lir.phases.LIRSuites java.lang.String[] org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult org.graalvm.compiler.nodes.cfg.Block[] org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] org.graalvm.compiler.lir.LIR org.graalvm.compiler.lir.framemap.FrameMapBuilder org.graalvm.compiler.lir.gen.LIRGenerationResult org.graalvm.compiler.lir.gen.LIRGeneratorTool org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool org.graalvm.compiler.core.LIRGenerationPhase$LIRGenerationContext
      StackMap stack: java.lang.Throwable
        35: astore 22 /* e */
        start local 22 // java.lang.Throwable e
        36: .line 348
            aload 6 /* debug */
            aload 22 /* e */
            invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 22 // java.lang.Throwable e
        end local 21 // org.graalvm.compiler.core.LIRGenerationPhase$LIRGenerationContext context
        end local 20 // org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool nodeLirGen
        end local 19 // org.graalvm.compiler.lir.gen.LIRGeneratorTool lirGen
        end local 18 // org.graalvm.compiler.lir.gen.LIRGenerationResult lirGenRes
        end local 17 // org.graalvm.compiler.lir.framemap.FrameMapBuilder frameMapBuilder
        end local 16 // org.graalvm.compiler.lir.LIR lir
        end local 15 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] linearScanOrder
        end local 14 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] codeEmittingOrder
        end local 13 // org.graalvm.compiler.nodes.cfg.Block startBlock
        end local 12 // org.graalvm.compiler.nodes.cfg.Block[] blocks
        end local 11 // org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult schedule
      StackMap locals: org.graalvm.compiler.core.target.Backend org.graalvm.compiler.nodes.StructuredGraph java.lang.Object jdk.vm.ci.code.RegisterConfig org.graalvm.compiler.lir.phases.LIRSuites java.lang.String[] org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.debug.DebugCloseable
      StackMap stack: java.lang.Throwable
        37: astore 7
        38: .line 350
            aload 10 /* a */
            ifnull 39
            aload 10 /* a */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 10 // org.graalvm.compiler.debug.DebugCloseable a
      StackMap locals:
      StackMap stack:
        39: aload 7
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        40: astore 8
            aload 7
            ifnonnull 41
            aload 8
            astore 7
            goto 42
      StackMap locals:
      StackMap stack:
        41: aload 7
            aload 8
            if_acmpeq 42
            aload 7
            aload 8
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        42: aload 9 /* ds */
            ifnull 43
            aload 9 /* ds */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
        end local 9 // org.graalvm.compiler.debug.DebugContext$Scope ds
      StackMap locals:
      StackMap stack:
        43: aload 7
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        44: astore 8
            aload 7
            ifnonnull 45
            aload 8
            astore 7
            goto 46
      StackMap locals:
      StackMap stack:
        45: aload 7
            aload 8
            if_acmpeq 46
            aload 7
            aload 8
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        46: aload 7
            athrow
      StackMap locals: org.graalvm.compiler.core.target.Backend org.graalvm.compiler.nodes.StructuredGraph java.lang.Object jdk.vm.ci.code.RegisterConfig org.graalvm.compiler.lir.phases.LIRSuites java.lang.String[] org.graalvm.compiler.debug.DebugContext
      StackMap stack: java.lang.Throwable
        47: astore 7 /* e */
        start local 7 // java.lang.Throwable e
        48: .line 351
            aload 6 /* debug */
            aload 7 /* e */
            invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 7 // java.lang.Throwable e
        49: .line 352
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 26
        50: .line 353
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.checkCancellation:()V
        51: .line 354
            aload 26
            athrow
        end local 6 // org.graalvm.compiler.debug.DebugContext debug
        end local 5 // java.lang.String[] allocationRestrictedTo
        end local 4 // org.graalvm.compiler.lir.phases.LIRSuites lirSuites
        end local 3 // jdk.vm.ci.code.RegisterConfig registerConfig
        end local 2 // java.lang.Object stub
        end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 0 // org.graalvm.compiler.core.target.Backend backend
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   52     0                 backend  Lorg/graalvm/compiler/core/target/Backend;
            0   52     1                   graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0   52     2                    stub  Ljava/lang/Object;
            0   52     3          registerConfig  Ljdk/vm/ci/code/RegisterConfig;
            0   52     4               lirSuites  Lorg/graalvm/compiler/lir/phases/LIRSuites;
            0   52     5  allocationRestrictedTo  [Ljava/lang/String;
            1   52     6                   debug  Lorg/graalvm/compiler/debug/DebugContext;
            3   43     9                      ds  Lorg/graalvm/compiler/debug/DebugContext$Scope;
            4   39    10                       a  Lorg/graalvm/compiler/debug/DebugCloseable;
            6   37    11                schedule  Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;
            7   37    12                  blocks  [Lorg/graalvm/compiler/nodes/cfg/Block;
            8   37    13              startBlock  Lorg/graalvm/compiler/nodes/cfg/Block;
           11   37    14       codeEmittingOrder  [Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
           12   37    15         linearScanOrder  [Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
           13   37    16                     lir  Lorg/graalvm/compiler/lir/LIR;
           14   37    17         frameMapBuilder  Lorg/graalvm/compiler/lir/framemap/FrameMapBuilder;
           15   37    18               lirGenRes  Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
           16   37    19                  lirGen  Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
           17   37    20              nodeLirGen  Lorg/graalvm/compiler/nodes/spi/NodeLIRBuilderTool;
           18   37    21                 context  Lorg/graalvm/compiler/core/LIRGenerationPhase$LIRGenerationContext;
           21   31    24                       s  Lorg/graalvm/compiler/debug/DebugContext$Scope;
           23   29    25                  result  Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
           36   37    22                       e  Ljava/lang/Throwable;
           48   49     7                       e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          21    24      29  any
          20    25      32  any
          29    32      32  any
          19    25      35  Class java.lang.Throwable
          29    35      35  Class java.lang.Throwable
           4    25      37  any
          29    37      37  any
           3    26      40  any
          29    40      40  any
           2    27      44  any
          29    44      44  any
           1    27      47  Class java.lang.Throwable
          29    47      47  Class java.lang.Throwable
           1    27      49  any
          29    49      49  any
    MethodParameters:
                        Name  Flags
      backend                 
      graph                   
      stub                    
      registerConfig          
      lirSuites               
      allocationRestrictedTo  

  protected static <T extends org.graalvm.compiler.code.CompilationResult> java.lang.String getCompilationUnitName(org.graalvm.compiler.nodes.StructuredGraph, T);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/code/CompilationResult;)Ljava/lang/String;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 1 // org.graalvm.compiler.code.CompilationResult compilationResult
         0: .line 358
            aload 1 /* compilationResult */
            ifnull 2
            aload 1 /* compilationResult */
            invokevirtual org.graalvm.compiler.code.CompilationResult.getName:()Ljava/lang/String;
            ifnull 2
         1: .line 359
            aload 1 /* compilationResult */
            invokevirtual org.graalvm.compiler.code.CompilationResult.getName:()Ljava/lang/String;
            areturn
         2: .line 361
      StackMap locals:
      StackMap stack:
            aload 0 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            astore 2 /* method */
        start local 2 // jdk.vm.ci.meta.ResolvedJavaMethod method
         3: .line 362
            aload 2 /* method */
            ifnonnull 5
         4: .line 363
            ldc "<unknown>"
            areturn
         5: .line 365
      StackMap locals: jdk.vm.ci.meta.ResolvedJavaMethod
      StackMap stack:
            aload 2 /* method */
            ldc "%H.%n(%p)"
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.format:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 2 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 1 // org.graalvm.compiler.code.CompilationResult compilationResult
        end local 0 // org.graalvm.compiler.nodes.StructuredGraph graph
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    6     0              graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0    6     1  compilationResult  TT;
            3    6     2             method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
    Signature: <T:Lorg/graalvm/compiler/code/CompilationResult;>(Lorg/graalvm/compiler/nodes/StructuredGraph;TT;)Ljava/lang/String;
    MethodParameters:
                   Name  Flags
      graph              
      compilationResult  

  public static org.graalvm.compiler.lir.gen.LIRGenerationResult emitLowLevel(jdk.vm.ci.code.TargetDescription, org.graalvm.compiler.lir.gen.LIRGenerationResult, org.graalvm.compiler.lir.gen.LIRGeneratorTool, org.graalvm.compiler.lir.phases.LIRSuites, org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig);
    descriptor: (Ljdk/vm/ci/code/TargetDescription;Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;Lorg/graalvm/compiler/lir/phases/LIRSuites;Lorg/graalvm/compiler/core/common/alloc/RegisterAllocationConfig;)Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=9, args_size=5
        start local 0 // jdk.vm.ci.code.TargetDescription target
        start local 1 // org.graalvm.compiler.lir.gen.LIRGenerationResult lirGenRes
        start local 2 // org.graalvm.compiler.lir.gen.LIRGeneratorTool lirGen
        start local 3 // org.graalvm.compiler.lir.phases.LIRSuites lirSuites
        start local 4 // org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig registerAllocationConfig
         0: .line 370
            aload 1 /* lirGenRes */
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getLIR:()Lorg/graalvm/compiler/lir/LIR;
            invokevirtual org.graalvm.compiler.lir.LIR.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
            astore 5 /* debug */
        start local 5 // org.graalvm.compiler.debug.DebugContext debug
         1: .line 371
            new org.graalvm.compiler.lir.phases.PreAllocationOptimizationPhase$PreAllocationOptimizationContext
            dup
            aload 2 /* lirGen */
            invokespecial org.graalvm.compiler.lir.phases.PreAllocationOptimizationPhase$PreAllocationOptimizationContext.<init>:(Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;)V
            astore 6 /* preAllocOptContext */
        start local 6 // org.graalvm.compiler.lir.phases.PreAllocationOptimizationPhase$PreAllocationOptimizationContext preAllocOptContext
         2: .line 372
            aload 3 /* lirSuites */
            invokevirtual org.graalvm.compiler.lir.phases.LIRSuites.getPreAllocationOptimizationStage:()Lorg/graalvm/compiler/lir/phases/LIRPhaseSuite;
            aload 0 /* target */
            aload 1 /* lirGenRes */
            aload 6 /* preAllocOptContext */
            invokevirtual org.graalvm.compiler.lir.phases.LIRPhaseSuite.apply:(Ljdk/vm/ci/code/TargetDescription;Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Ljava/lang/Object;)V
         3: .line 373
            aload 5 /* debug */
            iconst_1
            aload 1 /* lirGenRes */
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getLIR:()Lorg/graalvm/compiler/lir/LIR;
            ldc "After PreAllocationOptimizationStage"
            invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;)V
         4: .line 375
            new org.graalvm.compiler.lir.phases.AllocationPhase$AllocationContext
            dup
            aload 2 /* lirGen */
            invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.getSpillMoveFactory:()Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;
            aload 4 /* registerAllocationConfig */
            invokespecial org.graalvm.compiler.lir.phases.AllocationPhase$AllocationContext.<init>:(Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;Lorg/graalvm/compiler/core/common/alloc/RegisterAllocationConfig;)V
            astore 7 /* allocContext */
        start local 7 // org.graalvm.compiler.lir.phases.AllocationPhase$AllocationContext allocContext
         5: .line 376
            aload 3 /* lirSuites */
            invokevirtual org.graalvm.compiler.lir.phases.LIRSuites.getAllocationStage:()Lorg/graalvm/compiler/lir/phases/LIRPhaseSuite;
            aload 0 /* target */
            aload 1 /* lirGenRes */
            aload 7 /* allocContext */
            invokevirtual org.graalvm.compiler.lir.phases.LIRPhaseSuite.apply:(Ljdk/vm/ci/code/TargetDescription;Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Ljava/lang/Object;)V
         6: .line 377
            aload 5 /* debug */
            iconst_1
            aload 1 /* lirGenRes */
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getLIR:()Lorg/graalvm/compiler/lir/LIR;
            ldc "After AllocationStage"
            invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;)V
         7: .line 379
            new org.graalvm.compiler.lir.phases.PostAllocationOptimizationPhase$PostAllocationOptimizationContext
            dup
            aload 2 /* lirGen */
            invokespecial org.graalvm.compiler.lir.phases.PostAllocationOptimizationPhase$PostAllocationOptimizationContext.<init>:(Lorg/graalvm/compiler/lir/gen/DiagnosticLIRGeneratorTool;)V
            astore 8 /* postAllocOptContext */
        start local 8 // org.graalvm.compiler.lir.phases.PostAllocationOptimizationPhase$PostAllocationOptimizationContext postAllocOptContext
         8: .line 380
            aload 3 /* lirSuites */
            invokevirtual org.graalvm.compiler.lir.phases.LIRSuites.getPostAllocationOptimizationStage:()Lorg/graalvm/compiler/lir/phases/LIRPhaseSuite;
            aload 0 /* target */
            aload 1 /* lirGenRes */
            aload 8 /* postAllocOptContext */
            invokevirtual org.graalvm.compiler.lir.phases.LIRPhaseSuite.apply:(Ljdk/vm/ci/code/TargetDescription;Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Ljava/lang/Object;)V
         9: .line 381
            aload 5 /* debug */
            iconst_1
            aload 1 /* lirGenRes */
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getLIR:()Lorg/graalvm/compiler/lir/LIR;
            ldc "After PostAllocationOptimizationStage"
            invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;)V
        10: .line 383
            aload 1 /* lirGenRes */
            areturn
        end local 8 // org.graalvm.compiler.lir.phases.PostAllocationOptimizationPhase$PostAllocationOptimizationContext postAllocOptContext
        end local 7 // org.graalvm.compiler.lir.phases.AllocationPhase$AllocationContext allocContext
        end local 6 // org.graalvm.compiler.lir.phases.PreAllocationOptimizationPhase$PreAllocationOptimizationContext preAllocOptContext
        end local 5 // org.graalvm.compiler.debug.DebugContext debug
        end local 4 // org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig registerAllocationConfig
        end local 3 // org.graalvm.compiler.lir.phases.LIRSuites lirSuites
        end local 2 // org.graalvm.compiler.lir.gen.LIRGeneratorTool lirGen
        end local 1 // org.graalvm.compiler.lir.gen.LIRGenerationResult lirGenRes
        end local 0 // jdk.vm.ci.code.TargetDescription target
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   11     0                    target  Ljdk/vm/ci/code/TargetDescription;
            0   11     1                 lirGenRes  Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
            0   11     2                    lirGen  Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
            0   11     3                 lirSuites  Lorg/graalvm/compiler/lir/phases/LIRSuites;
            0   11     4  registerAllocationConfig  Lorg/graalvm/compiler/core/common/alloc/RegisterAllocationConfig;
            1   11     5                     debug  Lorg/graalvm/compiler/debug/DebugContext;
            2   11     6        preAllocOptContext  Lorg/graalvm/compiler/lir/phases/PreAllocationOptimizationPhase$PreAllocationOptimizationContext;
            5   11     7              allocContext  Lorg/graalvm/compiler/lir/phases/AllocationPhase$AllocationContext;
            8   11     8       postAllocOptContext  Lorg/graalvm/compiler/lir/phases/PostAllocationOptimizationPhase$PostAllocationOptimizationContext;
    MethodParameters:
                          Name  Flags
      target                    
      lirGenRes                 
      lirGen                    
      lirSuites                 
      registerAllocationConfig  

  public static void emitCode(org.graalvm.compiler.core.target.Backend, jdk.vm.ci.meta.Assumptions, jdk.vm.ci.meta.ResolvedJavaMethod, java.util.Collection<jdk.vm.ci.meta.ResolvedJavaMethod>, jdk.internal.vm.compiler.collections.EconomicSet<jdk.vm.ci.meta.ResolvedJavaField>, int, org.graalvm.compiler.lir.gen.LIRGenerationResult, org.graalvm.compiler.code.CompilationResult, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.lir.asm.CompilationResultBuilderFactory);
    descriptor: (Lorg/graalvm/compiler/core/target/Backend;Ljdk/vm/ci/meta/Assumptions;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/util/Collection;Ljdk/internal/vm/compiler/collections/EconomicSet;ILorg/graalvm/compiler/lir/gen/LIRGenerationResult;Lorg/graalvm/compiler/code/CompilationResult;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/lir/asm/CompilationResultBuilderFactory;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=23, args_size=10
        start local 0 // org.graalvm.compiler.core.target.Backend backend
        start local 1 // jdk.vm.ci.meta.Assumptions assumptions
        start local 2 // jdk.vm.ci.meta.ResolvedJavaMethod rootMethod
        start local 3 // java.util.Collection inlinedMethods
        start local 4 // jdk.internal.vm.compiler.collections.EconomicSet accessedFields
        start local 5 // int bytecodeSize
        start local 6 // org.graalvm.compiler.lir.gen.LIRGenerationResult lirGenRes
        start local 7 // org.graalvm.compiler.code.CompilationResult compilationResult
        start local 8 // jdk.vm.ci.meta.ResolvedJavaMethod installedCodeOwner
        start local 9 // org.graalvm.compiler.lir.asm.CompilationResultBuilderFactory factory
         0: .line 390
            aload 6 /* lirGenRes */
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getLIR:()Lorg/graalvm/compiler/lir/LIR;
            invokevirtual org.graalvm.compiler.lir.LIR.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
            astore 10 /* debug */
        start local 10 // org.graalvm.compiler.debug.DebugContext debug
         1: .line 391
            aconst_null
            astore 11
            aconst_null
            astore 12
         2: getstatic org.graalvm.compiler.core.GraalCompiler.EmitCode:Lorg/graalvm/compiler/debug/TimerKey;
            aload 10 /* debug */
            invokeinterface org.graalvm.compiler.debug.TimerKey.start:(Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/debug/DebugCloseable;
            astore 13 /* a */
        start local 13 // org.graalvm.compiler.debug.DebugCloseable a
         3: .line 392
            aload 6 /* lirGenRes */
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getFrameMap:()Lorg/graalvm/compiler/lir/framemap/FrameMap;
            astore 14 /* frameMap */
        start local 14 // org.graalvm.compiler.lir.framemap.FrameMap frameMap
         4: .line 393
            aload 0 /* backend */
            aload 6 /* lirGenRes */
            aload 14 /* frameMap */
            aload 7 /* compilationResult */
            aload 9 /* factory */
            invokevirtual org.graalvm.compiler.core.target.Backend.newCompilationResultBuilder:(Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Lorg/graalvm/compiler/lir/framemap/FrameMap;Lorg/graalvm/compiler/code/CompilationResult;Lorg/graalvm/compiler/lir/asm/CompilationResultBuilderFactory;)Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
            astore 15 /* crb */
        start local 15 // org.graalvm.compiler.lir.asm.CompilationResultBuilder crb
         5: .line 394
            aload 0 /* backend */
            aload 15 /* crb */
            aload 6 /* lirGenRes */
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getLIR:()Lorg/graalvm/compiler/lir/LIR;
            aload 8 /* installedCodeOwner */
            invokevirtual org.graalvm.compiler.core.target.Backend.emitCode:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/lir/LIR;Ljdk/vm/ci/meta/ResolvedJavaMethod;)V
         6: .line 395
            aload 1 /* assumptions */
            ifnull 8
            aload 1 /* assumptions */
            invokevirtual jdk.vm.ci.meta.Assumptions.isEmpty:()Z
            ifne 8
         7: .line 396
            aload 7 /* compilationResult */
            aload 1 /* assumptions */
            invokevirtual jdk.vm.ci.meta.Assumptions.toArray:()[Ljdk/vm/ci/meta/Assumptions$Assumption;
            invokevirtual org.graalvm.compiler.code.CompilationResult.setAssumptions:([Ljdk/vm/ci/meta/Assumptions$Assumption;)V
         8: .line 398
      StackMap locals: org.graalvm.compiler.core.target.Backend jdk.vm.ci.meta.Assumptions jdk.vm.ci.meta.ResolvedJavaMethod java.util.Collection jdk.internal.vm.compiler.collections.EconomicSet int org.graalvm.compiler.lir.gen.LIRGenerationResult org.graalvm.compiler.code.CompilationResult jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.lir.asm.CompilationResultBuilderFactory org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.lir.framemap.FrameMap org.graalvm.compiler.lir.asm.CompilationResultBuilder
      StackMap stack:
            aload 2 /* rootMethod */
            ifnull 12
         9: .line 399
            aload 7 /* compilationResult */
            aload 2 /* rootMethod */
            aload 3 /* inlinedMethods */
            invokevirtual org.graalvm.compiler.code.CompilationResult.setMethods:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/util/Collection;)V
        10: .line 400
            aload 7 /* compilationResult */
            aload 4 /* accessedFields */
            invokevirtual org.graalvm.compiler.code.CompilationResult.setFields:(Ljdk/internal/vm/compiler/collections/EconomicSet;)V
        11: .line 401
            aload 7 /* compilationResult */
            iload 5 /* bytecodeSize */
            invokevirtual org.graalvm.compiler.code.CompilationResult.setBytecodeSize:(I)V
        12: .line 403
      StackMap locals:
      StackMap stack:
            aload 15 /* crb */
            invokevirtual org.graalvm.compiler.lir.asm.CompilationResultBuilder.finish:()V
        13: .line 404
            aload 10 /* debug */
            invokevirtual org.graalvm.compiler.debug.DebugContext.isCountEnabled:()Z
            ifeq 36
        14: .line 405
            aload 7 /* compilationResult */
            invokevirtual org.graalvm.compiler.code.CompilationResult.getDataPatches:()Ljava/util/List;
            astore 16 /* ldp */
        start local 16 // java.util.List ldp
        15: .line 406
            invokestatic jdk.vm.ci.meta.JavaKind.values:()[Ljdk/vm/ci/meta/JavaKind;
            astore 17 /* kindValues */
        start local 17 // jdk.vm.ci.meta.JavaKind[] kindValues
        16: .line 407
            aload 17 /* kindValues */
            arraylength
            anewarray org.graalvm.compiler.debug.CounterKey
            astore 18 /* dms */
        start local 18 // org.graalvm.compiler.debug.CounterKey[] dms
        17: .line 408
            iconst_0
            istore 19 /* i */
        start local 19 // int i
        18: goto 21
        19: .line 409
      StackMap locals: org.graalvm.compiler.core.target.Backend jdk.vm.ci.meta.Assumptions jdk.vm.ci.meta.ResolvedJavaMethod java.util.Collection jdk.internal.vm.compiler.collections.EconomicSet int org.graalvm.compiler.lir.gen.LIRGenerationResult org.graalvm.compiler.code.CompilationResult jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.lir.asm.CompilationResultBuilderFactory org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.lir.framemap.FrameMap org.graalvm.compiler.lir.asm.CompilationResultBuilder java.util.List jdk.vm.ci.meta.JavaKind[] org.graalvm.compiler.debug.CounterKey[] int
      StackMap stack:
            aload 18 /* dms */
            iload 19 /* i */
            ldc "DataPatches-%s"
            aload 17 /* kindValues */
            iload 19 /* i */
            aaload
            invokestatic org.graalvm.compiler.debug.DebugContext.counter:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/CounterKey;
            aastore
        20: .line 408
            iinc 19 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 19 /* i */
            aload 18 /* dms */
            arraylength
            if_icmplt 19
        end local 19 // int i
        22: .line 412
            aload 16 /* ldp */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 20
            goto 30
      StackMap locals: org.graalvm.compiler.core.target.Backend jdk.vm.ci.meta.Assumptions jdk.vm.ci.meta.ResolvedJavaMethod java.util.Collection jdk.internal.vm.compiler.collections.EconomicSet int org.graalvm.compiler.lir.gen.LIRGenerationResult org.graalvm.compiler.code.CompilationResult jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.lir.asm.CompilationResultBuilderFactory org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.lir.framemap.FrameMap org.graalvm.compiler.lir.asm.CompilationResultBuilder java.util.List jdk.vm.ci.meta.JavaKind[] org.graalvm.compiler.debug.CounterKey[] top java.util.Iterator
      StackMap stack:
        23: aload 20
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.vm.ci.code.site.DataPatch
            astore 19 /* dp */
        start local 19 // jdk.vm.ci.code.site.DataPatch dp
        24: .line 413
            getstatic jdk.vm.ci.meta.JavaKind.Illegal:Ljdk/vm/ci/meta/JavaKind;
            astore 21 /* kind */
        start local 21 // jdk.vm.ci.meta.JavaKind kind
        25: .line 414
            aload 19 /* dp */
            getfield jdk.vm.ci.code.site.DataPatch.reference:Ljdk/vm/ci/code/site/Reference;
            instanceof jdk.vm.ci.code.site.ConstantReference
            ifeq 29
        26: .line 415
            aload 19 /* dp */
            getfield jdk.vm.ci.code.site.DataPatch.reference:Ljdk/vm/ci/code/site/Reference;
            checkcast jdk.vm.ci.code.site.ConstantReference
            invokevirtual jdk.vm.ci.code.site.ConstantReference.getConstant:()Ljdk/vm/ci/meta/VMConstant;
            astore 22 /* constant */
        start local 22 // jdk.vm.ci.meta.VMConstant constant
        27: .line 416
            aload 22 /* constant */
            instanceof jdk.vm.ci.meta.JavaConstant
            ifeq 29
        28: .line 417
            aload 22 /* constant */
            checkcast jdk.vm.ci.meta.JavaConstant
            invokeinterface jdk.vm.ci.meta.JavaConstant.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            astore 21 /* kind */
        end local 22 // jdk.vm.ci.meta.VMConstant constant
        29: .line 420
      StackMap locals: org.graalvm.compiler.core.target.Backend jdk.vm.ci.meta.Assumptions jdk.vm.ci.meta.ResolvedJavaMethod java.util.Collection jdk.internal.vm.compiler.collections.EconomicSet int org.graalvm.compiler.lir.gen.LIRGenerationResult org.graalvm.compiler.code.CompilationResult jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.lir.asm.CompilationResultBuilderFactory org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.lir.framemap.FrameMap org.graalvm.compiler.lir.asm.CompilationResultBuilder java.util.List jdk.vm.ci.meta.JavaKind[] org.graalvm.compiler.debug.CounterKey[] jdk.vm.ci.code.site.DataPatch java.util.Iterator jdk.vm.ci.meta.JavaKind
      StackMap stack:
            aload 18 /* dms */
            aload 21 /* kind */
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            aaload
            aload 10 /* debug */
            lconst_1
            invokeinterface org.graalvm.compiler.debug.CounterKey.add:(Lorg/graalvm/compiler/debug/DebugContext;J)V
        end local 21 // jdk.vm.ci.meta.JavaKind kind
        end local 19 // jdk.vm.ci.code.site.DataPatch dp
        30: .line 412
      StackMap locals: org.graalvm.compiler.core.target.Backend jdk.vm.ci.meta.Assumptions jdk.vm.ci.meta.ResolvedJavaMethod java.util.Collection jdk.internal.vm.compiler.collections.EconomicSet int org.graalvm.compiler.lir.gen.LIRGenerationResult org.graalvm.compiler.code.CompilationResult jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.lir.asm.CompilationResultBuilderFactory org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.lir.framemap.FrameMap org.graalvm.compiler.lir.asm.CompilationResultBuilder java.util.List jdk.vm.ci.meta.JavaKind[] org.graalvm.compiler.debug.CounterKey[] top java.util.Iterator
      StackMap stack:
            aload 20
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 23
        31: .line 423
            ldc "CompilationResults"
            invokestatic org.graalvm.compiler.debug.DebugContext.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/CounterKey;
            aload 10 /* debug */
            invokeinterface org.graalvm.compiler.debug.CounterKey.increment:(Lorg/graalvm/compiler/debug/DebugContext;)V
        32: .line 424
            ldc "CodeBytesEmitted"
            invokestatic org.graalvm.compiler.debug.DebugContext.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/CounterKey;
            aload 10 /* debug */
            aload 7 /* compilationResult */
            invokevirtual org.graalvm.compiler.code.CompilationResult.getTargetCodeSize:()I
            i2l
            invokeinterface org.graalvm.compiler.debug.CounterKey.add:(Lorg/graalvm/compiler/debug/DebugContext;J)V
        33: .line 425
            ldc "InfopointsEmitted"
            invokestatic org.graalvm.compiler.debug.DebugContext.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/CounterKey;
            aload 10 /* debug */
            aload 7 /* compilationResult */
            invokevirtual org.graalvm.compiler.code.CompilationResult.getInfopoints:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            i2l
            invokeinterface org.graalvm.compiler.debug.CounterKey.add:(Lorg/graalvm/compiler/debug/DebugContext;J)V
        34: .line 426
            ldc "DataPatches"
            invokestatic org.graalvm.compiler.debug.DebugContext.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/CounterKey;
            aload 10 /* debug */
            aload 16 /* ldp */
            invokeinterface java.util.List.size:()I
            i2l
            invokeinterface org.graalvm.compiler.debug.CounterKey.add:(Lorg/graalvm/compiler/debug/DebugContext;J)V
        35: .line 427
            ldc "ExceptionHandlersEmitted"
            invokestatic org.graalvm.compiler.debug.DebugContext.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/CounterKey;
            aload 10 /* debug */
            aload 7 /* compilationResult */
            invokevirtual org.graalvm.compiler.code.CompilationResult.getExceptionHandlers:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            i2l
            invokeinterface org.graalvm.compiler.debug.CounterKey.add:(Lorg/graalvm/compiler/debug/DebugContext;J)V
        end local 18 // org.graalvm.compiler.debug.CounterKey[] dms
        end local 17 // jdk.vm.ci.meta.JavaKind[] kindValues
        end local 16 // java.util.List ldp
        36: .line 430
      StackMap locals: org.graalvm.compiler.core.target.Backend jdk.vm.ci.meta.Assumptions jdk.vm.ci.meta.ResolvedJavaMethod java.util.Collection jdk.internal.vm.compiler.collections.EconomicSet int org.graalvm.compiler.lir.gen.LIRGenerationResult org.graalvm.compiler.code.CompilationResult jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.lir.asm.CompilationResultBuilderFactory org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.lir.framemap.FrameMap org.graalvm.compiler.lir.asm.CompilationResultBuilder
      StackMap stack:
            aload 10 /* debug */
            iconst_1
            aload 7 /* compilationResult */
            ldc "After code generation"
            invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;)V
        end local 15 // org.graalvm.compiler.lir.asm.CompilationResultBuilder crb
        end local 14 // org.graalvm.compiler.lir.framemap.FrameMap frameMap
        37: .line 431
            aload 13 /* a */
            ifnull 43
            aload 13 /* a */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 43
      StackMap locals: org.graalvm.compiler.core.target.Backend jdk.vm.ci.meta.Assumptions jdk.vm.ci.meta.ResolvedJavaMethod java.util.Collection jdk.internal.vm.compiler.collections.EconomicSet int org.graalvm.compiler.lir.gen.LIRGenerationResult org.graalvm.compiler.code.CompilationResult jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.lir.asm.CompilationResultBuilderFactory org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable
      StackMap stack: java.lang.Throwable
        38: astore 11
            aload 13 /* a */
            ifnull 39
            aload 13 /* a */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 13 // org.graalvm.compiler.debug.DebugCloseable a
      StackMap locals:
      StackMap stack:
        39: aload 11
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        40: astore 12
            aload 11
            ifnonnull 41
            aload 12
            astore 11
            goto 42
      StackMap locals:
      StackMap stack:
        41: aload 11
            aload 12
            if_acmpeq 42
            aload 11
            aload 12
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        42: aload 11
            athrow
        43: .line 432
      StackMap locals:
      StackMap stack:
            return
        end local 10 // org.graalvm.compiler.debug.DebugContext debug
        end local 9 // org.graalvm.compiler.lir.asm.CompilationResultBuilderFactory factory
        end local 8 // jdk.vm.ci.meta.ResolvedJavaMethod installedCodeOwner
        end local 7 // org.graalvm.compiler.code.CompilationResult compilationResult
        end local 6 // org.graalvm.compiler.lir.gen.LIRGenerationResult lirGenRes
        end local 5 // int bytecodeSize
        end local 4 // jdk.internal.vm.compiler.collections.EconomicSet accessedFields
        end local 3 // java.util.Collection inlinedMethods
        end local 2 // jdk.vm.ci.meta.ResolvedJavaMethod rootMethod
        end local 1 // jdk.vm.ci.meta.Assumptions assumptions
        end local 0 // org.graalvm.compiler.core.target.Backend backend
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   44     0             backend  Lorg/graalvm/compiler/core/target/Backend;
            0   44     1         assumptions  Ljdk/vm/ci/meta/Assumptions;
            0   44     2          rootMethod  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0   44     3      inlinedMethods  Ljava/util/Collection<Ljdk/vm/ci/meta/ResolvedJavaMethod;>;
            0   44     4      accessedFields  Ljdk/internal/vm/compiler/collections/EconomicSet<Ljdk/vm/ci/meta/ResolvedJavaField;>;
            0   44     5        bytecodeSize  I
            0   44     6           lirGenRes  Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
            0   44     7   compilationResult  Lorg/graalvm/compiler/code/CompilationResult;
            0   44     8  installedCodeOwner  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0   44     9             factory  Lorg/graalvm/compiler/lir/asm/CompilationResultBuilderFactory;
            1   44    10               debug  Lorg/graalvm/compiler/debug/DebugContext;
            3   39    13                   a  Lorg/graalvm/compiler/debug/DebugCloseable;
            4   37    14            frameMap  Lorg/graalvm/compiler/lir/framemap/FrameMap;
            5   37    15                 crb  Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
           15   36    16                 ldp  Ljava/util/List<Ljdk/vm/ci/code/site/DataPatch;>;
           16   36    17          kindValues  [Ljdk/vm/ci/meta/JavaKind;
           17   36    18                 dms  [Lorg/graalvm/compiler/debug/CounterKey;
           18   22    19                   i  I
           24   30    19                  dp  Ljdk/vm/ci/code/site/DataPatch;
           25   30    21                kind  Ljdk/vm/ci/meta/JavaKind;
           27   29    22            constant  Ljdk/vm/ci/meta/VMConstant;
      Exception table:
        from    to  target  type
           3    37      38  any
           2    40      40  any
    Signature: (Lorg/graalvm/compiler/core/target/Backend;Ljdk/vm/ci/meta/Assumptions;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/util/Collection<Ljdk/vm/ci/meta/ResolvedJavaMethod;>;Ljdk/internal/vm/compiler/collections/EconomicSet<Ljdk/vm/ci/meta/ResolvedJavaField;>;ILorg/graalvm/compiler/lir/gen/LIRGenerationResult;Lorg/graalvm/compiler/code/CompilationResult;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/lir/asm/CompilationResultBuilderFactory;)V
    MethodParameters:
                    Name  Flags
      backend             
      assumptions         
      rootMethod          
      inlinedMethods      
      accessedFields      
      bytecodeSize        
      lirGenRes           
      compilationResult   
      installedCodeOwner  
      factory             
}
SourceFile: "GraalCompiler.java"
NestMembers:
  org.graalvm.compiler.core.GraalCompiler$Request
InnerClasses:
  public abstract Assumption = jdk.vm.ci.meta.Assumptions$Assumption of jdk.vm.ci.meta.Assumptions
  public Request = org.graalvm.compiler.core.GraalCompiler$Request of org.graalvm.compiler.core.GraalCompiler
  public final LIRGenerationContext = org.graalvm.compiler.core.LIRGenerationPhase$LIRGenerationContext of org.graalvm.compiler.core.LIRGenerationPhase
  public abstract Scope = org.graalvm.compiler.debug.DebugContext$Scope of org.graalvm.compiler.debug.DebugContext
  public abstract MoveFactory = org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory of org.graalvm.compiler.lir.gen.LIRGeneratorTool
  public final AllocationContext = org.graalvm.compiler.lir.phases.AllocationPhase$AllocationContext of org.graalvm.compiler.lir.phases.AllocationPhase
  public final PostAllocationOptimizationContext = org.graalvm.compiler.lir.phases.PostAllocationOptimizationPhase$PostAllocationOptimizationContext of org.graalvm.compiler.lir.phases.PostAllocationOptimizationPhase
  public final PreAllocationOptimizationContext = org.graalvm.compiler.lir.phases.PreAllocationOptimizationPhase$PreAllocationOptimizationContext of org.graalvm.compiler.lir.phases.PreAllocationOptimizationPhase
  public ScheduleResult = org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult of org.graalvm.compiler.nodes.StructuredGraph
  public final Optionality = org.graalvm.compiler.phases.common.DeadCodeEliminationPhase$Optionality of org.graalvm.compiler.phases.common.DeadCodeEliminationPhase