final class org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator
  super_class: java.lang.Object
{
  private final org.graalvm.compiler.lir.LIR lir;
    descriptor: Lorg/graalvm/compiler/lir/LIR;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private final org.graalvm.compiler.lir.stackslotalloc.StackInterval[] stackSlotMap;
    descriptor: [Lorg/graalvm/compiler/lir/stackslotalloc/StackInterval;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.PriorityQueue<org.graalvm.compiler.lir.stackslotalloc.StackInterval> unhandled;
    descriptor: Ljava/util/PriorityQueue;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/PriorityQueue<Lorg/graalvm/compiler/lir/stackslotalloc/StackInterval;>;

  private final java.util.PriorityQueue<org.graalvm.compiler.lir.stackslotalloc.StackInterval> active;
    descriptor: Ljava/util/PriorityQueue;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/PriorityQueue<Lorg/graalvm/compiler/lir/stackslotalloc/StackInterval;>;

  private final org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>[] sortedBlocks;
    descriptor: [Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: [Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;

  private final int maxOpId;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.util.EnumMap<org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator$SlotSize, java.util.Deque<jdk.vm.ci.code.StackSlot>> freeSlots;
    descriptor: Ljava/util/EnumMap;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/EnumMap<Lorg/graalvm/compiler/lir/stackslotalloc/LSStackSlotAllocator$Allocator$SlotSize;Ljava/util/Deque<Ljdk/vm/ci/code/StackSlot;>;>;

  org.graalvm.compiler.lir.ValueProcedure assignSlot;
    descriptor: Lorg/graalvm/compiler/lir/ValueProcedure;
    flags: (0x0000) 

  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 105
            ldc Lorg/graalvm/compiler/lir/stackslotalloc/LSStackSlotAllocator;
            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.stackslotalloc.LSStackSlotAllocator$Allocator.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>(org.graalvm.compiler.lir.LIR, org.graalvm.compiler.lir.framemap.FrameMapBuilderTool);
    descriptor: (Lorg/graalvm/compiler/lir/LIR;Lorg/graalvm/compiler/lir/framemap/FrameMapBuilderTool;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator this
        start local 1 // org.graalvm.compiler.lir.LIR lir
        start local 2 // org.graalvm.compiler.lir.framemap.FrameMapBuilderTool frameMapBuilder
         0: .line 115
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 408
            aload 0 /* this */
            new org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator$1
            dup
            aload 0 /* this */
            invokespecial org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator$1.<init>:(Lorg/graalvm/compiler/lir/stackslotalloc/LSStackSlotAllocator$Allocator;)V
            putfield org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.assignSlot:Lorg/graalvm/compiler/lir/ValueProcedure;
         2: .line 116
            aload 0 /* this */
            aload 1 /* lir */
            putfield org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.lir:Lorg/graalvm/compiler/lir/LIR;
         3: .line 117
            aload 0 /* this */
            aload 2 /* frameMapBuilder */
            putfield org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.frameMapBuilder:Lorg/graalvm/compiler/lir/framemap/FrameMapBuilderTool;
         4: .line 118
            aload 0 /* this */
            aload 2 /* frameMapBuilder */
            invokevirtual org.graalvm.compiler.lir.framemap.FrameMapBuilderTool.getNumberOfStackSlots:()I
            anewarray org.graalvm.compiler.lir.stackslotalloc.StackInterval
            putfield org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.stackSlotMap:[Lorg/graalvm/compiler/lir/stackslotalloc/StackInterval;
         5: .line 119
            aload 0 /* this */
            aload 1 /* lir */
            invokevirtual org.graalvm.compiler.lir.LIR.getControlFlowGraph:()Lorg/graalvm/compiler/core/common/cfg/AbstractControlFlowGraph;
            invokeinterface org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph.getBlocks:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            putfield org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.sortedBlocks:[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
         6: .line 122
            aload 0 /* this */
            new java.util.PriorityQueue
            dup
            invokedynamic compare()Ljava/util/Comparator;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)I
                  org/graalvm/compiler/lir/stackslotalloc/LSStackSlotAllocator$Allocator.lambda$0(Lorg/graalvm/compiler/lir/stackslotalloc/StackInterval;Lorg/graalvm/compiler/lir/stackslotalloc/StackInterval;)I (6)
                  (Lorg/graalvm/compiler/lir/stackslotalloc/StackInterval;Lorg/graalvm/compiler/lir/stackslotalloc/StackInterval;)I
            invokespecial java.util.PriorityQueue.<init>:(Ljava/util/Comparator;)V
            putfield org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.unhandled:Ljava/util/PriorityQueue;
         7: .line 124
            aload 0 /* this */
            new java.util.PriorityQueue
            dup
            invokedynamic compare()Ljava/util/Comparator;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)I
                  org/graalvm/compiler/lir/stackslotalloc/LSStackSlotAllocator$Allocator.lambda$1(Lorg/graalvm/compiler/lir/stackslotalloc/StackInterval;Lorg/graalvm/compiler/lir/stackslotalloc/StackInterval;)I (6)
                  (Lorg/graalvm/compiler/lir/stackslotalloc/StackInterval;Lorg/graalvm/compiler/lir/stackslotalloc/StackInterval;)I
            invokespecial java.util.PriorityQueue.<init>:(Ljava/util/Comparator;)V
            putfield org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.active:Ljava/util/PriorityQueue;
         8: .line 126
            aconst_null
            astore 3
            aconst_null
            astore 4
         9: getstatic org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator.NumInstTimer:Lorg/graalvm/compiler/debug/DebugTimer;
            invokeinterface org.graalvm.compiler.debug.DebugTimer.start:()Lorg/graalvm/compiler/debug/DebugCloseable;
            astore 5 /* t */
        start local 5 // org.graalvm.compiler.debug.DebugCloseable t
        10: .line 128
            aload 0 /* this */
            aload 1 /* lir */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.sortedBlocks:[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            invokestatic org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.numberInstructions:(Lorg/graalvm/compiler/lir/LIR;[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)I
            putfield org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.maxOpId:I
        11: .line 129
            aload 5 /* t */
            ifnull 17
            aload 5 /* t */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 17
      StackMap locals: org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator org.graalvm.compiler.lir.LIR org.graalvm.compiler.lir.framemap.FrameMapBuilderTool java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable
      StackMap stack: java.lang.Throwable
        12: astore 3
            aload 5 /* t */
            ifnull 13
            aload 5 /* t */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 5 // org.graalvm.compiler.debug.DebugCloseable t
      StackMap locals:
      StackMap stack:
        13: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: astore 4
            aload 3
            ifnonnull 15
            aload 4
            astore 3
            goto 16
      StackMap locals:
      StackMap stack:
        15: aload 3
            aload 4
            if_acmpeq 16
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        16: aload 3
            athrow
        17: .line 130
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.graalvm.compiler.lir.framemap.FrameMapBuilderTool frameMapBuilder
        end local 1 // org.graalvm.compiler.lir.LIR lir
        end local 0 // org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   18     0             this  Lorg/graalvm/compiler/lir/stackslotalloc/LSStackSlotAllocator$Allocator;
            0   18     1              lir  Lorg/graalvm/compiler/lir/LIR;
            0   18     2  frameMapBuilder  Lorg/graalvm/compiler/lir/framemap/FrameMapBuilderTool;
           10   13     5                t  Lorg/graalvm/compiler/debug/DebugCloseable;
      Exception table:
        from    to  target  type
          10    11      12  any
           9    14      14  any
    MethodParameters:
                 Name  Flags
      lir              
      frameMapBuilder  

  private void allocate();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=1
        start local 0 // org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator this
         0: .line 134
            iconst_2
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.lir:Lorg/graalvm/compiler/lir/LIR;
            ldc "After StackSlot numbering"
            invokestatic org.graalvm.compiler.debug.Debug.dump:(ILjava/lang/Object;Ljava/lang/String;)V
         1: .line 136
            getstatic org.graalvm.compiler.lir.stackslotalloc.StackSlotAllocatorUtil.allocatedFramesize:Lorg/graalvm/compiler/debug/DebugCounter;
            invokeinterface org.graalvm.compiler.debug.DebugCounter.isEnabled:()Z
            ifeq 2
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.frameMapBuilder:Lorg/graalvm/compiler/lir/framemap/FrameMapBuilderTool;
            invokevirtual org.graalvm.compiler.lir.framemap.FrameMapBuilderTool.getFrameMap:()Lorg/graalvm/compiler/lir/framemap/FrameMap;
            invokevirtual org.graalvm.compiler.lir.framemap.FrameMap.currentFrameSize:()I
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: i2l
            lstore 1 /* currentFrameSize */
        start local 1 // long currentFrameSize
         4: .line 139
            aconst_null
            astore 4
            aconst_null
            astore 5
         5: ldc "StackSlotAllocationBuildIntervals"
            invokestatic org.graalvm.compiler.debug.Debug.scope:(Ljava/lang/Object;)Lorg/graalvm/compiler/debug/Debug$Scope;
            astore 6 /* s */
        start local 6 // org.graalvm.compiler.debug.Debug$Scope s
         6: ldc "BuildIntervals"
            invokestatic org.graalvm.compiler.debug.Debug.logAndIndent:(Ljava/lang/String;)Lorg/graalvm/compiler/debug/Indent;
            astore 7 /* indent */
        start local 7 // org.graalvm.compiler.debug.Indent indent
         7: getstatic org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator.BuildIntervalsTimer:Lorg/graalvm/compiler/debug/DebugTimer;
            invokeinterface org.graalvm.compiler.debug.DebugTimer.start:()Lorg/graalvm/compiler/debug/DebugCloseable;
            astore 8 /* t */
        start local 8 // org.graalvm.compiler.debug.DebugCloseable t
         8: .line 140
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.buildIntervals:()Ljava/util/Set;
            astore 3 /* usePos */
        start local 3 // java.util.Set usePos
         9: .line 141
            aload 8 /* t */
            ifnull 12
            aload 8 /* t */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 12
        end local 3 // java.util.Set usePos
      StackMap locals: org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator long top java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope org.graalvm.compiler.debug.Indent org.graalvm.compiler.debug.DebugCloseable
      StackMap stack: java.lang.Throwable
        10: astore 4
            aload 8 /* t */
            ifnull 11
            aload 8 /* t */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 8 // org.graalvm.compiler.debug.DebugCloseable t
      StackMap locals:
      StackMap stack:
        11: aload 4
            athrow
        start local 3 // java.util.Set usePos
      StackMap locals: org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator long java.util.Set java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope org.graalvm.compiler.debug.Indent
      StackMap stack:
        12: aload 7 /* indent */
            ifnull 17
            aload 7 /* indent */
            invokeinterface org.graalvm.compiler.debug.Indent.close:()V
            goto 17
        end local 3 // java.util.Set usePos
      StackMap locals: org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator long top java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope org.graalvm.compiler.debug.Indent
      StackMap stack: java.lang.Throwable
        13: astore 5
            aload 4
            ifnonnull 14
            aload 5
            astore 4
            goto 15
      StackMap locals:
      StackMap stack:
        14: aload 4
            aload 5
            if_acmpeq 15
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        15: aload 7 /* indent */
            ifnull 16
            aload 7 /* indent */
            invokeinterface org.graalvm.compiler.debug.Indent.close:()V
        end local 7 // org.graalvm.compiler.debug.Indent indent
      StackMap locals:
      StackMap stack:
        16: aload 4
            athrow
        start local 3 // java.util.Set usePos
      StackMap locals: org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator long java.util.Set java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope
      StackMap stack:
        17: aload 6 /* s */
            ifnull 25
            aload 6 /* s */
            invokeinterface org.graalvm.compiler.debug.Debug$Scope.close:()V
            goto 25
        end local 3 // java.util.Set usePos
      StackMap locals: org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator long top java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope
      StackMap stack: java.lang.Throwable
        18: astore 5
            aload 4
            ifnonnull 19
            aload 5
            astore 4
            goto 20
      StackMap locals:
      StackMap stack:
        19: aload 4
            aload 5
            if_acmpeq 20
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        20: aload 6 /* s */
            ifnull 21
            aload 6 /* s */
            invokeinterface org.graalvm.compiler.debug.Debug$Scope.close:()V
        end local 6 // org.graalvm.compiler.debug.Debug$Scope s
      StackMap locals:
      StackMap stack:
        21: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        22: astore 5
            aload 4
            ifnonnull 23
            aload 5
            astore 4
            goto 24
      StackMap locals:
      StackMap stack:
        23: aload 4
            aload 5
            if_acmpeq 24
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        24: aload 4
            athrow
        start local 3 // java.util.Set usePos
        25: .line 143
      StackMap locals: org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator long java.util.Set
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.Debug.isEnabled:()Z
            ifeq 35
        26: .line 144
            aconst_null
            astore 4
            aconst_null
            astore 5
        27: getstatic org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator.VerifyIntervalsTimer:Lorg/graalvm/compiler/debug/DebugTimer;
            invokeinterface org.graalvm.compiler.debug.DebugTimer.start:()Lorg/graalvm/compiler/debug/DebugCloseable;
            astore 6 /* t */
        start local 6 // org.graalvm.compiler.debug.DebugCloseable t
        28: .line 145
            getstatic org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.$assertionsDisabled:Z
            ifne 29
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.verifyIntervals:()Z
            ifne 29
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        29: .line 146
      StackMap locals: java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable
      StackMap stack:
            aload 6 /* t */
            ifnull 35
            aload 6 /* t */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 35
      StackMap locals:
      StackMap stack: java.lang.Throwable
        30: astore 4
            aload 6 /* t */
            ifnull 31
            aload 6 /* t */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 6 // org.graalvm.compiler.debug.DebugCloseable t
      StackMap locals:
      StackMap stack:
        31: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        32: astore 5
            aload 4
            ifnonnull 33
            aload 5
            astore 4
            goto 34
      StackMap locals:
      StackMap stack:
        33: aload 4
            aload 5
            if_acmpeq 34
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        34: aload 4
            athrow
        35: .line 148
      StackMap locals:
      StackMap stack:
            iconst_2
            invokestatic org.graalvm.compiler.debug.Debug.isDumpEnabled:(I)Z
            ifeq 37
        36: .line 149
            aload 0 /* this */
            ldc "Before stack slot allocation"
            invokevirtual org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.dumpIntervals:(Ljava/lang/String;)V
        37: .line 152
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4
            aconst_null
            astore 5
        38: getstatic org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator.AllocateSlotsTimer:Lorg/graalvm/compiler/debug/DebugTimer;
            invokeinterface org.graalvm.compiler.debug.DebugTimer.start:()Lorg/graalvm/compiler/debug/DebugCloseable;
            astore 6 /* t */
        start local 6 // org.graalvm.compiler.debug.DebugCloseable t
        39: .line 153
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.allocateStackSlots:()V
        40: .line 154
            aload 6 /* t */
            ifnull 46
            aload 6 /* t */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 46
      StackMap locals: org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator long java.util.Set java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable
      StackMap stack: java.lang.Throwable
        41: astore 4
            aload 6 /* t */
            ifnull 42
            aload 6 /* t */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 6 // org.graalvm.compiler.debug.DebugCloseable t
      StackMap locals:
      StackMap stack:
        42: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        43: astore 5
            aload 4
            ifnonnull 44
            aload 5
            astore 4
            goto 45
      StackMap locals:
      StackMap stack:
        44: aload 4
            aload 5
            if_acmpeq 45
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        45: aload 4
            athrow
        46: .line 155
      StackMap locals:
      StackMap stack:
            iconst_2
            invokestatic org.graalvm.compiler.debug.Debug.isDumpEnabled:(I)Z
            ifeq 48
        47: .line 156
            aload 0 /* this */
            ldc "After stack slot allocation"
            invokevirtual org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.dumpIntervals:(Ljava/lang/String;)V
        48: .line 160
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4
            aconst_null
            astore 5
        49: getstatic org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator.AssignSlotsTimer:Lorg/graalvm/compiler/debug/DebugTimer;
            invokeinterface org.graalvm.compiler.debug.DebugTimer.start:()Lorg/graalvm/compiler/debug/DebugCloseable;
            astore 6 /* t */
        start local 6 // org.graalvm.compiler.debug.DebugCloseable t
        50: .line 161
            aload 0 /* this */
            aload 3 /* usePos */
            invokevirtual org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.assignStackSlots:(Ljava/util/Set;)V
        51: .line 162
            aload 6 /* t */
            ifnull 57
            aload 6 /* t */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 57
      StackMap locals: org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator long java.util.Set java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable
      StackMap stack: java.lang.Throwable
        52: astore 4
            aload 6 /* t */
            ifnull 53
            aload 6 /* t */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 6 // org.graalvm.compiler.debug.DebugCloseable t
      StackMap locals:
      StackMap stack:
        53: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        54: astore 5
            aload 4
            ifnonnull 55
            aload 5
            astore 4
            goto 56
      StackMap locals:
      StackMap stack:
        55: aload 4
            aload 5
            if_acmpeq 56
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        56: aload 4
            athrow
        57: .line 163
      StackMap locals:
      StackMap stack:
            iconst_2
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.lir:Lorg/graalvm/compiler/lir/LIR;
            ldc "After StackSlot assignment"
            invokestatic org.graalvm.compiler.debug.Debug.dump:(ILjava/lang/Object;Ljava/lang/String;)V
        58: .line 164
            getstatic org.graalvm.compiler.lir.stackslotalloc.StackSlotAllocatorUtil.allocatedFramesize:Lorg/graalvm/compiler/debug/DebugCounter;
            invokeinterface org.graalvm.compiler.debug.DebugCounter.isEnabled:()Z
            ifeq 60
        59: .line 165
            getstatic org.graalvm.compiler.lir.stackslotalloc.StackSlotAllocatorUtil.allocatedFramesize:Lorg/graalvm/compiler/debug/DebugCounter;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.frameMapBuilder:Lorg/graalvm/compiler/lir/framemap/FrameMapBuilderTool;
            invokevirtual org.graalvm.compiler.lir.framemap.FrameMapBuilderTool.getFrameMap:()Lorg/graalvm/compiler/lir/framemap/FrameMap;
            invokevirtual org.graalvm.compiler.lir.framemap.FrameMap.currentFrameSize:()I
            i2l
            lload 1 /* currentFrameSize */
            lsub
            invokeinterface org.graalvm.compiler.debug.DebugCounter.add:(J)V
        60: .line 167
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.util.Set usePos
        end local 1 // long currentFrameSize
        end local 0 // org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   61     0              this  Lorg/graalvm/compiler/lir/stackslotalloc/LSStackSlotAllocator$Allocator;
            4   61     1  currentFrameSize  J
            9   10     3            usePos  Ljava/util/Set<Lorg/graalvm/compiler/lir/LIRInstruction;>;
           12   13     3            usePos  Ljava/util/Set<Lorg/graalvm/compiler/lir/LIRInstruction;>;
           17   18     3            usePos  Ljava/util/Set<Lorg/graalvm/compiler/lir/LIRInstruction;>;
           25   61     3            usePos  Ljava/util/Set<Lorg/graalvm/compiler/lir/LIRInstruction;>;
            6   21     6                 s  Lorg/graalvm/compiler/debug/Debug$Scope;
            7   16     7            indent  Lorg/graalvm/compiler/debug/Indent;
            8   11     8                 t  Lorg/graalvm/compiler/debug/DebugCloseable;
           28   31     6                 t  Lorg/graalvm/compiler/debug/DebugCloseable;
           39   42     6                 t  Lorg/graalvm/compiler/debug/DebugCloseable;
           50   53     6                 t  Lorg/graalvm/compiler/debug/DebugCloseable;
      Exception table:
        from    to  target  type
           8     9      10  any
           7    12      13  any
           6    17      18  any
           5    22      22  any
          28    29      30  any
          27    32      32  any
          39    40      41  any
          38    43      43  any
          50    51      52  any
          49    54      54  any

  private static int numberInstructions(org.graalvm.compiler.lir.LIR, org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>[]);
    descriptor: (Lorg/graalvm/compiler/lir/LIR;[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=12, args_size=2
        start local 0 // org.graalvm.compiler.lir.LIR lir
        start local 1 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] sortedBlocks
         0: .line 179
            iconst_0
            istore 2 /* opId */
        start local 2 // int opId
         1: .line 180
            iconst_0
            istore 3 /* index */
        start local 3 // int index
         2: .line 181
            aload 1 /* sortedBlocks */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 15
      StackMap locals: org.graalvm.compiler.lir.LIR org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] int int top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
      StackMap stack:
         3: aload 7
            iload 5
            aaload
            astore 4 /* block */
        start local 4 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
         4: .line 183
            aload 0 /* lir */
            aload 4 /* block */
            invokevirtual org.graalvm.compiler.lir.LIR.getLIRforBlock:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Ljava/util/ArrayList;
            astore 8 /* instructions */
        start local 8 // java.util.List instructions
         5: .line 185
            aload 8 /* instructions */
            invokeinterface java.util.List.size:()I
            istore 9 /* numInst */
        start local 9 // int numInst
         6: .line 186
            iconst_0
            istore 10 /* j */
        start local 10 // int j
         7: goto 13
         8: .line 187
      StackMap locals: org.graalvm.compiler.lir.LIR org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] java.util.List int int
      StackMap stack:
            aload 8 /* instructions */
            iload 10 /* j */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.compiler.lir.LIRInstruction
            astore 11 /* op */
        start local 11 // org.graalvm.compiler.lir.LIRInstruction op
         9: .line 188
            aload 11 /* op */
            iload 2 /* opId */
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.setId:(I)V
        10: .line 190
            iinc 3 /* index */ 1
        11: .line 191
            iinc 2 /* opId */ 2
        end local 11 // org.graalvm.compiler.lir.LIRInstruction op
        12: .line 186
            iinc 10 /* j */ 1
      StackMap locals:
      StackMap stack:
        13: iload 10 /* j */
            iload 9 /* numInst */
            if_icmplt 8
        end local 10 // int j
        end local 9 // int numInst
        end local 8 // java.util.List instructions
        end local 4 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
        14: .line 181
            iinc 5 1
      StackMap locals: org.graalvm.compiler.lir.LIR org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] int int top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
      StackMap stack:
        15: iload 5
            iload 6
            if_icmplt 3
        16: .line 194
            getstatic org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.$assertionsDisabled:Z
            ifne 17
            iload 3 /* index */
            iconst_1
            ishl
            iload 2 /* opId */
            if_icmpeq 17
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "must match: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* index */
            iconst_1
            ishl
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        17: .line 195
      StackMap locals: org.graalvm.compiler.lir.LIR org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] int int
      StackMap stack:
            iload 2 /* opId */
            iconst_2
            isub
            ireturn
        end local 3 // int index
        end local 2 // int opId
        end local 1 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] sortedBlocks
        end local 0 // org.graalvm.compiler.lir.LIR lir
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   18     0           lir  Lorg/graalvm/compiler/lir/LIR;
            0   18     1  sortedBlocks  [Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            1   18     2          opId  I
            2   18     3         index  I
            4   14     4         block  Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
            5   14     8  instructions  Ljava/util/List<Lorg/graalvm/compiler/lir/LIRInstruction;>;
            6   14     9       numInst  I
            7   14    10             j  I
            9   12    11            op  Lorg/graalvm/compiler/lir/LIRInstruction;
    Signature: (Lorg/graalvm/compiler/lir/LIR;[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;)I
    MethodParameters:
              Name  Flags
      lir           
      sortedBlocks  

  private java.util.Set<org.graalvm.compiler.lir.LIRInstruction> buildIntervals();
    descriptor: ()Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator this
         0: .line 203
            new org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder
            dup
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.lir:Lorg/graalvm/compiler/lir/LIR;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.stackSlotMap:[Lorg/graalvm/compiler/lir/stackslotalloc/StackInterval;
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.maxOpId:()I
            invokespecial org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder.<init>:(Lorg/graalvm/compiler/lir/LIR;[Lorg/graalvm/compiler/lir/stackslotalloc/StackInterval;I)V
            invokevirtual org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder.build:()Ljava/util/Set;
            areturn
        end local 0 // org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/stackslotalloc/LSStackSlotAllocator$Allocator;
    Signature: ()Ljava/util/Set<Lorg/graalvm/compiler/lir/LIRInstruction;>;

  private boolean verifyIntervals();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator this
         0: .line 211
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.stackSlotMap:[Lorg/graalvm/compiler/lir/stackslotalloc/StackInterval;
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 5
      StackMap locals: org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator top int int org.graalvm.compiler.lir.stackslotalloc.StackInterval[]
      StackMap stack:
         1: aload 4
            iload 2
            aaload
            astore 1 /* interval */
        start local 1 // org.graalvm.compiler.lir.stackslotalloc.StackInterval interval
         2: .line 212
            aload 1 /* interval */
            ifnull 4
         3: .line 213
            getstatic org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.$assertionsDisabled:Z
            ifne 4
            aload 1 /* interval */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.maxOpId:()I
            invokevirtual org.graalvm.compiler.lir.stackslotalloc.StackInterval.verify:(I)Z
            ifne 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 1 // org.graalvm.compiler.lir.stackslotalloc.StackInterval interval
         4: .line 211
      StackMap locals:
      StackMap stack:
            iinc 2 1
      StackMap locals:
      StackMap stack:
         5: iload 2
            iload 3
            if_icmplt 1
         6: .line 216
            iconst_1
            ireturn
        end local 0 // org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lorg/graalvm/compiler/lir/stackslotalloc/LSStackSlotAllocator$Allocator;
            2    4     1  interval  Lorg/graalvm/compiler/lir/stackslotalloc/StackInterval;

  private void allocateStackSlots();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator this
         0: .line 226
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.stackSlotMap:[Lorg/graalvm/compiler/lir/stackslotalloc/StackInterval;
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 5
      StackMap locals: org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator top int int org.graalvm.compiler.lir.stackslotalloc.StackInterval[]
      StackMap stack:
         1: aload 4
            iload 2
            aaload
            astore 1 /* interval */
        start local 1 // org.graalvm.compiler.lir.stackslotalloc.StackInterval interval
         2: .line 227
            aload 1 /* interval */
            ifnull 4
         3: .line 228
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.unhandled:Ljava/util/PriorityQueue;
            aload 1 /* interval */
            invokevirtual java.util.PriorityQueue.add:(Ljava/lang/Object;)Z
            pop
        end local 1 // org.graalvm.compiler.lir.stackslotalloc.StackInterval interval
         4: .line 226
      StackMap locals:
      StackMap stack:
            iinc 2 1
      StackMap locals:
      StackMap stack:
         5: iload 2
            iload 3
            if_icmplt 1
         6: .line 232
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.activateNext:()Lorg/graalvm/compiler/lir/stackslotalloc/StackInterval;
            astore 1 /* current */
        start local 1 // org.graalvm.compiler.lir.stackslotalloc.StackInterval current
         7: goto 18
         8: .line 233
      StackMap locals: org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator org.graalvm.compiler.lir.stackslotalloc.StackInterval
      StackMap stack:
            aconst_null
            astore 2
            aconst_null
            astore 3
         9: ldc "allocate %s"
            aload 1 /* current */
            invokestatic org.graalvm.compiler.debug.Debug.logAndIndent:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/Indent;
            astore 4 /* indent */
        start local 4 // org.graalvm.compiler.debug.Indent indent
        10: .line 234
            aload 0 /* this */
            aload 1 /* current */
            invokevirtual org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.allocateSlot:(Lorg/graalvm/compiler/lir/stackslotalloc/StackInterval;)V
        11: .line 235
            aload 4 /* indent */
            ifnull 17
            aload 4 /* indent */
            invokeinterface org.graalvm.compiler.debug.Indent.close:()V
            goto 17
      StackMap locals: org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator org.graalvm.compiler.lir.stackslotalloc.StackInterval java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent
      StackMap stack: java.lang.Throwable
        12: astore 2
            aload 4 /* indent */
            ifnull 13
            aload 4 /* indent */
            invokeinterface org.graalvm.compiler.debug.Indent.close:()V
        end local 4 // org.graalvm.compiler.debug.Indent indent
      StackMap locals:
      StackMap stack:
        13: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: astore 3
            aload 2
            ifnonnull 15
            aload 3
            astore 2
            goto 16
      StackMap locals:
      StackMap stack:
        15: aload 2
            aload 3
            if_acmpeq 16
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        16: aload 2
            athrow
        17: .line 232
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.activateNext:()Lorg/graalvm/compiler/lir/stackslotalloc/StackInterval;
            astore 1 /* current */
      StackMap locals:
      StackMap stack:
        18: aload 1 /* current */
            ifnonnull 8
        end local 1 // org.graalvm.compiler.lir.stackslotalloc.StackInterval current
        19: .line 238
            return
        end local 0 // org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   20     0      this  Lorg/graalvm/compiler/lir/stackslotalloc/LSStackSlotAllocator$Allocator;
            2    4     1  interval  Lorg/graalvm/compiler/lir/stackslotalloc/StackInterval;
            7   19     1   current  Lorg/graalvm/compiler/lir/stackslotalloc/StackInterval;
           10   13     4    indent  Lorg/graalvm/compiler/debug/Indent;
      Exception table:
        from    to  target  type
          10    11      12  any
           9    14      14  any

  private void allocateSlot(org.graalvm.compiler.lir.stackslotalloc.StackInterval);
    descriptor: (Lorg/graalvm/compiler/lir/stackslotalloc/StackInterval;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator this
        start local 1 // org.graalvm.compiler.lir.stackslotalloc.StackInterval current
         0: .line 241
            aload 1 /* current */
            invokevirtual org.graalvm.compiler.lir.stackslotalloc.StackInterval.getOperand:()Lorg/graalvm/compiler/lir/VirtualStackSlot;
            astore 2 /* virtualSlot */
        start local 2 // org.graalvm.compiler.lir.VirtualStackSlot virtualSlot
         1: .line 243
            aload 2 /* virtualSlot */
            instanceof org.graalvm.compiler.lir.framemap.VirtualStackSlotRange
            ifeq 7
         2: .line 245
            aload 2 /* virtualSlot */
            checkcast org.graalvm.compiler.lir.framemap.VirtualStackSlotRange
            astore 4 /* slotRange */
        start local 4 // org.graalvm.compiler.lir.framemap.VirtualStackSlotRange slotRange
         3: .line 246
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.frameMapBuilder:Lorg/graalvm/compiler/lir/framemap/FrameMapBuilderTool;
            invokevirtual org.graalvm.compiler.lir.framemap.FrameMapBuilderTool.getFrameMap:()Lorg/graalvm/compiler/lir/framemap/FrameMap;
            aload 4 /* slotRange */
            invokevirtual org.graalvm.compiler.lir.framemap.VirtualStackSlotRange.getSlots:()I
            aload 4 /* slotRange */
            invokevirtual org.graalvm.compiler.lir.framemap.VirtualStackSlotRange.getObjects:()Ljava/util/BitSet;
            invokevirtual org.graalvm.compiler.lir.framemap.FrameMap.allocateStackSlots:(ILjava/util/BitSet;)Ljdk/vm/ci/code/StackSlot;
            astore 3 /* location */
        start local 3 // jdk.vm.ci.code.StackSlot location
         4: .line 247
            getstatic org.graalvm.compiler.lir.stackslotalloc.StackSlotAllocatorUtil.virtualFramesize:Lorg/graalvm/compiler/debug/DebugCounter;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.frameMapBuilder:Lorg/graalvm/compiler/lir/framemap/FrameMapBuilderTool;
            invokevirtual org.graalvm.compiler.lir.framemap.FrameMapBuilderTool.getFrameMap:()Lorg/graalvm/compiler/lir/framemap/FrameMap;
            aload 4 /* slotRange */
            invokevirtual org.graalvm.compiler.lir.framemap.VirtualStackSlotRange.getSlots:()I
            invokevirtual org.graalvm.compiler.lir.framemap.FrameMap.spillSlotRangeSize:(I)I
            i2l
            invokeinterface org.graalvm.compiler.debug.DebugCounter.add:(J)V
         5: .line 248
            getstatic org.graalvm.compiler.lir.stackslotalloc.StackSlotAllocatorUtil.allocatedSlots:Lorg/graalvm/compiler/debug/DebugCounter;
            invokeinterface org.graalvm.compiler.debug.DebugCounter.increment:()V
        end local 4 // org.graalvm.compiler.lir.framemap.VirtualStackSlotRange slotRange
         6: .line 249
            goto 18
        end local 3 // jdk.vm.ci.code.StackSlot location
         7: .line 250
      StackMap locals: org.graalvm.compiler.lir.VirtualStackSlot
      StackMap stack:
            getstatic org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.$assertionsDisabled:Z
            ifne 8
            aload 2 /* virtualSlot */
            instanceof org.graalvm.compiler.lir.framemap.SimpleVirtualStackSlot
            ifne 8
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unexpected VirtualStackSlot type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* virtualSlot */
            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
         8: .line 251
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* virtualSlot */
            checkcast org.graalvm.compiler.lir.framemap.SimpleVirtualStackSlot
            invokevirtual org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.findFreeSlot:(Lorg/graalvm/compiler/lir/framemap/SimpleVirtualStackSlot;)Ljdk/vm/ci/code/StackSlot;
            astore 4 /* slot */
        start local 4 // jdk.vm.ci.code.StackSlot slot
         9: .line 252
            aload 4 /* slot */
            ifnull 14
        10: .line 257
            aload 1 /* current */
            invokevirtual org.graalvm.compiler.lir.stackslotalloc.StackInterval.kind:()Ljdk/vm/ci/meta/ValueKind;
            aload 4 /* slot */
            invokevirtual jdk.vm.ci.code.StackSlot.getRawOffset:()I
            aload 4 /* slot */
            invokevirtual jdk.vm.ci.code.StackSlot.getRawAddFrameSize:()Z
            invokestatic jdk.vm.ci.code.StackSlot.get:(Ljdk/vm/ci/meta/ValueKind;IZ)Ljdk/vm/ci/code/StackSlot;
            astore 3 /* location */
        start local 3 // jdk.vm.ci.code.StackSlot location
        11: .line 258
            getstatic org.graalvm.compiler.lir.stackslotalloc.StackSlotAllocatorUtil.reusedSlots:Lorg/graalvm/compiler/debug/DebugCounter;
            invokeinterface org.graalvm.compiler.debug.DebugCounter.increment:()V
        12: .line 259
            iconst_1
            ldc "Reuse stack slot %s (reallocated from %s) for virtual stack slot %s"
            aload 3 /* location */
            aload 4 /* slot */
            aload 2 /* virtualSlot */
            invokestatic org.graalvm.compiler.debug.Debug.log:(ILjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
        13: .line 260
            goto 18
        end local 3 // jdk.vm.ci.code.StackSlot location
        14: .line 262
      StackMap locals: org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator org.graalvm.compiler.lir.stackslotalloc.StackInterval org.graalvm.compiler.lir.VirtualStackSlot top jdk.vm.ci.code.StackSlot
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.frameMapBuilder:Lorg/graalvm/compiler/lir/framemap/FrameMapBuilderTool;
            invokevirtual org.graalvm.compiler.lir.framemap.FrameMapBuilderTool.getFrameMap:()Lorg/graalvm/compiler/lir/framemap/FrameMap;
            aload 2 /* virtualSlot */
            invokevirtual org.graalvm.compiler.lir.VirtualStackSlot.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
            invokevirtual org.graalvm.compiler.lir.framemap.FrameMap.allocateSpillSlot:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/StackSlot;
            astore 3 /* location */
        start local 3 // jdk.vm.ci.code.StackSlot location
        15: .line 263
            getstatic org.graalvm.compiler.lir.stackslotalloc.StackSlotAllocatorUtil.virtualFramesize:Lorg/graalvm/compiler/debug/DebugCounter;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.frameMapBuilder:Lorg/graalvm/compiler/lir/framemap/FrameMapBuilderTool;
            invokevirtual org.graalvm.compiler.lir.framemap.FrameMapBuilderTool.getFrameMap:()Lorg/graalvm/compiler/lir/framemap/FrameMap;
            aload 2 /* virtualSlot */
            invokevirtual org.graalvm.compiler.lir.VirtualStackSlot.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
            invokevirtual org.graalvm.compiler.lir.framemap.FrameMap.spillSlotSize:(Ljdk/vm/ci/meta/ValueKind;)I
            i2l
            invokeinterface org.graalvm.compiler.debug.DebugCounter.add:(J)V
        16: .line 264
            getstatic org.graalvm.compiler.lir.stackslotalloc.StackSlotAllocatorUtil.allocatedSlots:Lorg/graalvm/compiler/debug/DebugCounter;
            invokeinterface org.graalvm.compiler.debug.DebugCounter.increment:()V
        17: .line 265
            iconst_1
            ldc "New stack slot %s for virtual stack slot %s"
            aload 3 /* location */
            aload 2 /* virtualSlot */
            invokestatic org.graalvm.compiler.debug.Debug.log:(ILjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        end local 4 // jdk.vm.ci.code.StackSlot slot
        18: .line 268
      StackMap locals: org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator org.graalvm.compiler.lir.stackslotalloc.StackInterval org.graalvm.compiler.lir.VirtualStackSlot jdk.vm.ci.code.StackSlot
      StackMap stack:
            ldc "Allocate location %s for interval %s"
            aload 3 /* location */
            aload 1 /* current */
            invokestatic org.graalvm.compiler.debug.Debug.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        19: .line 269
            aload 1 /* current */
            aload 3 /* location */
            invokevirtual org.graalvm.compiler.lir.stackslotalloc.StackInterval.setLocation:(Ljdk/vm/ci/code/StackSlot;)V
        20: .line 270
            return
        end local 3 // jdk.vm.ci.code.StackSlot location
        end local 2 // org.graalvm.compiler.lir.VirtualStackSlot virtualSlot
        end local 1 // org.graalvm.compiler.lir.stackslotalloc.StackInterval current
        end local 0 // org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   21     0         this  Lorg/graalvm/compiler/lir/stackslotalloc/LSStackSlotAllocator$Allocator;
            0   21     1      current  Lorg/graalvm/compiler/lir/stackslotalloc/StackInterval;
            1   21     2  virtualSlot  Lorg/graalvm/compiler/lir/VirtualStackSlot;
            4    7     3     location  Ljdk/vm/ci/code/StackSlot;
           11   14     3     location  Ljdk/vm/ci/code/StackSlot;
           15   21     3     location  Ljdk/vm/ci/code/StackSlot;
            3    6     4    slotRange  Lorg/graalvm/compiler/lir/framemap/VirtualStackSlotRange;
            9   18     4         slot  Ljdk/vm/ci/code/StackSlot;
    MethodParameters:
         Name  Flags
      current  

  private org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator$SlotSize forKind(jdk.vm.ci.meta.ValueKind<?>);
    descriptor: (Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/stackslotalloc/LSStackSlotAllocator$Allocator$SlotSize;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator this
        start local 1 // jdk.vm.ci.meta.ValueKind kind
         0: .line 281
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.frameMapBuilder:Lorg/graalvm/compiler/lir/framemap/FrameMapBuilderTool;
            invokevirtual org.graalvm.compiler.lir.framemap.FrameMapBuilderTool.getFrameMap:()Lorg/graalvm/compiler/lir/framemap/FrameMap;
            aload 1 /* kind */
            invokevirtual org.graalvm.compiler.lir.framemap.FrameMap.spillSlotSize:(Ljdk/vm/ci/meta/ValueKind;)I
            tableswitch { // 1 - 8
                    1: 1
                    2: 2
                    3: 5
                    4: 3
                    5: 5
                    6: 5
                    7: 5
                    8: 4
              default: 5
          }
         1: .line 283
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator$SlotSize.Size1:Lorg/graalvm/compiler/lir/stackslotalloc/LSStackSlotAllocator$Allocator$SlotSize;
            areturn
         2: .line 285
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator$SlotSize.Size2:Lorg/graalvm/compiler/lir/stackslotalloc/LSStackSlotAllocator$Allocator$SlotSize;
            areturn
         3: .line 287
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator$SlotSize.Size4:Lorg/graalvm/compiler/lir/stackslotalloc/LSStackSlotAllocator$Allocator$SlotSize;
            areturn
         4: .line 289
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator$SlotSize.Size8:Lorg/graalvm/compiler/lir/stackslotalloc/LSStackSlotAllocator$Allocator$SlotSize;
            areturn
         5: .line 291
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator$SlotSize.Illegal:Lorg/graalvm/compiler/lir/stackslotalloc/LSStackSlotAllocator$Allocator$SlotSize;
            areturn
        end local 1 // jdk.vm.ci.meta.ValueKind kind
        end local 0 // org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/graalvm/compiler/lir/stackslotalloc/LSStackSlotAllocator$Allocator;
            0    6     1  kind  Ljdk/vm/ci/meta/ValueKind<*>;
    Signature: (Ljdk/vm/ci/meta/ValueKind<*>;)Lorg/graalvm/compiler/lir/stackslotalloc/LSStackSlotAllocator$Allocator$SlotSize;
    MethodParameters:
      Name  Flags
      kind  

  private java.util.Deque<jdk.vm.ci.code.StackSlot> getOrNullFreeSlots(org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator$SlotSize);
    descriptor: (Lorg/graalvm/compiler/lir/stackslotalloc/LSStackSlotAllocator$Allocator$SlotSize;)Ljava/util/Deque;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator this
        start local 1 // org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator$SlotSize size
         0: .line 301
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.freeSlots:Ljava/util/EnumMap;
            ifnonnull 2
         1: .line 302
            aconst_null
            areturn
         2: .line 304
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.freeSlots:Ljava/util/EnumMap;
            aload 1 /* size */
            invokevirtual java.util.EnumMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Deque
            areturn
        end local 1 // org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator$SlotSize size
        end local 0 // org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/lir/stackslotalloc/LSStackSlotAllocator$Allocator;
            0    3     1  size  Lorg/graalvm/compiler/lir/stackslotalloc/LSStackSlotAllocator$Allocator$SlotSize;
    Signature: (Lorg/graalvm/compiler/lir/stackslotalloc/LSStackSlotAllocator$Allocator$SlotSize;)Ljava/util/Deque<Ljdk/vm/ci/code/StackSlot;>;
    MethodParameters:
      Name  Flags
      size  

  private java.util.Deque<jdk.vm.ci.code.StackSlot> getOrInitFreeSlots(org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator$SlotSize);
    descriptor: (Lorg/graalvm/compiler/lir/stackslotalloc/LSStackSlotAllocator$Allocator$SlotSize;)Ljava/util/Deque;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator this
        start local 1 // org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator$SlotSize size
         0: .line 312
            getstatic org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.$assertionsDisabled:Z
            ifne 1
            aload 1 /* size */
            getstatic org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator$SlotSize.Illegal:Lorg/graalvm/compiler/lir/stackslotalloc/LSStackSlotAllocator$Allocator$SlotSize;
            if_acmpne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 314
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.freeSlots:Ljava/util/EnumMap;
            ifnull 4
         2: .line 315
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.freeSlots:Ljava/util/EnumMap;
            aload 1 /* size */
            invokevirtual java.util.EnumMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Deque
            astore 2 /* freeList */
        start local 2 // java.util.Deque freeList
         3: .line 316
            goto 6
        end local 2 // java.util.Deque freeList
         4: .line 317
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.util.EnumMap
            dup
            ldc Lorg/graalvm/compiler/lir/stackslotalloc/LSStackSlotAllocator$Allocator$SlotSize;
            invokespecial java.util.EnumMap.<init>:(Ljava/lang/Class;)V
            putfield org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.freeSlots:Ljava/util/EnumMap;
         5: .line 318
            aconst_null
            astore 2 /* freeList */
        start local 2 // java.util.Deque freeList
         6: .line 320
      StackMap locals: java.util.Deque
      StackMap stack:
            aload 2 /* freeList */
            ifnonnull 9
         7: .line 321
            new java.util.ArrayDeque
            dup
            invokespecial java.util.ArrayDeque.<init>:()V
            astore 2 /* freeList */
         8: .line 322
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.freeSlots:Ljava/util/EnumMap;
            aload 1 /* size */
            aload 2 /* freeList */
            invokevirtual java.util.EnumMap.put:(Ljava/lang/Enum;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 324
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.$assertionsDisabled:Z
            ifne 10
            aload 2 /* freeList */
            ifnonnull 10
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        10: .line 325
      StackMap locals:
      StackMap stack:
            aload 2 /* freeList */
            areturn
        end local 2 // java.util.Deque freeList
        end local 1 // org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator$SlotSize size
        end local 0 // org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lorg/graalvm/compiler/lir/stackslotalloc/LSStackSlotAllocator$Allocator;
            0   11     1      size  Lorg/graalvm/compiler/lir/stackslotalloc/LSStackSlotAllocator$Allocator$SlotSize;
            3    4     2  freeList  Ljava/util/Deque<Ljdk/vm/ci/code/StackSlot;>;
            6   11     2  freeList  Ljava/util/Deque<Ljdk/vm/ci/code/StackSlot;>;
    Signature: (Lorg/graalvm/compiler/lir/stackslotalloc/LSStackSlotAllocator$Allocator$SlotSize;)Ljava/util/Deque<Ljdk/vm/ci/code/StackSlot;>;
    MethodParameters:
      Name  Flags
      size  

  private jdk.vm.ci.code.StackSlot findFreeSlot(org.graalvm.compiler.lir.framemap.SimpleVirtualStackSlot);
    descriptor: (Lorg/graalvm/compiler/lir/framemap/SimpleVirtualStackSlot;)Ljdk/vm/ci/code/StackSlot;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator this
        start local 1 // org.graalvm.compiler.lir.framemap.SimpleVirtualStackSlot slot
         0: .line 332
            getstatic org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.$assertionsDisabled:Z
            ifne 1
            aload 1 /* slot */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 333
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* slot */
            invokevirtual org.graalvm.compiler.lir.framemap.SimpleVirtualStackSlot.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
            invokevirtual org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.forKind:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/stackslotalloc/LSStackSlotAllocator$Allocator$SlotSize;
            astore 2 /* size */
        start local 2 // org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator$SlotSize size
         2: .line 334
            aload 2 /* size */
            getstatic org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator$SlotSize.Illegal:Lorg/graalvm/compiler/lir/stackslotalloc/LSStackSlotAllocator$Allocator$SlotSize;
            if_acmpne 4
         3: .line 335
            aconst_null
            areturn
         4: .line 337
      StackMap locals: org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator$SlotSize
      StackMap stack:
            aload 0 /* this */
            aload 2 /* size */
            invokevirtual org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.getOrNullFreeSlots:(Lorg/graalvm/compiler/lir/stackslotalloc/LSStackSlotAllocator$Allocator$SlotSize;)Ljava/util/Deque;
            astore 3 /* freeList */
        start local 3 // java.util.Deque freeList
         5: .line 338
            aload 3 /* freeList */
            ifnonnull 7
         6: .line 339
            aconst_null
            areturn
         7: .line 341
      StackMap locals: java.util.Deque
      StackMap stack:
            aload 3 /* freeList */
            invokeinterface java.util.Deque.pollLast:()Ljava/lang/Object;
            checkcast jdk.vm.ci.code.StackSlot
            areturn
        end local 3 // java.util.Deque freeList
        end local 2 // org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator$SlotSize size
        end local 1 // org.graalvm.compiler.lir.framemap.SimpleVirtualStackSlot slot
        end local 0 // org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lorg/graalvm/compiler/lir/stackslotalloc/LSStackSlotAllocator$Allocator;
            0    8     1      slot  Lorg/graalvm/compiler/lir/framemap/SimpleVirtualStackSlot;
            2    8     2      size  Lorg/graalvm/compiler/lir/stackslotalloc/LSStackSlotAllocator$Allocator$SlotSize;
            5    8     3  freeList  Ljava/util/Deque<Ljdk/vm/ci/code/StackSlot;>;
    MethodParameters:
      Name  Flags
      slot  

  private void freeSlot(jdk.vm.ci.code.StackSlot);
    descriptor: (Ljdk/vm/ci/code/StackSlot;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator this
        start local 1 // jdk.vm.ci.code.StackSlot slot
         0: .line 348
            aload 0 /* this */
            aload 1 /* slot */
            invokevirtual jdk.vm.ci.code.StackSlot.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
            invokevirtual org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.forKind:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/stackslotalloc/LSStackSlotAllocator$Allocator$SlotSize;
            astore 2 /* size */
        start local 2 // org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator$SlotSize size
         1: .line 349
            aload 2 /* size */
            getstatic org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator$SlotSize.Illegal:Lorg/graalvm/compiler/lir/stackslotalloc/LSStackSlotAllocator$Allocator$SlotSize;
            if_acmpne 3
         2: .line 350
            return
         3: .line 352
      StackMap locals: org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator$SlotSize
      StackMap stack:
            aload 0 /* this */
            aload 2 /* size */
            invokevirtual org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.getOrInitFreeSlots:(Lorg/graalvm/compiler/lir/stackslotalloc/LSStackSlotAllocator$Allocator$SlotSize;)Ljava/util/Deque;
            aload 1 /* slot */
            invokeinterface java.util.Deque.addLast:(Ljava/lang/Object;)V
         4: .line 353
            return
        end local 2 // org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator$SlotSize size
        end local 1 // jdk.vm.ci.code.StackSlot slot
        end local 0 // org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/graalvm/compiler/lir/stackslotalloc/LSStackSlotAllocator$Allocator;
            0    5     1  slot  Ljdk/vm/ci/code/StackSlot;
            1    5     2  size  Lorg/graalvm/compiler/lir/stackslotalloc/LSStackSlotAllocator$Allocator$SlotSize;
    MethodParameters:
      Name  Flags
      slot  

  private org.graalvm.compiler.lir.stackslotalloc.StackInterval activateNext();
    descriptor: ()Lorg/graalvm/compiler/lir/stackslotalloc/StackInterval;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator this
         0: .line 359
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.unhandled:Ljava/util/PriorityQueue;
            invokevirtual java.util.PriorityQueue.isEmpty:()Z
            ifeq 2
         1: .line 360
            aconst_null
            areturn
         2: .line 362
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.unhandled:Ljava/util/PriorityQueue;
            invokevirtual java.util.PriorityQueue.poll:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.lir.stackslotalloc.StackInterval
            astore 1 /* next */
        start local 1 // org.graalvm.compiler.lir.stackslotalloc.StackInterval next
         3: .line 364
            aload 1 /* next */
            invokevirtual org.graalvm.compiler.lir.stackslotalloc.StackInterval.from:()I
            istore 2 /* id */
        start local 2 // int id
         4: goto 6
         5: .line 365
      StackMap locals: org.graalvm.compiler.lir.stackslotalloc.StackInterval int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.active:Ljava/util/PriorityQueue;
            invokevirtual java.util.PriorityQueue.poll:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.lir.stackslotalloc.StackInterval
            invokevirtual org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.finished:(Lorg/graalvm/compiler/lir/stackslotalloc/StackInterval;)V
         6: .line 364
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.activePeekId:()I
            iload 2 /* id */
            if_icmplt 5
        end local 2 // int id
         7: .line 367
            ldc "active %s"
            aload 1 /* next */
            invokestatic org.graalvm.compiler.debug.Debug.log:(Ljava/lang/String;Ljava/lang/Object;)V
         8: .line 368
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.active:Ljava/util/PriorityQueue;
            aload 1 /* next */
            invokevirtual java.util.PriorityQueue.add:(Ljava/lang/Object;)Z
            pop
         9: .line 369
            aload 1 /* next */
            areturn
        end local 1 // org.graalvm.compiler.lir.stackslotalloc.StackInterval next
        end local 0 // org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lorg/graalvm/compiler/lir/stackslotalloc/LSStackSlotAllocator$Allocator;
            3   10     1  next  Lorg/graalvm/compiler/lir/stackslotalloc/StackInterval;
            4    7     2    id  I

  private int activePeekId();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator this
         0: .line 377
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.active:Ljava/util/PriorityQueue;
            invokevirtual java.util.PriorityQueue.peek:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.lir.stackslotalloc.StackInterval
            astore 1 /* first */
        start local 1 // org.graalvm.compiler.lir.stackslotalloc.StackInterval first
         1: .line 378
            aload 1 /* first */
            ifnonnull 3
         2: .line 379
            ldc 2147483647
            ireturn
         3: .line 381
      StackMap locals: org.graalvm.compiler.lir.stackslotalloc.StackInterval
      StackMap stack:
            aload 1 /* first */
            invokevirtual org.graalvm.compiler.lir.stackslotalloc.StackInterval.to:()I
            ireturn
        end local 1 // org.graalvm.compiler.lir.stackslotalloc.StackInterval first
        end local 0 // org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/graalvm/compiler/lir/stackslotalloc/LSStackSlotAllocator$Allocator;
            1    4     1  first  Lorg/graalvm/compiler/lir/stackslotalloc/StackInterval;

  private void finished(org.graalvm.compiler.lir.stackslotalloc.StackInterval);
    descriptor: (Lorg/graalvm/compiler/lir/stackslotalloc/StackInterval;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator this
        start local 1 // org.graalvm.compiler.lir.stackslotalloc.StackInterval interval
         0: .line 388
            aload 1 /* interval */
            invokevirtual org.graalvm.compiler.lir.stackslotalloc.StackInterval.location:()Ljdk/vm/ci/code/StackSlot;
            astore 2 /* location */
        start local 2 // jdk.vm.ci.code.StackSlot location
         1: .line 389
            ldc "finished %s (freeing %s)"
            aload 1 /* interval */
            aload 2 /* location */
            invokestatic org.graalvm.compiler.debug.Debug.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 390
            aload 0 /* this */
            aload 2 /* location */
            invokevirtual org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.freeSlot:(Ljdk/vm/ci/code/StackSlot;)V
         3: .line 391
            return
        end local 2 // jdk.vm.ci.code.StackSlot location
        end local 1 // org.graalvm.compiler.lir.stackslotalloc.StackInterval interval
        end local 0 // org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/graalvm/compiler/lir/stackslotalloc/LSStackSlotAllocator$Allocator;
            0    4     1  interval  Lorg/graalvm/compiler/lir/stackslotalloc/StackInterval;
            1    4     2  location  Ljdk/vm/ci/code/StackSlot;
    MethodParameters:
          Name  Flags
      interval  

  private void assignStackSlots(java.util.Set<org.graalvm.compiler.lir.LIRInstruction>);
    descriptor: (Ljava/util/Set;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator this
        start local 1 // java.util.Set usePos
         0: .line 398
            aload 1 /* usePos */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 7
      StackMap locals: org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator java.util.Set top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.lir.LIRInstruction
            astore 2 /* op */
        start local 2 // org.graalvm.compiler.lir.LIRInstruction op
         2: .line 399
            aload 2 /* op */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.assignSlot:Lorg/graalvm/compiler/lir/ValueProcedure;
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.forEachInput:(Lorg/graalvm/compiler/lir/ValueProcedure;)V
         3: .line 400
            aload 2 /* op */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.assignSlot:Lorg/graalvm/compiler/lir/ValueProcedure;
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.forEachAlive:(Lorg/graalvm/compiler/lir/ValueProcedure;)V
         4: .line 401
            aload 2 /* op */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.assignSlot:Lorg/graalvm/compiler/lir/ValueProcedure;
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.forEachState:(Lorg/graalvm/compiler/lir/ValueProcedure;)V
         5: .line 403
            aload 2 /* op */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.assignSlot:Lorg/graalvm/compiler/lir/ValueProcedure;
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.forEachTemp:(Lorg/graalvm/compiler/lir/ValueProcedure;)V
         6: .line 404
            aload 2 /* op */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.assignSlot:Lorg/graalvm/compiler/lir/ValueProcedure;
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.forEachOutput:(Lorg/graalvm/compiler/lir/ValueProcedure;)V
        end local 2 // org.graalvm.compiler.lir.LIRInstruction op
         7: .line 398
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         8: .line 406
            return
        end local 1 // java.util.Set usePos
        end local 0 // org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lorg/graalvm/compiler/lir/stackslotalloc/LSStackSlotAllocator$Allocator;
            0    9     1  usePos  Ljava/util/Set<Lorg/graalvm/compiler/lir/LIRInstruction;>;
            2    7     2      op  Lorg/graalvm/compiler/lir/LIRInstruction;
    Signature: (Ljava/util/Set<Lorg/graalvm/compiler/lir/LIRInstruction;>;)V
    MethodParameters:
        Name  Flags
      usePos  

  private int maxOpId();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator this
         0: .line 429
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.maxOpId:I
            ireturn
        end local 0 // org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/stackslotalloc/LSStackSlotAllocator$Allocator;

  private org.graalvm.compiler.lir.stackslotalloc.StackInterval get(org.graalvm.compiler.lir.VirtualStackSlot);
    descriptor: (Lorg/graalvm/compiler/lir/VirtualStackSlot;)Lorg/graalvm/compiler/lir/stackslotalloc/StackInterval;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator this
        start local 1 // org.graalvm.compiler.lir.VirtualStackSlot stackSlot
         0: .line 433
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.stackSlotMap:[Lorg/graalvm/compiler/lir/stackslotalloc/StackInterval;
            aload 1 /* stackSlot */
            invokevirtual org.graalvm.compiler.lir.VirtualStackSlot.getId:()I
            aaload
            areturn
        end local 1 // org.graalvm.compiler.lir.VirtualStackSlot stackSlot
        end local 0 // org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/graalvm/compiler/lir/stackslotalloc/LSStackSlotAllocator$Allocator;
            0    1     1  stackSlot  Lorg/graalvm/compiler/lir/VirtualStackSlot;
    MethodParameters:
           Name  Flags
      stackSlot  

  private void dumpIntervals(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator this
        start local 1 // java.lang.String label
         0: .line 437
            iconst_2
            new org.graalvm.compiler.lir.stackslotalloc.StackIntervalDumper
            dup
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.stackSlotMap:[Lorg/graalvm/compiler/lir/stackslotalloc/StackInterval;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator.stackSlotMap:[Lorg/graalvm/compiler/lir/stackslotalloc/StackInterval;
            arraylength
            invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
            checkcast org.graalvm.compiler.lir.stackslotalloc.StackInterval[]
            invokespecial org.graalvm.compiler.lir.stackslotalloc.StackIntervalDumper.<init>:([Lorg/graalvm/compiler/lir/stackslotalloc/StackInterval;)V
            aload 1 /* label */
            invokestatic org.graalvm.compiler.debug.Debug.dump:(ILjava/lang/Object;Ljava/lang/String;)V
         1: .line 438
            return
        end local 1 // java.lang.String label
        end local 0 // org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/graalvm/compiler/lir/stackslotalloc/LSStackSlotAllocator$Allocator;
            0    2     1  label  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      label  

  private static int lambda$0(org.graalvm.compiler.lir.stackslotalloc.StackInterval, org.graalvm.compiler.lir.stackslotalloc.StackInterval);
    descriptor: (Lorg/graalvm/compiler/lir/stackslotalloc/StackInterval;Lorg/graalvm/compiler/lir/stackslotalloc/StackInterval;)I
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.stackslotalloc.StackInterval a
        start local 1 // org.graalvm.compiler.lir.stackslotalloc.StackInterval b
         0: .line 122
            aload 0 /* a */
            invokevirtual org.graalvm.compiler.lir.stackslotalloc.StackInterval.from:()I
            aload 1 /* b */
            invokevirtual org.graalvm.compiler.lir.stackslotalloc.StackInterval.from:()I
            isub
            ireturn
        end local 1 // org.graalvm.compiler.lir.stackslotalloc.StackInterval b
        end local 0 // org.graalvm.compiler.lir.stackslotalloc.StackInterval a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     a  Lorg/graalvm/compiler/lir/stackslotalloc/StackInterval;
            0    1     1     b  Lorg/graalvm/compiler/lir/stackslotalloc/StackInterval;

  private static int lambda$1(org.graalvm.compiler.lir.stackslotalloc.StackInterval, org.graalvm.compiler.lir.stackslotalloc.StackInterval);
    descriptor: (Lorg/graalvm/compiler/lir/stackslotalloc/StackInterval;Lorg/graalvm/compiler/lir/stackslotalloc/StackInterval;)I
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.stackslotalloc.StackInterval a
        start local 1 // org.graalvm.compiler.lir.stackslotalloc.StackInterval b
         0: .line 124
            aload 0 /* a */
            invokevirtual org.graalvm.compiler.lir.stackslotalloc.StackInterval.to:()I
            aload 1 /* b */
            invokevirtual org.graalvm.compiler.lir.stackslotalloc.StackInterval.to:()I
            isub
            ireturn
        end local 1 // org.graalvm.compiler.lir.stackslotalloc.StackInterval b
        end local 0 // org.graalvm.compiler.lir.stackslotalloc.StackInterval a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     a  Lorg/graalvm/compiler/lir/stackslotalloc/StackInterval;
            0    1     1     b  Lorg/graalvm/compiler/lir/stackslotalloc/StackInterval;
}
SourceFile: "LSStackSlotAllocator.java"
NestHost: org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Scope = org.graalvm.compiler.debug.Debug$Scope of org.graalvm.compiler.debug.Debug
  private final Allocator = org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator of org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator
  org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator$1
  private final SlotSize = org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator$SlotSize of org.graalvm.compiler.lir.stackslotalloc.LSStackSlotAllocator$Allocator