public final class org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy
  super_class: java.lang.Object
{
  private static volatile int[] $SWITCH_TABLE$org$graalvm$compiler$lir$alloc$trace$DefaultTraceRegisterAllocationPolicy$TraceRAPolicies;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

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

  public static org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPolicy allocationPolicy(jdk.vm.ci.code.TargetDescription, org.graalvm.compiler.lir.gen.LIRGenerationResult, org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory, org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig, jdk.vm.ci.meta.AllocatableValue[], org.graalvm.compiler.core.common.alloc.TraceBuilderResult, boolean);
    descriptor: (Ljdk/vm/ci/code/TargetDescription;Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;Lorg/graalvm/compiler/core/common/alloc/RegisterAllocationConfig;[Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/core/common/alloc/TraceBuilderResult;Z)Lorg/graalvm/compiler/lir/alloc/trace/TraceRegisterAllocationPolicy;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=9, locals=8, args_size=7
        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$MoveFactory spillMoveFactory
        start local 3 // org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig registerAllocationConfig
        start local 4 // jdk.vm.ci.meta.AllocatableValue[] cachedStackSlots
        start local 5 // org.graalvm.compiler.core.common.alloc.TraceBuilderResult resultTraces
        start local 6 // boolean neverSpillConstant
         0: .line 141
            new org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPolicy
            dup
            aload 0 /* target */
            aload 1 /* lirGenRes */
            aload 2 /* spillMoveFactory */
            aload 3 /* registerAllocationConfig */
            aload 4 /* cachedStackSlots */
            aload 5 /* resultTraces */
            iload 6 /* neverSpillConstant */
            invokespecial org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPolicy.<init>:(Ljdk/vm/ci/code/TargetDescription;Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;Lorg/graalvm/compiler/core/common/alloc/RegisterAllocationConfig;[Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/core/common/alloc/TraceBuilderResult;Z)V
            astore 7 /* plan */
        start local 7 // org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPolicy plan
         1: .line 142
            getstatic org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$Options.TraceRAtrivialBlockAllocator:Lorg/graalvm/compiler/options/StableOptionValue;
            invokevirtual org.graalvm.compiler.options.StableOptionValue.getValue:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 3
         2: .line 143
            aload 7 /* plan */
            new org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$TrivialTraceStrategy
            dup
            aload 7 /* plan */
            invokespecial org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$TrivialTraceStrategy.<init>:(Lorg/graalvm/compiler/lir/alloc/trace/TraceRegisterAllocationPolicy;)V
            invokevirtual org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPolicy.appendStrategy:(Lorg/graalvm/compiler/lir/alloc/trace/TraceRegisterAllocationPolicy$AllocationStrategy;)V
         3: .line 145
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPolicy
      StackMap stack:
            invokestatic org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy.$SWITCH_TABLE$org$graalvm$compiler$lir$alloc$trace$DefaultTraceRegisterAllocationPolicy$TraceRAPolicies:()[I
            getstatic org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$Options.TraceRAPolicy:Lorg/graalvm/compiler/options/EnumOptionValue;
            invokevirtual org.graalvm.compiler.options.EnumOptionValue.getValue:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$TraceRAPolicies
            invokevirtual org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$TraceRAPolicies.ordinal:()I
            iaload
            tableswitch { // 1 - 3
                    1: 4
                    2: 4
                    3: 6
              default: 9
          }
         4: .line 148
      StackMap locals:
      StackMap stack:
            aload 7 /* plan */
            new org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$TraceLinearScanStrategy
            dup
            aload 7 /* plan */
            invokespecial org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$TraceLinearScanStrategy.<init>:(Lorg/graalvm/compiler/lir/alloc/trace/TraceRegisterAllocationPolicy;)V
            invokevirtual org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPolicy.appendStrategy:(Lorg/graalvm/compiler/lir/alloc/trace/TraceRegisterAllocationPolicy$AllocationStrategy;)V
         5: .line 149
            goto 10
         6: .line 151
      StackMap locals:
      StackMap stack:
            aload 7 /* plan */
            new org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpStrategy
            dup
            aload 7 /* plan */
            invokespecial org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpStrategy.<init>:(Lorg/graalvm/compiler/lir/alloc/trace/TraceRegisterAllocationPolicy;)V
            invokevirtual org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPolicy.appendStrategy:(Lorg/graalvm/compiler/lir/alloc/trace/TraceRegisterAllocationPolicy$AllocationStrategy;)V
         7: .line 153
            aload 7 /* plan */
            new org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$TraceLinearScanStrategy
            dup
            aload 7 /* plan */
            invokespecial org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$TraceLinearScanStrategy.<init>:(Lorg/graalvm/compiler/lir/alloc/trace/TraceRegisterAllocationPolicy;)V
            invokevirtual org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPolicy.appendStrategy:(Lorg/graalvm/compiler/lir/alloc/trace/TraceRegisterAllocationPolicy$AllocationStrategy;)V
         8: .line 154
            goto 10
         9: .line 156
      StackMap locals:
      StackMap stack:
            invokestatic jdk.vm.ci.common.JVMCIError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        10: .line 158
      StackMap locals:
      StackMap stack:
            aload 7 /* plan */
            areturn
        end local 7 // org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPolicy plan
        end local 6 // boolean neverSpillConstant
        end local 5 // org.graalvm.compiler.core.common.alloc.TraceBuilderResult resultTraces
        end local 4 // jdk.vm.ci.meta.AllocatableValue[] cachedStackSlots
        end local 3 // org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig registerAllocationConfig
        end local 2 // org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory spillMoveFactory
        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          spillMoveFactory  Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;
            0   11     3  registerAllocationConfig  Lorg/graalvm/compiler/core/common/alloc/RegisterAllocationConfig;
            0   11     4          cachedStackSlots  [Ljdk/vm/ci/meta/AllocatableValue;
            0   11     5              resultTraces  Lorg/graalvm/compiler/core/common/alloc/TraceBuilderResult;
            0   11     6        neverSpillConstant  Z
            1   11     7                      plan  Lorg/graalvm/compiler/lir/alloc/trace/TraceRegisterAllocationPolicy;
    MethodParameters:
                          Name  Flags
      target                    
      lirGenRes                 
      spillMoveFactory          
      registerAllocationConfig  
      cachedStackSlots          
      resultTraces              
      neverSpillConstant        

  static int[] $SWITCH_TABLE$org$graalvm$compiler$lir$alloc$trace$DefaultTraceRegisterAllocationPolicy$TraceRAPolicies();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 49
            getstatic org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy.$SWITCH_TABLE$org$graalvm$compiler$lir$alloc$trace$DefaultTraceRegisterAllocationPolicy$TraceRAPolicies:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$TraceRAPolicies.values:()[Lorg/graalvm/compiler/lir/alloc/trace/DefaultTraceRegisterAllocationPolicy$TraceRAPolicies;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$TraceRAPolicies.BottomUpOnly:Lorg/graalvm/compiler/lir/alloc/trace/DefaultTraceRegisterAllocationPolicy$TraceRAPolicies;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$TraceRAPolicies.ordinal:()I
            iconst_3
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$TraceRAPolicies.Default:Lorg/graalvm/compiler/lir/alloc/trace/DefaultTraceRegisterAllocationPolicy$TraceRAPolicies;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$TraceRAPolicies.ordinal:()I
            iconst_1
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$TraceRAPolicies.LinearScanOnly:Lorg/graalvm/compiler/lir/alloc/trace/DefaultTraceRegisterAllocationPolicy$TraceRAPolicies;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$TraceRAPolicies.ordinal:()I
            iconst_2
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            dup
            putstatic org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy.$SWITCH_TABLE$org$graalvm$compiler$lir$alloc$trace$DefaultTraceRegisterAllocationPolicy$TraceRAPolicies:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
}
SourceFile: "DefaultTraceRegisterAllocationPolicy.java"
NestMembers:
  org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpStrategy  org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$Options  org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$TraceLinearScanStrategy  org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$TraceRAPolicies  org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$TrivialTraceStrategy
InnerClasses:
  public BottomUpStrategy = org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpStrategy of org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy
  public Options = org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$Options of org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy
  public final TraceLinearScanStrategy = org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$TraceLinearScanStrategy of org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy
  public final TraceRAPolicies = org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$TraceRAPolicies of org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy
  public final TrivialTraceStrategy = org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$TrivialTraceStrategy of org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy
  protected abstract AllocationStrategy = org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPolicy$AllocationStrategy of org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPolicy
  public abstract MoveFactory = org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory of org.graalvm.compiler.lir.gen.LIRGeneratorTool