public abstract class org.graalvm.compiler.lir.StandardOp$AbstractBlockEndOp extends org.graalvm.compiler.lir.LIRInstruction implements org.graalvm.compiler.lir.StandardOp$BlockEndOp
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.graalvm.compiler.lir.StandardOp$AbstractBlockEndOp
  super_class: org.graalvm.compiler.lir.LIRInstruction
{
  public static final org.graalvm.compiler.lir.LIRInstructionClass<org.graalvm.compiler.lir.StandardOp$AbstractBlockEndOp> TYPE;
    descriptor: Lorg/graalvm/compiler/lir/LIRInstructionClass;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/graalvm/compiler/lir/LIRInstructionClass<Lorg/graalvm/compiler/lir/StandardOp$AbstractBlockEndOp;>;

  public static final java.util.EnumSet<org.graalvm.compiler.lir.LIRInstruction$OperandFlag> outgoingFlags;
    descriptor: Ljava/util/EnumSet;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/EnumSet<Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;>;

  private jdk.vm.ci.meta.Value[] outgoingValues;
    descriptor: [Ljdk/vm/ci/meta/Value;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.lir.LIRInstruction$Alive(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;, org.graalvm.compiler.lir.LIRInstruction$OperandFlag.STACK:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;, org.graalvm.compiler.lir.LIRInstruction$OperandFlag.CONST:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;, org.graalvm.compiler.lir.LIRInstruction$OperandFlag.OUTGOING:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})

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

  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=4, locals=0, args_size=0
         0: .line 195
            ldc Lorg/graalvm/compiler/lir/StandardOp;
            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.StandardOp$AbstractBlockEndOp.$assertionsDisabled:Z
         3: .line 196
            ldc Lorg/graalvm/compiler/lir/StandardOp$AbstractBlockEndOp;
            invokestatic org.graalvm.compiler.lir.LIRInstructionClass.create:(Ljava/lang/Class;)Lorg/graalvm/compiler/lir/LIRInstructionClass;
            putstatic org.graalvm.compiler.lir.StandardOp$AbstractBlockEndOp.TYPE:Lorg/graalvm/compiler/lir/LIRInstructionClass;
         4: .line 197
            getstatic org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;
            getstatic org.graalvm.compiler.lir.LIRInstruction$OperandFlag.STACK:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;
            getstatic org.graalvm.compiler.lir.LIRInstruction$OperandFlag.CONST:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;
            getstatic org.graalvm.compiler.lir.LIRInstruction$OperandFlag.OUTGOING:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;
            invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;Ljava/lang/Enum;Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;
            putstatic org.graalvm.compiler.lir.StandardOp$AbstractBlockEndOp.outgoingFlags:Ljava/util/EnumSet;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>(org.graalvm.compiler.lir.LIRInstructionClass<? extends org.graalvm.compiler.lir.StandardOp$AbstractBlockEndOp>);
    descriptor: (Lorg/graalvm/compiler/lir/LIRInstructionClass;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.StandardOp$AbstractBlockEndOp this
        start local 1 // org.graalvm.compiler.lir.LIRInstructionClass c
         0: .line 203
            aload 0 /* this */
            aload 1 /* c */
            invokespecial org.graalvm.compiler.lir.LIRInstruction.<init>:(Lorg/graalvm/compiler/lir/LIRInstructionClass;)V
         1: .line 204
            aload 0 /* this */
            getstatic jdk.vm.ci.meta.Value.NO_VALUES:[Ljdk/vm/ci/meta/Value;
            putfield org.graalvm.compiler.lir.StandardOp$AbstractBlockEndOp.outgoingValues:[Ljdk/vm/ci/meta/Value;
         2: .line 205
            return
        end local 1 // org.graalvm.compiler.lir.LIRInstructionClass c
        end local 0 // org.graalvm.compiler.lir.StandardOp$AbstractBlockEndOp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/lir/StandardOp$AbstractBlockEndOp;
            0    3     1     c  Lorg/graalvm/compiler/lir/LIRInstructionClass<+Lorg/graalvm/compiler/lir/StandardOp$AbstractBlockEndOp;>;
    Signature: (Lorg/graalvm/compiler/lir/LIRInstructionClass<+Lorg/graalvm/compiler/lir/StandardOp$AbstractBlockEndOp;>;)V
    MethodParameters:
      Name  Flags
      c     

  public void setPhiValues(jdk.vm.ci.meta.Value[]);
    descriptor: ([Ljdk/vm/ci/meta/Value;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.StandardOp$AbstractBlockEndOp this
        start local 1 // jdk.vm.ci.meta.Value[] values
         0: .line 208
            aload 0 /* this */
            aload 1 /* values */
            invokevirtual org.graalvm.compiler.lir.StandardOp$AbstractBlockEndOp.setOutgoingValues:([Ljdk/vm/ci/meta/Value;)V
         1: .line 209
            aload 0 /* this */
            aload 1 /* values */
            arraylength
            invokevirtual org.graalvm.compiler.lir.StandardOp$AbstractBlockEndOp.setNumberOfPhis:(I)V
         2: .line 210
            return
        end local 1 // jdk.vm.ci.meta.Value[] values
        end local 0 // org.graalvm.compiler.lir.StandardOp$AbstractBlockEndOp this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/graalvm/compiler/lir/StandardOp$AbstractBlockEndOp;
            0    3     1  values  [Ljdk/vm/ci/meta/Value;
    MethodParameters:
        Name  Flags
      values  

  private void setNumberOfPhis(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.StandardOp$AbstractBlockEndOp this
        start local 1 // int numPhis
         0: .line 213
            getstatic org.graalvm.compiler.lir.StandardOp$AbstractBlockEndOp.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.StandardOp$AbstractBlockEndOp.numberOfPhis:I
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 214
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* numPhis */
            putfield org.graalvm.compiler.lir.StandardOp$AbstractBlockEndOp.numberOfPhis:I
         2: .line 215
            return
        end local 1 // int numPhis
        end local 0 // org.graalvm.compiler.lir.StandardOp$AbstractBlockEndOp this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/graalvm/compiler/lir/StandardOp$AbstractBlockEndOp;
            0    3     1  numPhis  I
    MethodParameters:
         Name  Flags
      numPhis  

  public int getPhiSize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.StandardOp$AbstractBlockEndOp this
         0: .line 219
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.StandardOp$AbstractBlockEndOp.numberOfPhis:I
            ireturn
        end local 0 // org.graalvm.compiler.lir.StandardOp$AbstractBlockEndOp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/StandardOp$AbstractBlockEndOp;

  public void setOutgoingValues(jdk.vm.ci.meta.Value[]);
    descriptor: ([Ljdk/vm/ci/meta/Value;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.StandardOp$AbstractBlockEndOp this
        start local 1 // jdk.vm.ci.meta.Value[] values
         0: .line 224
            getstatic org.graalvm.compiler.lir.StandardOp$AbstractBlockEndOp.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.StandardOp$AbstractBlockEndOp.outgoingValues:[Ljdk/vm/ci/meta/Value;
            arraylength
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 225
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.StandardOp$AbstractBlockEndOp.$assertionsDisabled:Z
            ifne 2
            aload 1 /* values */
            ifnonnull 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 226
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* values */
            putfield org.graalvm.compiler.lir.StandardOp$AbstractBlockEndOp.outgoingValues:[Ljdk/vm/ci/meta/Value;
         3: .line 227
            return
        end local 1 // jdk.vm.ci.meta.Value[] values
        end local 0 // org.graalvm.compiler.lir.StandardOp$AbstractBlockEndOp this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/graalvm/compiler/lir/StandardOp$AbstractBlockEndOp;
            0    4     1  values  [Ljdk/vm/ci/meta/Value;
    MethodParameters:
        Name  Flags
      values  

  public int getOutgoingSize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.StandardOp$AbstractBlockEndOp this
         0: .line 231
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.StandardOp$AbstractBlockEndOp.outgoingValues:[Ljdk/vm/ci/meta/Value;
            arraylength
            ireturn
        end local 0 // org.graalvm.compiler.lir.StandardOp$AbstractBlockEndOp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/StandardOp$AbstractBlockEndOp;

  public jdk.vm.ci.meta.Value getOutgoingValue(int);
    descriptor: (I)Ljdk/vm/ci/meta/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.StandardOp$AbstractBlockEndOp this
        start local 1 // int idx
         0: .line 236
            getstatic org.graalvm.compiler.lir.StandardOp$AbstractBlockEndOp.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            iload 1 /* idx */
            invokevirtual org.graalvm.compiler.lir.StandardOp$AbstractBlockEndOp.checkRange:(I)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 237
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.StandardOp$AbstractBlockEndOp.outgoingValues:[Ljdk/vm/ci/meta/Value;
            iload 1 /* idx */
            aaload
            areturn
        end local 1 // int idx
        end local 0 // org.graalvm.compiler.lir.StandardOp$AbstractBlockEndOp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/lir/StandardOp$AbstractBlockEndOp;
            0    2     1   idx  I
    MethodParameters:
      Name  Flags
      idx   

  public void clearOutgoingValues();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.StandardOp$AbstractBlockEndOp this
         0: .line 242
            aload 0 /* this */
            getstatic jdk.vm.ci.meta.Value.NO_VALUES:[Ljdk/vm/ci/meta/Value;
            putfield org.graalvm.compiler.lir.StandardOp$AbstractBlockEndOp.outgoingValues:[Ljdk/vm/ci/meta/Value;
         1: .line 243
            return
        end local 0 // org.graalvm.compiler.lir.StandardOp$AbstractBlockEndOp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/lir/StandardOp$AbstractBlockEndOp;

  public int addOutgoingValues(jdk.vm.ci.meta.Value[]);
    descriptor: ([Ljdk/vm/ci/meta/Value;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.lir.StandardOp$AbstractBlockEndOp this
        start local 1 // jdk.vm.ci.meta.Value[] values
         0: .line 247
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.StandardOp$AbstractBlockEndOp.outgoingValues:[Ljdk/vm/ci/meta/Value;
            arraylength
            ifne 3
         1: .line 248
            aload 0 /* this */
            aload 1 /* values */
            invokevirtual org.graalvm.compiler.lir.StandardOp$AbstractBlockEndOp.setOutgoingValues:([Ljdk/vm/ci/meta/Value;)V
         2: .line 249
            aload 1 /* values */
            arraylength
            ireturn
         3: .line 251
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.StandardOp$AbstractBlockEndOp.outgoingValues:[Ljdk/vm/ci/meta/Value;
            arraylength
            aload 1 /* values */
            arraylength
            iadd
            istore 2 /* t */
        start local 2 // int t
         4: .line 252
            iload 2 /* t */
            anewarray jdk.vm.ci.meta.Value
            astore 3 /* newArray */
        start local 3 // jdk.vm.ci.meta.Value[] newArray
         5: .line 253
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.StandardOp$AbstractBlockEndOp.outgoingValues:[Ljdk/vm/ci/meta/Value;
            iconst_0
            aload 3 /* newArray */
            iconst_0
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.StandardOp$AbstractBlockEndOp.outgoingValues:[Ljdk/vm/ci/meta/Value;
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         6: .line 254
            aload 1 /* values */
            iconst_0
            aload 3 /* newArray */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.StandardOp$AbstractBlockEndOp.outgoingValues:[Ljdk/vm/ci/meta/Value;
            arraylength
            aload 1 /* values */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         7: .line 255
            aload 0 /* this */
            aload 3 /* newArray */
            putfield org.graalvm.compiler.lir.StandardOp$AbstractBlockEndOp.outgoingValues:[Ljdk/vm/ci/meta/Value;
         8: .line 256
            iload 2 /* t */
            ireturn
        end local 3 // jdk.vm.ci.meta.Value[] newArray
        end local 2 // int t
        end local 1 // jdk.vm.ci.meta.Value[] values
        end local 0 // org.graalvm.compiler.lir.StandardOp$AbstractBlockEndOp this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lorg/graalvm/compiler/lir/StandardOp$AbstractBlockEndOp;
            0    9     1    values  [Ljdk/vm/ci/meta/Value;
            4    9     2         t  I
            5    9     3  newArray  [Ljdk/vm/ci/meta/Value;
    MethodParameters:
        Name  Flags
      values  

  private boolean checkRange(int);
    descriptor: (I)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.StandardOp$AbstractBlockEndOp this
        start local 1 // int idx
         0: .line 260
            iload 1 /* idx */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.StandardOp$AbstractBlockEndOp.outgoingValues:[Ljdk/vm/ci/meta/Value;
            arraylength
            if_icmpge 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // int idx
        end local 0 // org.graalvm.compiler.lir.StandardOp$AbstractBlockEndOp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/lir/StandardOp$AbstractBlockEndOp;
            0    2     1   idx  I
    MethodParameters:
      Name  Flags
      idx   

  public void forEachOutgoingValue(org.graalvm.compiler.lir.InstructionValueProcedure);
    descriptor: (Lorg/graalvm/compiler/lir/InstructionValueProcedure;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.lir.StandardOp$AbstractBlockEndOp this
        start local 1 // org.graalvm.compiler.lir.InstructionValueProcedure proc
         0: .line 265
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 4
         2: .line 266
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.StandardOp$AbstractBlockEndOp.outgoingValues:[Ljdk/vm/ci/meta/Value;
            iload 2 /* i */
            aload 1 /* proc */
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.StandardOp$AbstractBlockEndOp.outgoingValues:[Ljdk/vm/ci/meta/Value;
            iload 2 /* i */
            aaload
            getstatic org.graalvm.compiler.lir.LIRInstruction$OperandMode.ALIVE:Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
            getstatic org.graalvm.compiler.lir.StandardOp$AbstractBlockEndOp.outgoingFlags:Ljava/util/EnumSet;
            invokeinterface org.graalvm.compiler.lir.InstructionValueProcedure.doValue:(Lorg/graalvm/compiler/lir/LIRInstruction;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)Ljdk/vm/ci/meta/Value;
            aastore
         3: .line 265
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         4: iload 2 /* i */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.StandardOp$AbstractBlockEndOp.outgoingValues:[Ljdk/vm/ci/meta/Value;
            arraylength
            if_icmplt 2
        end local 2 // int i
         5: .line 268
            return
        end local 1 // org.graalvm.compiler.lir.InstructionValueProcedure proc
        end local 0 // org.graalvm.compiler.lir.StandardOp$AbstractBlockEndOp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/graalvm/compiler/lir/StandardOp$AbstractBlockEndOp;
            0    6     1  proc  Lorg/graalvm/compiler/lir/InstructionValueProcedure;
            1    5     2     i  I
    MethodParameters:
      Name  Flags
      proc  
}
SourceFile: "StandardOp.java"
NestHost: org.graalvm.compiler.lir.StandardOp
InnerClasses:
  public abstract Alive = org.graalvm.compiler.lir.LIRInstruction$Alive of org.graalvm.compiler.lir.LIRInstruction
  public final OperandFlag = org.graalvm.compiler.lir.LIRInstruction$OperandFlag of org.graalvm.compiler.lir.LIRInstruction
  public final OperandMode = org.graalvm.compiler.lir.LIRInstruction$OperandMode of org.graalvm.compiler.lir.LIRInstruction
  public abstract AbstractBlockEndOp = org.graalvm.compiler.lir.StandardOp$AbstractBlockEndOp of org.graalvm.compiler.lir.StandardOp
  public abstract BlockEndOp = org.graalvm.compiler.lir.StandardOp$BlockEndOp of org.graalvm.compiler.lir.StandardOp