public class org.graalvm.compiler.truffle.test.nodes.AssumptionCutsBranchTestNode extends org.graalvm.compiler.truffle.test.nodes.AbstractTestNode
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.truffle.test.nodes.AssumptionCutsBranchTestNode
  super_class: org.graalvm.compiler.truffle.test.nodes.AbstractTestNode
{
  private final com.oracle.truffle.api.Assumption assumption;
    descriptor: Lcom/oracle/truffle/api/Assumption;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private com.oracle.truffle.api.nodes.Node childNode;
    descriptor: Lcom/oracle/truffle/api/nodes/Node;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.Node$Child()

  public void <init>(com.oracle.truffle.api.Assumption);
    descriptor: (Lcom/oracle/truffle/api/Assumption;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.truffle.test.nodes.AssumptionCutsBranchTestNode this
        start local 1 // com.oracle.truffle.api.Assumption assumption
         0: .line 40
            aload 0 /* this */
            invokespecial org.graalvm.compiler.truffle.test.nodes.AbstractTestNode.<init>:()V
         1: .line 41
            aload 0 /* this */
            aload 1 /* assumption */
            putfield org.graalvm.compiler.truffle.test.nodes.AssumptionCutsBranchTestNode.assumption:Lcom/oracle/truffle/api/Assumption;
         2: .line 42
            aload 0 /* this */
            iconst_0
            putfield org.graalvm.compiler.truffle.test.nodes.AssumptionCutsBranchTestNode.counter:I
         3: .line 43
            return
        end local 1 // com.oracle.truffle.api.Assumption assumption
        end local 0 // org.graalvm.compiler.truffle.test.nodes.AssumptionCutsBranchTestNode this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/graalvm/compiler/truffle/test/nodes/AssumptionCutsBranchTestNode;
            0    4     1  assumption  Lcom/oracle/truffle/api/Assumption;
    MethodParameters:
            Name  Flags
      assumption  

  public int execute(com.oracle.truffle.api.frame.VirtualFrame);
    descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // org.graalvm.compiler.truffle.test.nodes.AssumptionCutsBranchTestNode this
        start local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
         0: .line 47
            iconst_0
            istore 2 /* returnVal */
        start local 2 // int returnVal
         1: .line 48
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.test.nodes.AssumptionCutsBranchTestNode.assumption:Lcom/oracle/truffle/api/Assumption;
            invokeinterface com.oracle.truffle.api.Assumption.isValid:()Z
            ifne 25
         2: .line 50
            ldc "this branch should be cut off"
            invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:(Ljava/lang/String;)V
         3: .line 53
            dconst_0
            dstore 3 /* sum */
        start local 3 // double sum
         4: .line 55
            invokestatic java.lang.Math.random:()D
            ldc 0.5
            dcmpg
            ifge 21
         5: .line 56
            iconst_0
            istore 5 /* iSum */
        start local 5 // int iSum
         6: .line 57
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         7: goto 14
         8: .line 58
      StackMap locals: org.graalvm.compiler.truffle.test.nodes.AssumptionCutsBranchTestNode com.oracle.truffle.api.frame.VirtualFrame int double int int
      StackMap stack:
            invokestatic java.lang.Math.random:()D
            ldc 0.5
            dcmpl
            ifle 11
         9: .line 59
            dload 3 /* sum */
            invokestatic java.lang.Math.random:()D
            invokestatic java.lang.Math.cos:(D)D
            dadd
            dstore 3 /* sum */
        10: .line 60
            goto 12
        11: .line 61
      StackMap locals:
      StackMap stack:
            dload 3 /* sum */
            invokestatic java.lang.Math.random:()D
            invokestatic java.lang.Math.sin:(D)D
            dadd
            dstore 3 /* sum */
        12: .line 63
      StackMap locals:
      StackMap stack:
            iload 5 /* iSum */
            iload 6 /* i */
            iconst_2
            imul
            iadd
            istore 5 /* iSum */
        13: .line 57
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 6 /* i */
            bipush 100
            if_icmplt 8
        end local 6 // int i
        15: .line 65
            new org.graalvm.compiler.truffle.test.nodes.AssumptionCutsBranchTestNode
            dup
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.test.nodes.AssumptionCutsBranchTestNode.assumption:Lcom/oracle/truffle/api/Assumption;
            invokespecial org.graalvm.compiler.truffle.test.nodes.AssumptionCutsBranchTestNode.<init>:(Lcom/oracle/truffle/api/Assumption;)V
            astore 6 /* node2 */
        start local 6 // org.graalvm.compiler.truffle.test.nodes.AssumptionCutsBranchTestNode node2
        16: .line 66
            aload 6 /* node2 */
            invokevirtual org.graalvm.compiler.truffle.test.nodes.AssumptionCutsBranchTestNode.adoptChildren:()V
        17: .line 67
            aload 0 /* this */
            aload 6 /* node2 */
            invokevirtual org.graalvm.compiler.truffle.test.nodes.AssumptionCutsBranchTestNode.copy:()Lcom/oracle/truffle/api/nodes/Node;
            putfield org.graalvm.compiler.truffle.test.nodes.AssumptionCutsBranchTestNode.childNode:Lcom/oracle/truffle/api/nodes/Node;
        18: .line 69
            iload 5 /* iSum */
            iconst_2
            irem
            ifeq 22
        19: .line 71
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.test.nodes.AssumptionCutsBranchTestNode.assumption:Lcom/oracle/truffle/api/Assumption;
            invokeinterface com.oracle.truffle.api.Assumption.invalidate:()V
        end local 6 // org.graalvm.compiler.truffle.test.nodes.AssumptionCutsBranchTestNode node2
        end local 5 // int iSum
        20: .line 73
            goto 22
        21: .line 74
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.Math.random:()D
            dstore 3 /* sum */
        22: .line 77
      StackMap locals:
      StackMap stack:
            dload 3 /* sum */
            invokestatic java.lang.Math.round:(D)J
            ldc 100
            lrem
            lconst_0
            lcmp
            ifne 23
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.test.nodes.AssumptionCutsBranchTestNode.childNode:Lcom/oracle/truffle/api/nodes/Node;
            invokevirtual com.oracle.truffle.api.nodes.Node.toString:()Ljava/lang/String;
            ldc "a"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 23
            sipush 666
            goto 24
      StackMap locals:
      StackMap stack:
        23: sipush 777
      StackMap locals:
      StackMap stack: int
        24: ireturn
        end local 3 // double sum
        25: .line 78
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.test.nodes.AssumptionCutsBranchTestNode.counter:I
            iconst_2
            irem
            ifne 27
        26: .line 79
            iinc 2 /* returnVal */ 1
        27: .line 81
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.graalvm.compiler.truffle.test.nodes.AssumptionCutsBranchTestNode.counter:I
            iconst_1
            iadd
            putfield org.graalvm.compiler.truffle.test.nodes.AssumptionCutsBranchTestNode.counter:I
        28: .line 82
            iload 2 /* returnVal */
            iconst_2
            irem
            ifne 29
            iload 2 /* returnVal */
            goto 30
      StackMap locals:
      StackMap stack:
        29: iconst_0
      StackMap locals:
      StackMap stack: int
        30: ireturn
        end local 2 // int returnVal
        end local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
        end local 0 // org.graalvm.compiler.truffle.test.nodes.AssumptionCutsBranchTestNode this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   31     0       this  Lorg/graalvm/compiler/truffle/test/nodes/AssumptionCutsBranchTestNode;
            0   31     1      frame  Lcom/oracle/truffle/api/frame/VirtualFrame;
            1   31     2  returnVal  I
            4   25     3        sum  D
            6   20     5       iSum  I
            7   15     6          i  I
           16   20     6      node2  Lorg/graalvm/compiler/truffle/test/nodes/AssumptionCutsBranchTestNode;
    MethodParameters:
       Name  Flags
      frame  

  public com.oracle.truffle.api.nodes.Node getChildNode();
    descriptor: ()Lcom/oracle/truffle/api/nodes/Node;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.test.nodes.AssumptionCutsBranchTestNode this
         0: .line 86
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.test.nodes.AssumptionCutsBranchTestNode.childNode:Lcom/oracle/truffle/api/nodes/Node;
            areturn
        end local 0 // org.graalvm.compiler.truffle.test.nodes.AssumptionCutsBranchTestNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/truffle/test/nodes/AssumptionCutsBranchTestNode;
}
SourceFile: "AssumptionCutsBranchTestNode.java"
InnerClasses:
  public abstract Child = com.oracle.truffle.api.nodes.Node$Child of com.oracle.truffle.api.nodes.Node
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.NodeInfo()