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 84
            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 86
            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 87
            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 88
            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 89
            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 90
            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 84
            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;)Lorg/graalvm/compiler/code/CompilationResult;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=13, locals=11, args_size=11
        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
         0: .line 158
            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 */
            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;)V
            invokestatic org.graalvm.compiler.core.GraalCompiler.compile:(Lorg/graalvm/compiler/core/GraalCompiler$Request;)Lorg/graalvm/compiler/code/CompilationResult;
            areturn
        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    1     0               graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0    1     1  installedCodeOwner  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0    1     2           providers  Lorg/graalvm/compiler/phases/util/Providers;
            0    1     3             backend  Lorg/graalvm/compiler/core/target/Backend;
            0    1     4   graphBuilderSuite  Lorg/graalvm/compiler/phases/PhaseSuite<Lorg/graalvm/compiler/phases/tiers/HighTierContext;>;
            0    1     5      optimisticOpts  Lorg/graalvm/compiler/phases/OptimisticOptimizations;
            0    1     6       profilingInfo  Ljdk/vm/ci/meta/ProfilingInfo;
            0    1     7              suites  Lorg/graalvm/compiler/phases/tiers/Suites;
            0    1     8           lirSuites  Lorg/graalvm/compiler/lir/phases/LIRSuites;
            0    1     9   compilationResult  TT;
            0    1    10             factory  Lorg/graalvm/compiler/lir/asm/CompilationResultBuilderFactory;
    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;)TT;
    MethodParameters:
                    Name  Flags
      graph               
      installedCodeOwner  
      providers           
      backend             
      graphBuilderSuite   
      optimisticOpts      
      profilingInfo       
      suites              
      lirSuites           
      compilationResult   
      factory             

  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 168
            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 169
            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 170
            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 171
      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 172
            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 173
            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 174
            aload 8 /* a */
            ifnull 12
            aload 8 /* a */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 12
      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: java.lang.Throwable
        10: astore 5
            aload 8 /* a */
            ifnull 11
            aload 8 /* a */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 8 // org.graalvm.compiler.debug.DebugCloseable a
      StackMap locals:
      StackMap stack:
        11: aload 5
            athrow
      StackMap locals:
      StackMap stack:
        12: aload 7 /* s0 */
            ifnull 22
            aload 7 /* s0 */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
            goto 22
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: astore 6
            aload 5
            ifnonnull 14
            aload 6
            astore 5
            goto 15
      StackMap locals:
      StackMap stack:
        14: aload 5
            aload 6
            if_acmpeq 15
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        15: aload 7 /* s0 */
            ifnull 16
            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:
        16: aload 5
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        17: astore 6
            aload 5
            ifnonnull 18
            aload 6
            astore 5
            goto 19
      StackMap locals:
      StackMap stack:
        18: aload 5
            aload 6
            if_acmpeq 19
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        19: 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
        20: astore 5 /* e */
        start local 5 // java.lang.Throwable e
        21: .line 175
            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
        22: .line 177
      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
        23: .line 178
            aload 0 /* r */
            getfield org.graalvm.compiler.core.GraalCompiler$Request.compilationResult:Lorg/graalvm/compiler/code/CompilationResult;
        24: .line 179
            aload 4 /* alarm */
            ifnull 25
            aload 4 /* alarm */
            invokevirtual org.graalvm.compiler.core.common.util.CompilationAlarm.close:()V
        25: .line 178
      StackMap locals:
      StackMap stack: org.graalvm.compiler.code.CompilationResult
            areturn
      StackMap locals:
      StackMap stack: java.lang.Throwable
        26: astore 2
        27: .line 179
            aload 4 /* alarm */
            ifnull 28
            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:
        28: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        29: astore 3
            aload 2
            ifnonnull 30
            aload 3
            astore 2
            goto 31
      StackMap locals:
      StackMap stack:
        30: aload 2
            aload 3
            if_acmpeq 31
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        31: 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   32     0      r  Lorg/graalvm/compiler/core/GraalCompiler$Request<TT;>;
            1   32     1  debug  Lorg/graalvm/compiler/debug/DebugContext;
            3   28     4  alarm  Lorg/graalvm/compiler/core/common/util/CompilationAlarm;
            6   16     7     s0  Lorg/graalvm/compiler/debug/DebugContext$Scope;
            7   11     8      a  Lorg/graalvm/compiler/debug/DebugCloseable;
           21   22     5      e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           7     9      10  any
           6    12      13  any
           5    17      17  any
           4    20      20  Class java.lang.Throwable
           3    24      26  any
           2    25      29  any
          26    29      29  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=9, args_size=1
        start local 0 // org.graalvm.compiler.nodes.StructuredGraph graph
         0: .line 191
            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 /* methodPattern */
        start local 1 // java.lang.String methodPattern
         1: .line 192
            aload 1 /* methodPattern */
            ifnull 16
         2: .line 193
            aconst_null
            astore 2 /* crashLabel */
        start local 2 // java.lang.String crashLabel
         3: .line 194
            aload 0 /* graph */
            getfield org.graalvm.compiler.nodes.StructuredGraph.name:Ljava/lang/String;
            ifnull 5
            aload 0 /* graph */
            getfield org.graalvm.compiler.nodes.StructuredGraph.name:Ljava/lang/String;
            aload 1 /* methodPattern */
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 5
         4: .line 195
            aload 0 /* graph */
            getfield org.graalvm.compiler.nodes.StructuredGraph.name:Ljava/lang/String;
            astore 2 /* crashLabel */
         5: .line 197
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 2 /* crashLabel */
            ifnonnull 14
         6: .line 198
            aload 0 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            astore 3 /* method */
        start local 3 // jdk.vm.ci.meta.ResolvedJavaMethod method
         7: .line 199
            aload 1 /* methodPattern */
            invokestatic org.graalvm.compiler.debug.MethodFilter.parse:(Ljava/lang/String;)[Lorg/graalvm/compiler/debug/MethodFilter;
            astore 4 /* filters */
        start local 4 // org.graalvm.compiler.debug.MethodFilter[] filters
         8: .line 200
            aload 4 /* filters */
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 13
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph 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:
         9: aload 8
            iload 6
            aaload
            astore 5 /* filter */
        start local 5 // org.graalvm.compiler.debug.MethodFilter filter
        10: .line 201
            aload 5 /* filter */
            aload 3 /* method */
            invokevirtual org.graalvm.compiler.debug.MethodFilter.matches:(Ljdk/vm/ci/meta/JavaMethod;)Z
            ifeq 12
        11: .line 202
            aload 3 /* method */
            ldc "%H.%n(%p)"
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.format:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* crashLabel */
        end local 5 // org.graalvm.compiler.debug.MethodFilter filter
        12: .line 200
      StackMap locals:
      StackMap stack:
            iinc 6 1
      StackMap locals:
      StackMap stack:
        13: iload 6
            iload 7
            if_icmplt 9
        end local 4 // org.graalvm.compiler.debug.MethodFilter[] filters
        end local 3 // jdk.vm.ci.meta.ResolvedJavaMethod method
        14: .line 206
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph java.lang.String java.lang.String
      StackMap stack:
            aload 2 /* crashLabel */
            ifnull 16
        15: .line 207
            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 2 /* 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 2 // java.lang.String crashLabel
        16: .line 210
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String methodPattern
        end local 0 // org.graalvm.compiler.nodes.StructuredGraph graph
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   17     0          graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            1   17     1  methodPattern  Ljava/lang/String;
            3   16     2     crashLabel  Ljava/lang/String;
            7   14     3         method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            8   14     4        filters  [Lorg/graalvm/compiler/debug/MethodFilter;
           10   12     5         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 218
            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 219
            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 220
            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 221
            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 222
            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 223
            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 224
            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 225
            goto 11
        10: .line 226
      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 229
      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 230
            aload 2 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.maybeCompress:()Z
            pop
        13: .line 231
            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 233
            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 234
            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 235
            aload 2 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.maybeCompress:()Z
            pop
        17: .line 236
            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 238
            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 239
            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 240
            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 242
            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
        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
        22: .line 243
            aload 11 /* a */
            ifnull 25
            aload 11 /* a */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 25
      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
        23: astore 8
            aload 11 /* a */
            ifnull 24
            aload 11 /* a */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 11 // org.graalvm.compiler.debug.DebugCloseable a
      StackMap locals:
      StackMap stack:
        24: aload 8
            athrow
      StackMap locals:
      StackMap stack:
        25: aload 10 /* s */
            ifnull 38
            aload 10 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
            goto 38
      StackMap locals:
      StackMap stack: java.lang.Throwable
        26: astore 9
            aload 8
            ifnonnull 27
            aload 9
            astore 8
            goto 28
      StackMap locals:
      StackMap stack:
        27: aload 8
            aload 9
            if_acmpeq 28
            aload 8
            aload 9
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        28: aload 10 /* s */
            ifnull 29
            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:
        29: aload 8
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        30: astore 9
            aload 8
            ifnonnull 31
            aload 9
            astore 8
            goto 32
      StackMap locals:
      StackMap stack:
        31: aload 8
            aload 9
            if_acmpeq 32
            aload 8
            aload 9
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        32: 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
        33: astore 8 /* e */
        start local 8 // java.lang.Throwable e
        34: .line 244
            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
        35: .line 245
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 15
        36: .line 246
            aload 2 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.checkCancellation:()V
        37: .line 247
            aload 15
            athrow
        38: .line 246
      StackMap locals:
      StackMap stack:
            aload 2 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.checkCancellation:()V
        39: .line 248
            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   40     0          providers  Lorg/graalvm/compiler/phases/util/Providers;
            0   40     1             target  Lorg/graalvm/compiler/phases/tiers/TargetProvider;
            0   40     2              graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0   40     3  graphBuilderSuite  Lorg/graalvm/compiler/phases/PhaseSuite<Lorg/graalvm/compiler/phases/tiers/HighTierContext;>;
            0   40     4     optimisticOpts  Lorg/graalvm/compiler/phases/OptimisticOptimizations;
            0   40     5      profilingInfo  Ljdk/vm/ci/meta/ProfilingInfo;
            0   40     6             suites  Lorg/graalvm/compiler/phases/tiers/Suites;
            1   40     7              debug  Lorg/graalvm/compiler/debug/DebugContext;
            3   29    10                  s  Lorg/graalvm/compiler/debug/DebugContext$Scope;
            4   24    11                  a  Lorg/graalvm/compiler/debug/DebugCloseable;
            5   22    12    highTierContext  Lorg/graalvm/compiler/phases/tiers/HighTierContext;
           15   22    13     midTierContext  Lorg/graalvm/compiler/phases/tiers/MidTierContext;
           19   22    14     lowTierContext  Lorg/graalvm/compiler/phases/tiers/LowTierContext;
           34   35     8                  e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           4    22      23  any
           3    25      26  any
           2    30      30  any
           1    33      33  Class java.lang.Throwable
           1    35      35  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 253
            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 254
            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 255
            aconst_null
            astore 13 /* lirGen */
        start local 13 // org.graalvm.compiler.lir.gen.LIRGenerationResult lirGen
         5: .line 256
            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 257
            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 258
            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 259
            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 260
            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:()Lorg/graalvm/util/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;Lorg/graalvm/util/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 261
            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 262
            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 264
      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 265
            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 266
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 18
        35: .line 267
            aload 0 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.checkCancellation:()V
        36: .line 268
            aload 18
            athrow
        37: .line 267
      StackMap locals:
      StackMap stack:
            aload 0 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.checkCancellation:()V
        38: .line 269
            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 273
            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 274
            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 276
            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 285
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.checkCancellation:()V
         6: .line 276
            aload 9
            areturn
         7: .line 277
      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 278
            aload 6 /* allocationRestrictedTo */
            ifnull 13
         9: .line 279
            aconst_null
            astore 6 /* allocationRestrictedTo */
        10: .line 280
            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 285
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.checkCancellation:()V
        12: .line 280
            aload 9
            areturn
        13: .line 283
      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 284
      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 285
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.checkCancellation:()V
        16: .line 286
            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 292
            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 293
            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 294
            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 295
      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 296
            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 297
            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 298
            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 299
      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 301
      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 302
            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 303
            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 305
            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 306
            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 307
            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 308
            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 311
            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 312
            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 314
            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 316
            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 317
            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 318
            aload 25 /* result */
            astore 27
        24: .line 319
            aload 24 /* s */
            ifnull 25
            aload 24 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
        25: .line 322
      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 325
      StackMap locals:
      StackMap stack:
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.checkCancellation:()V
        28: .line 318
            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 319
            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 320
            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 322
            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 323
            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 324
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 26
        50: .line 325
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.checkCancellation:()V
        51: .line 326
            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 330
            aload 1 /* compilationResult */
            ifnull 2
            aload 1 /* compilationResult */
            invokevirtual org.graalvm.compiler.code.CompilationResult.getName:()Ljava/lang/String;
            ifnull 2
         1: .line 331
            aload 1 /* compilationResult */
            invokevirtual org.graalvm.compiler.code.CompilationResult.getName:()Ljava/lang/String;
            areturn
         2: .line 333
      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 334
            aload 2 /* method */
            ifnonnull 5
         4: .line 335
            ldc "<unknown>"
            areturn
         5: .line 337
      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 342
            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 343
            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 344
            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 345
            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 347
            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 348
            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 349
            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 351
            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 352
            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 353
            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 355
            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>, org.graalvm.util.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;Lorg/graalvm/util/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 // org.graalvm.util.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 362
            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 363
            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 364
            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 365
            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 366
            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 367
            aload 1 /* assumptions */
            ifnull 8
            aload 1 /* assumptions */
            invokevirtual jdk.vm.ci.meta.Assumptions.isEmpty:()Z
            ifne 8
         7: .line 368
            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 370
      StackMap locals: org.graalvm.compiler.core.target.Backend jdk.vm.ci.meta.Assumptions jdk.vm.ci.meta.ResolvedJavaMethod java.util.Collection org.graalvm.util.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 371
            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 372
            aload 7 /* compilationResult */
            aload 4 /* accessedFields */
            invokevirtual org.graalvm.compiler.code.CompilationResult.setFields:(Lorg/graalvm/util/EconomicSet;)V
        11: .line 373
            aload 7 /* compilationResult */
            iload 5 /* bytecodeSize */
            invokevirtual org.graalvm.compiler.code.CompilationResult.setBytecodeSize:(I)V
        12: .line 375
      StackMap locals:
      StackMap stack:
            aload 15 /* crb */
            invokevirtual org.graalvm.compiler.lir.asm.CompilationResultBuilder.finish:()V
        13: .line 376
            aload 10 /* debug */
            invokevirtual org.graalvm.compiler.debug.DebugContext.isCountEnabled:()Z
            ifeq 36
        14: .line 377
            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 378
            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 379
            aload 17 /* kindValues */
            arraylength
            anewarray org.graalvm.compiler.debug.CounterKey
            astore 18 /* dms */
        start local 18 // org.graalvm.compiler.debug.CounterKey[] dms
        17: .line 380
            iconst_0
            istore 19 /* i */
        start local 19 // int i
        18: goto 21
        19: .line 381
      StackMap locals: org.graalvm.compiler.core.target.Backend jdk.vm.ci.meta.Assumptions jdk.vm.ci.meta.ResolvedJavaMethod java.util.Collection org.graalvm.util.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 380
            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 384
            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 org.graalvm.util.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 385
            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 386
            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 387
            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 388
            aload 22 /* constant */
            instanceof jdk.vm.ci.meta.JavaConstant
            ifeq 29
        28: .line 389
            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 392
      StackMap locals: org.graalvm.compiler.core.target.Backend jdk.vm.ci.meta.Assumptions jdk.vm.ci.meta.ResolvedJavaMethod java.util.Collection org.graalvm.util.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 384
      StackMap locals: org.graalvm.compiler.core.target.Backend jdk.vm.ci.meta.Assumptions jdk.vm.ci.meta.ResolvedJavaMethod java.util.Collection org.graalvm.util.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 395
            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 396
            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 397
            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 398
            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 399
            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 402
      StackMap locals: org.graalvm.compiler.core.target.Backend jdk.vm.ci.meta.Assumptions jdk.vm.ci.meta.ResolvedJavaMethod java.util.Collection org.graalvm.util.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 403
            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 org.graalvm.util.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 404
      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 // org.graalvm.util.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  Lorg/graalvm/util/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;>;Lorg/graalvm/util/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