class org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanAssignLocationsPhase$Assigner$2 implements org.graalvm.compiler.lir.InstructionValueProcedure
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanAssignLocationsPhase$Assigner$2
  super_class: java.lang.Object
{
  final org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanAssignLocationsPhase$Assigner this$1;
    descriptor: Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanAssignLocationsPhase$Assigner;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanAssignLocationsPhase$Assigner);
    descriptor: (Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanAssignLocationsPhase$Assigner;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanAssignLocationsPhase$Assigner$2 this
         0: .line 265
            aload 0 /* this */
            aload 1
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanAssignLocationsPhase$Assigner$2.this$1:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanAssignLocationsPhase$Assigner;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanAssignLocationsPhase$Assigner$2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanAssignLocationsPhase$Assigner$2;
    MethodParameters:
        Name  Flags
      this$0  final

  public jdk.vm.ci.meta.Value doValue(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: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=5
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanAssignLocationsPhase$Assigner$2 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 269
            aload 2 /* value */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isVariable:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 6
         1: .line 270
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanAssignLocationsPhase$Assigner$2.this$1:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanAssignLocationsPhase$Assigner;
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanAssignLocationsPhase$Assigner.allocator:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            aload 2 /* value */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.intervalFor:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            astore 5 /* interval */
        start local 5 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval interval
         2: .line 271
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanAssignLocationsPhase$Assigner.$assertionsDisabled:Z
            ifne 3
            aload 5 /* interval */
            ifnonnull 3
            new java.lang.AssertionError
            dup
            ldc "interval must exist"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 272
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanAssignLocationsPhase$Assigner$2.this$1:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanAssignLocationsPhase$Assigner;
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanAssignLocationsPhase$Assigner.allocator:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            aload 5 /* interval */
            aload 1 /* instruction */
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.id:()I
            aload 3 /* mode */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.splitChildAtOpId:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;ILorg/graalvm/compiler/lir/LIRInstruction$OperandMode;)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            astore 5 /* interval */
         4: .line 274
            aload 5 /* interval */
            aload 1 /* instruction */
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.id:()I
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.inMemoryAt:(I)Z
            ifeq 6
            aload 5 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.location:()Ljdk/vm/ci/meta/AllocatableValue;
            invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 6
         5: .line 275
            new org.graalvm.compiler.lir.alloc.trace.ShadowedRegisterValue
            dup
            aload 5 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.location:()Ljdk/vm/ci/meta/AllocatableValue;
            checkcast jdk.vm.ci.code.RegisterValue
            aload 5 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.spillSlot:()Ljdk/vm/ci/meta/AllocatableValue;
            invokespecial org.graalvm.compiler.lir.alloc.trace.ShadowedRegisterValue.<init>:(Ljdk/vm/ci/code/RegisterValue;Ljdk/vm/ci/meta/AllocatableValue;)V
            areturn
        end local 5 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval interval
         6: .line 278
      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.lsra.TraceLinearScanAssignLocationsPhase$Assigner$2 this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanAssignLocationsPhase$Assigner$2;
            0    7     1  instruction  Lorg/graalvm/compiler/lir/LIRInstruction;
            0    7     2        value  Ljdk/vm/ci/meta/Value;
            0    7     3         mode  Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
            0    7     4        flags  Ljava/util/EnumSet<Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;>;
            2    6     5     interval  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
    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        
}
SourceFile: "TraceLinearScanAssignLocationsPhase.java"
EnclosingMethod: org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanAssignLocationsPhase$Assigner
NestHost: org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanAssignLocationsPhase
InnerClasses:
  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
  private final Assigner = org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanAssignLocationsPhase$Assigner of org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanAssignLocationsPhase
  org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanAssignLocationsPhase$Assigner$2
  public final TraceLinearScan = org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan of org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase