final class org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator
  super_class: java.lang.Object
{
  private final jdk.vm.ci.meta.AllocatableValue[] currentRegisterMapping;
    descriptor: [Ljdk/vm/ci/meta/AllocatableValue;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final jdk.vm.ci.meta.AllocatableValue[] locations;
    descriptor: [Ljdk/vm/ci/meta/AllocatableValue;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int[] lastRegisterUsage;
    descriptor: [I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int[] lastRegisterKill;
    descriptor: [I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.util.ArrayList<org.graalvm.compiler.lir.LIRInstruction> currentInstructions;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/ArrayList<Lorg/graalvm/compiler/lir/LIRInstruction;>;

  private int currentInstructionIndex;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int currentOpId;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private final java.util.ArrayList<org.graalvm.compiler.lir.LIRInstruction> phiResolutionMoves;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/ArrayList<Lorg/graalvm/compiler/lir/LIRInstruction;>;

  private boolean requireResolution;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private final org.graalvm.compiler.lir.InstructionValueProcedure allocFixedRegisterProcedure;
    descriptor: Lorg/graalvm/compiler/lir/InstructionValueProcedure;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.graalvm.compiler.lir.InstructionValueProcedure allocRegisterProcedure;
    descriptor: Lorg/graalvm/compiler/lir/InstructionValueProcedure;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.graalvm.compiler.lir.InstructionValueProcedure allocStackOrRegisterProcedure;
    descriptor: Lorg/graalvm/compiler/lir/InstructionValueProcedure;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  final org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator this$0;
    descriptor: Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  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=1, locals=0, args_size=0
         0: .line 246
            ldc Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            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.lir.alloc.trace.bu.BottomUpAllocator$Allocator.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>(org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator);
    descriptor: (Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
         0: .line 265
            aload 0 /* this */
            aload 1
            putfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 377
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.phiResolutionMoves:Ljava/util/ArrayList;
         2: .line 606
            aload 0 /* this */
            new org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator$1
            dup
            aload 0 /* this */
            invokespecial org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator$1.<init>:(Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator$Allocator;)V
            putfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.allocFixedRegisterProcedure:Lorg/graalvm/compiler/lir/InstructionValueProcedure;
         3: .line 612
            aload 0 /* this */
            new org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator$2
            dup
            aload 0 /* this */
            invokespecial org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator$2.<init>:(Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator$Allocator;)V
            putfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.allocRegisterProcedure:Lorg/graalvm/compiler/lir/InstructionValueProcedure;
         4: .line 618
            aload 0 /* this */
            new org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator$3
            dup
            aload 0 /* this */
            invokespecial org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator$3.<init>:(Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator$Allocator;)V
            putfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.allocStackOrRegisterProcedure:Lorg/graalvm/compiler/lir/InstructionValueProcedure;
         5: .line 266
            aload 1
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.target:Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
            invokevirtual jdk.vm.ci.code.Architecture.getRegisters:()Ljdk/vm/ci/code/RegisterArray;
            astore 2 /* registers */
        start local 2 // jdk.vm.ci.code.RegisterArray registers
         6: .line 267
            aload 2 /* registers */
            invokevirtual jdk.vm.ci.code.RegisterArray.size:()I
            istore 3 /* numRegs */
        start local 3 // int numRegs
         7: .line 268
            aload 1
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.getLIR:()Lorg/graalvm/compiler/lir/LIR;
            invokevirtual org.graalvm.compiler.lir.LIR.numVariables:()I
            istore 4 /* numVar */
        start local 4 // int numVar
         8: .line 269
            aload 0 /* this */
            iload 3 /* numRegs */
            anewarray jdk.vm.ci.meta.AllocatableValue
            putfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.currentRegisterMapping:[Ljdk/vm/ci/meta/AllocatableValue;
         9: .line 270
            aload 0 /* this */
            iload 3 /* numRegs */
            newarray 10
            putfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.lastRegisterUsage:[I
        10: .line 271
            aload 0 /* this */
            iload 3 /* numRegs */
            newarray 10
            putfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.lastRegisterKill:[I
        11: .line 272
            aload 0 /* this */
            iload 4 /* numVar */
            anewarray jdk.vm.ci.meta.AllocatableValue
            putfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.locations:[Ljdk/vm/ci/meta/AllocatableValue;
        12: .line 274
            aload 0 /* this */
            iconst_2
            putfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.currentOpId:I
        13: .line 275
            return
        end local 4 // int numVar
        end local 3 // int numRegs
        end local 2 // jdk.vm.ci.code.RegisterArray registers
        end local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0       this  Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator$Allocator;
            6   14     2  registers  Ljdk/vm/ci/code/RegisterArray;
            7   14     3    numRegs  I
            8   14     4     numVar  I
    MethodParameters:
        Name  Flags
      this$0  final

  private void setCurrentValue(jdk.vm.ci.code.Register, jdk.vm.ci.meta.AllocatableValue);
    descriptor: (Ljdk/vm/ci/code/Register;Ljdk/vm/ci/meta/AllocatableValue;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
        start local 1 // jdk.vm.ci.code.Register reg
        start local 2 // jdk.vm.ci.meta.AllocatableValue val
         0: .line 278
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.currentRegisterMapping:[Ljdk/vm/ci/meta/AllocatableValue;
            aload 1 /* reg */
            getfield jdk.vm.ci.code.Register.number:I
            aload 2 /* val */
            aastore
         1: .line 279
            return
        end local 2 // jdk.vm.ci.meta.AllocatableValue val
        end local 1 // jdk.vm.ci.code.Register reg
        end local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator$Allocator;
            0    2     1   reg  Ljdk/vm/ci/code/Register;
            0    2     2   val  Ljdk/vm/ci/meta/AllocatableValue;
    MethodParameters:
      Name  Flags
      reg   
      val   

  private jdk.vm.ci.meta.AllocatableValue getCurrentValue(jdk.vm.ci.code.Register);
    descriptor: (Ljdk/vm/ci/code/Register;)Ljdk/vm/ci/meta/AllocatableValue;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
        start local 1 // jdk.vm.ci.code.Register reg
         0: .line 282
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.currentRegisterMapping:[Ljdk/vm/ci/meta/AllocatableValue;
            aload 1 /* reg */
            getfield jdk.vm.ci.code.Register.number:I
            aaload
            areturn
        end local 1 // jdk.vm.ci.code.Register reg
        end local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator$Allocator;
            0    1     1   reg  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      reg   

  private int getLastRegisterUsage(jdk.vm.ci.code.Register);
    descriptor: (Ljdk/vm/ci/code/Register;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
        start local 1 // jdk.vm.ci.code.Register reg
         0: .line 286
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.lastRegisterUsage:[I
            aload 1 /* reg */
            getfield jdk.vm.ci.code.Register.number:I
            iaload
            ireturn
        end local 1 // jdk.vm.ci.code.Register reg
        end local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator$Allocator;
            0    1     1   reg  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      reg   

  private void setLastRegisterUsage(jdk.vm.ci.code.Register, int);
    descriptor: (Ljdk/vm/ci/code/Register;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
        start local 1 // jdk.vm.ci.code.Register reg
        start local 2 // int pos
         0: .line 290
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.debug:Lorg/graalvm/compiler/debug/DebugContext;
            ldc "Register %s last used %d"
            aload 1 /* reg */
            iload 2 /* pos */
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;I)V
         1: .line 291
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.lastRegisterUsage:[I
            aload 1 /* reg */
            getfield jdk.vm.ci.code.Register.number:I
            iload 2 /* pos */
            iastore
         2: .line 292
            return
        end local 2 // int pos
        end local 1 // jdk.vm.ci.code.Register reg
        end local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator$Allocator;
            0    3     1   reg  Ljdk/vm/ci/code/Register;
            0    3     2   pos  I
    MethodParameters:
      Name  Flags
      reg   
      pos   

  private int getLastRegisterKill(jdk.vm.ci.code.Register);
    descriptor: (Ljdk/vm/ci/code/Register;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
        start local 1 // jdk.vm.ci.code.Register reg
         0: .line 295
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.lastRegisterKill:[I
            aload 1 /* reg */
            getfield jdk.vm.ci.code.Register.number:I
            iaload
            ireturn
        end local 1 // jdk.vm.ci.code.Register reg
        end local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator$Allocator;
            0    1     1   reg  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      reg   

  private void setLastRegisterKill(jdk.vm.ci.code.Register, int);
    descriptor: (Ljdk/vm/ci/code/Register;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
        start local 1 // jdk.vm.ci.code.Register reg
        start local 2 // int pos
         0: .line 299
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.debug:Lorg/graalvm/compiler/debug/DebugContext;
            ldc "Register %s killed %d"
            aload 1 /* reg */
            iload 2 /* pos */
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;I)V
         1: .line 300
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.lastRegisterKill:[I
            aload 1 /* reg */
            getfield jdk.vm.ci.code.Register.number:I
            iload 2 /* pos */
            iastore
         2: .line 301
            return
        end local 2 // int pos
        end local 1 // jdk.vm.ci.code.Register reg
        end local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator$Allocator;
            0    3     1   reg  Ljdk/vm/ci/code/Register;
            0    3     2   pos  I
    MethodParameters:
      Name  Flags
      reg   
      pos   

  private void setCurrentLocation(org.graalvm.compiler.lir.Variable, jdk.vm.ci.meta.AllocatableValue);
    descriptor: (Lorg/graalvm/compiler/lir/Variable;Ljdk/vm/ci/meta/AllocatableValue;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
        start local 1 // org.graalvm.compiler.lir.Variable var
        start local 2 // jdk.vm.ci.meta.AllocatableValue location
         0: .line 304
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.locations:[Ljdk/vm/ci/meta/AllocatableValue;
            aload 1 /* var */
            getfield org.graalvm.compiler.lir.Variable.index:I
            aload 2 /* location */
            aastore
         1: .line 305
            return
        end local 2 // jdk.vm.ci.meta.AllocatableValue location
        end local 1 // org.graalvm.compiler.lir.Variable var
        end local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator$Allocator;
            0    2     1       var  Lorg/graalvm/compiler/lir/Variable;
            0    2     2  location  Ljdk/vm/ci/meta/AllocatableValue;
    MethodParameters:
          Name  Flags
      var       
      location  

  private jdk.vm.ci.meta.AllocatableValue getCurrentLocation(org.graalvm.compiler.lir.Variable);
    descriptor: (Lorg/graalvm/compiler/lir/Variable;)Ljdk/vm/ci/meta/AllocatableValue;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
        start local 1 // org.graalvm.compiler.lir.Variable var
         0: .line 308
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.locations:[Ljdk/vm/ci/meta/AllocatableValue;
            aload 1 /* var */
            getfield org.graalvm.compiler.lir.Variable.index:I
            aaload
            areturn
        end local 1 // org.graalvm.compiler.lir.Variable var
        end local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator$Allocator;
            0    1     1   var  Lorg/graalvm/compiler/lir/Variable;
    MethodParameters:
      Name  Flags
      var   

  private void insertSpillMoveBefore(jdk.vm.ci.meta.AllocatableValue, jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
        start local 1 // jdk.vm.ci.meta.AllocatableValue dst
        start local 2 // jdk.vm.ci.meta.Value src
         0: .line 312
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.spillMoveFactory:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;
            aload 1 /* dst */
            aload 2 /* src */
            invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory.createMove:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/LIRInstruction;
            astore 3 /* move */
        start local 3 // org.graalvm.compiler.lir.LIRInstruction move
         1: .line 313
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.insertInstructionsBefore:Ljava/util/ArrayList;
            aload 3 /* move */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         2: .line 314
            aload 3 /* move */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.lirGenRes:Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
            ldc "BottomUp: spill move before"
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.setComment:(Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Ljava/lang/String;)V
         3: .line 315
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.debug:Lorg/graalvm/compiler/debug/DebugContext;
            ldc "insert before %s"
            aload 3 /* move */
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;)V
         4: .line 316
            return
        end local 3 // org.graalvm.compiler.lir.LIRInstruction move
        end local 2 // jdk.vm.ci.meta.Value src
        end local 1 // jdk.vm.ci.meta.AllocatableValue dst
        end local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator$Allocator;
            0    5     1   dst  Ljdk/vm/ci/meta/AllocatableValue;
            0    5     2   src  Ljdk/vm/ci/meta/Value;
            1    5     3  move  Lorg/graalvm/compiler/lir/LIRInstruction;
    MethodParameters:
      Name  Flags
      dst   
      src   

  private void insertSpillMoveAfter(jdk.vm.ci.meta.AllocatableValue, jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
        start local 1 // jdk.vm.ci.meta.AllocatableValue dst
        start local 2 // jdk.vm.ci.meta.Value src
         0: .line 319
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.currentInstructions:Ljava/util/ArrayList;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.currentInstructionIndex:I
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.compiler.lir.LIRInstruction
            astore 3 /* inst */
        start local 3 // org.graalvm.compiler.lir.LIRInstruction inst
         1: .line 320
            aload 3 /* inst */
            instanceof org.graalvm.compiler.lir.StandardOp$BlockEndOp
            ifne 7
         2: .line 321
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.spillMoveFactory:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;
            aload 1 /* dst */
            aload 2 /* src */
            invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory.createMove:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/LIRInstruction;
            astore 4 /* move */
        start local 4 // org.graalvm.compiler.lir.LIRInstruction move
         3: .line 322
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.insertInstructionsAfter:Ljava/util/ArrayList;
            aload 4 /* move */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         4: .line 323
            aload 4 /* move */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.lirGenRes:Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
            ldc "BottomUp: spill move after"
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.setComment:(Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Ljava/lang/String;)V
         5: .line 324
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.debug:Lorg/graalvm/compiler/debug/DebugContext;
            ldc "insert after %s"
            aload 4 /* move */
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 4 // org.graalvm.compiler.lir.LIRInstruction move
         6: .line 325
            goto 9
         7: .line 326
      StackMap locals: org.graalvm.compiler.lir.LIRInstruction
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.debug:Lorg/graalvm/compiler/debug/DebugContext;
            ldc "Block end op. No from %s to %s necessary."
            aload 2 /* src */
            aload 1 /* dst */
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         8: .line 327
            aload 0 /* this */
            iconst_1
            putfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.requireResolution:Z
         9: .line 329
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.graalvm.compiler.lir.LIRInstruction inst
        end local 2 // jdk.vm.ci.meta.Value src
        end local 1 // jdk.vm.ci.meta.AllocatableValue dst
        end local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator$Allocator;
            0   10     1   dst  Ljdk/vm/ci/meta/AllocatableValue;
            0   10     2   src  Ljdk/vm/ci/meta/Value;
            1   10     3  inst  Lorg/graalvm/compiler/lir/LIRInstruction;
            3    6     4  move  Lorg/graalvm/compiler/lir/LIRInstruction;
    MethodParameters:
      Name  Flags
      dst   
      src   

  private void insertInstructions();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
         0: .line 333
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.currentInstructions:Ljava/util/ArrayList;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.currentInstructions:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.insertInstructionsBefore:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            iadd
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.insertInstructionsAfter:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            iadd
            invokevirtual java.util.ArrayList.ensureCapacity:(I)V
         1: .line 334
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.currentInstructions:Ljava/util/ArrayList;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.currentInstructionIndex:I
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.compiler.lir.LIRInstruction
            astore 1 /* inst */
        start local 1 // org.graalvm.compiler.lir.LIRInstruction inst
         2: .line 336
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.insertInstructionsAfter:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            ifeq 7
         3: .line 337
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.insertInstructionsAfter:Ljava/util/ArrayList;
            invokestatic java.util.Collections.reverse:(Ljava/util/List;)V
         4: .line 338
            getstatic org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.$assertionsDisabled:Z
            ifne 5
            aload 1 /* inst */
            instanceof org.graalvm.compiler.lir.StandardOp$BlockEndOp
            ifeq 5
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot insert instruction after the block end op: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* inst */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         5: .line 339
      StackMap locals: org.graalvm.compiler.lir.LIRInstruction
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.currentInstructions:Ljava/util/ArrayList;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.currentInstructionIndex:I
            iconst_1
            iadd
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.insertInstructionsAfter:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.addAll:(ILjava/util/Collection;)Z
            pop
         6: .line 340
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.insertInstructionsAfter:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.clear:()V
         7: .line 343
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.insertInstructionsBefore:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            ifeq 11
         8: .line 344
            getstatic org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.$assertionsDisabled:Z
            ifne 9
            aload 1 /* inst */
            instanceof org.graalvm.compiler.lir.StandardOp$LabelOp
            ifeq 9
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot insert instruction before the label op: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* inst */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         9: .line 345
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.currentInstructions:Ljava/util/ArrayList;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.currentInstructionIndex:I
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.insertInstructionsBefore:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.addAll:(ILjava/util/Collection;)Z
            pop
        10: .line 346
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.insertInstructionsBefore:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.clear:()V
        11: .line 348
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.compiler.lir.LIRInstruction inst
        end local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator$Allocator;
            2   12     1  inst  Lorg/graalvm/compiler/lir/LIRInstruction;

  private void allocateTrace(org.graalvm.compiler.core.common.alloc.Trace);
    descriptor: (Lorg/graalvm/compiler/core/common/alloc/Trace;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=12, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
        start local 1 // org.graalvm.compiler.core.common.alloc.Trace trace
         0: .line 352
            aconst_null
            astore 2
            aconst_null
            astore 3
         1: aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.debug:Lorg/graalvm/compiler/debug/DebugContext;
            ldc "BottomUpAllocator"
            aload 1 /* trace */
            invokevirtual org.graalvm.compiler.core.common.alloc.Trace.getBlocks:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;[Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
            astore 4 /* s */
        start local 4 // org.graalvm.compiler.debug.DebugContext$Scope s
         2: aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.debug:Lorg/graalvm/compiler/debug/DebugContext;
            ldc "%s (Trace%d)"
            aload 1 /* trace */
            aload 1 /* trace */
            invokevirtual org.graalvm.compiler.core.common.alloc.Trace.getId:()I
            invokevirtual org.graalvm.compiler.debug.DebugContext.logAndIndent:(Ljava/lang/String;Ljava/lang/Object;I)Lorg/graalvm/compiler/debug/Indent;
            astore 5 /* indent */
        start local 5 // org.graalvm.compiler.debug.Indent indent
         3: .line 353
            aload 1 /* trace */
            invokevirtual org.graalvm.compiler.core.common.alloc.Trace.getBlocks:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            astore 6 /* blocks */
        start local 6 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] blocks
         4: .line 354
            aload 6 /* blocks */
            arraylength
            iconst_1
            isub
            istore 7 /* lastBlockIdx */
        start local 7 // int lastBlockIdx
         5: .line 355
            aload 6 /* blocks */
            iload 7 /* lastBlockIdx */
            aaload
            astore 8 /* successorBlock */
        start local 8 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase successorBlock
         6: .line 357
            aload 0 /* this */
            aload 8 /* successorBlock */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.allocateBlock:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Z
            pop
         7: .line 359
            iload 7 /* lastBlockIdx */
            iconst_1
            isub
            istore 9 /* i */
        start local 9 // int i
         8: goto 16
         9: .line 360
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator org.graalvm.compiler.core.common.alloc.Trace java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.debug.Indent org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] int org.graalvm.compiler.core.common.cfg.AbstractBlockBase int
      StackMap stack:
            aload 6 /* blocks */
            iload 9 /* i */
            aaload
            astore 10 /* block */
        start local 10 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
        10: .line 362
            aload 0 /* this */
            aload 10 /* block */
            aload 8 /* successorBlock */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.resolvePhis:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)V
        11: .line 363
            aload 0 /* this */
            aload 10 /* block */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.allocateBlock:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Z
            istore 11 /* needResolution */
        start local 11 // boolean needResolution
        12: .line 365
            iload 11 /* needResolution */
            ifeq 14
        13: .line 367
            aload 0 /* this */
            aload 10 /* block */
            aload 8 /* successorBlock */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.resolveIntraTraceEdge:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)V
        14: .line 369
      StackMap locals: org.graalvm.compiler.core.common.cfg.AbstractBlockBase int
      StackMap stack:
            aload 10 /* block */
            astore 8 /* successorBlock */
        end local 11 // boolean needResolution
        end local 10 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
        15: .line 359
            iinc 9 /* i */ -1
      StackMap locals:
      StackMap stack:
        16: iload 9 /* i */
            ifge 9
        end local 9 // int i
        17: .line 371
            aload 0 /* this */
            aload 1 /* trace */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.resolveLoopBackEdge:(Lorg/graalvm/compiler/core/common/alloc/Trace;)V
        end local 8 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase successorBlock
        end local 7 // int lastBlockIdx
        end local 6 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] blocks
        18: .line 372
            aload 5 /* indent */
            ifnull 21
            aload 5 /* indent */
            invokeinterface org.graalvm.compiler.debug.Indent.close:()V
            goto 21
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator org.graalvm.compiler.core.common.alloc.Trace java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.debug.Indent
      StackMap stack: java.lang.Throwable
        19: astore 2
            aload 5 /* indent */
            ifnull 20
            aload 5 /* indent */
            invokeinterface org.graalvm.compiler.debug.Indent.close:()V
        end local 5 // org.graalvm.compiler.debug.Indent indent
      StackMap locals:
      StackMap stack:
        20: aload 2
            athrow
      StackMap locals:
      StackMap stack:
        21: aload 4 /* s */
            ifnull 31
            aload 4 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
            goto 31
      StackMap locals:
      StackMap stack: java.lang.Throwable
        22: astore 3
            aload 2
            ifnonnull 23
            aload 3
            astore 2
            goto 24
      StackMap locals:
      StackMap stack:
        23: aload 2
            aload 3
            if_acmpeq 24
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        24: aload 4 /* s */
            ifnull 25
            aload 4 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
        end local 4 // org.graalvm.compiler.debug.DebugContext$Scope s
      StackMap locals:
      StackMap stack:
        25: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        26: astore 3
            aload 2
            ifnonnull 27
            aload 3
            astore 2
            goto 28
      StackMap locals:
      StackMap stack:
        27: aload 2
            aload 3
            if_acmpeq 28
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        28: aload 2
            athrow
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator org.graalvm.compiler.core.common.alloc.Trace
      StackMap stack: java.lang.Throwable
        29: astore 2 /* e */
        start local 2 // java.lang.Throwable e
        30: .line 373
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.debug:Lorg/graalvm/compiler/debug/DebugContext;
            aload 2 /* e */
            invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 2 // java.lang.Throwable e
        31: .line 375
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.compiler.core.common.alloc.Trace trace
        end local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   32     0            this  Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator$Allocator;
            0   32     1           trace  Lorg/graalvm/compiler/core/common/alloc/Trace;
            2   25     4               s  Lorg/graalvm/compiler/debug/DebugContext$Scope;
            3   20     5          indent  Lorg/graalvm/compiler/debug/Indent;
            4   18     6          blocks  [Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            5   18     7    lastBlockIdx  I
            6   18     8  successorBlock  Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
            8   17     9               i  I
           10   15    10           block  Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
           12   15    11  needResolution  Z
           30   31     2               e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           3    18      19  any
           2    21      22  any
           1    26      26  any
           0    29      29  Class java.lang.Throwable
    MethodParameters:
       Name  Flags
      trace  

  private void resolvePhis(org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>, org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>);
    descriptor: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
        start local 1 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase from
        start local 2 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase to
         0: .line 385
            aload 2 /* to */
            invokestatic org.graalvm.compiler.lir.ssa.SSAUtil.isMerge:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Z
            ifeq 13
         1: .line 386
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.getLIR:()Lorg/graalvm/compiler/lir/LIR;
            aload 1 /* from */
            invokestatic org.graalvm.compiler.lir.ssa.SSAUtil.phiOut:(Lorg/graalvm/compiler/lir/LIR;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Lorg/graalvm/compiler/lir/StandardOp$JumpOp;
            astore 3 /* jump */
        start local 3 // org.graalvm.compiler.lir.StandardOp$JumpOp jump
         2: .line 387
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.getLIR:()Lorg/graalvm/compiler/lir/LIR;
            aload 2 /* to */
            invokestatic org.graalvm.compiler.lir.ssa.SSAUtil.phiIn:(Lorg/graalvm/compiler/lir/LIR;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Lorg/graalvm/compiler/lir/StandardOp$LabelOp;
            astore 4 /* label */
        start local 4 // org.graalvm.compiler.lir.StandardOp$LabelOp label
         3: .line 389
            getstatic org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.$assertionsDisabled:Z
            ifne 4
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.phiResolutionMoves:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.isEmpty:()Z
            ifne 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 391
      StackMap locals: org.graalvm.compiler.lir.StandardOp$JumpOp org.graalvm.compiler.lir.StandardOp$LabelOp
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         5: goto 8
         6: .line 392
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 3 /* jump */
            iload 5 /* i */
            invokevirtual org.graalvm.compiler.lir.StandardOp$JumpOp.getOutgoingValue:(I)Ljdk/vm/ci/meta/Value;
            aload 4 /* label */
            iload 5 /* i */
            invokevirtual org.graalvm.compiler.lir.StandardOp$LabelOp.getIncomingValue:(I)Ljdk/vm/ci/meta/Value;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.visitPhiValuePair:(Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)V
         7: .line 391
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 5 /* i */
            aload 4 /* label */
            invokevirtual org.graalvm.compiler.lir.StandardOp$LabelOp.getPhiSize:()I
            if_icmplt 6
        end local 5 // int i
         9: .line 394
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.phiResolutionMoves:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.isEmpty:()Z
            ifne 13
        10: .line 395
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.getLIR:()Lorg/graalvm/compiler/lir/LIR;
            aload 1 /* from */
            invokevirtual org.graalvm.compiler.lir.LIR.getLIRforBlock:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Ljava/util/ArrayList;
            astore 5 /* instructions */
        start local 5 // java.util.ArrayList instructions
        11: .line 396
            aload 5 /* instructions */
            aload 5 /* instructions */
            invokevirtual java.util.ArrayList.size:()I
            iconst_1
            isub
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.phiResolutionMoves:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.addAll:(ILjava/util/Collection;)Z
            pop
        12: .line 397
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.phiResolutionMoves:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.clear:()V
        end local 5 // java.util.ArrayList instructions
        end local 4 // org.graalvm.compiler.lir.StandardOp$LabelOp label
        end local 3 // org.graalvm.compiler.lir.StandardOp$JumpOp jump
        13: .line 400
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase to
        end local 1 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase from
        end local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   14     0          this  Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator$Allocator;
            0   14     1          from  Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
            0   14     2            to  Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
            2   13     3          jump  Lorg/graalvm/compiler/lir/StandardOp$JumpOp;
            3   13     4         label  Lorg/graalvm/compiler/lir/StandardOp$LabelOp;
            5    9     5             i  I
           11   13     5  instructions  Ljava/util/ArrayList<Lorg/graalvm/compiler/lir/LIRInstruction;>;
    Signature: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;)V
    MethodParameters:
      Name  Flags
      from  
      to    

  private void visitPhiValuePair(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
        start local 1 // jdk.vm.ci.meta.Value phiOut
        start local 2 // jdk.vm.ci.meta.Value phiIn
         0: .line 403
            getstatic org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.$assertionsDisabled:Z
            ifne 1
            aload 2 /* phiIn */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isStackSlotValue:(Ljdk/vm/ci/meta/Value;)Z
            ifne 1
            aload 2 /* phiIn */
            invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "PHI defined values is not a register or stack slot: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* phiIn */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 404
      StackMap locals:
      StackMap stack:
            aload 2 /* phiIn */
            invokestatic jdk.vm.ci.code.ValueUtil.asAllocatableValue:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            astore 3 /* in */
        start local 3 // jdk.vm.ci.meta.AllocatableValue in
         2: .line 406
            aload 3 /* in */
            invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 3
            aload 0 /* this */
            aload 3 /* in */
            invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.getCurrentValue:(Ljdk/vm/ci/code/Register;)Ljdk/vm/ci/meta/AllocatableValue;
            goto 4
      StackMap locals: jdk.vm.ci.meta.AllocatableValue
      StackMap stack:
         3: aload 3 /* in */
      StackMap locals:
      StackMap stack: jdk.vm.ci.meta.AllocatableValue
         4: astore 4 /* dest */
        start local 4 // jdk.vm.ci.meta.AllocatableValue dest
         5: .line 408
            aload 1 /* phiOut */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isConstantValue:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 8
         6: .line 410
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.spillMoveFactory:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;
            aload 4 /* dest */
            aload 1 /* phiOut */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.asConstant:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Constant;
            invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory.createLoad:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Constant;)Lorg/graalvm/compiler/lir/LIRInstruction;
            astore 5 /* move */
        start local 5 // org.graalvm.compiler.lir.LIRInstruction move
         7: .line 411
            goto 10
        end local 5 // org.graalvm.compiler.lir.LIRInstruction move
         8: .line 412
      StackMap locals: jdk.vm.ci.meta.AllocatableValue
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.$assertionsDisabled:Z
            ifne 9
            aload 1 /* phiOut */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isVariable:(Ljdk/vm/ci/meta/Value;)Z
            ifne 9
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Not a variable or constant: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* phiOut */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         9: .line 414
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.spillMoveFactory:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;
            aload 4 /* dest */
            aload 1 /* phiOut */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.asVariable:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory.createMove:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/LIRInstruction;
            astore 5 /* move */
        start local 5 // org.graalvm.compiler.lir.LIRInstruction move
        10: .line 416
      StackMap locals: org.graalvm.compiler.lir.LIRInstruction
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.debug:Lorg/graalvm/compiler/debug/DebugContext;
            ldc "Inserting load %s"
            aload 5 /* move */
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;)V
        11: .line 417
            aload 5 /* move */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.lirGenRes:Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
            ldc "BottomUp: phi resolution"
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.setComment:(Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Ljava/lang/String;)V
        12: .line 418
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.phiResolutionMoves:Ljava/util/ArrayList;
            aload 5 /* move */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        13: .line 419
            return
        end local 5 // org.graalvm.compiler.lir.LIRInstruction move
        end local 4 // jdk.vm.ci.meta.AllocatableValue dest
        end local 3 // jdk.vm.ci.meta.AllocatableValue in
        end local 2 // jdk.vm.ci.meta.Value phiIn
        end local 1 // jdk.vm.ci.meta.Value phiOut
        end local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0    this  Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator$Allocator;
            0   14     1  phiOut  Ljdk/vm/ci/meta/Value;
            0   14     2   phiIn  Ljdk/vm/ci/meta/Value;
            2   14     3      in  Ljdk/vm/ci/meta/AllocatableValue;
            5   14     4    dest  Ljdk/vm/ci/meta/AllocatableValue;
            7    8     5    move  Lorg/graalvm/compiler/lir/LIRInstruction;
           10   14     5    move  Lorg/graalvm/compiler/lir/LIRInstruction;
    MethodParameters:
        Name  Flags
      phiOut  
      phiIn   

  private void resolveLoopBackEdge(org.graalvm.compiler.core.common.alloc.Trace);
    descriptor: (Lorg/graalvm/compiler/core/common/alloc/Trace;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=5, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
        start local 1 // org.graalvm.compiler.core.common.alloc.Trace trace
         0: .line 437
            aload 1 /* trace */
            invokevirtual org.graalvm.compiler.core.common.alloc.Trace.getBlocks:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            astore 2 /* blocks */
        start local 2 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] blocks
         1: .line 438
            aload 2 /* blocks */
            aload 2 /* blocks */
            arraylength
            iconst_1
            isub
            aaload
            astore 3 /* endBlock */
        start local 3 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase endBlock
         2: .line 439
            aload 3 /* endBlock */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.isLoopEnd:()Z
            ifeq 8
         3: .line 440
            getstatic org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.$assertionsDisabled:Z
            ifne 4
            aload 3 /* endBlock */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getSuccessorCount:()I
            iconst_1
            if_icmpeq 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 441
      StackMap locals: org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] org.graalvm.compiler.core.common.cfg.AbstractBlockBase
      StackMap stack:
            aload 3 /* endBlock */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getSuccessors:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            iconst_0
            aaload
            astore 4 /* targetBlock */
        start local 4 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase targetBlock
         5: .line 442
            getstatic org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.$assertionsDisabled:Z
            ifne 6
            aload 4 /* targetBlock */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.isLoopHeader:()Z
            ifne 6
            new java.lang.AssertionError
            dup
            ldc "Successor %s or loop end %s is not a loop header?"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* targetBlock */
            aastore
            dup
            iconst_1
            aload 3 /* endBlock */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 443
      StackMap locals: org.graalvm.compiler.core.common.cfg.AbstractBlockBase
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.resultTraces:Lorg/graalvm/compiler/core/common/alloc/TraceBuilderResult;
            aload 4 /* targetBlock */
            invokevirtual org.graalvm.compiler.core.common.alloc.TraceBuilderResult.getTraceForBlock:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Lorg/graalvm/compiler/core/common/alloc/Trace;
            aload 1 /* trace */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 444
            aload 0 /* this */
            aload 3 /* endBlock */
            aload 4 /* targetBlock */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.resolveLoopBackEdge:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)V
        end local 4 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase targetBlock
         8: .line 447
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase endBlock
        end local 2 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] blocks
        end local 1 // org.graalvm.compiler.core.common.alloc.Trace trace
        end local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator$Allocator;
            0    9     1        trace  Lorg/graalvm/compiler/core/common/alloc/Trace;
            1    9     2       blocks  [Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            2    9     3     endBlock  Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
            5    8     4  targetBlock  Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
    MethodParameters:
       Name  Flags
      trace  

  private void resolveLoopBackEdge(org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>, org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>);
    descriptor: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
        start local 1 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase from
        start local 2 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase to
         0: .line 450
            getstatic org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.resultTraces:Lorg/graalvm/compiler/core/common/alloc/TraceBuilderResult;
            aload 1 /* from */
            invokevirtual org.graalvm.compiler.core.common.alloc.TraceBuilderResult.getTraceForBlock:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Lorg/graalvm/compiler/core/common/alloc/Trace;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.resultTraces:Lorg/graalvm/compiler/core/common/alloc/TraceBuilderResult;
            aload 2 /* to */
            invokevirtual org.graalvm.compiler.core.common.alloc.TraceBuilderResult.getTraceForBlock:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Lorg/graalvm/compiler/core/common/alloc/Trace;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Not on the same trace? "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* from */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " -> "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* to */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 451
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            aload 1 /* from */
            aload 2 /* to */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.resolveFindInsertPos:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)V
         2: .line 452
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.getLIR:()Lorg/graalvm/compiler/lir/LIR;
            astore 3 /* lir */
        start local 3 // org.graalvm.compiler.lir.LIR lir
         3: .line 454
            aload 2 /* to */
            invokestatic org.graalvm.compiler.lir.ssa.SSAUtil.isMerge:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Z
            ifeq 13
         4: .line 455
            aload 3 /* lir */
            aload 1 /* from */
            invokestatic org.graalvm.compiler.lir.ssa.SSAUtil.phiOut:(Lorg/graalvm/compiler/lir/LIR;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Lorg/graalvm/compiler/lir/StandardOp$JumpOp;
            astore 4 /* blockEnd */
        start local 4 // org.graalvm.compiler.lir.StandardOp$JumpOp blockEnd
         5: .line 456
            aload 3 /* lir */
            aload 2 /* to */
            invokestatic org.graalvm.compiler.lir.ssa.SSAUtil.phiIn:(Lorg/graalvm/compiler/lir/LIR;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Lorg/graalvm/compiler/lir/StandardOp$LabelOp;
            astore 5 /* label */
        start local 5 // org.graalvm.compiler.lir.StandardOp$LabelOp label
         6: .line 458
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         7: goto 12
         8: .line 459
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator org.graalvm.compiler.core.common.cfg.AbstractBlockBase org.graalvm.compiler.core.common.cfg.AbstractBlockBase org.graalvm.compiler.lir.LIR org.graalvm.compiler.lir.StandardOp$JumpOp org.graalvm.compiler.lir.StandardOp$LabelOp int
      StackMap stack:
            aload 5 /* label */
            iload 6 /* i */
            invokevirtual org.graalvm.compiler.lir.StandardOp$LabelOp.getIncomingValue:(I)Ljdk/vm/ci/meta/Value;
            astore 7 /* incomingValue */
        start local 7 // jdk.vm.ci.meta.Value incomingValue
         9: .line 460
            aload 4 /* blockEnd */
            iload 6 /* i */
            invokevirtual org.graalvm.compiler.lir.StandardOp$JumpOp.getOutgoingValue:(I)Ljdk/vm/ci/meta/Value;
            astore 8 /* outgoingValue */
        start local 8 // jdk.vm.ci.meta.Value outgoingValue
        10: .line 461
            aload 0 /* this */
            aload 7 /* incomingValue */
            aload 8 /* outgoingValue */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.resolveValuePair:(Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)V
        end local 8 // jdk.vm.ci.meta.Value outgoingValue
        end local 7 // jdk.vm.ci.meta.Value incomingValue
        11: .line 458
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 6 /* i */
            aload 5 /* label */
            invokevirtual org.graalvm.compiler.lir.StandardOp$LabelOp.getPhiSize:()I
            if_icmplt 8
        end local 6 // int i
        end local 5 // org.graalvm.compiler.lir.StandardOp$LabelOp label
        end local 4 // org.graalvm.compiler.lir.StandardOp$JumpOp blockEnd
        13: .line 464
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* from */
            aload 2 /* to */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.resolveTraceEdge:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)V
        14: .line 465
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.moveResolver:Lorg/graalvm/compiler/lir/alloc/trace/TraceGlobalMoveResolver;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.TraceGlobalMoveResolver.resolveAndAppendMoves:()V
        15: .line 466
            return
        end local 3 // org.graalvm.compiler.lir.LIR lir
        end local 2 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase to
        end local 1 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase from
        end local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   16     0           this  Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator$Allocator;
            0   16     1           from  Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
            0   16     2             to  Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
            3   16     3            lir  Lorg/graalvm/compiler/lir/LIR;
            5   13     4       blockEnd  Lorg/graalvm/compiler/lir/StandardOp$JumpOp;
            6   13     5          label  Lorg/graalvm/compiler/lir/StandardOp$LabelOp;
            7   13     6              i  I
            9   11     7  incomingValue  Ljdk/vm/ci/meta/Value;
           10   11     8  outgoingValue  Ljdk/vm/ci/meta/Value;
    Signature: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;)V
    MethodParameters:
      Name  Flags
      from  
      to    

  private void resolveIntraTraceEdge(org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>, org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>);
    descriptor: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
        start local 1 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase from
        start local 2 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase to
         0: .line 469
            getstatic org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.resultTraces:Lorg/graalvm/compiler/core/common/alloc/TraceBuilderResult;
            aload 1 /* from */
            invokevirtual org.graalvm.compiler.core.common.alloc.TraceBuilderResult.getTraceForBlock:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Lorg/graalvm/compiler/core/common/alloc/Trace;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.resultTraces:Lorg/graalvm/compiler/core/common/alloc/TraceBuilderResult;
            aload 2 /* to */
            invokevirtual org.graalvm.compiler.core.common.alloc.TraceBuilderResult.getTraceForBlock:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Lorg/graalvm/compiler/core/common/alloc/Trace;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Not on the same trace? "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* from */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " -> "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* to */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 470
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            aload 1 /* from */
            aload 2 /* to */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.resolveFindInsertPos:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)V
         2: .line 471
            aload 0 /* this */
            aload 1 /* from */
            aload 2 /* to */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.resolveTraceEdge:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)V
         3: .line 472
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.moveResolver:Lorg/graalvm/compiler/lir/alloc/trace/TraceGlobalMoveResolver;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.TraceGlobalMoveResolver.resolveAndAppendMoves:()V
         4: .line 473
            return
        end local 2 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase to
        end local 1 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase from
        end local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator$Allocator;
            0    5     1  from  Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
            0    5     2    to  Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
    Signature: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;)V
    MethodParameters:
      Name  Flags
      from  
      to    

  private void resolveTraceEdge(org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>, org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>);
    descriptor: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
        start local 1 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase from
        start local 2 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase to
         0: .line 476
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.livenessInfo:Lorg/graalvm/compiler/lir/alloc/trace/GlobalLivenessInfo;
            aload 1 /* from */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo.getOutLocation:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)[Ljdk/vm/ci/meta/Value;
            astore 3 /* out */
        start local 3 // jdk.vm.ci.meta.Value[] out
         1: .line 477
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.livenessInfo:Lorg/graalvm/compiler/lir/alloc/trace/GlobalLivenessInfo;
            aload 2 /* to */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo.getInLocation:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)[Ljdk/vm/ci/meta/Value;
            astore 4 /* in */
        start local 4 // jdk.vm.ci.meta.Value[] in
         2: .line 479
            getstatic org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.$assertionsDisabled:Z
            ifne 3
            aload 3 /* out */
            ifnonnull 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 480
      StackMap locals: jdk.vm.ci.meta.Value[] jdk.vm.ci.meta.Value[]
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.$assertionsDisabled:Z
            ifne 4
            aload 4 /* in */
            ifnonnull 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 481
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.$assertionsDisabled:Z
            ifne 5
            aload 3 /* out */
            arraylength
            aload 4 /* in */
            arraylength
            if_icmpeq 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 483
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         6: goto 11
         7: .line 484
      StackMap locals: int
      StackMap stack:
            aload 4 /* in */
            iload 5 /* i */
            aaload
            astore 6 /* incomingValue */
        start local 6 // jdk.vm.ci.meta.Value incomingValue
         8: .line 485
            aload 3 /* out */
            iload 5 /* i */
            aaload
            astore 7 /* outgoingValue */
        start local 7 // jdk.vm.ci.meta.Value outgoingValue
         9: .line 486
            aload 0 /* this */
            aload 6 /* incomingValue */
            aload 7 /* outgoingValue */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.resolveValuePair:(Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)V
        end local 7 // jdk.vm.ci.meta.Value outgoingValue
        end local 6 // jdk.vm.ci.meta.Value incomingValue
        10: .line 483
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 5 /* i */
            aload 3 /* out */
            arraylength
            if_icmplt 7
        end local 5 // int i
        12: .line 488
            return
        end local 4 // jdk.vm.ci.meta.Value[] in
        end local 3 // jdk.vm.ci.meta.Value[] out
        end local 2 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase to
        end local 1 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase from
        end local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   13     0           this  Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator$Allocator;
            0   13     1           from  Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
            0   13     2             to  Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
            1   13     3            out  [Ljdk/vm/ci/meta/Value;
            2   13     4             in  [Ljdk/vm/ci/meta/Value;
            6   12     5              i  I
            8   10     6  incomingValue  Ljdk/vm/ci/meta/Value;
            9   10     7  outgoingValue  Ljdk/vm/ci/meta/Value;
    Signature: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;)V
    MethodParameters:
      Name  Flags
      from  
      to    

  private void resolveValuePair(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
        start local 1 // jdk.vm.ci.meta.Value incomingValue
        start local 2 // jdk.vm.ci.meta.Value outgoingValue
         0: .line 491
            aload 1 /* incomingValue */
            invokestatic jdk.vm.ci.code.ValueUtil.isIllegal:(Ljdk/vm/ci/meta/Value;)Z
            ifne 2
            aload 2 /* outgoingValue */
            aload 1 /* incomingValue */
            invokestatic org.graalvm.compiler.lir.alloc.trace.TraceGlobalMoveResolver.isMoveToSelf:(Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Z
            ifne 2
         1: .line 492
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.moveResolver:Lorg/graalvm/compiler/lir/alloc/trace/TraceGlobalMoveResolver;
            aload 2 /* outgoingValue */
            aload 1 /* incomingValue */
            invokestatic org.graalvm.compiler.lir.alloc.trace.TraceGlobalMoveResolutionPhase.addMapping:(Lorg/graalvm/compiler/lir/alloc/trace/TraceGlobalMoveResolutionPhase$MoveResolver;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)V
         2: .line 494
      StackMap locals:
      StackMap stack:
            return
        end local 2 // jdk.vm.ci.meta.Value outgoingValue
        end local 1 // jdk.vm.ci.meta.Value incomingValue
        end local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator$Allocator;
            0    3     1  incomingValue  Ljdk/vm/ci/meta/Value;
            0    3     2  outgoingValue  Ljdk/vm/ci/meta/Value;
    MethodParameters:
               Name  Flags
      incomingValue  
      outgoingValue  

  private boolean allocateBlock(org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>);
    descriptor: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
        start local 1 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
         0: .line 502
            aload 0 /* this */
            iconst_0
            putfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.requireResolution:Z
         1: .line 504
            aconst_null
            astore 2
            aconst_null
            astore 3
         2: aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.debug:Lorg/graalvm/compiler/debug/DebugContext;
            ldc "handle block %s"
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.debug.DebugContext.logAndIndent:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/Indent;
            astore 4 /* indent */
        start local 4 // org.graalvm.compiler.debug.Indent indent
         3: .line 505
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.getLIR:()Lorg/graalvm/compiler/lir/LIR;
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.lir.LIR.getLIRforBlock:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Ljava/util/ArrayList;
            putfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.currentInstructions:Ljava/util/ArrayList;
         4: .line 506
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.currentInstructions:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            iconst_1
            isub
            istore 5 /* lastInstIdx */
        start local 5 // int lastInstIdx
         5: .line 507
            aload 0 /* this */
            iload 5 /* lastInstIdx */
            putfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.currentInstructionIndex:I
            goto 15
         6: .line 508
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator org.graalvm.compiler.core.common.cfg.AbstractBlockBase java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent int
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.currentInstructions:Ljava/util/ArrayList;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.currentInstructionIndex:I
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.compiler.lir.LIRInstruction
            astore 6 /* inst */
        start local 6 // org.graalvm.compiler.lir.LIRInstruction inst
         7: .line 509
            aload 6 /* inst */
            ifnull 14
         8: .line 510
            aload 6 /* inst */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.currentOpId:I
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.setId:(I)V
         9: .line 511
            aload 0 /* this */
            aload 6 /* inst */
            aload 1 /* block */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.currentInstructionIndex:I
            ifne 10
            iconst_1
            goto 11
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator org.graalvm.compiler.core.common.cfg.AbstractBlockBase java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent int org.graalvm.compiler.lir.LIRInstruction
      StackMap stack: org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator org.graalvm.compiler.lir.LIRInstruction org.graalvm.compiler.core.common.cfg.AbstractBlockBase
        10: iconst_0
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator org.graalvm.compiler.core.common.cfg.AbstractBlockBase java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent int org.graalvm.compiler.lir.LIRInstruction
      StackMap stack: org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator org.graalvm.compiler.lir.LIRInstruction org.graalvm.compiler.core.common.cfg.AbstractBlockBase int
        11: aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.currentInstructionIndex:I
            iload 5 /* lastInstIdx */
            if_icmpne 12
            iconst_1
            goto 13
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator org.graalvm.compiler.core.common.cfg.AbstractBlockBase java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent int org.graalvm.compiler.lir.LIRInstruction
      StackMap stack: org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator org.graalvm.compiler.lir.LIRInstruction org.graalvm.compiler.core.common.cfg.AbstractBlockBase int
        12: iconst_0
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator org.graalvm.compiler.core.common.cfg.AbstractBlockBase java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent int org.graalvm.compiler.lir.LIRInstruction
      StackMap stack: org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator org.graalvm.compiler.lir.LIRInstruction org.graalvm.compiler.core.common.cfg.AbstractBlockBase int int
        13: invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.allocateInstruction:(Lorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;ZZ)V
        end local 6 // org.graalvm.compiler.lir.LIRInstruction inst
        14: .line 507
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.currentInstructionIndex:I
            iconst_1
            isub
            putfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.currentInstructionIndex:I
      StackMap locals:
      StackMap stack:
        15: aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.currentInstructionIndex:I
            ifge 6
        16: .line 514
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.allocatedBlocks:Ljava/util/BitSet;
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getId:()I
            invokevirtual java.util.BitSet.set:(I)V
        end local 5 // int lastInstIdx
        17: .line 515
            aload 4 /* indent */
            ifnull 23
            aload 4 /* indent */
            invokeinterface org.graalvm.compiler.debug.Indent.close:()V
            goto 23
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator org.graalvm.compiler.core.common.cfg.AbstractBlockBase java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent
      StackMap stack: java.lang.Throwable
        18: astore 2
            aload 4 /* indent */
            ifnull 19
            aload 4 /* indent */
            invokeinterface org.graalvm.compiler.debug.Indent.close:()V
        end local 4 // org.graalvm.compiler.debug.Indent indent
      StackMap locals:
      StackMap stack:
        19: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        20: astore 3
            aload 2
            ifnonnull 21
            aload 3
            astore 2
            goto 22
      StackMap locals:
      StackMap stack:
        21: aload 2
            aload 3
            if_acmpeq 22
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        22: aload 2
            athrow
        23: .line 516
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.requireResolution:Z
            ireturn
        end local 1 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
        end local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   24     0         this  Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator$Allocator;
            0   24     1        block  Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
            3   19     4       indent  Lorg/graalvm/compiler/debug/Indent;
            5   17     5  lastInstIdx  I
            7   14     6         inst  Lorg/graalvm/compiler/lir/LIRInstruction;
      Exception table:
        from    to  target  type
           3    17      18  any
           2    20      20  any
    Signature: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;)Z
    MethodParameters:
       Name  Flags
      block  

  private void allocateInstruction(org.graalvm.compiler.lir.LIRInstruction, org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>, boolean, );
    descriptor: (Lorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;ZZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=11, args_size=5
        start local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
        start local 1 // org.graalvm.compiler.lir.LIRInstruction op
        start local 2 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
        start local 3 // boolean isLabel
        start local 4 // boolean isBlockEnd
         0: .line 521
            getstatic org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.$assertionsDisabled:Z
            ifne 2
            aload 1 /* op */
            ifnull 1
            aload 1 /* op */
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.id:()I
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.currentOpId:I
            if_icmpeq 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 522
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5
            aconst_null
            astore 6
         3: aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.debug:Lorg/graalvm/compiler/debug/DebugContext;
            ldc "handle inst: %d: %s"
            aload 1 /* op */
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.id:()I
            aload 1 /* op */
            invokevirtual org.graalvm.compiler.debug.DebugContext.logAndIndent:(Ljava/lang/String;ILjava/lang/Object;)Lorg/graalvm/compiler/debug/Indent;
            astore 7 /* indent */
        start local 7 // org.graalvm.compiler.debug.Indent indent
         4: .line 523
            aconst_null
            astore 8
            aconst_null
            astore 9
         5: aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.debug:Lorg/graalvm/compiler/debug/DebugContext;
            ldc "output pos"
            invokevirtual org.graalvm.compiler.debug.DebugContext.logAndIndent:(Ljava/lang/String;)Lorg/graalvm/compiler/debug/Indent;
            astore 10 /* indent1 */
        start local 10 // org.graalvm.compiler.debug.Indent indent1
         6: .line 525
            aload 1 /* op */
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.destroysCallerSavedRegisters:()Z
            ifeq 8
         7: .line 526
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.spillCallerSavedRegisters:()V
         8: .line 530
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator org.graalvm.compiler.lir.LIRInstruction org.graalvm.compiler.core.common.cfg.AbstractBlockBase int int java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent
      StackMap stack:
            aload 1 /* op */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.allocFixedRegisterProcedure:Lorg/graalvm/compiler/lir/InstructionValueProcedure;
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.forEachOutput:(Lorg/graalvm/compiler/lir/InstructionValueProcedure;)V
         9: .line 531
            aload 1 /* op */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.allocFixedRegisterProcedure:Lorg/graalvm/compiler/lir/InstructionValueProcedure;
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.forEachTemp:(Lorg/graalvm/compiler/lir/InstructionValueProcedure;)V
        10: .line 532
            aload 1 /* op */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.allocFixedRegisterProcedure:Lorg/graalvm/compiler/lir/InstructionValueProcedure;
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.forEachAlive:(Lorg/graalvm/compiler/lir/InstructionValueProcedure;)V
        11: .line 534
            aload 1 /* op */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.allocRegisterProcedure:Lorg/graalvm/compiler/lir/InstructionValueProcedure;
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.forEachOutput:(Lorg/graalvm/compiler/lir/InstructionValueProcedure;)V
        12: .line 535
            aload 1 /* op */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.allocRegisterProcedure:Lorg/graalvm/compiler/lir/InstructionValueProcedure;
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.forEachTemp:(Lorg/graalvm/compiler/lir/InstructionValueProcedure;)V
        13: .line 536
            aload 1 /* op */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.allocRegisterProcedure:Lorg/graalvm/compiler/lir/InstructionValueProcedure;
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.forEachAlive:(Lorg/graalvm/compiler/lir/InstructionValueProcedure;)V
        14: .line 541
            aload 1 /* op */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.allocStackOrRegisterProcedure:Lorg/graalvm/compiler/lir/InstructionValueProcedure;
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.forEachTemp:(Lorg/graalvm/compiler/lir/InstructionValueProcedure;)V
        15: .line 542
            aload 1 /* op */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.allocStackOrRegisterProcedure:Lorg/graalvm/compiler/lir/InstructionValueProcedure;
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.forEachOutput:(Lorg/graalvm/compiler/lir/InstructionValueProcedure;)V
        16: .line 543
            iload 3 /* isLabel */
            ifeq 19
        17: .line 544
            getstatic org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.$assertionsDisabled:Z
            ifne 18
            aload 1 /* op */
            instanceof org.graalvm.compiler.lir.StandardOp$LabelOp
            ifne 18
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        18: .line 545
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* block */
            aload 1 /* op */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.processIncoming:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/lir/LIRInstruction;)V
        19: .line 547
      StackMap locals:
      StackMap stack:
            aload 10 /* indent1 */
            ifnull 25
            aload 10 /* indent1 */
            invokeinterface org.graalvm.compiler.debug.Indent.close:()V
            goto 25
      StackMap locals:
      StackMap stack: java.lang.Throwable
        20: astore 8
            aload 10 /* indent1 */
            ifnull 21
            aload 10 /* indent1 */
            invokeinterface org.graalvm.compiler.debug.Indent.close:()V
        end local 10 // org.graalvm.compiler.debug.Indent indent1
      StackMap locals:
      StackMap stack:
        21: aload 8
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        22: astore 9
            aload 8
            ifnonnull 23
            aload 9
            astore 8
            goto 24
      StackMap locals:
      StackMap stack:
        23: aload 8
            aload 9
            if_acmpeq 24
            aload 8
            aload 9
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        24: aload 8
            athrow
        25: .line 548
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 8
            aconst_null
            astore 9
        26: aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.debug:Lorg/graalvm/compiler/debug/DebugContext;
            ldc "input pos"
            invokevirtual org.graalvm.compiler.debug.DebugContext.logAndIndent:(Ljava/lang/String;)Lorg/graalvm/compiler/debug/Indent;
            astore 10 /* indent1 */
        start local 10 // org.graalvm.compiler.debug.Indent indent1
        27: .line 550
            aload 0 /* this */
            dup
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.currentOpId:I
            iconst_1
            iadd
            putfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.currentOpId:I
        28: .line 553
            aload 1 /* op */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.allocFixedRegisterProcedure:Lorg/graalvm/compiler/lir/InstructionValueProcedure;
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.forEachInput:(Lorg/graalvm/compiler/lir/InstructionValueProcedure;)V
        29: .line 555
            aload 1 /* op */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.allocRegisterProcedure:Lorg/graalvm/compiler/lir/InstructionValueProcedure;
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.forEachInput:(Lorg/graalvm/compiler/lir/InstructionValueProcedure;)V
        30: .line 557
            aload 1 /* op */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.allocStackOrRegisterProcedure:Lorg/graalvm/compiler/lir/InstructionValueProcedure;
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.forEachAlive:(Lorg/graalvm/compiler/lir/InstructionValueProcedure;)V
        31: .line 558
            iload 4 /* isBlockEnd */
            ifeq 34
        32: .line 559
            getstatic org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.$assertionsDisabled:Z
            ifne 33
            aload 1 /* op */
            instanceof org.graalvm.compiler.lir.StandardOp$BlockEndOp
            ifne 33
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        33: .line 560
      StackMap locals: java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent
      StackMap stack:
            aload 0 /* this */
            aload 2 /* block */
            aload 1 /* op */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.processOutgoing:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/lir/LIRInstruction;)V
        34: .line 562
      StackMap locals:
      StackMap stack:
            aload 1 /* op */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.allocStackOrRegisterProcedure:Lorg/graalvm/compiler/lir/InstructionValueProcedure;
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.forEachState:(Lorg/graalvm/compiler/lir/InstructionValueProcedure;)V
        35: .line 563
            aload 1 /* op */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.allocStackOrRegisterProcedure:Lorg/graalvm/compiler/lir/InstructionValueProcedure;
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.forEachInput:(Lorg/graalvm/compiler/lir/InstructionValueProcedure;)V
        36: .line 564
            aload 10 /* indent1 */
            ifnull 42
            aload 10 /* indent1 */
            invokeinterface org.graalvm.compiler.debug.Indent.close:()V
            goto 42
      StackMap locals:
      StackMap stack: java.lang.Throwable
        37: astore 8
            aload 10 /* indent1 */
            ifnull 38
            aload 10 /* indent1 */
            invokeinterface org.graalvm.compiler.debug.Indent.close:()V
        end local 10 // org.graalvm.compiler.debug.Indent indent1
      StackMap locals:
      StackMap stack:
        38: aload 8
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        39: astore 9
            aload 8
            ifnonnull 40
            aload 9
            astore 8
            goto 41
      StackMap locals:
      StackMap stack:
        40: aload 8
            aload 9
            if_acmpeq 41
            aload 8
            aload 9
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        41: aload 8
            athrow
        42: .line 567
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.insertInstructions:()V
        43: .line 568
            aload 0 /* this */
            dup
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.currentOpId:I
            iconst_1
            iadd
            putfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.currentOpId:I
        44: .line 569
            aload 7 /* indent */
            ifnull 50
            aload 7 /* indent */
            invokeinterface org.graalvm.compiler.debug.Indent.close:()V
            goto 50
      StackMap locals:
      StackMap stack: java.lang.Throwable
        45: astore 5
            aload 7 /* indent */
            ifnull 46
            aload 7 /* indent */
            invokeinterface org.graalvm.compiler.debug.Indent.close:()V
        end local 7 // org.graalvm.compiler.debug.Indent indent
      StackMap locals:
      StackMap stack:
        46: aload 5
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        47: astore 6
            aload 5
            ifnonnull 48
            aload 6
            astore 5
            goto 49
      StackMap locals:
      StackMap stack:
        48: aload 5
            aload 6
            if_acmpeq 49
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        49: aload 5
            athrow
        50: .line 570
      StackMap locals:
      StackMap stack:
            return
        end local 4 // boolean isBlockEnd
        end local 3 // boolean isLabel
        end local 2 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
        end local 1 // org.graalvm.compiler.lir.LIRInstruction op
        end local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   51     0        this  Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator$Allocator;
            0   51     1          op  Lorg/graalvm/compiler/lir/LIRInstruction;
            0   51     2       block  Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
            0   51     3     isLabel  Z
            0   51     4  isBlockEnd  Z
            4   46     7      indent  Lorg/graalvm/compiler/debug/Indent;
            6   21    10     indent1  Lorg/graalvm/compiler/debug/Indent;
           27   38    10     indent1  Lorg/graalvm/compiler/debug/Indent;
      Exception table:
        from    to  target  type
           6    19      20  any
           5    22      22  any
          27    36      37  any
          26    39      39  any
           4    44      45  any
           3    47      47  any
    Signature: (Lorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;ZZ)V
    MethodParameters:
            Name  Flags
      op          
      block       
      isLabel     
      isBlockEnd  

  private void processIncoming(org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>, org.graalvm.compiler.lir.LIRInstruction);
    descriptor: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/lir/LIRInstruction;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=7, args_size=3
        start local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
        start local 1 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
        start local 2 // org.graalvm.compiler.lir.LIRInstruction instruction
         0: .line 573
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.livenessInfo:Lorg/graalvm/compiler/lir/alloc/trace/GlobalLivenessInfo;
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo.getBlockIn:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)[I
            astore 3 /* vars */
        start local 3 // int[] vars
         1: .line 574
            aload 3 /* vars */
            arraylength
            anewarray jdk.vm.ci.meta.Value
            astore 4 /* locs */
        start local 4 // jdk.vm.ci.meta.Value[] locs
         2: .line 575
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         3: goto 8
         4: .line 576
      StackMap locals: int[] jdk.vm.ci.meta.Value[] int
      StackMap stack:
            aload 3 /* vars */
            iload 5 /* i */
            iaload
            istore 6 /* varNum */
        start local 6 // int varNum
         5: .line 577
            iload 6 /* varNum */
            iflt 7
         6: .line 578
            aload 4 /* locs */
            iload 5 /* i */
            aload 0 /* this */
            aload 2 /* instruction */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.livenessInfo:Lorg/graalvm/compiler/lir/alloc/trace/GlobalLivenessInfo;
            iload 6 /* varNum */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo.getVariable:(I)Lorg/graalvm/compiler/lir/Variable;
            getstatic org.graalvm.compiler.lir.LIRInstruction$OperandMode.DEF:Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
            getstatic org.graalvm.compiler.lir.StandardOp$LabelOp.incomingFlags:Ljava/util/EnumSet;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.allocStackOrRegister:(Lorg/graalvm/compiler/lir/LIRInstruction;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)Ljdk/vm/ci/meta/Value;
            aastore
        end local 6 // int varNum
         7: .line 575
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 5 /* i */
            aload 3 /* vars */
            arraylength
            if_icmplt 4
        end local 5 // int i
         9: .line 581
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.livenessInfo:Lorg/graalvm/compiler/lir/alloc/trace/GlobalLivenessInfo;
            aload 1 /* block */
            aload 4 /* locs */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo.setInLocations:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;[Ljdk/vm/ci/meta/Value;)V
        10: .line 582
            return
        end local 4 // jdk.vm.ci.meta.Value[] locs
        end local 3 // int[] vars
        end local 2 // org.graalvm.compiler.lir.LIRInstruction instruction
        end local 1 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
        end local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0         this  Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator$Allocator;
            0   11     1        block  Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
            0   11     2  instruction  Lorg/graalvm/compiler/lir/LIRInstruction;
            1   11     3         vars  [I
            2   11     4         locs  [Ljdk/vm/ci/meta/Value;
            3    9     5            i  I
            5    7     6       varNum  I
    Signature: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;Lorg/graalvm/compiler/lir/LIRInstruction;)V
    MethodParameters:
             Name  Flags
      block        
      instruction  

  private void processOutgoing(org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>, org.graalvm.compiler.lir.LIRInstruction);
    descriptor: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/lir/LIRInstruction;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=6, args_size=3
        start local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
        start local 1 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
        start local 2 // org.graalvm.compiler.lir.LIRInstruction instruction
         0: .line 585
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.livenessInfo:Lorg/graalvm/compiler/lir/alloc/trace/GlobalLivenessInfo;
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo.getBlockOut:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)[I
            astore 3 /* vars */
        start local 3 // int[] vars
         1: .line 586
            aload 3 /* vars */
            arraylength
            anewarray jdk.vm.ci.meta.Value
            astore 4 /* locs */
        start local 4 // jdk.vm.ci.meta.Value[] locs
         2: .line 587
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         3: goto 6
         4: .line 588
      StackMap locals: int[] jdk.vm.ci.meta.Value[] int
      StackMap stack:
            aload 4 /* locs */
            iload 5 /* i */
            aload 0 /* this */
            aload 2 /* instruction */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.livenessInfo:Lorg/graalvm/compiler/lir/alloc/trace/GlobalLivenessInfo;
            aload 3 /* vars */
            iload 5 /* i */
            iaload
            invokevirtual org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo.getVariable:(I)Lorg/graalvm/compiler/lir/Variable;
            getstatic org.graalvm.compiler.lir.LIRInstruction$OperandMode.ALIVE:Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
            getstatic org.graalvm.compiler.lir.StandardOp$JumpOp.outgoingFlags:Ljava/util/EnumSet;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.allocStackOrRegister:(Lorg/graalvm/compiler/lir/LIRInstruction;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)Ljdk/vm/ci/meta/Value;
            aastore
         5: .line 587
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 5 /* i */
            aload 3 /* vars */
            arraylength
            if_icmplt 4
        end local 5 // int i
         7: .line 590
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.livenessInfo:Lorg/graalvm/compiler/lir/alloc/trace/GlobalLivenessInfo;
            aload 1 /* block */
            aload 4 /* locs */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo.setOutLocations:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;[Ljdk/vm/ci/meta/Value;)V
         8: .line 591
            return
        end local 4 // jdk.vm.ci.meta.Value[] locs
        end local 3 // int[] vars
        end local 2 // org.graalvm.compiler.lir.LIRInstruction instruction
        end local 1 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
        end local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator$Allocator;
            0    9     1        block  Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
            0    9     2  instruction  Lorg/graalvm/compiler/lir/LIRInstruction;
            1    9     3         vars  [I
            2    9     4         locs  [Ljdk/vm/ci/meta/Value;
            3    7     5            i  I
    Signature: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;Lorg/graalvm/compiler/lir/LIRInstruction;)V
    MethodParameters:
             Name  Flags
      block        
      instruction  

  private void spillCallerSavedRegisters();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
         0: .line 594
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.callerSaveRegs:Ljdk/vm/ci/code/RegisterArray;
            invokevirtual jdk.vm.ci.code.RegisterArray.iterator:()Ljava/util/Iterator;
            astore 2
            goto 6
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.vm.ci.code.Register
            astore 1 /* reg */
        start local 1 // jdk.vm.ci.code.Register reg
         2: .line 595
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            aload 1 /* reg */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.attributes:(Ljdk/vm/ci/code/Register;)Ljdk/vm/ci/code/RegisterAttributes;
            invokevirtual jdk.vm.ci.code.RegisterAttributes.isAllocatable:()Z
            ifeq 6
         3: .line 596
            aload 0 /* this */
            aload 1 /* reg */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.evacuateRegisterAndSpill:(Ljdk/vm/ci/code/Register;)Ljdk/vm/ci/meta/AllocatableValue;
            pop
         4: .line 597
            getstatic org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.$assertionsDisabled:Z
            ifne 5
            aload 0 /* this */
            aload 1 /* reg */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.checkRegisterUsage:(Ljdk/vm/ci/code/Register;)Z
            ifne 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 598
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator jdk.vm.ci.code.Register java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            aload 1 /* reg */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.currentOpId:I
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.setLastRegisterUsage:(Ljdk/vm/ci/code/Register;I)V
        end local 1 // jdk.vm.ci.code.Register reg
         6: .line 594
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator top java.util.Iterator
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         7: .line 601
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.debug:Lorg/graalvm/compiler/debug/DebugContext;
            invokevirtual org.graalvm.compiler.debug.DebugContext.isLogEnabled:()Z
            ifeq 9
         8: .line 602
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.debug:Lorg/graalvm/compiler/debug/DebugContext;
            ldc "operation destroys all caller-save registers"
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;)V
         9: .line 604
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator
      StackMap stack:
            return
        end local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator$Allocator;
            2    6     1   reg  Ljdk/vm/ci/code/Register;

  private jdk.vm.ci.meta.Value allocFixedRegister(jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
        start local 1 // jdk.vm.ci.meta.Value value
         0: .line 626
            aload 1 /* value */
            invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 5
         1: .line 627
            aload 1 /* value */
            invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
            astore 2 /* reg */
        start local 2 // jdk.vm.ci.code.Register reg
         2: .line 628
            getstatic org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.$assertionsDisabled:Z
            ifne 3
            aload 0 /* this */
            aload 2 /* reg */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.checkRegisterUsage:(Ljdk/vm/ci/code/Register;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 629
      StackMap locals: jdk.vm.ci.code.Register
      StackMap stack:
            aload 0 /* this */
            aload 2 /* reg */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.evacuateRegisterAndSpill:(Ljdk/vm/ci/code/Register;)Ljdk/vm/ci/meta/AllocatableValue;
            pop
         4: .line 630
            aload 0 /* this */
            aload 2 /* reg */
            aload 1 /* value */
            invokestatic jdk.vm.ci.code.ValueUtil.asAllocatableValue:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.setRegisterUsage:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/meta/AllocatableValue;)V
        end local 2 // jdk.vm.ci.code.Register reg
         5: .line 632
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            areturn
        end local 1 // jdk.vm.ci.meta.Value value
        end local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator$Allocator;
            0    6     1  value  Ljdk/vm/ci/meta/Value;
            2    5     2    reg  Ljdk/vm/ci/code/Register;
    MethodParameters:
       Name  Flags
      value  

  private jdk.vm.ci.meta.Value allocRegister(org.graalvm.compiler.lir.LIRInstruction, jdk.vm.ci.meta.Value, org.graalvm.compiler.lir.LIRInstruction$OperandMode, java.util.EnumSet<org.graalvm.compiler.lir.LIRInstruction$OperandFlag>);
    descriptor: (Lorg/graalvm/compiler/lir/LIRInstruction;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)Ljdk/vm/ci/meta/Value;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=5
        start local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
        start local 1 // org.graalvm.compiler.lir.LIRInstruction instruction
        start local 2 // jdk.vm.ci.meta.Value value
        start local 3 // org.graalvm.compiler.lir.LIRInstruction$OperandMode mode
        start local 4 // java.util.EnumSet flags
         0: .line 636
            aload 2 /* value */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isVariable:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 15
            aload 1 /* instruction */
            aload 2 /* value */
            aload 3 /* mode */
            aload 4 /* flags */
            invokestatic org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.requiresRegisters:(Lorg/graalvm/compiler/lir/LIRInstruction;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)Z
            ifeq 15
         1: .line 637
            aload 2 /* value */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.asVariable:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            astore 5 /* var */
        start local 5 // org.graalvm.compiler.lir.Variable var
         2: .line 639
            aload 0 /* this */
            aload 5 /* var */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.getCurrentLocation:(Lorg/graalvm/compiler/lir/Variable;)Ljdk/vm/ci/meta/AllocatableValue;
            astore 6 /* currentLocation */
        start local 6 // jdk.vm.ci.meta.AllocatableValue currentLocation
         3: .line 640
            aload 6 /* currentLocation */
            ifnonnull 5
         4: .line 642
            aload 0 /* this */
            aload 5 /* var */
            aload 3 /* mode */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.allocRegister:(Lorg/graalvm/compiler/lir/Variable;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;)Ljdk/vm/ci/meta/Value;
            areturn
         5: .line 645
      StackMap locals: org.graalvm.compiler.lir.Variable jdk.vm.ci.meta.AllocatableValue
      StackMap stack:
            aload 6 /* currentLocation */
            invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 8
         6: .line 647
            aload 0 /* this */
            aload 6 /* currentLocation */
            invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.currentOpId:I
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.setLastRegisterUsage:(Ljdk/vm/ci/code/Register;I)V
         7: .line 648
            aload 6 /* currentLocation */
            areturn
         8: .line 650
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.$assertionsDisabled:Z
            ifne 9
            aload 6 /* currentLocation */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isStackSlotValue:(Ljdk/vm/ci/meta/Value;)Z
            ifne 9
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         9: .line 652
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* var */
            aload 3 /* mode */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.allocRegister:(Lorg/graalvm/compiler/lir/Variable;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;)Ljdk/vm/ci/meta/Value;
            astore 7 /* allocatedRegister */
        start local 7 // jdk.vm.ci.meta.Value allocatedRegister
        10: .line 653
            aload 3 /* mode */
            getstatic org.graalvm.compiler.lir.LIRInstruction$OperandMode.USE:Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
            if_acmpne 13
        11: .line 656
            aload 0 /* this */
            aload 6 /* currentLocation */
            aload 7 /* allocatedRegister */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.insertSpillMoveBefore:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
        12: .line 657
            goto 14
        13: .line 658
      StackMap locals: jdk.vm.ci.meta.Value
      StackMap stack:
            aload 0 /* this */
            aload 6 /* currentLocation */
            aload 7 /* allocatedRegister */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.insertSpillMoveAfter:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
        14: .line 660
      StackMap locals:
      StackMap stack:
            aload 7 /* allocatedRegister */
            areturn
        end local 7 // jdk.vm.ci.meta.Value allocatedRegister
        end local 6 // jdk.vm.ci.meta.AllocatableValue currentLocation
        end local 5 // org.graalvm.compiler.lir.Variable var
        15: .line 662
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            areturn
        end local 4 // java.util.EnumSet flags
        end local 3 // org.graalvm.compiler.lir.LIRInstruction$OperandMode mode
        end local 2 // jdk.vm.ci.meta.Value value
        end local 1 // org.graalvm.compiler.lir.LIRInstruction instruction
        end local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   16     0               this  Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator$Allocator;
            0   16     1        instruction  Lorg/graalvm/compiler/lir/LIRInstruction;
            0   16     2              value  Ljdk/vm/ci/meta/Value;
            0   16     3               mode  Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
            0   16     4              flags  Ljava/util/EnumSet<Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;>;
            2   15     5                var  Lorg/graalvm/compiler/lir/Variable;
            3   15     6    currentLocation  Ljdk/vm/ci/meta/AllocatableValue;
           10   15     7  allocatedRegister  Ljdk/vm/ci/meta/Value;
    Signature: (Lorg/graalvm/compiler/lir/LIRInstruction;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet<Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;>;)Ljdk/vm/ci/meta/Value;
    MethodParameters:
             Name  Flags
      instruction  
      value        
      mode         
      flags        

  private jdk.vm.ci.meta.Value allocRegister(org.graalvm.compiler.lir.Variable, org.graalvm.compiler.lir.LIRInstruction$OperandMode);
    descriptor: (Lorg/graalvm/compiler/lir/Variable;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;)Ljdk/vm/ci/meta/Value;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
        start local 1 // org.graalvm.compiler.lir.Variable var
        start local 2 // org.graalvm.compiler.lir.LIRInstruction$OperandMode mode
         0: .line 666
            aload 1 /* var */
            invokevirtual org.graalvm.compiler.lir.Variable.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            astore 3 /* platformKind */
        start local 3 // jdk.vm.ci.meta.PlatformKind platformKind
         1: .line 667
            aload 0 /* this */
            aload 3 /* platformKind */
            aload 2 /* mode */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.findFreeRegister:(Ljdk/vm/ci/meta/PlatformKind;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;)Ljdk/vm/ci/code/Register;
            astore 4 /* freeRegister */
        start local 4 // jdk.vm.ci.code.Register freeRegister
         2: .line 668
            aload 4 /* freeRegister */
            ifnonnull 6
         3: .line 670
            aload 0 /* this */
            aload 3 /* platformKind */
            aload 2 /* mode */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.findLockedRegister:(Ljdk/vm/ci/meta/PlatformKind;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;)Ljdk/vm/ci/code/Register;
            astore 4 /* freeRegister */
         4: .line 671
            aload 4 /* freeRegister */
            ifnonnull 6
         5: .line 672
            new org.graalvm.compiler.lir.alloc.OutOfRegistersException
            dup
            ldc "TraceRA[BottomUp]: no register found"
            invokespecial org.graalvm.compiler.lir.alloc.OutOfRegistersException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 676
      StackMap locals: jdk.vm.ci.meta.PlatformKind jdk.vm.ci.code.Register
      StackMap stack:
            aload 0 /* this */
            aload 4 /* freeRegister */
            aload 1 /* var */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.setRegisterUsage:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/meta/AllocatableValue;)V
         7: .line 677
            aload 4 /* freeRegister */
            aload 1 /* var */
            invokevirtual org.graalvm.compiler.lir.Variable.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
            invokevirtual jdk.vm.ci.code.Register.asValue:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/RegisterValue;
            astore 5 /* registerValue */
        start local 5 // jdk.vm.ci.code.RegisterValue registerValue
         8: .line 678
            aload 0 /* this */
            aload 1 /* var */
            aload 5 /* registerValue */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.setCurrentLocation:(Lorg/graalvm/compiler/lir/Variable;Ljdk/vm/ci/meta/AllocatableValue;)V
         9: .line 679
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.debug:Lorg/graalvm/compiler/debug/DebugContext;
            ldc "AllocateRegister[%5s] %s for %s"
            aload 2 /* mode */
            aload 4 /* freeRegister */
            aload 1 /* var */
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
        10: .line 680
            aload 5 /* registerValue */
            areturn
        end local 5 // jdk.vm.ci.code.RegisterValue registerValue
        end local 4 // jdk.vm.ci.code.Register freeRegister
        end local 3 // jdk.vm.ci.meta.PlatformKind platformKind
        end local 2 // org.graalvm.compiler.lir.LIRInstruction$OperandMode mode
        end local 1 // org.graalvm.compiler.lir.Variable var
        end local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0           this  Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator$Allocator;
            0   11     1            var  Lorg/graalvm/compiler/lir/Variable;
            0   11     2           mode  Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
            1   11     3   platformKind  Ljdk/vm/ci/meta/PlatformKind;
            2   11     4   freeRegister  Ljdk/vm/ci/code/Register;
            8   11     5  registerValue  Ljdk/vm/ci/code/RegisterValue;
    MethodParameters:
      Name  Flags
      var   
      mode  

  private jdk.vm.ci.meta.Value allocStackOrRegister(org.graalvm.compiler.lir.LIRInstruction, jdk.vm.ci.meta.Value, org.graalvm.compiler.lir.LIRInstruction$OperandMode, java.util.EnumSet<org.graalvm.compiler.lir.LIRInstruction$OperandFlag>);
    descriptor: (Lorg/graalvm/compiler/lir/LIRInstruction;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)Ljdk/vm/ci/meta/Value;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=10, args_size=5
        start local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
        start local 1 // org.graalvm.compiler.lir.LIRInstruction instruction
        start local 2 // jdk.vm.ci.meta.Value value
        start local 3 // org.graalvm.compiler.lir.LIRInstruction$OperandMode mode
        start local 4 // java.util.EnumSet flags
         0: .line 684
            aload 2 /* value */
            invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 5
         1: .line 685
            aload 3 /* mode */
            getstatic org.graalvm.compiler.lir.LIRInstruction$OperandMode.DEF:Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
            if_acmpeq 2
            aload 3 /* mode */
            getstatic org.graalvm.compiler.lir.LIRInstruction$OperandMode.TEMP:Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
            if_acmpne 4
      StackMap locals:
      StackMap stack:
         2: aload 1 /* instruction */
            instanceof org.graalvm.compiler.lir.StandardOp$LabelOp
            ifne 4
         3: .line 686
            aload 0 /* this */
            aload 2 /* value */
            invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.freeRegister:(Ljdk/vm/ci/code/Register;)V
         4: .line 688
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            areturn
         5: .line 690
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isVariable:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 32
         6: .line 691
            getstatic org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.$assertionsDisabled:Z
            ifne 7
            aload 1 /* instruction */
            aload 2 /* value */
            aload 3 /* mode */
            aload 4 /* flags */
            invokestatic org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.requiresRegisters:(Lorg/graalvm/compiler/lir/LIRInstruction;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)Z
            ifeq 7
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Should have a register already: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* value */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         7: .line 692
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.asVariable:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            astore 5 /* var */
        start local 5 // org.graalvm.compiler.lir.Variable var
         8: .line 694
            aload 0 /* this */
            aload 5 /* var */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.getCurrentLocation:(Lorg/graalvm/compiler/lir/Variable;)Ljdk/vm/ci/meta/AllocatableValue;
            astore 6 /* currentLocation */
        start local 6 // jdk.vm.ci.meta.AllocatableValue currentLocation
         9: .line 695
            aload 6 /* currentLocation */
            ifnull 20
        10: .line 697
            aload 6 /* currentLocation */
            invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 18
        11: .line 698
            aload 6 /* currentLocation */
            invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
            astore 7 /* reg */
        start local 7 // jdk.vm.ci.code.Register reg
        12: .line 699
            aload 3 /* mode */
            getstatic org.graalvm.compiler.lir.LIRInstruction$OperandMode.ALIVE:Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
            if_acmpne 17
            aload 0 /* this */
            aload 7 /* reg */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.killedAtDef:(Ljdk/vm/ci/code/Register;)Z
            ifeq 17
        13: .line 700
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            aload 5 /* var */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.allocateSpillSlot:(Lorg/graalvm/compiler/lir/Variable;)Ljdk/vm/ci/meta/AllocatableValue;
            astore 8 /* spillSlot */
        start local 8 // jdk.vm.ci.meta.AllocatableValue spillSlot
        14: .line 701
            aload 0 /* this */
            aload 8 /* spillSlot */
            aload 6 /* currentLocation */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.insertSpillMoveBefore:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
        15: .line 702
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.debug:Lorg/graalvm/compiler/debug/DebugContext;
            ldc "AllocateStackOrReg[%5s] temporary use %s for %s since current location %s is destroyed at def"
            aload 3 /* mode */
            aload 8 /* spillSlot */
            aload 5 /* var */
            aload 6 /* currentLocation */
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
        16: .line 703
            aload 8 /* spillSlot */
            areturn
        end local 8 // jdk.vm.ci.meta.AllocatableValue spillSlot
        17: .line 706
      StackMap locals: org.graalvm.compiler.lir.Variable jdk.vm.ci.meta.AllocatableValue jdk.vm.ci.code.Register
      StackMap stack:
            aload 0 /* this */
            aload 7 /* reg */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.currentOpId:I
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.setLastRegisterUsage:(Ljdk/vm/ci/code/Register;I)V
        end local 7 // jdk.vm.ci.code.Register reg
        18: .line 708
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.debug:Lorg/graalvm/compiler/debug/DebugContext;
            iconst_3
            ldc "AllocateStackOrReg[%5s] %s already in %s"
            aload 3 /* mode */
            aload 5 /* var */
            aload 6 /* currentLocation */
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(ILjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
        19: .line 709
            aload 6 /* currentLocation */
            areturn
        20: .line 712
      StackMap locals:
      StackMap stack:
            aload 5 /* var */
            invokevirtual org.graalvm.compiler.lir.Variable.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            astore 7 /* platformKind */
        start local 7 // jdk.vm.ci.meta.PlatformKind platformKind
        21: .line 713
            aload 0 /* this */
            aload 7 /* platformKind */
            aload 3 /* mode */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.findFreeRegister:(Ljdk/vm/ci/meta/PlatformKind;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;)Ljdk/vm/ci/code/Register;
            astore 8 /* freeRegister */
        start local 8 // jdk.vm.ci.code.Register freeRegister
        22: .line 714
            aload 8 /* freeRegister */
            ifnonnull 26
        23: .line 716
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            aload 5 /* var */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.allocateSpillSlot:(Lorg/graalvm/compiler/lir/Variable;)Ljdk/vm/ci/meta/AllocatableValue;
            astore 9 /* spillSlot */
        start local 9 // jdk.vm.ci.meta.AllocatableValue spillSlot
        24: .line 717
            aload 0 /* this */
            aload 5 /* var */
            aload 9 /* spillSlot */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.setCurrentLocation:(Lorg/graalvm/compiler/lir/Variable;Ljdk/vm/ci/meta/AllocatableValue;)V
        25: .line 718
            aload 9 /* spillSlot */
            areturn
        end local 9 // jdk.vm.ci.meta.AllocatableValue spillSlot
        26: .line 720
      StackMap locals: jdk.vm.ci.meta.PlatformKind jdk.vm.ci.code.Register
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.$assertionsDisabled:Z
            ifne 27
            aload 8 /* freeRegister */
            ifnonnull 27
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        27: .line 722
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 8 /* freeRegister */
            aload 5 /* var */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.setRegisterUsage:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/meta/AllocatableValue;)V
        28: .line 723
            aload 8 /* freeRegister */
            aload 5 /* var */
            invokevirtual org.graalvm.compiler.lir.Variable.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
            invokevirtual jdk.vm.ci.code.Register.asValue:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/RegisterValue;
            astore 9 /* registerValue */
        start local 9 // jdk.vm.ci.code.RegisterValue registerValue
        29: .line 724
            aload 0 /* this */
            aload 5 /* var */
            aload 9 /* registerValue */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.setCurrentLocation:(Lorg/graalvm/compiler/lir/Variable;Ljdk/vm/ci/meta/AllocatableValue;)V
        30: .line 725
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.debug:Lorg/graalvm/compiler/debug/DebugContext;
            ldc "AllocateStackOrReg[%5s] %s for %s"
            aload 3 /* mode */
            aload 8 /* freeRegister */
            aload 5 /* var */
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
        31: .line 726
            aload 9 /* registerValue */
            areturn
        end local 9 // jdk.vm.ci.code.RegisterValue registerValue
        end local 8 // jdk.vm.ci.code.Register freeRegister
        end local 7 // jdk.vm.ci.meta.PlatformKind platformKind
        end local 6 // jdk.vm.ci.meta.AllocatableValue currentLocation
        end local 5 // org.graalvm.compiler.lir.Variable var
        32: .line 728
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator org.graalvm.compiler.lir.LIRInstruction jdk.vm.ci.meta.Value org.graalvm.compiler.lir.LIRInstruction$OperandMode java.util.EnumSet
      StackMap stack:
            aload 2 /* value */
            areturn
        end local 4 // java.util.EnumSet flags
        end local 3 // org.graalvm.compiler.lir.LIRInstruction$OperandMode mode
        end local 2 // jdk.vm.ci.meta.Value value
        end local 1 // org.graalvm.compiler.lir.LIRInstruction instruction
        end local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   33     0             this  Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator$Allocator;
            0   33     1      instruction  Lorg/graalvm/compiler/lir/LIRInstruction;
            0   33     2            value  Ljdk/vm/ci/meta/Value;
            0   33     3             mode  Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
            0   33     4            flags  Ljava/util/EnumSet<Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;>;
            8   32     5              var  Lorg/graalvm/compiler/lir/Variable;
            9   32     6  currentLocation  Ljdk/vm/ci/meta/AllocatableValue;
           12   18     7              reg  Ljdk/vm/ci/code/Register;
           14   17     8        spillSlot  Ljdk/vm/ci/meta/AllocatableValue;
           21   32     7     platformKind  Ljdk/vm/ci/meta/PlatformKind;
           22   32     8     freeRegister  Ljdk/vm/ci/code/Register;
           24   26     9        spillSlot  Ljdk/vm/ci/meta/AllocatableValue;
           29   32     9    registerValue  Ljdk/vm/ci/code/RegisterValue;
    Signature: (Lorg/graalvm/compiler/lir/LIRInstruction;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet<Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;>;)Ljdk/vm/ci/meta/Value;
    MethodParameters:
             Name  Flags
      instruction  
      value        
      mode         
      flags        

  private boolean killedAtDef(jdk.vm.ci.code.Register);
    descriptor: (Ljdk/vm/ci/code/Register;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
        start local 1 // jdk.vm.ci.code.Register reg
         0: .line 732
            aload 0 /* this */
            aload 1 /* reg */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.getLastRegisterKill:(Ljdk/vm/ci/code/Register;)I
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.currentOpId:I
            iconst_1
            isub
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // jdk.vm.ci.code.Register reg
        end local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator$Allocator;
            0    2     1   reg  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      reg   

  private jdk.vm.ci.code.Register findFreeRegister(jdk.vm.ci.meta.PlatformKind, org.graalvm.compiler.lir.LIRInstruction$OperandMode);
    descriptor: (Ljdk/vm/ci/meta/PlatformKind;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;)Ljdk/vm/ci/code/Register;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=12, args_size=3
        start local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
        start local 1 // jdk.vm.ci.meta.PlatformKind kind
        start local 2 // org.graalvm.compiler.lir.LIRInstruction$OperandMode mode
         0: .line 740
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.registerAllocationConfig:Lorg/graalvm/compiler/core/common/alloc/RegisterAllocationConfig;
            aload 1 /* kind */
            invokevirtual org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig.getAllocatableRegisters:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/alloc/RegisterAllocationConfig$AllocatableRegisters;
            astore 3 /* allocatableRegisters */
        start local 3 // org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig$AllocatableRegisters allocatableRegisters
         1: .line 741
            aload 3 /* allocatableRegisters */
            getfield org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig$AllocatableRegisters.allocatableRegisters:[Ljdk/vm/ci/code/Register;
            astore 4 /* availableRegs */
        start local 4 // jdk.vm.ci.code.Register[] availableRegs
         2: .line 742
            aload 4 /* availableRegs */
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 8
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator jdk.vm.ci.meta.PlatformKind org.graalvm.compiler.lir.LIRInstruction$OperandMode org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig$AllocatableRegisters jdk.vm.ci.code.Register[] top int int jdk.vm.ci.code.Register[]
      StackMap stack:
         3: aload 8
            iload 6
            aaload
            astore 5 /* reg */
        start local 5 // jdk.vm.ci.code.Register reg
         4: .line 743
            aload 0 /* this */
            aload 5 /* reg */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.getCurrentValue:(Ljdk/vm/ci/code/Register;)Ljdk/vm/ci/meta/AllocatableValue;
            astore 9 /* currentVal */
        start local 9 // jdk.vm.ci.meta.AllocatableValue currentVal
         5: .line 744
            aload 9 /* currentVal */
            ifnonnull 7
            aload 0 /* this */
            aload 5 /* reg */
            aload 2 /* mode */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.isCurrentlyUsed:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;)Z
            ifne 7
         6: .line 745
            aload 5 /* reg */
            areturn
        end local 9 // jdk.vm.ci.meta.AllocatableValue currentVal
        end local 5 // jdk.vm.ci.code.Register reg
         7: .line 742
      StackMap locals:
      StackMap stack:
            iinc 6 1
      StackMap locals:
      StackMap stack:
         8: iload 6
            iload 7
            if_icmplt 3
         9: .line 748
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.debug:Lorg/graalvm/compiler/debug/DebugContext;
            invokevirtual org.graalvm.compiler.debug.DebugContext.isLogEnabled:()Z
            ifeq 23
        10: .line 749
            aconst_null
            astore 5
            aconst_null
            astore 6
        11: aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.debug:Lorg/graalvm/compiler/debug/DebugContext;
            ldc "All Registers occupied:"
            invokevirtual org.graalvm.compiler.debug.DebugContext.logAndIndent:(Ljava/lang/String;)Lorg/graalvm/compiler/debug/Indent;
            astore 7 /* i */
        start local 7 // org.graalvm.compiler.debug.Indent i
        12: .line 750
            aload 4 /* availableRegs */
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 16
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator jdk.vm.ci.meta.PlatformKind org.graalvm.compiler.lir.LIRInstruction$OperandMode org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig$AllocatableRegisters jdk.vm.ci.code.Register[] java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent top int int jdk.vm.ci.code.Register[]
      StackMap stack:
        13: aload 11
            iload 9
            aaload
            astore 8 /* reg */
        start local 8 // jdk.vm.ci.code.Register reg
        14: .line 751
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.debug:Lorg/graalvm/compiler/debug/DebugContext;
            ldc "%6s: last used %4d %s"
            aload 8 /* reg */
            aload 0 /* this */
            aload 8 /* reg */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.getLastRegisterUsage:(Ljdk/vm/ci/code/Register;)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 0 /* this */
            aload 8 /* reg */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.getCurrentValue:(Ljdk/vm/ci/code/Register;)Ljdk/vm/ci/meta/AllocatableValue;
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
        end local 8 // jdk.vm.ci.code.Register reg
        15: .line 750
            iinc 9 1
      StackMap locals:
      StackMap stack:
        16: iload 9
            iload 10
            if_icmplt 13
        17: .line 753
            aload 7 /* i */
            ifnull 23
            aload 7 /* i */
            invokeinterface org.graalvm.compiler.debug.Indent.close:()V
            goto 23
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator jdk.vm.ci.meta.PlatformKind org.graalvm.compiler.lir.LIRInstruction$OperandMode org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig$AllocatableRegisters jdk.vm.ci.code.Register[] java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent
      StackMap stack: java.lang.Throwable
        18: astore 5
            aload 7 /* i */
            ifnull 19
            aload 7 /* i */
            invokeinterface org.graalvm.compiler.debug.Indent.close:()V
        end local 7 // org.graalvm.compiler.debug.Indent i
      StackMap locals:
      StackMap stack:
        19: aload 5
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        20: astore 6
            aload 5
            ifnonnull 21
            aload 6
            astore 5
            goto 22
      StackMap locals:
      StackMap stack:
        21: aload 5
            aload 6
            if_acmpeq 22
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        22: aload 5
            athrow
        23: .line 755
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 4 // jdk.vm.ci.code.Register[] availableRegs
        end local 3 // org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig$AllocatableRegisters allocatableRegisters
        end local 2 // org.graalvm.compiler.lir.LIRInstruction$OperandMode mode
        end local 1 // jdk.vm.ci.meta.PlatformKind kind
        end local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   24     0                  this  Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator$Allocator;
            0   24     1                  kind  Ljdk/vm/ci/meta/PlatformKind;
            0   24     2                  mode  Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
            1   24     3  allocatableRegisters  Lorg/graalvm/compiler/core/common/alloc/RegisterAllocationConfig$AllocatableRegisters;
            2   24     4         availableRegs  [Ljdk/vm/ci/code/Register;
            4    7     5                   reg  Ljdk/vm/ci/code/Register;
            5    7     9            currentVal  Ljdk/vm/ci/meta/AllocatableValue;
           12   19     7                     i  Lorg/graalvm/compiler/debug/Indent;
           14   15     8                   reg  Ljdk/vm/ci/code/Register;
      Exception table:
        from    to  target  type
          12    17      18  any
          11    20      20  any
    MethodParameters:
      Name  Flags
      kind  
      mode  

  private jdk.vm.ci.code.Register findLockedRegister(jdk.vm.ci.meta.PlatformKind, org.graalvm.compiler.lir.LIRInstruction$OperandMode);
    descriptor: (Ljdk/vm/ci/meta/PlatformKind;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;)Ljdk/vm/ci/code/Register;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=10, args_size=3
        start local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
        start local 1 // jdk.vm.ci.meta.PlatformKind kind
        start local 2 // org.graalvm.compiler.lir.LIRInstruction$OperandMode mode
         0: .line 763
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.registerAllocationConfig:Lorg/graalvm/compiler/core/common/alloc/RegisterAllocationConfig;
            aload 1 /* kind */
            invokevirtual org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig.getAllocatableRegisters:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/alloc/RegisterAllocationConfig$AllocatableRegisters;
            astore 3 /* allocatableRegisters */
        start local 3 // org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig$AllocatableRegisters allocatableRegisters
         1: .line 764
            aload 3 /* allocatableRegisters */
            getfield org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig$AllocatableRegisters.allocatableRegisters:[Ljdk/vm/ci/code/Register;
            astore 4 /* availableRegs */
        start local 4 // jdk.vm.ci.code.Register[] availableRegs
         2: .line 768
            aconst_null
            astore 5 /* lockedReg */
        start local 5 // jdk.vm.ci.code.Register lockedReg
         3: .line 769
            aload 4 /* availableRegs */
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 9
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator jdk.vm.ci.meta.PlatformKind org.graalvm.compiler.lir.LIRInstruction$OperandMode org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig$AllocatableRegisters jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register top int int jdk.vm.ci.code.Register[]
      StackMap stack:
         4: aload 9
            iload 7
            aaload
            astore 6 /* reg */
        start local 6 // jdk.vm.ci.code.Register reg
         5: .line 770
            aload 0 /* this */
            aload 6 /* reg */
            aload 2 /* mode */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.isCurrentlyUsed:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;)Z
            ifne 8
            aload 0 /* this */
            aload 6 /* reg */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.isActiveFixedRegister:(Ljdk/vm/ci/code/Register;)Z
            ifne 8
         6: .line 771
            aload 6 /* reg */
            astore 5 /* lockedReg */
         7: .line 772
            goto 10
        end local 6 // jdk.vm.ci.code.Register reg
         8: .line 769
      StackMap locals:
      StackMap stack:
            iinc 7 1
      StackMap locals:
      StackMap stack:
         9: iload 7
            iload 8
            if_icmplt 4
        10: .line 775
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator jdk.vm.ci.meta.PlatformKind org.graalvm.compiler.lir.LIRInstruction$OperandMode org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig$AllocatableRegisters jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register
      StackMap stack:
            aload 5 /* lockedReg */
            ifnonnull 12
        11: .line 776
            aconst_null
            areturn
        12: .line 778
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* lockedReg */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.evacuateRegisterAndSpill:(Ljdk/vm/ci/code/Register;)Ljdk/vm/ci/meta/AllocatableValue;
            pop
        13: .line 779
            aload 5 /* lockedReg */
            areturn
        end local 5 // jdk.vm.ci.code.Register lockedReg
        end local 4 // jdk.vm.ci.code.Register[] availableRegs
        end local 3 // org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig$AllocatableRegisters allocatableRegisters
        end local 2 // org.graalvm.compiler.lir.LIRInstruction$OperandMode mode
        end local 1 // jdk.vm.ci.meta.PlatformKind kind
        end local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   14     0                  this  Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator$Allocator;
            0   14     1                  kind  Ljdk/vm/ci/meta/PlatformKind;
            0   14     2                  mode  Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
            1   14     3  allocatableRegisters  Lorg/graalvm/compiler/core/common/alloc/RegisterAllocationConfig$AllocatableRegisters;
            2   14     4         availableRegs  [Ljdk/vm/ci/code/Register;
            3   14     5             lockedReg  Ljdk/vm/ci/code/Register;
            5    8     6                   reg  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      kind  
      mode  

  private boolean isActiveFixedRegister(jdk.vm.ci.code.Register);
    descriptor: (Ljdk/vm/ci/code/Register;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
        start local 1 // jdk.vm.ci.code.Register reg
         0: .line 783
            aload 0 /* this */
            aload 1 /* reg */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.getCurrentValue:(Ljdk/vm/ci/code/Register;)Ljdk/vm/ci/meta/AllocatableValue;
            invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
            ireturn
        end local 1 // jdk.vm.ci.code.Register reg
        end local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator$Allocator;
            0    1     1   reg  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      reg   

  private boolean isCurrentlyUsed(jdk.vm.ci.code.Register, org.graalvm.compiler.lir.LIRInstruction$OperandMode);
    descriptor: (Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
        start local 1 // jdk.vm.ci.code.Register reg
        start local 2 // org.graalvm.compiler.lir.LIRInstruction$OperandMode mode
         0: .line 787
            aload 0 /* this */
            aload 1 /* reg */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.getLastRegisterUsage:(Ljdk/vm/ci/code/Register;)I
            istore 3 /* lastRegUsage */
        start local 3 // int lastRegUsage
         1: .line 788
            iload 3 /* lastRegUsage */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.currentOpId:I
            if_icmpne 3
         2: .line 789
            iconst_1
            ireturn
         3: .line 791
      StackMap locals: int
      StackMap stack:
            aload 2 /* mode */
            getstatic org.graalvm.compiler.lir.LIRInstruction$OperandMode.ALIVE:Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
            if_acmpne 4
            iload 3 /* lastRegUsage */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.currentOpId:I
            bipush -2
            iand
            if_icmpne 4
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_0
            ireturn
        end local 3 // int lastRegUsage
        end local 2 // org.graalvm.compiler.lir.LIRInstruction$OperandMode mode
        end local 1 // jdk.vm.ci.code.Register reg
        end local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator$Allocator;
            0    5     1           reg  Ljdk/vm/ci/code/Register;
            0    5     2          mode  Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
            1    5     3  lastRegUsage  I
    MethodParameters:
      Name  Flags
      reg   
      mode  

  private void freeRegister(jdk.vm.ci.code.Register);
    descriptor: (Ljdk/vm/ci/code/Register;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
        start local 1 // jdk.vm.ci.code.Register reg
         0: .line 795
            aload 0 /* this */
            aload 1 /* reg */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.getCurrentValue:(Ljdk/vm/ci/code/Register;)Ljdk/vm/ci/meta/AllocatableValue;
            astore 2 /* val */
        start local 2 // jdk.vm.ci.meta.AllocatableValue val
         1: .line 796
            aload 0 /* this */
            aload 1 /* reg */
            aconst_null
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.setCurrentValue:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/meta/AllocatableValue;)V
         2: .line 797
            aload 0 /* this */
            aload 1 /* reg */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.currentOpId:I
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.setLastRegisterKill:(Ljdk/vm/ci/code/Register;I)V
         3: .line 798
            aload 2 /* val */
            ifnull 8
            aload 2 /* val */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isVariable:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 8
         4: .line 799
            aload 2 /* val */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.asVariable:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            astore 3 /* var */
        start local 3 // org.graalvm.compiler.lir.Variable var
         5: .line 800
            aload 0 /* this */
            aload 3 /* var */
            aconst_null
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.setCurrentLocation:(Lorg/graalvm/compiler/lir/Variable;Ljdk/vm/ci/meta/AllocatableValue;)V
         6: .line 801
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.debug:Lorg/graalvm/compiler/debug/DebugContext;
            ldc "Free Registers %s (was %s)"
            aload 1 /* reg */
            aload 3 /* var */
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        end local 3 // org.graalvm.compiler.lir.Variable var
         7: .line 802
            goto 9
         8: .line 803
      StackMap locals: jdk.vm.ci.meta.AllocatableValue
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.debug:Lorg/graalvm/compiler/debug/DebugContext;
            ldc "Free Registers %s"
            aload 1 /* reg */
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;)V
         9: .line 805
      StackMap locals:
      StackMap stack:
            return
        end local 2 // jdk.vm.ci.meta.AllocatableValue val
        end local 1 // jdk.vm.ci.code.Register reg
        end local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator$Allocator;
            0   10     1   reg  Ljdk/vm/ci/code/Register;
            1   10     2   val  Ljdk/vm/ci/meta/AllocatableValue;
            5    7     3   var  Lorg/graalvm/compiler/lir/Variable;
    MethodParameters:
      Name  Flags
      reg   

  private void setRegisterUsage(jdk.vm.ci.code.Register, jdk.vm.ci.meta.AllocatableValue);
    descriptor: (Ljdk/vm/ci/code/Register;Ljdk/vm/ci/meta/AllocatableValue;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
        start local 1 // jdk.vm.ci.code.Register reg
        start local 2 // jdk.vm.ci.meta.AllocatableValue currentValue
         0: .line 808
            getstatic org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            aload 1 /* reg */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.checkRegisterUsage:(Ljdk/vm/ci/code/Register;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 809
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* reg */
            aload 2 /* currentValue */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.setCurrentValue:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/meta/AllocatableValue;)V
         2: .line 810
            aload 0 /* this */
            aload 1 /* reg */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.currentOpId:I
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.setLastRegisterUsage:(Ljdk/vm/ci/code/Register;I)V
         3: .line 811
            return
        end local 2 // jdk.vm.ci.meta.AllocatableValue currentValue
        end local 1 // jdk.vm.ci.code.Register reg
        end local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator$Allocator;
            0    4     1           reg  Ljdk/vm/ci/code/Register;
            0    4     2  currentValue  Ljdk/vm/ci/meta/AllocatableValue;
    MethodParameters:
              Name  Flags
      reg           
      currentValue  

  private boolean checkRegisterUsage(jdk.vm.ci.code.Register);
    descriptor: (Ljdk/vm/ci/code/Register;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
        start local 1 // jdk.vm.ci.code.Register reg
         0: .line 814
            aload 0 /* this */
            aload 1 /* reg */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.getCurrentValue:(Ljdk/vm/ci/code/Register;)Ljdk/vm/ci/meta/AllocatableValue;
            astore 2 /* currentValue */
        start local 2 // jdk.vm.ci.meta.AllocatableValue currentValue
         1: .line 815
            getstatic org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.$assertionsDisabled:Z
            ifne 3
            aload 0 /* this */
            aload 1 /* reg */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.getLastRegisterUsage:(Ljdk/vm/ci/code/Register;)I
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.currentOpId:I
            if_icmplt 3
            aload 2 /* currentValue */
            ifnull 3
            aload 2 /* currentValue */
            invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 2
            aload 2 /* currentValue */
            invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
            aload 1 /* reg */
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifne 3
      StackMap locals: jdk.vm.ci.meta.AllocatableValue
      StackMap stack:
         2: new java.lang.AssertionError
            dup
            ldc "Register %s is occupied"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* reg */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 816
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // jdk.vm.ci.meta.AllocatableValue currentValue
        end local 1 // jdk.vm.ci.code.Register reg
        end local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator$Allocator;
            0    4     1           reg  Ljdk/vm/ci/code/Register;
            1    4     2  currentValue  Ljdk/vm/ci/meta/AllocatableValue;
    MethodParameters:
      Name  Flags
      reg   

  private jdk.vm.ci.meta.AllocatableValue evacuateRegisterAndSpill(jdk.vm.ci.code.Register);
    descriptor: (Ljdk/vm/ci/code/Register;)Ljdk/vm/ci/meta/AllocatableValue;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
        start local 1 // jdk.vm.ci.code.Register reg
         0: .line 825
            aload 0 /* this */
            aload 1 /* reg */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.evacuateRegister:(Ljdk/vm/ci/code/Register;)Ljdk/vm/ci/meta/AllocatableValue;
            astore 2 /* val */
        start local 2 // jdk.vm.ci.meta.AllocatableValue val
         1: .line 826
            aload 0 /* this */
            aload 2 /* val */
            aload 1 /* reg */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.spillVariable:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/code/Register;)V
         2: .line 827
            aload 2 /* val */
            areturn
        end local 2 // jdk.vm.ci.meta.AllocatableValue val
        end local 1 // jdk.vm.ci.code.Register reg
        end local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator$Allocator;
            0    3     1   reg  Ljdk/vm/ci/code/Register;
            1    3     2   val  Ljdk/vm/ci/meta/AllocatableValue;
    MethodParameters:
      Name  Flags
      reg   

  private jdk.vm.ci.meta.AllocatableValue evacuateRegister(jdk.vm.ci.code.Register);
    descriptor: (Ljdk/vm/ci/code/Register;)Ljdk/vm/ci/meta/AllocatableValue;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
        start local 1 // jdk.vm.ci.code.Register reg
         0: .line 836
            aload 0 /* this */
            aload 1 /* reg */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.getCurrentValue:(Ljdk/vm/ci/code/Register;)Ljdk/vm/ci/meta/AllocatableValue;
            astore 2 /* val */
        start local 2 // jdk.vm.ci.meta.AllocatableValue val
         1: .line 837
            aload 2 /* val */
            ifnonnull 3
         2: .line 838
            aconst_null
            areturn
         3: .line 840
      StackMap locals: jdk.vm.ci.meta.AllocatableValue
      StackMap stack:
            aload 0 /* this */
            aload 1 /* reg */
            aconst_null
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.setCurrentValue:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/meta/AllocatableValue;)V
         4: .line 841
            aload 2 /* val */
            areturn
        end local 2 // jdk.vm.ci.meta.AllocatableValue val
        end local 1 // jdk.vm.ci.code.Register reg
        end local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator$Allocator;
            0    5     1   reg  Ljdk/vm/ci/code/Register;
            1    5     2   val  Ljdk/vm/ci/meta/AllocatableValue;
    MethodParameters:
      Name  Flags
      reg   

  private void spillVariable(jdk.vm.ci.meta.AllocatableValue, jdk.vm.ci.code.Register);
    descriptor: (Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/code/Register;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
        start local 1 // jdk.vm.ci.meta.AllocatableValue val
        start local 2 // jdk.vm.ci.code.Register reg
         0: .line 845
            aload 1 /* val */
            ifnull 6
            aload 1 /* val */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isVariable:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 6
         1: .line 846
            aload 1 /* val */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.asVariable:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            astore 3 /* var */
        start local 3 // org.graalvm.compiler.lir.Variable var
         2: .line 847
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.debug:Lorg/graalvm/compiler/debug/DebugContext;
            ldc "Spill Variable %s from %s"
            aload 3 /* var */
            aload 2 /* reg */
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         3: .line 849
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.this$0:Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator;
            aload 3 /* var */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator.allocateSpillSlot:(Lorg/graalvm/compiler/lir/Variable;)Ljdk/vm/ci/meta/AllocatableValue;
            astore 4 /* spillSlot */
        start local 4 // jdk.vm.ci.meta.AllocatableValue spillSlot
         4: .line 850
            aload 0 /* this */
            aload 3 /* var */
            aload 4 /* spillSlot */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.setCurrentLocation:(Lorg/graalvm/compiler/lir/Variable;Ljdk/vm/ci/meta/AllocatableValue;)V
         5: .line 851
            aload 0 /* this */
            aload 2 /* reg */
            aload 3 /* var */
            invokevirtual org.graalvm.compiler.lir.Variable.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
            invokevirtual jdk.vm.ci.code.Register.asValue:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/RegisterValue;
            aload 4 /* spillSlot */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator.insertSpillMoveAfter:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
        end local 4 // jdk.vm.ci.meta.AllocatableValue spillSlot
        end local 3 // org.graalvm.compiler.lir.Variable var
         6: .line 853
      StackMap locals:
      StackMap stack:
            return
        end local 2 // jdk.vm.ci.code.Register reg
        end local 1 // jdk.vm.ci.meta.AllocatableValue val
        end local 0 // org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lorg/graalvm/compiler/lir/alloc/trace/bu/BottomUpAllocator$Allocator;
            0    7     1        val  Ljdk/vm/ci/meta/AllocatableValue;
            0    7     2        reg  Ljdk/vm/ci/code/Register;
            2    6     3        var  Lorg/graalvm/compiler/lir/Variable;
            4    6     4  spillSlot  Ljdk/vm/ci/meta/AllocatableValue;
    MethodParameters:
      Name  Flags
      val   
      reg   
}
SourceFile: "BottomUpAllocator.java"
NestHost: org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator
InnerClasses:
  public final AllocatableRegisters = org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig$AllocatableRegisters of org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig
  public abstract Scope = org.graalvm.compiler.debug.DebugContext$Scope of org.graalvm.compiler.debug.DebugContext
  public final OperandFlag = org.graalvm.compiler.lir.LIRInstruction$OperandFlag of org.graalvm.compiler.lir.LIRInstruction
  public final OperandMode = org.graalvm.compiler.lir.LIRInstruction$OperandMode of org.graalvm.compiler.lir.LIRInstruction
  public abstract BlockEndOp = org.graalvm.compiler.lir.StandardOp$BlockEndOp of org.graalvm.compiler.lir.StandardOp
  public JumpOp = org.graalvm.compiler.lir.StandardOp$JumpOp of org.graalvm.compiler.lir.StandardOp
  public final LabelOp = org.graalvm.compiler.lir.StandardOp$LabelOp of org.graalvm.compiler.lir.StandardOp
  public abstract MoveResolver = org.graalvm.compiler.lir.alloc.trace.TraceGlobalMoveResolutionPhase$MoveResolver of org.graalvm.compiler.lir.alloc.trace.TraceGlobalMoveResolutionPhase
  private final Allocator = org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator of org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator
  org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator$1
  org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator$2
  org.graalvm.compiler.lir.alloc.trace.bu.BottomUpAllocator$Allocator$3
  public abstract MoveFactory = org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory of org.graalvm.compiler.lir.gen.LIRGeneratorTool