public class org.graalvm.compiler.lir.alloc.lsra.ssa.SSALinearScanLifetimeAnalysisPhase extends org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.lir.alloc.lsra.ssa.SSALinearScanLifetimeAnalysisPhase
  super_class: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase
{
  void <init>(org.graalvm.compiler.lir.alloc.lsra.LinearScan);
    descriptor: (Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.ssa.SSALinearScanLifetimeAnalysisPhase this
        start local 1 // org.graalvm.compiler.lir.alloc.lsra.LinearScan linearScan
         0: .line 45
            aload 0 /* this */
            aload 1 /* linearScan */
            invokespecial org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.<init>:(Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;)V
         1: .line 46
            return
        end local 1 // org.graalvm.compiler.lir.alloc.lsra.LinearScan linearScan
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.ssa.SSALinearScanLifetimeAnalysisPhase this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/graalvm/compiler/lir/alloc/lsra/ssa/SSALinearScanLifetimeAnalysisPhase;
            0    2     1  linearScan  Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
    MethodParameters:
            Name  Flags
      linearScan  

  protected void addRegisterHint(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;Z)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=8, args_size=6
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.ssa.SSALinearScanLifetimeAnalysisPhase this
        start local 1 // org.graalvm.compiler.lir.LIRInstruction op
        start local 2 // jdk.vm.ci.meta.Value targetValue
        start local 3 // org.graalvm.compiler.lir.LIRInstruction$OperandMode mode
        start local 4 // java.util.EnumSet flags
        start local 5 // boolean hintAtDef
         0: .line 50
            aload 0 /* this */
            aload 1 /* op */
            aload 2 /* targetValue */
            aload 3 /* mode */
            aload 4 /* flags */
            iload 5 /* hintAtDef */
            invokespecial org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.addRegisterHint:(Lorg/graalvm/compiler/lir/LIRInstruction;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;Z)V
         1: .line 52
            iload 5 /* hintAtDef */
            ifeq 5
            aload 1 /* op */
            instanceof org.graalvm.compiler.lir.StandardOp$LabelOp
            ifeq 5
         2: .line 53
            aload 1 /* op */
            checkcast org.graalvm.compiler.lir.StandardOp$LabelOp
            astore 6 /* label */
        start local 6 // org.graalvm.compiler.lir.StandardOp$LabelOp label
         3: .line 55
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.ssa.SSALinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
            aload 2 /* targetValue */
            checkcast jdk.vm.ci.meta.AllocatableValue
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.getOrCreateInterval:(Ljdk/vm/ci/meta/AllocatableValue;)Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            astore 7 /* to */
        start local 7 // org.graalvm.compiler.lir.alloc.lsra.Interval to
         4: .line 57
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.ssa.SSALinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.getLIR:()Lorg/graalvm/compiler/lir/LIR;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.ssa.SSALinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
            aload 6 /* label */
            invokevirtual org.graalvm.compiler.lir.StandardOp$LabelOp.id:()I
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.blockForId:(I)Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            aload 6 /* label */
            aload 2 /* targetValue */
            aload 3 /* mode */
            aload 0 /* this */
            aload 1 /* op */
            aload 7 /* to */
            invokedynamic visitValue(Lorg/graalvm/compiler/lir/alloc/lsra/ssa/SSALinearScanLifetimeAnalysisPhase;Lorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/lir/alloc/lsra/Interval;)Lorg/graalvm/compiler/lir/ValueConsumer;
              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:
                  (Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)V
                  org/graalvm/compiler/lir/alloc/lsra/ssa/SSALinearScanLifetimeAnalysisPhase.lambda$0(Lorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/lir/alloc/lsra/Interval;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)V (7)
                  (Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)V
            invokestatic org.graalvm.compiler.lir.ssa.SSAUtil.forEachPhiRegisterHint:(Lorg/graalvm/compiler/lir/LIR;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/lir/StandardOp$LabelOp;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Lorg/graalvm/compiler/lir/ValueConsumer;)V
        end local 7 // org.graalvm.compiler.lir.alloc.lsra.Interval to
        end local 6 // org.graalvm.compiler.lir.StandardOp$LabelOp label
         5: .line 66
      StackMap locals:
      StackMap stack:
            return
        end local 5 // boolean hintAtDef
        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 targetValue
        end local 1 // org.graalvm.compiler.lir.LIRInstruction op
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.ssa.SSALinearScanLifetimeAnalysisPhase this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lorg/graalvm/compiler/lir/alloc/lsra/ssa/SSALinearScanLifetimeAnalysisPhase;
            0    6     1           op  Lorg/graalvm/compiler/lir/LIRInstruction;
            0    6     2  targetValue  Ljdk/vm/ci/meta/Value;
            0    6     3         mode  Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
            0    6     4        flags  Ljava/util/EnumSet<Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;>;
            0    6     5    hintAtDef  Z
            3    5     6        label  Lorg/graalvm/compiler/lir/StandardOp$LabelOp;
            4    5     7           to  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
    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;>;Z)V
    MethodParameters:
             Name  Flags
      op           final
      targetValue  final
      mode         
      flags        
      hintAtDef    final

  public static void setHint(org.graalvm.compiler.lir.LIRInstruction, org.graalvm.compiler.lir.alloc.lsra.Interval, org.graalvm.compiler.lir.alloc.lsra.Interval);
    descriptor: (Lorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/lir/alloc/lsra/Interval;Lorg/graalvm/compiler/lir/alloc/lsra/Interval;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.lir.LIRInstruction op
        start local 1 // org.graalvm.compiler.lir.alloc.lsra.Interval target
        start local 2 // org.graalvm.compiler.lir.alloc.lsra.Interval source
         0: .line 69
            aload 1 /* target */
            iconst_0
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.locationHint:(Z)Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            astore 3 /* currentHint */
        start local 3 // org.graalvm.compiler.lir.alloc.lsra.Interval currentHint
         1: .line 70
            aload 3 /* currentHint */
            ifnull 2
            aload 3 /* currentHint */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.from:()I
            aload 1 /* target */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.from:()I
            if_icmple 5
         2: .line 75
      StackMap locals: org.graalvm.compiler.lir.alloc.lsra.Interval
      StackMap stack:
            aload 1 /* target */
            aload 2 /* source */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.setLocationHint:(Lorg/graalvm/compiler/lir/alloc/lsra/Interval;)V
         3: .line 76
            invokestatic org.graalvm.compiler.debug.Debug.isLogEnabled:()Z
            ifeq 5
         4: .line 77
            ldc "operation at opId %d: added hint from interval %d to %d"
            aload 0 /* op */
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.id:()I
            aload 2 /* source */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.operandNumber:I
            aload 1 /* target */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.operandNumber:I
            invokestatic org.graalvm.compiler.debug.Debug.log:(Ljava/lang/String;III)V
         5: .line 80
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.graalvm.compiler.lir.alloc.lsra.Interval currentHint
        end local 2 // org.graalvm.compiler.lir.alloc.lsra.Interval source
        end local 1 // org.graalvm.compiler.lir.alloc.lsra.Interval target
        end local 0 // org.graalvm.compiler.lir.LIRInstruction op
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0           op  Lorg/graalvm/compiler/lir/LIRInstruction;
            0    6     1       target  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            0    6     2       source  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            1    6     3  currentHint  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
    MethodParameters:
        Name  Flags
      op      final
      target  
      source  

  protected org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority registerPriorityOfOutputOperand(org.graalvm.compiler.lir.LIRInstruction);
    descriptor: (Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.ssa.SSALinearScanLifetimeAnalysisPhase this
        start local 1 // org.graalvm.compiler.lir.LIRInstruction op
         0: .line 84
            aload 1 /* op */
            instanceof org.graalvm.compiler.lir.StandardOp$LabelOp
            ifeq 4
         1: .line 85
            aload 1 /* op */
            checkcast org.graalvm.compiler.lir.StandardOp$LabelOp
            astore 2 /* label */
        start local 2 // org.graalvm.compiler.lir.StandardOp$LabelOp label
         2: .line 86
            aload 2 /* label */
            invokevirtual org.graalvm.compiler.lir.StandardOp$LabelOp.isPhiIn:()Z
            ifeq 4
         3: .line 87
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority.None:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
            areturn
        end local 2 // org.graalvm.compiler.lir.StandardOp$LabelOp label
         4: .line 90
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* op */
            invokespecial org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.registerPriorityOfOutputOperand:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
            areturn
        end local 1 // org.graalvm.compiler.lir.LIRInstruction op
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.ssa.SSALinearScanLifetimeAnalysisPhase this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lorg/graalvm/compiler/lir/alloc/lsra/ssa/SSALinearScanLifetimeAnalysisPhase;
            0    5     1     op  Lorg/graalvm/compiler/lir/LIRInstruction;
            2    4     2  label  Lorg/graalvm/compiler/lir/StandardOp$LabelOp;
    MethodParameters:
      Name  Flags
      op    

  private void lambda$0(org.graalvm.compiler.lir.LIRInstruction, org.graalvm.compiler.lir.alloc.lsra.Interval, jdk.vm.ci.meta.Value, org.graalvm.compiler.lir.LIRInstruction$OperandMode, java.util.EnumSet);
    descriptor: (Lorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/lir/alloc/lsra/Interval;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=7, args_size=6
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.ssa.SSALinearScanLifetimeAnalysisPhase this
        start local 3 // jdk.vm.ci.meta.Value registerHint
        start local 4 // org.graalvm.compiler.lir.LIRInstruction$OperandMode valueMode
        start local 5 // java.util.EnumSet valueFlags
         0: .line 58
            aload 3 /* registerHint */
            invokestatic org.graalvm.compiler.lir.alloc.lsra.LinearScan.isVariableOrRegister:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 4
         1: .line 59
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.ssa.SSALinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
            aload 3 /* registerHint */
            checkcast jdk.vm.ci.meta.AllocatableValue
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.getOrCreateInterval:(Ljdk/vm/ci/meta/AllocatableValue;)Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            astore 6 /* from */
        start local 6 // org.graalvm.compiler.lir.alloc.lsra.Interval from
         2: .line 61
            aload 1
            aload 2
            aload 6 /* from */
            invokestatic org.graalvm.compiler.lir.alloc.lsra.ssa.SSALinearScanLifetimeAnalysisPhase.setHint:(Lorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/lir/alloc/lsra/Interval;Lorg/graalvm/compiler/lir/alloc/lsra/Interval;)V
         3: .line 62
            aload 1
            aload 6 /* from */
            aload 2
            invokestatic org.graalvm.compiler.lir.alloc.lsra.ssa.SSALinearScanLifetimeAnalysisPhase.setHint:(Lorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/lir/alloc/lsra/Interval;Lorg/graalvm/compiler/lir/alloc/lsra/Interval;)V
        end local 6 // org.graalvm.compiler.lir.alloc.lsra.Interval from
         4: .line 64
      StackMap locals:
      StackMap stack:
            return
        end local 5 // java.util.EnumSet valueFlags
        end local 4 // org.graalvm.compiler.lir.LIRInstruction$OperandMode valueMode
        end local 3 // jdk.vm.ci.meta.Value registerHint
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.ssa.SSALinearScanLifetimeAnalysisPhase this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Lorg/graalvm/compiler/lir/alloc/lsra/ssa/SSALinearScanLifetimeAnalysisPhase;
            0    5     3  registerHint  Ljdk/vm/ci/meta/Value;
            0    5     4     valueMode  Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
            0    5     5    valueFlags  Ljava/util/EnumSet<Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;>;
            2    4     6          from  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
}
SourceFile: "SSALinearScanLifetimeAnalysisPhase.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public final OperandFlag = org.graalvm.compiler.lir.LIRInstruction$OperandFlag of org.graalvm.compiler.lir.LIRInstruction
  public final OperandMode = org.graalvm.compiler.lir.LIRInstruction$OperandMode of org.graalvm.compiler.lir.LIRInstruction
  public final LabelOp = org.graalvm.compiler.lir.StandardOp$LabelOp of org.graalvm.compiler.lir.StandardOp
  public final RegisterPriority = org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority of org.graalvm.compiler.lir.alloc.lsra.Interval