public class org.graalvm.compiler.lir.amd64.AMD64ControlFlow$BranchOp extends org.graalvm.compiler.lir.amd64.AMD64BlockEndOp implements org.graalvm.compiler.lir.StandardOp$BranchOp
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.lir.amd64.AMD64ControlFlow$BranchOp
  super_class: org.graalvm.compiler.lir.amd64.AMD64BlockEndOp
{
  public static final org.graalvm.compiler.lir.LIRInstructionClass<org.graalvm.compiler.lir.amd64.AMD64ControlFlow$BranchOp> 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/amd64/AMD64ControlFlow$BranchOp;>;

  protected final org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag condition;
    descriptor: Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final org.graalvm.compiler.lir.LabelRef trueDestination;
    descriptor: Lorg/graalvm/compiler/lir/LabelRef;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final org.graalvm.compiler.lir.LabelRef falseDestination;
    descriptor: Lorg/graalvm/compiler/lir/LabelRef;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  private final double trueDestinationProbability;
    descriptor: D
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 90
            ldc Lorg/graalvm/compiler/lir/amd64/AMD64ControlFlow$BranchOp;
            invokestatic org.graalvm.compiler.lir.LIRInstructionClass.create:(Ljava/lang/Class;)Lorg/graalvm/compiler/lir/LIRInstructionClass;
            putstatic org.graalvm.compiler.lir.amd64.AMD64ControlFlow$BranchOp.TYPE:Lorg/graalvm/compiler/lir/LIRInstructionClass;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.graalvm.compiler.core.common.calc.Condition, org.graalvm.compiler.lir.LabelRef, org.graalvm.compiler.lir.LabelRef, double);
    descriptor: (Lorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=5
        start local 0 // org.graalvm.compiler.lir.amd64.AMD64ControlFlow$BranchOp this
        start local 1 // org.graalvm.compiler.core.common.calc.Condition condition
        start local 2 // org.graalvm.compiler.lir.LabelRef trueDestination
        start local 3 // org.graalvm.compiler.lir.LabelRef falseDestination
        start local 4 // double trueDestinationProbability
         0: .line 98
            aload 0 /* this */
            aload 1 /* condition */
            invokestatic org.graalvm.compiler.lir.amd64.AMD64ControlFlow.intCond:(Lorg/graalvm/compiler/core/common/calc/Condition;)Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
            aload 2 /* trueDestination */
            aload 3 /* falseDestination */
            dload 4 /* trueDestinationProbability */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$BranchOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
         1: .line 99
            return
        end local 4 // double trueDestinationProbability
        end local 3 // org.graalvm.compiler.lir.LabelRef falseDestination
        end local 2 // org.graalvm.compiler.lir.LabelRef trueDestination
        end local 1 // org.graalvm.compiler.core.common.calc.Condition condition
        end local 0 // org.graalvm.compiler.lir.amd64.AMD64ControlFlow$BranchOp this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0    2     0                        this  Lorg/graalvm/compiler/lir/amd64/AMD64ControlFlow$BranchOp;
            0    2     1                   condition  Lorg/graalvm/compiler/core/common/calc/Condition;
            0    2     2             trueDestination  Lorg/graalvm/compiler/lir/LabelRef;
            0    2     3            falseDestination  Lorg/graalvm/compiler/lir/LabelRef;
            0    2     4  trueDestinationProbability  D
    MethodParameters:
                            Name  Flags
      condition                   
      trueDestination             
      falseDestination            
      trueDestinationProbability  

  public void <init>(org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag, org.graalvm.compiler.lir.LabelRef, org.graalvm.compiler.lir.LabelRef, double);
    descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=5
        start local 0 // org.graalvm.compiler.lir.amd64.AMD64ControlFlow$BranchOp this
        start local 1 // org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag condition
        start local 2 // org.graalvm.compiler.lir.LabelRef trueDestination
        start local 3 // org.graalvm.compiler.lir.LabelRef falseDestination
        start local 4 // double trueDestinationProbability
         0: .line 102
            aload 0 /* this */
            getstatic org.graalvm.compiler.lir.amd64.AMD64ControlFlow$BranchOp.TYPE:Lorg/graalvm/compiler/lir/LIRInstructionClass;
            aload 1 /* condition */
            aload 2 /* trueDestination */
            aload 3 /* falseDestination */
            dload 4 /* trueDestinationProbability */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$BranchOp.<init>:(Lorg/graalvm/compiler/lir/LIRInstructionClass;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
         1: .line 103
            return
        end local 4 // double trueDestinationProbability
        end local 3 // org.graalvm.compiler.lir.LabelRef falseDestination
        end local 2 // org.graalvm.compiler.lir.LabelRef trueDestination
        end local 1 // org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag condition
        end local 0 // org.graalvm.compiler.lir.amd64.AMD64ControlFlow$BranchOp this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0    2     0                        this  Lorg/graalvm/compiler/lir/amd64/AMD64ControlFlow$BranchOp;
            0    2     1                   condition  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
            0    2     2             trueDestination  Lorg/graalvm/compiler/lir/LabelRef;
            0    2     3            falseDestination  Lorg/graalvm/compiler/lir/LabelRef;
            0    2     4  trueDestinationProbability  D
    MethodParameters:
                            Name  Flags
      condition                   
      trueDestination             
      falseDestination            
      trueDestinationProbability  

  protected void <init>(org.graalvm.compiler.lir.LIRInstructionClass<? extends org.graalvm.compiler.lir.amd64.AMD64ControlFlow$BranchOp>, org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag, org.graalvm.compiler.lir.LabelRef, org.graalvm.compiler.lir.LabelRef, );
    descriptor: (Lorg/graalvm/compiler/lir/LIRInstructionClass;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=7, args_size=6
        start local 0 // org.graalvm.compiler.lir.amd64.AMD64ControlFlow$BranchOp this
        start local 1 // org.graalvm.compiler.lir.LIRInstructionClass c
        start local 2 // org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag condition
        start local 3 // org.graalvm.compiler.lir.LabelRef trueDestination
        start local 4 // org.graalvm.compiler.lir.LabelRef falseDestination
        start local 5 // double trueDestinationProbability
         0: .line 106
            aload 0 /* this */
            aload 1 /* c */
            invokespecial org.graalvm.compiler.lir.amd64.AMD64BlockEndOp.<init>:(Lorg/graalvm/compiler/lir/LIRInstructionClass;)V
         1: .line 107
            aload 0 /* this */
            aload 2 /* condition */
            putfield org.graalvm.compiler.lir.amd64.AMD64ControlFlow$BranchOp.condition:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
         2: .line 108
            aload 0 /* this */
            aload 3 /* trueDestination */
            putfield org.graalvm.compiler.lir.amd64.AMD64ControlFlow$BranchOp.trueDestination:Lorg/graalvm/compiler/lir/LabelRef;
         3: .line 109
            aload 0 /* this */
            aload 4 /* falseDestination */
            putfield org.graalvm.compiler.lir.amd64.AMD64ControlFlow$BranchOp.falseDestination:Lorg/graalvm/compiler/lir/LabelRef;
         4: .line 110
            aload 0 /* this */
            dload 5 /* trueDestinationProbability */
            putfield org.graalvm.compiler.lir.amd64.AMD64ControlFlow$BranchOp.trueDestinationProbability:D
         5: .line 111
            return
        end local 5 // double trueDestinationProbability
        end local 4 // org.graalvm.compiler.lir.LabelRef falseDestination
        end local 3 // org.graalvm.compiler.lir.LabelRef trueDestination
        end local 2 // org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag condition
        end local 1 // org.graalvm.compiler.lir.LIRInstructionClass c
        end local 0 // org.graalvm.compiler.lir.amd64.AMD64ControlFlow$BranchOp this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0    6     0                        this  Lorg/graalvm/compiler/lir/amd64/AMD64ControlFlow$BranchOp;
            0    6     1                           c  Lorg/graalvm/compiler/lir/LIRInstructionClass<+Lorg/graalvm/compiler/lir/amd64/AMD64ControlFlow$BranchOp;>;
            0    6     2                   condition  Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
            0    6     3             trueDestination  Lorg/graalvm/compiler/lir/LabelRef;
            0    6     4            falseDestination  Lorg/graalvm/compiler/lir/LabelRef;
            0    6     5  trueDestinationProbability  D
    Signature: (Lorg/graalvm/compiler/lir/LIRInstructionClass<+Lorg/graalvm/compiler/lir/amd64/AMD64ControlFlow$BranchOp;>;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
    MethodParameters:
                            Name  Flags
      c                           
      condition                   
      trueDestination             
      falseDestination            
      trueDestinationProbability  

  public void emitCode(org.graalvm.compiler.lir.asm.CompilationResultBuilder, org.graalvm.compiler.asm.amd64.AMD64MacroAssembler);
    descriptor: (Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.graalvm.compiler.lir.amd64.AMD64ControlFlow$BranchOp this
        start local 1 // org.graalvm.compiler.lir.asm.CompilationResultBuilder crb
        start local 2 // org.graalvm.compiler.asm.amd64.AMD64MacroAssembler masm
         0: .line 115
            iconst_0
            istore 3 /* isNegated */
        start local 3 // boolean isNegated
         1: .line 116
            aload 2 /* masm */
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.position:()I
            istore 4 /* jccPos */
        start local 4 // int jccPos
         2: .line 125
            aload 1 /* crb */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ControlFlow$BranchOp.trueDestination:Lorg/graalvm/compiler/lir/LabelRef;
            invokevirtual org.graalvm.compiler.lir.asm.CompilationResultBuilder.isSuccessorEdge:(Lorg/graalvm/compiler/lir/LabelRef;)Z
            ifeq 6
         3: .line 126
            aload 0 /* this */
            aload 2 /* masm */
            iconst_1
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ControlFlow$BranchOp.falseDestination:Lorg/graalvm/compiler/lir/LabelRef;
            invokevirtual org.graalvm.compiler.lir.amd64.AMD64ControlFlow$BranchOp.jcc:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;ZLorg/graalvm/compiler/lir/LabelRef;)V
         4: .line 127
            iconst_1
            istore 3 /* isNegated */
         5: .line 128
            goto 16
      StackMap locals: int int
      StackMap stack:
         6: aload 1 /* crb */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ControlFlow$BranchOp.falseDestination:Lorg/graalvm/compiler/lir/LabelRef;
            invokevirtual org.graalvm.compiler.lir.asm.CompilationResultBuilder.isSuccessorEdge:(Lorg/graalvm/compiler/lir/LabelRef;)Z
            ifeq 9
         7: .line 129
            aload 0 /* this */
            aload 2 /* masm */
            iconst_0
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ControlFlow$BranchOp.trueDestination:Lorg/graalvm/compiler/lir/LabelRef;
            invokevirtual org.graalvm.compiler.lir.amd64.AMD64ControlFlow$BranchOp.jcc:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;ZLorg/graalvm/compiler/lir/LabelRef;)V
         8: .line 130
            goto 16
      StackMap locals:
      StackMap stack:
         9: aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ControlFlow$BranchOp.trueDestinationProbability:D
            ldc 0.5
            dcmpg
            ifge 14
        10: .line 131
            aload 0 /* this */
            aload 2 /* masm */
            iconst_1
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ControlFlow$BranchOp.falseDestination:Lorg/graalvm/compiler/lir/LabelRef;
            invokevirtual org.graalvm.compiler.lir.amd64.AMD64ControlFlow$BranchOp.jcc:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;ZLorg/graalvm/compiler/lir/LabelRef;)V
        11: .line 132
            aload 2 /* masm */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ControlFlow$BranchOp.trueDestination:Lorg/graalvm/compiler/lir/LabelRef;
            invokevirtual org.graalvm.compiler.lir.LabelRef.label:()Lorg/graalvm/compiler/asm/Label;
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jmp:(Lorg/graalvm/compiler/asm/Label;)V
        12: .line 133
            iconst_1
            istore 3 /* isNegated */
        13: .line 134
            goto 16
        14: .line 135
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* masm */
            iconst_0
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ControlFlow$BranchOp.trueDestination:Lorg/graalvm/compiler/lir/LabelRef;
            invokevirtual org.graalvm.compiler.lir.amd64.AMD64ControlFlow$BranchOp.jcc:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;ZLorg/graalvm/compiler/lir/LabelRef;)V
        15: .line 136
            aload 2 /* masm */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ControlFlow$BranchOp.falseDestination:Lorg/graalvm/compiler/lir/LabelRef;
            invokevirtual org.graalvm.compiler.lir.LabelRef.label:()Lorg/graalvm/compiler/asm/Label;
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jmp:(Lorg/graalvm/compiler/asm/Label;)V
        16: .line 138
      StackMap locals:
      StackMap stack:
            aload 1 /* crb */
            iload 4 /* jccPos */
            iload 3 /* isNegated */
            invokevirtual org.graalvm.compiler.lir.asm.CompilationResultBuilder.recordBranch:(IZ)V
        17: .line 139
            return
        end local 4 // int jccPos
        end local 3 // boolean isNegated
        end local 2 // org.graalvm.compiler.asm.amd64.AMD64MacroAssembler masm
        end local 1 // org.graalvm.compiler.lir.asm.CompilationResultBuilder crb
        end local 0 // org.graalvm.compiler.lir.amd64.AMD64ControlFlow$BranchOp this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   18     0       this  Lorg/graalvm/compiler/lir/amd64/AMD64ControlFlow$BranchOp;
            0   18     1        crb  Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
            0   18     2       masm  Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
            1   18     3  isNegated  Z
            2   18     4     jccPos  I
    MethodParameters:
      Name  Flags
      crb   
      masm  

  protected void jcc(org.graalvm.compiler.asm.amd64.AMD64MacroAssembler, boolean, org.graalvm.compiler.lir.LabelRef);
    descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;ZLorg/graalvm/compiler/lir/LabelRef;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.lir.amd64.AMD64ControlFlow$BranchOp this
        start local 1 // org.graalvm.compiler.asm.amd64.AMD64MacroAssembler masm
        start local 2 // boolean negate
        start local 3 // org.graalvm.compiler.lir.LabelRef target
         0: .line 142
            aload 1 /* masm */
            iload 2 /* negate */
            ifeq 1
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ControlFlow$BranchOp.condition:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.negate:()Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
            goto 2
      StackMap locals:
      StackMap stack: org.graalvm.compiler.asm.amd64.AMD64MacroAssembler
         1: aload 0 /* this */
            getfield org.graalvm.compiler.lir.amd64.AMD64ControlFlow$BranchOp.condition:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
      StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ControlFlow$BranchOp org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int org.graalvm.compiler.lir.LabelRef
      StackMap stack: org.graalvm.compiler.asm.amd64.AMD64MacroAssembler org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag
         2: aload 3 /* target */
            invokevirtual org.graalvm.compiler.lir.LabelRef.label:()Lorg/graalvm/compiler/asm/Label;
            invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jcc:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
         3: .line 143
            return
        end local 3 // org.graalvm.compiler.lir.LabelRef target
        end local 2 // boolean negate
        end local 1 // org.graalvm.compiler.asm.amd64.AMD64MacroAssembler masm
        end local 0 // org.graalvm.compiler.lir.amd64.AMD64ControlFlow$BranchOp this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/graalvm/compiler/lir/amd64/AMD64ControlFlow$BranchOp;
            0    4     1    masm  Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
            0    4     2  negate  Z
            0    4     3  target  Lorg/graalvm/compiler/lir/LabelRef;
    MethodParameters:
        Name  Flags
      masm    
      negate  
      target  
}
SourceFile: "AMD64ControlFlow.java"
NestHost: org.graalvm.compiler.lir.amd64.AMD64ControlFlow
InnerClasses:
  public final ConditionFlag = org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag of org.graalvm.compiler.asm.amd64.AMD64Assembler
  public abstract BranchOp = org.graalvm.compiler.lir.StandardOp$BranchOp of org.graalvm.compiler.lir.StandardOp
  public BranchOp = org.graalvm.compiler.lir.amd64.AMD64ControlFlow$BranchOp of org.graalvm.compiler.lir.amd64.AMD64ControlFlow