public class org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest
  super_class: java.lang.Object
{
  private org.graalvm.polyglot.Context context;
    descriptor: Lorg/graalvm/polyglot/Context;
    flags: (0x0002) ACC_PRIVATE

  private static final int TEST_COMPILATION_THRESHOLD;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 10

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest this
         0: .line 63
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/truffle/test/OptimizedBlockNodeTest;

  public void testExactlyBlockSize();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest this
         0: .line 67
            iconst_1
            istore 1 /* blockSize */
        start local 1 // int blockSize
         1: .line 68
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 12
         3: .line 69
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            iload 1 /* blockSize */
            invokevirtual org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.setup:(I)V
         4: .line 70
            iload 1 /* blockSize */
            iconst_1
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.createBlock:(II)Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode;
            astore 3 /* block */
        start local 3 // org.graalvm.compiler.truffle.runtime.OptimizedBlockNode block
         5: .line 71
            aload 3 /* block */
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.createTest:(Lcom/oracle/truffle/api/nodes/BlockNode;)Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            astore 4 /* target */
        start local 4 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget target
         6: .line 72
            aload 4 /* target */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.computeBlockCompilations:()Z
            pop
         7: .line 73
            aload 4 /* target */
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 74
            aload 4 /* target */
            iconst_1
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.compile:(Z)Z
            pop
         9: .line 76
            aload 3 /* block */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode.getPartialBlocks:()Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode$PartialBlocks;
            invokestatic org.junit.Assert.assertNull:(Ljava/lang/Object;)V
        10: .line 77
            iload 1 /* blockSize */
            iconst_2
            imul
            istore 1 /* blockSize */
        end local 4 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget target
        end local 3 // org.graalvm.compiler.truffle.runtime.OptimizedBlockNode block
        11: .line 68
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 2 /* i */
            iconst_5
            if_icmplt 3
        end local 2 // int i
        13: .line 79
            return
        end local 1 // int blockSize
        end local 0 // org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0       this  Lorg/graalvm/compiler/truffle/test/OptimizedBlockNodeTest;
            1   14     1  blockSize  I
            2   13     2          i  I
            5   11     3      block  Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode<*>;
            6   11     4     target  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testBlockSizePlusOne();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=1
        start local 0 // org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest this
         0: .line 83
            iconst_1
            istore 1 /* groupSize */
        start local 1 // int groupSize
         1: .line 84
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 45
         3: .line 85
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            iload 1 /* groupSize */
            invokevirtual org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.setup:(I)V
         4: .line 86
            iload 1 /* groupSize */
            iconst_1
            iadd
            iconst_1
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.createBlock:(II)Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode;
            astore 3 /* block */
        start local 3 // org.graalvm.compiler.truffle.runtime.OptimizedBlockNode block
         5: .line 87
            aload 3 /* block */
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.createTest:(Lcom/oracle/truffle/api/nodes/BlockNode;)Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            astore 4 /* target */
        start local 4 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget target
         6: .line 88
            aload 3 /* block */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode.getPartialBlocks:()Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode$PartialBlocks;
            invokestatic org.junit.Assert.assertNull:(Ljava/lang/Object;)V
         7: .line 89
            aload 4 /* target */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.computeBlockCompilations:()Z
            pop
         8: .line 90
            aload 4 /* target */
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 91
            aload 4 /* target */
            iconst_1
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.compile:(Z)Z
            pop
        10: .line 94
            aload 3 /* block */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode.getPartialBlocks:()Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode$PartialBlocks;
            astore 5 /* partialBlocks */
        start local 5 // org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks partialBlocks
        11: .line 95
            aload 5 /* partialBlocks */
            invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/Object;)V
        12: .line 96
            aload 5 /* partialBlocks */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks.getBlockRanges:()[I
            invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/Object;)V
        13: .line 97
            lconst_1
            aload 5 /* partialBlocks */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks.getBlockRanges:()[I
            arraylength
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        14: .line 98
            iload 1 /* groupSize */
            i2l
            aload 5 /* partialBlocks */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks.getBlockRanges:()[I
            iconst_0
            iaload
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        15: .line 99
            aload 5 /* partialBlocks */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks.getBlockTargets:()[Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/Object;)V
        16: .line 100
            ldc 2
            aload 5 /* partialBlocks */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks.getBlockTargets:()[Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            arraylength
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        17: .line 101
            aload 5 /* partialBlocks */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks.getBlockTargets:()[Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            iconst_0
            aaload
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        18: .line 102
            aload 5 /* partialBlocks */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks.getBlockTargets:()[Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            iconst_1
            aaload
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        19: .line 104
            iload 1 /* groupSize */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 4 /* target */
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        20: .line 107
            aload 4 /* target */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        21: .line 108
            aload 5 /* partialBlocks */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks.getBlockTargets:()[Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            iconst_0
            aaload
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        22: .line 109
            aload 5 /* partialBlocks */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks.getBlockTargets:()[Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            iconst_1
            aaload
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        23: .line 112
            aload 5 /* partialBlocks */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks.getBlockTargets:()[Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            iconst_0
            aaload
            ldc "test invalidation"
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.invalidate:(Ljava/lang/CharSequence;)Z
            pop
        24: .line 113
            aload 4 /* target */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        25: .line 114
            aload 5 /* partialBlocks */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks.getBlockTargets:()[Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            iconst_0
            aaload
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
        26: .line 115
            aload 5 /* partialBlocks */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks.getBlockTargets:()[Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            iconst_1
            aaload
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        27: .line 117
            aload 4 /* target */
            ldc "test invalidation"
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.invalidate:(Ljava/lang/CharSequence;)Z
            pop
        28: .line 118
            aload 4 /* target */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
        29: .line 119
            aload 5 /* partialBlocks */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks.getBlockTargets:()[Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            iconst_0
            aaload
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
        30: .line 120
            aload 5 /* partialBlocks */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks.getBlockTargets:()[Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            iconst_1
            aaload
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        31: .line 121
            iload 1 /* groupSize */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 4 /* target */
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        32: .line 123
            aload 5 /* partialBlocks */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks.getBlockTargets:()[Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            iconst_1
            aaload
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        33: .line 126
            aload 5 /* partialBlocks */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks.getBlockTargets:()[Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            iconst_1
            aaload
            astore 6 /* oldCallTarget */
        start local 6 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget oldCallTarget
        34: .line 127
            aload 6 /* oldCallTarget */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.getCodeAddress:()J
            lstore 7 /* oldAdress */
        start local 7 // long oldAdress
        35: .line 128
            aload 4 /* target */
            iconst_1
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.compile:(Z)Z
            pop
        36: .line 129
            aload 5 /* partialBlocks */
            aload 3 /* block */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode.getPartialBlocks:()Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode$PartialBlocks;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
        37: .line 130
            aload 4 /* target */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        38: .line 131
            aload 5 /* partialBlocks */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks.getBlockTargets:()[Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            iconst_0
            aaload
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        39: .line 132
            aload 5 /* partialBlocks */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks.getBlockTargets:()[Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            iconst_1
            aaload
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        40: .line 133
            aload 6 /* oldCallTarget */
            aload 5 /* partialBlocks */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks.getBlockTargets:()[Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            iconst_1
            aaload
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
        41: .line 134
            lconst_0
            lload 7 /* oldAdress */
            invokestatic org.junit.Assert.assertNotEquals:(JJ)V
        42: .line 135
            lload 7 /* oldAdress */
            aload 5 /* partialBlocks */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks.getBlockTargets:()[Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            iconst_1
            aaload
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.getCodeAddress:()J
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        43: .line 137
            iload 1 /* groupSize */
            iconst_2
            imul
            istore 1 /* groupSize */
        end local 7 // long oldAdress
        end local 6 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget oldCallTarget
        end local 5 // org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks partialBlocks
        end local 4 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget target
        end local 3 // org.graalvm.compiler.truffle.runtime.OptimizedBlockNode block
        44: .line 84
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        45: iload 2 /* i */
            iconst_5
            if_icmplt 3
        end local 2 // int i
        46: .line 139
            return
        end local 1 // int groupSize
        end local 0 // org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   47     0           this  Lorg/graalvm/compiler/truffle/test/OptimizedBlockNodeTest;
            1   47     1      groupSize  I
            2   46     2              i  I
            5   44     3          block  Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode<Lorg/graalvm/compiler/truffle/test/OptimizedBlockNodeTest$TestElement;>;
            6   44     4         target  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
           11   44     5  partialBlocks  Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode$PartialBlocks<Lorg/graalvm/compiler/truffle/test/OptimizedBlockNodeTest$TestElement;>;
           34   44     6  oldCallTarget  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
           35   44     7      oldAdress  J
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testSimulateReplace();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest this
         0: .line 149
            iconst_2
            istore 4 /* groupSize */
        start local 4 // int groupSize
         1: .line 150
            aload 0 /* this */
            iload 4 /* groupSize */
            invokevirtual org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.setup:(I)V
         2: .line 151
            iload 4 /* groupSize */
            iconst_3
            imul
            iconst_1
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.createBlock:(II)Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode;
            astore 1 /* block */
        start local 1 // org.graalvm.compiler.truffle.runtime.OptimizedBlockNode block
         3: .line 152
            aload 1 /* block */
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.createTest:(Lcom/oracle/truffle/api/nodes/BlockNode;)Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            astore 2 /* target */
        start local 2 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget target
         4: .line 153
            iload 4 /* groupSize */
            iconst_3
            imul
            iconst_1
            isub
            istore 5 /* expectedResult */
        start local 5 // int expectedResult
         5: .line 154
            iload 5 /* expectedResult */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 2 /* target */
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         6: .line 155
            aload 2 /* target */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.computeBlockCompilations:()Z
            pop
         7: .line 156
            aload 2 /* target */
            iconst_1
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.compile:(Z)Z
            pop
         8: .line 157
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode.getPartialBlocks:()Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode$PartialBlocks;
            astore 3 /* partialBlocks */
        start local 3 // org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks partialBlocks
         9: .line 159
            ldc 3
            aload 3 /* partialBlocks */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks.getBlockTargets:()[Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            arraylength
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        10: .line 160
            aload 2 /* target */
            aload 3 /* partialBlocks */
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.assertValid:(Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode$PartialBlocks;)V
        11: .line 161
            iload 5 /* expectedResult */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 2 /* target */
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        12: .line 163
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode.getElements:()[Lcom/oracle/truffle/api/nodes/Node;
            checkcast org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest$TestElement[]
            iconst_0
            aaload
            invokevirtual org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest$TestElement.simulateReplace:()V
        13: .line 164
            aload 2 /* target */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
        14: .line 165
            aload 3 /* partialBlocks */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks.getBlockTargets:()[Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            iconst_0
            aaload
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
        15: .line 166
            aload 3 /* partialBlocks */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks.getBlockTargets:()[Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            iconst_1
            aaload
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        16: .line 167
            aload 3 /* partialBlocks */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks.getBlockTargets:()[Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            iconst_2
            aaload
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        17: .line 168
            iload 5 /* expectedResult */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 2 /* target */
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        18: .line 170
            aload 2 /* target */
            iconst_1
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.compile:(Z)Z
            pop
        19: .line 171
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode.getElements:()[Lcom/oracle/truffle/api/nodes/Node;
            checkcast org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest$TestElement[]
            iconst_1
            aaload
            invokevirtual org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest$TestElement.simulateReplace:()V
        20: .line 172
            aload 2 /* target */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
        21: .line 173
            aload 3 /* partialBlocks */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks.getBlockTargets:()[Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            iconst_0
            aaload
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
        22: .line 174
            aload 3 /* partialBlocks */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks.getBlockTargets:()[Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            iconst_1
            aaload
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        23: .line 175
            aload 3 /* partialBlocks */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks.getBlockTargets:()[Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            iconst_2
            aaload
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        24: .line 176
            iload 5 /* expectedResult */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 2 /* target */
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        25: .line 178
            aload 2 /* target */
            iconst_1
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.compile:(Z)Z
            pop
        26: .line 179
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode.getElements:()[Lcom/oracle/truffle/api/nodes/Node;
            checkcast org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest$TestElement[]
            iconst_2
            aaload
            invokevirtual org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest$TestElement.simulateReplace:()V
        27: .line 180
            aload 2 /* target */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
        28: .line 181
            aload 3 /* partialBlocks */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks.getBlockTargets:()[Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            iconst_0
            aaload
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        29: .line 182
            aload 3 /* partialBlocks */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks.getBlockTargets:()[Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            iconst_1
            aaload
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
        30: .line 183
            aload 3 /* partialBlocks */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks.getBlockTargets:()[Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            iconst_2
            aaload
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        31: .line 184
            iload 5 /* expectedResult */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 2 /* target */
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        32: .line 186
            aload 2 /* target */
            iconst_1
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.compile:(Z)Z
            pop
        33: .line 187
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode.getElements:()[Lcom/oracle/truffle/api/nodes/Node;
            checkcast org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest$TestElement[]
            iconst_3
            aaload
            invokevirtual org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest$TestElement.simulateReplace:()V
        34: .line 188
            aload 2 /* target */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
        35: .line 189
            aload 3 /* partialBlocks */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks.getBlockTargets:()[Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            iconst_0
            aaload
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        36: .line 190
            aload 3 /* partialBlocks */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks.getBlockTargets:()[Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            iconst_1
            aaload
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
        37: .line 191
            aload 3 /* partialBlocks */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks.getBlockTargets:()[Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            iconst_2
            aaload
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        38: .line 192
            iload 5 /* expectedResult */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 2 /* target */
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        39: .line 194
            aload 2 /* target */
            iconst_1
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.compile:(Z)Z
            pop
        40: .line 195
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode.getElements:()[Lcom/oracle/truffle/api/nodes/Node;
            checkcast org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest$TestElement[]
            iconst_4
            aaload
            invokevirtual org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest$TestElement.simulateReplace:()V
        41: .line 196
            aload 2 /* target */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
        42: .line 197
            aload 3 /* partialBlocks */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks.getBlockTargets:()[Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            iconst_0
            aaload
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        43: .line 198
            aload 3 /* partialBlocks */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks.getBlockTargets:()[Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            iconst_1
            aaload
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        44: .line 199
            aload 3 /* partialBlocks */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks.getBlockTargets:()[Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            iconst_2
            aaload
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
        45: .line 200
            iload 5 /* expectedResult */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 2 /* target */
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        46: .line 202
            aload 2 /* target */
            iconst_1
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.compile:(Z)Z
            pop
        47: .line 203
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode.getElements:()[Lcom/oracle/truffle/api/nodes/Node;
            checkcast org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest$TestElement[]
            iconst_5
            aaload
            invokevirtual org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest$TestElement.simulateReplace:()V
        48: .line 204
            aload 2 /* target */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
        49: .line 205
            aload 3 /* partialBlocks */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks.getBlockTargets:()[Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            iconst_0
            aaload
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        50: .line 206
            aload 3 /* partialBlocks */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks.getBlockTargets:()[Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            iconst_1
            aaload
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        51: .line 207
            aload 3 /* partialBlocks */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks.getBlockTargets:()[Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            iconst_2
            aaload
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
        52: .line 208
            iload 5 /* expectedResult */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 2 /* target */
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        53: .line 210
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode.getElements:()[Lcom/oracle/truffle/api/nodes/Node;
            checkcast org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest$TestElement[]
            iconst_1
            aaload
            invokevirtual org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest$TestElement.simulateReplace:()V
        54: .line 211
            aload 2 /* target */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
        55: .line 212
            aload 3 /* partialBlocks */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks.getBlockTargets:()[Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            iconst_0
            aaload
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
        56: .line 213
            aload 3 /* partialBlocks */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks.getBlockTargets:()[Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            iconst_1
            aaload
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        57: .line 214
            iload 5 /* expectedResult */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 2 /* target */
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        58: .line 216
            aload 2 /* target */
            iconst_1
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.compile:(Z)Z
            pop
        59: .line 217
            aload 2 /* target */
            aload 3 /* partialBlocks */
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.assertValid:(Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode$PartialBlocks;)V
        60: .line 218
            return
        end local 5 // int expectedResult
        end local 4 // int groupSize
        end local 3 // org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks partialBlocks
        end local 2 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget target
        end local 1 // org.graalvm.compiler.truffle.runtime.OptimizedBlockNode block
        end local 0 // org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   61     0            this  Lorg/graalvm/compiler/truffle/test/OptimizedBlockNodeTest;
            3   61     1           block  Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode<Lorg/graalvm/compiler/truffle/test/OptimizedBlockNodeTest$TestElement;>;
            4   61     2          target  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            9   61     3   partialBlocks  Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode$PartialBlocks<Lorg/graalvm/compiler/truffle/test/OptimizedBlockNodeTest$TestElement;>;
            1   61     4       groupSize  I
            5   61     5  expectedResult  I
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testExecuteMethods();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=10, args_size=1
        start local 0 // org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest this
         0: .line 226
            invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
            iconst_0
            anewarray java.lang.Object
            invokeinterface com.oracle.truffle.api.TruffleRuntime.createMaterializedFrame:([Ljava/lang/Object;)Lcom/oracle/truffle/api/frame/MaterializedFrame;
            astore 5 /* testFrame */
        start local 5 // com.oracle.truffle.api.frame.MaterializedFrame testFrame
         1: .line 228
            aload 0 /* this */
            iconst_3
            invokevirtual org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.setup:(I)V
         2: .line 230
            bipush 9
            iconst_1
            aconst_null
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.createBlock:(IILjava/lang/Object;)Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode;
            astore 1 /* block */
        start local 1 // org.graalvm.compiler.truffle.runtime.OptimizedBlockNode block
         3: .line 231
            aload 1 /* block */
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.createTest:(Lcom/oracle/truffle/api/nodes/BlockNode;)Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            astore 2 /* target */
        start local 2 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget target
         4: .line 232
            bipush 8
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            astore 4 /* expectedResult */
        start local 4 // java.lang.Object expectedResult
         5: .line 233
            aload 4 /* expectedResult */
            aload 2 /* target */
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         6: .line 234
            aload 2 /* target */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.computeBlockCompilations:()Z
            pop
         7: .line 235
            aload 2 /* target */
            iconst_1
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.compile:(Z)Z
            pop
         8: .line 236
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode.getPartialBlocks:()Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode$PartialBlocks;
            astore 3 /* partialBlocks */
        start local 3 // org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks partialBlocks
         9: .line 237
            aload 2 /* target */
            aload 3 /* partialBlocks */
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.assertValid:(Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode$PartialBlocks;)V
        10: .line 239
            aload 4 /* expectedResult */
            aload 1 /* block */
            aload 5 /* testFrame */
            iconst_0
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode.executeInt:(Lcom/oracle/truffle/api/frame/VirtualFrame;I)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        11: .line 240
            aload 1 /* block */
            aload 5 /* testFrame */
            iconst_0
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode.executeVoid:(Lcom/oracle/truffle/api/frame/VirtualFrame;I)V
        12: .line 241
            aload 1 /* block */
            astore 6 /* block0 */
        start local 6 // org.graalvm.compiler.truffle.runtime.OptimizedBlockNode block0
        13: .line 242
            aload 6 /* block0 */
            aload 5 /* testFrame */
            invokedynamic call(Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode;Lcom/oracle/truffle/api/frame/MaterializedFrame;)Ljava/util/concurrent/Callable;
              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:
                  ()Ljava/lang/Object;
                  org/graalvm/compiler/truffle/test/OptimizedBlockNodeTest.lambda$0(Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode;Lcom/oracle/truffle/api/frame/MaterializedFrame;)Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            aload 4 /* expectedResult */
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.assertUnexpected:(Ljava/util/concurrent/Callable;Ljava/lang/Object;)V
        14: .line 243
            aload 6 /* block0 */
            aload 5 /* testFrame */
            invokedynamic call(Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode;Lcom/oracle/truffle/api/frame/MaterializedFrame;)Ljava/util/concurrent/Callable;
              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:
                  ()Ljava/lang/Object;
                  org/graalvm/compiler/truffle/test/OptimizedBlockNodeTest.lambda$1(Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode;Lcom/oracle/truffle/api/frame/MaterializedFrame;)Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            aload 4 /* expectedResult */
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.assertUnexpected:(Ljava/util/concurrent/Callable;Ljava/lang/Object;)V
        15: .line 244
            aload 6 /* block0 */
            aload 5 /* testFrame */
            invokedynamic call(Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode;Lcom/oracle/truffle/api/frame/MaterializedFrame;)Ljava/util/concurrent/Callable;
              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:
                  ()Ljava/lang/Object;
                  org/graalvm/compiler/truffle/test/OptimizedBlockNodeTest.lambda$2(Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode;Lcom/oracle/truffle/api/frame/MaterializedFrame;)Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            aload 4 /* expectedResult */
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.assertUnexpected:(Ljava/util/concurrent/Callable;Ljava/lang/Object;)V
        16: .line 245
            aload 2 /* target */
            aload 3 /* partialBlocks */
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.assertValid:(Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode$PartialBlocks;)V
        17: .line 247
            ldc 42.0
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            astore 4 /* expectedResult */
        18: .line 248
            bipush 13
            iconst_1
            aload 4 /* expectedResult */
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.createBlock:(IILjava/lang/Object;)Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode;
            astore 1 /* block */
        19: .line 249
            aload 1 /* block */
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.createTest:(Lcom/oracle/truffle/api/nodes/BlockNode;)Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            astore 2 /* target */
        20: .line 250
            aload 4 /* expectedResult */
            aload 2 /* target */
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        21: .line 251
            aload 2 /* target */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.computeBlockCompilations:()Z
            pop
        22: .line 252
            aload 2 /* target */
            iconst_1
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.compile:(Z)Z
            pop
        23: .line 253
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode.getPartialBlocks:()Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode$PartialBlocks;
            astore 3 /* partialBlocks */
        24: .line 254
            aload 2 /* target */
            aload 3 /* partialBlocks */
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.assertValid:(Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode$PartialBlocks;)V
        25: .line 256
            aload 4 /* expectedResult */
            aload 1 /* block */
            aload 5 /* testFrame */
            iconst_0
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode.executeDouble:(Lcom/oracle/truffle/api/frame/VirtualFrame;I)D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        26: .line 257
            aload 1 /* block */
            aload 5 /* testFrame */
            iconst_0
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode.executeVoid:(Lcom/oracle/truffle/api/frame/VirtualFrame;I)V
        27: .line 258
            aload 1 /* block */
            astore 7 /* block1 */
        start local 7 // org.graalvm.compiler.truffle.runtime.OptimizedBlockNode block1
        28: .line 259
            aload 7 /* block1 */
            aload 5 /* testFrame */
            invokedynamic call(Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode;Lcom/oracle/truffle/api/frame/MaterializedFrame;)Ljava/util/concurrent/Callable;
              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:
                  ()Ljava/lang/Object;
                  org/graalvm/compiler/truffle/test/OptimizedBlockNodeTest.lambda$3(Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode;Lcom/oracle/truffle/api/frame/MaterializedFrame;)Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            aload 4 /* expectedResult */
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.assertUnexpected:(Ljava/util/concurrent/Callable;Ljava/lang/Object;)V
        29: .line 260
            aload 7 /* block1 */
            aload 5 /* testFrame */
            invokedynamic call(Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode;Lcom/oracle/truffle/api/frame/MaterializedFrame;)Ljava/util/concurrent/Callable;
              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:
                  ()Ljava/lang/Object;
                  org/graalvm/compiler/truffle/test/OptimizedBlockNodeTest.lambda$4(Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode;Lcom/oracle/truffle/api/frame/MaterializedFrame;)Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            aload 4 /* expectedResult */
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.assertUnexpected:(Ljava/util/concurrent/Callable;Ljava/lang/Object;)V
        30: .line 261
            aload 7 /* block1 */
            aload 5 /* testFrame */
            invokedynamic call(Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode;Lcom/oracle/truffle/api/frame/MaterializedFrame;)Ljava/util/concurrent/Callable;
              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:
                  ()Ljava/lang/Object;
                  org/graalvm/compiler/truffle/test/OptimizedBlockNodeTest.lambda$5(Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode;Lcom/oracle/truffle/api/frame/MaterializedFrame;)Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            aload 4 /* expectedResult */
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.assertUnexpected:(Ljava/util/concurrent/Callable;Ljava/lang/Object;)V
        31: .line 262
            aload 2 /* target */
            aload 3 /* partialBlocks */
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.assertValid:(Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode$PartialBlocks;)V
        32: .line 264
            ldc 42
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            astore 4 /* expectedResult */
        33: .line 265
            bipush 12
            iconst_1
            aload 4 /* expectedResult */
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.createBlock:(IILjava/lang/Object;)Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode;
            astore 1 /* block */
        34: .line 266
            aload 1 /* block */
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.createTest:(Lcom/oracle/truffle/api/nodes/BlockNode;)Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            astore 2 /* target */
        35: .line 267
            aload 4 /* expectedResult */
            aload 2 /* target */
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        36: .line 268
            aload 2 /* target */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.computeBlockCompilations:()Z
            pop
        37: .line 269
            aload 2 /* target */
            iconst_1
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.compile:(Z)Z
            pop
        38: .line 270
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode.getPartialBlocks:()Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode$PartialBlocks;
            astore 3 /* partialBlocks */
        39: .line 271
            aload 2 /* target */
            aload 3 /* partialBlocks */
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.assertValid:(Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode$PartialBlocks;)V
        40: .line 273
            aload 4 /* expectedResult */
            aload 1 /* block */
            aload 5 /* testFrame */
            iconst_0
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode.executeLong:(Lcom/oracle/truffle/api/frame/VirtualFrame;I)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        41: .line 274
            aload 1 /* block */
            aload 5 /* testFrame */
            iconst_0
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode.executeVoid:(Lcom/oracle/truffle/api/frame/VirtualFrame;I)V
        42: .line 275
            aload 1 /* block */
            astore 8 /* block2 */
        start local 8 // org.graalvm.compiler.truffle.runtime.OptimizedBlockNode block2
        43: .line 276
            aload 8 /* block2 */
            aload 5 /* testFrame */
            invokedynamic call(Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode;Lcom/oracle/truffle/api/frame/MaterializedFrame;)Ljava/util/concurrent/Callable;
              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:
                  ()Ljava/lang/Object;
                  org/graalvm/compiler/truffle/test/OptimizedBlockNodeTest.lambda$6(Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode;Lcom/oracle/truffle/api/frame/MaterializedFrame;)Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            aload 4 /* expectedResult */
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.assertUnexpected:(Ljava/util/concurrent/Callable;Ljava/lang/Object;)V
        44: .line 277
            aload 8 /* block2 */
            aload 5 /* testFrame */
            invokedynamic call(Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode;Lcom/oracle/truffle/api/frame/MaterializedFrame;)Ljava/util/concurrent/Callable;
              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:
                  ()Ljava/lang/Object;
                  org/graalvm/compiler/truffle/test/OptimizedBlockNodeTest.lambda$7(Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode;Lcom/oracle/truffle/api/frame/MaterializedFrame;)Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            aload 4 /* expectedResult */
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.assertUnexpected:(Ljava/util/concurrent/Callable;Ljava/lang/Object;)V
        45: .line 278
            aload 8 /* block2 */
            aload 5 /* testFrame */
            invokedynamic call(Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode;Lcom/oracle/truffle/api/frame/MaterializedFrame;)Ljava/util/concurrent/Callable;
              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:
                  ()Ljava/lang/Object;
                  org/graalvm/compiler/truffle/test/OptimizedBlockNodeTest.lambda$8(Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode;Lcom/oracle/truffle/api/frame/MaterializedFrame;)Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            aload 4 /* expectedResult */
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.assertUnexpected:(Ljava/util/concurrent/Callable;Ljava/lang/Object;)V
        46: .line 279
            aload 2 /* target */
            aload 3 /* partialBlocks */
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.assertValid:(Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode$PartialBlocks;)V
        47: .line 281
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            astore 4 /* expectedResult */
        48: .line 282
            bipush 7
            iconst_1
            aload 4 /* expectedResult */
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.createBlock:(IILjava/lang/Object;)Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode;
            astore 1 /* block */
        49: .line 283
            aload 1 /* block */
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.createTest:(Lcom/oracle/truffle/api/nodes/BlockNode;)Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            astore 2 /* target */
        50: .line 284
            aload 4 /* expectedResult */
            aload 2 /* target */
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        51: .line 285
            aload 2 /* target */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.computeBlockCompilations:()Z
            pop
        52: .line 286
            aload 2 /* target */
            iconst_1
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.compile:(Z)Z
            pop
        53: .line 287
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode.getPartialBlocks:()Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode$PartialBlocks;
            astore 3 /* partialBlocks */
        54: .line 288
            aload 2 /* target */
            aload 3 /* partialBlocks */
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.assertValid:(Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode$PartialBlocks;)V
        55: .line 290
            aload 4 /* expectedResult */
            aload 1 /* block */
            aload 5 /* testFrame */
            iconst_0
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode.executeBoolean:(Lcom/oracle/truffle/api/frame/VirtualFrame;I)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        56: .line 291
            aload 1 /* block */
            aload 5 /* testFrame */
            iconst_0
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode.executeVoid:(Lcom/oracle/truffle/api/frame/VirtualFrame;I)V
        57: .line 292
            aload 1 /* block */
            astore 9 /* block3 */
        start local 9 // org.graalvm.compiler.truffle.runtime.OptimizedBlockNode block3
        58: .line 293
            aload 9 /* block3 */
            aload 5 /* testFrame */
            invokedynamic call(Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode;Lcom/oracle/truffle/api/frame/MaterializedFrame;)Ljava/util/concurrent/Callable;
              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:
                  ()Ljava/lang/Object;
                  org/graalvm/compiler/truffle/test/OptimizedBlockNodeTest.lambda$9(Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode;Lcom/oracle/truffle/api/frame/MaterializedFrame;)Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            aload 4 /* expectedResult */
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.assertUnexpected:(Ljava/util/concurrent/Callable;Ljava/lang/Object;)V
        59: .line 294
            aload 9 /* block3 */
            aload 5 /* testFrame */
            invokedynamic call(Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode;Lcom/oracle/truffle/api/frame/MaterializedFrame;)Ljava/util/concurrent/Callable;
              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:
                  ()Ljava/lang/Object;
                  org/graalvm/compiler/truffle/test/OptimizedBlockNodeTest.lambda$10(Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode;Lcom/oracle/truffle/api/frame/MaterializedFrame;)Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            aload 4 /* expectedResult */
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.assertUnexpected:(Ljava/util/concurrent/Callable;Ljava/lang/Object;)V
        60: .line 295
            aload 9 /* block3 */
            aload 5 /* testFrame */
            invokedynamic call(Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode;Lcom/oracle/truffle/api/frame/MaterializedFrame;)Ljava/util/concurrent/Callable;
              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:
                  ()Ljava/lang/Object;
                  org/graalvm/compiler/truffle/test/OptimizedBlockNodeTest.lambda$11(Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode;Lcom/oracle/truffle/api/frame/MaterializedFrame;)Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            aload 4 /* expectedResult */
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.assertUnexpected:(Ljava/util/concurrent/Callable;Ljava/lang/Object;)V
        61: .line 296
            aload 2 /* target */
            aload 3 /* partialBlocks */
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.assertValid:(Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode$PartialBlocks;)V
        62: .line 297
            return
        end local 9 // org.graalvm.compiler.truffle.runtime.OptimizedBlockNode block3
        end local 8 // org.graalvm.compiler.truffle.runtime.OptimizedBlockNode block2
        end local 7 // org.graalvm.compiler.truffle.runtime.OptimizedBlockNode block1
        end local 6 // org.graalvm.compiler.truffle.runtime.OptimizedBlockNode block0
        end local 5 // com.oracle.truffle.api.frame.MaterializedFrame testFrame
        end local 4 // java.lang.Object expectedResult
        end local 3 // org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks partialBlocks
        end local 2 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget target
        end local 1 // org.graalvm.compiler.truffle.runtime.OptimizedBlockNode block
        end local 0 // org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   63     0            this  Lorg/graalvm/compiler/truffle/test/OptimizedBlockNodeTest;
            3   63     1           block  Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode<Lorg/graalvm/compiler/truffle/test/OptimizedBlockNodeTest$TestElement;>;
            4   63     2          target  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            9   63     3   partialBlocks  Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode$PartialBlocks<Lorg/graalvm/compiler/truffle/test/OptimizedBlockNodeTest$TestElement;>;
            5   63     4  expectedResult  Ljava/lang/Object;
            1   63     5       testFrame  Lcom/oracle/truffle/api/frame/MaterializedFrame;
           13   63     6          block0  Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode<Lorg/graalvm/compiler/truffle/test/OptimizedBlockNodeTest$TestElement;>;
           28   63     7          block1  Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode<Lorg/graalvm/compiler/truffle/test/OptimizedBlockNodeTest$TestElement;>;
           43   63     8          block2  Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode<Lorg/graalvm/compiler/truffle/test/OptimizedBlockNodeTest$TestElement;>;
           58   63     9          block3  Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode<Lorg/graalvm/compiler/truffle/test/OptimizedBlockNodeTest$TestElement;>;
    Exceptions:
      throws com.oracle.truffle.api.nodes.UnexpectedResultException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testStartsWithCompilation();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=1
        start local 0 // org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest this
         0: .line 307
            aload 0 /* this */
            iconst_2
            invokevirtual org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.setup:(I)V
         1: .line 309
            iconst_5
            iconst_1
            aconst_null
            new org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest$StartsWithExecutor
            dup
            invokespecial org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest$StartsWithExecutor.<init>:()V
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.createBlock:(IILjava/lang/Object;Lcom/oracle/truffle/api/nodes/BlockNode$ElementExecutor;)Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode;
            astore 1 /* block */
        start local 1 // org.graalvm.compiler.truffle.runtime.OptimizedBlockNode block
         2: .line 310
            aload 1 /* block */
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.createTest:(Lcom/oracle/truffle/api/nodes/BlockNode;)Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            astore 2 /* target */
        start local 2 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget target
         3: .line 311
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode.getRootNode:()Lcom/oracle/truffle/api/nodes/RootNode;
            checkcast org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest$TestRootNode
            getfield org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest$TestRootNode.elementExecuted:[I
            astore 5 /* elementExecuted */
        start local 5 // int[] elementExecuted
         4: .line 312
            iconst_4
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            astore 4 /* expectedResult */
        start local 4 // java.lang.Object expectedResult
         5: .line 313
            aload 4 /* expectedResult */
            aload 2 /* target */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         6: .line 314
            aload 2 /* target */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.computeBlockCompilations:()Z
            pop
         7: .line 315
            aload 2 /* target */
            iconst_1
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.compile:(Z)Z
            pop
         8: .line 316
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode.getPartialBlocks:()Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode$PartialBlocks;
            astore 3 /* partialBlocks */
        start local 3 // org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks partialBlocks
         9: .line 317
            aload 2 /* target */
            aload 3 /* partialBlocks */
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.assertValid:(Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode$PartialBlocks;)V
        10: .line 318
            aload 4 /* expectedResult */
            aload 2 /* target */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iconst_1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        11: .line 319
            lconst_0
            aload 5 /* elementExecuted */
            iconst_0
            iaload
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        12: .line 320
            lconst_1
            aload 5 /* elementExecuted */
            iconst_1
            iaload
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        13: .line 321
            lconst_1
            aload 5 /* elementExecuted */
            iconst_2
            iaload
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        14: .line 322
            lconst_1
            aload 5 /* elementExecuted */
            iconst_3
            iaload
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        15: .line 323
            lconst_1
            aload 5 /* elementExecuted */
            iconst_4
            iaload
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        16: .line 324
            aload 2 /* target */
            iconst_1
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.compile:(Z)Z
            pop
        17: .line 325
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode.getPartialBlocks:()Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode$PartialBlocks;
            astore 3 /* partialBlocks */
        18: .line 326
            aload 2 /* target */
            aload 3 /* partialBlocks */
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.assertValid:(Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode$PartialBlocks;)V
        19: .line 327
            aload 4 /* expectedResult */
            aload 2 /* target */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iconst_3
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        20: .line 328
            lconst_0
            aload 5 /* elementExecuted */
            iconst_0
            iaload
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        21: .line 329
            lconst_0
            aload 5 /* elementExecuted */
            iconst_1
            iaload
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        22: .line 330
            lconst_0
            aload 5 /* elementExecuted */
            iconst_2
            iaload
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        23: .line 331
            lconst_1
            aload 5 /* elementExecuted */
            iconst_3
            iaload
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        24: .line 332
            lconst_1
            aload 5 /* elementExecuted */
            iconst_4
            iaload
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        25: .line 333
            aload 2 /* target */
            aload 3 /* partialBlocks */
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.assertValid:(Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode$PartialBlocks;)V
        26: .line 334
            aload 2 /* target */
            iconst_1
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.compile:(Z)Z
            pop
        27: .line 335
            aload 2 /* target */
            aload 3 /* partialBlocks */
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.assertValid:(Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode$PartialBlocks;)V
        28: .line 336
            aload 4 /* expectedResult */
            aload 2 /* target */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iconst_4
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        29: .line 337
            lconst_0
            aload 5 /* elementExecuted */
            iconst_0
            iaload
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        30: .line 338
            lconst_0
            aload 5 /* elementExecuted */
            iconst_1
            iaload
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        31: .line 339
            lconst_0
            aload 5 /* elementExecuted */
            iconst_2
            iaload
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        32: .line 340
            lconst_0
            aload 5 /* elementExecuted */
            iconst_3
            iaload
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        33: .line 341
            lconst_1
            aload 5 /* elementExecuted */
            iconst_4
            iaload
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        34: .line 342
            aload 2 /* target */
            aload 3 /* partialBlocks */
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.assertValid:(Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode$PartialBlocks;)V
        35: .line 343
            aload 2 /* target */
            iconst_1
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.compile:(Z)Z
            pop
        36: .line 345
            aload 2 /* target */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iconst_5
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            pop
        37: .line 346
            invokestatic org.junit.Assert.fail:()V
        38: .line 347
            goto 40
      StackMap locals: org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest org.graalvm.compiler.truffle.runtime.OptimizedBlockNode org.graalvm.compiler.truffle.runtime.OptimizedCallTarget org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks java.lang.Object int[]
      StackMap stack: java.lang.IllegalArgumentException
        39: pop
        40: .line 349
      StackMap locals:
      StackMap stack:
            lconst_0
            aload 5 /* elementExecuted */
            iconst_0
            iaload
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        41: .line 350
            lconst_0
            aload 5 /* elementExecuted */
            iconst_1
            iaload
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        42: .line 351
            lconst_0
            aload 5 /* elementExecuted */
            iconst_2
            iaload
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        43: .line 352
            lconst_0
            aload 5 /* elementExecuted */
            iconst_3
            iaload
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        44: .line 353
            lconst_0
            aload 5 /* elementExecuted */
            iconst_4
            iaload
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        45: .line 354
            return
        end local 5 // int[] elementExecuted
        end local 4 // java.lang.Object expectedResult
        end local 3 // org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks partialBlocks
        end local 2 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget target
        end local 1 // org.graalvm.compiler.truffle.runtime.OptimizedBlockNode block
        end local 0 // org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   46     0             this  Lorg/graalvm/compiler/truffle/test/OptimizedBlockNodeTest;
            2   46     1            block  Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode<Lorg/graalvm/compiler/truffle/test/OptimizedBlockNodeTest$TestElement;>;
            3   46     2           target  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            9   46     3    partialBlocks  Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode$PartialBlocks<Lorg/graalvm/compiler/truffle/test/OptimizedBlockNodeTest$TestElement;>;
            5   46     4   expectedResult  Ljava/lang/Object;
            4   46     5  elementExecuted  [I
      Exception table:
        from    to  target  type
          36    38      39  Class java.lang.IllegalArgumentException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testHierarchicalBlocks();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest this
         0: .line 362
            aload 0 /* this */
            iconst_3
            invokevirtual org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.setup:(I)V
         1: .line 364
            iconst_5
            iconst_2
            aconst_null
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.createBlock:(IILjava/lang/Object;)Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode;
            astore 1 /* block */
        start local 1 // org.graalvm.compiler.truffle.runtime.OptimizedBlockNode block
         2: .line 365
            aload 1 /* block */
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.createTest:(Lcom/oracle/truffle/api/nodes/BlockNode;)Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            astore 2 /* target */
        start local 2 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget target
         3: .line 366
            aload 2 /* target */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.computeBlockCompilations:()Z
            pop
         4: .line 367
            aload 2 /* target */
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 368
            aload 2 /* target */
            iconst_1
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.compile:(Z)Z
            pop
         6: .line 369
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode.getPartialBlocks:()Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode$PartialBlocks;
            astore 3 /* partialBlocks */
        start local 3 // org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks partialBlocks
         7: .line 371
            ldc 2
            aload 3 /* partialBlocks */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks.getBlockTargets:()[Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            arraylength
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         8: .line 372
            lconst_1
            aload 3 /* partialBlocks */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks.getBlockRanges:()[I
            arraylength
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         9: .line 373
            ldc 3
            aload 3 /* partialBlocks */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks.getBlockRanges:()[I
            iconst_0
            iaload
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        10: .line 375
            iconst_5
            iconst_3
            aconst_null
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.createBlock:(IILjava/lang/Object;)Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode;
            astore 1 /* block */
        11: .line 376
            aload 1 /* block */
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.createTest:(Lcom/oracle/truffle/api/nodes/BlockNode;)Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            astore 2 /* target */
        12: .line 377
            aload 2 /* target */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.computeBlockCompilations:()Z
            pop
        13: .line 378
            aload 2 /* target */
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            pop
        14: .line 379
            aload 2 /* target */
            iconst_1
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.compile:(Z)Z
            pop
        15: .line 380
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode.getPartialBlocks:()Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode$PartialBlocks;
            astore 3 /* partialBlocks */
        16: .line 382
            ldc 2
            aload 3 /* partialBlocks */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks.getBlockTargets:()[Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            arraylength
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        17: .line 383
            lconst_1
            aload 3 /* partialBlocks */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks.getBlockRanges:()[I
            arraylength
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        18: .line 384
            ldc 3
            aload 3 /* partialBlocks */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks.getBlockRanges:()[I
            iconst_0
            iaload
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        19: .line 385
            return
        end local 3 // org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks partialBlocks
        end local 2 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget target
        end local 1 // org.graalvm.compiler.truffle.runtime.OptimizedBlockNode block
        end local 0 // org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   20     0           this  Lorg/graalvm/compiler/truffle/test/OptimizedBlockNodeTest;
            2   20     1          block  Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode<Lorg/graalvm/compiler/truffle/test/OptimizedBlockNodeTest$TestElement;>;
            3   20     2         target  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            7   20     3  partialBlocks  Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode$PartialBlocks<Lorg/graalvm/compiler/truffle/test/OptimizedBlockNodeTest$TestElement;>;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testHierarchicalUnbalanced();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest this
         0: .line 393
            aload 0 /* this */
            bipush 50
            invokevirtual org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.setup:(I)V
         1: .line 394
            bipush 10
            iconst_4
            aconst_null
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.createBlock:(IILjava/lang/Object;)Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode;
            astore 1 /* block */
        start local 1 // org.graalvm.compiler.truffle.runtime.OptimizedBlockNode block
         2: .line 395
            aload 1 /* block */
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.createTest:(Lcom/oracle/truffle/api/nodes/BlockNode;)Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            astore 2 /* target */
        start local 2 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget target
         3: .line 396
            aload 2 /* target */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.computeBlockCompilations:()Z
            pop
         4: .line 397
            aload 2 /* target */
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 398
            aload 2 /* target */
            iconst_1
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.compile:(Z)Z
            pop
         6: .line 399
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode.getPartialBlocks:()Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode$PartialBlocks;
            astore 3 /* partialBlocks */
        start local 3 // org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks partialBlocks
         7: .line 401
            ldc 3
            aload 3 /* partialBlocks */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks.getBlockTargets:()[Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            arraylength
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         8: .line 402
            ldc 2
            aload 3 /* partialBlocks */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks.getBlockRanges:()[I
            arraylength
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         9: .line 403
            ldc 4
            aload 3 /* partialBlocks */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks.getBlockRanges:()[I
            iconst_0
            iaload
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        10: .line 404
            ldc 8
            aload 3 /* partialBlocks */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks.getBlockRanges:()[I
            iconst_1
            iaload
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        11: .line 405
            return
        end local 3 // org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks partialBlocks
        end local 2 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget target
        end local 1 // org.graalvm.compiler.truffle.runtime.OptimizedBlockNode block
        end local 0 // org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   12     0           this  Lorg/graalvm/compiler/truffle/test/OptimizedBlockNodeTest;
            2   12     1          block  Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode<Lorg/graalvm/compiler/truffle/test/OptimizedBlockNodeTest$TestElement;>;
            3   12     2         target  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            7   12     3  partialBlocks  Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode$PartialBlocks<Lorg/graalvm/compiler/truffle/test/OptimizedBlockNodeTest$TestElement;>;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testNoCallCompilation();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest this
         0: .line 409
            iconst_1
            istore 1 /* blockSize */
        start local 1 // int blockSize
         1: .line 410
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 13
         3: .line 411
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            iload 1 /* blockSize */
            invokevirtual org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.setup:(I)V
         4: .line 412
            iload 1 /* blockSize */
            iconst_1
            iadd
            iconst_1
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.createBlock:(II)Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode;
            astore 3 /* block */
        start local 3 // org.graalvm.compiler.truffle.runtime.OptimizedBlockNode block
         5: .line 413
            aload 3 /* block */
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.createTest:(Lcom/oracle/truffle/api/nodes/BlockNode;)Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            astore 4 /* target */
        start local 4 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget target
         6: .line 414
            aload 4 /* target */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.computeBlockCompilations:()Z
            pop
         7: .line 415
            aload 4 /* target */
            iconst_1
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.compile:(Z)Z
            pop
         8: .line 416
            aload 4 /* target */
            aload 3 /* block */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode.getPartialBlocks:()Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode$PartialBlocks;
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.assertValid:(Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode$PartialBlocks;)V
         9: .line 417
            aload 4 /* target */
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 418
            aload 4 /* target */
            aload 3 /* block */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode.getPartialBlocks:()Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode$PartialBlocks;
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.assertValid:(Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode$PartialBlocks;)V
        11: .line 419
            iload 1 /* blockSize */
            iconst_2
            imul
            istore 1 /* blockSize */
        end local 4 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget target
        end local 3 // org.graalvm.compiler.truffle.runtime.OptimizedBlockNode block
        12: .line 410
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 2 /* i */
            iconst_5
            if_icmplt 3
        end local 2 // int i
        14: .line 421
            return
        end local 1 // int blockSize
        end local 0 // org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0       this  Lorg/graalvm/compiler/truffle/test/OptimizedBlockNodeTest;
            1   15     1  blockSize  I
            2   14     2          i  I
            5   12     3      block  Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode<*>;
            6   12     4     target  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testSimpleLanguageExample();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=12, args_size=1
        start local 0 // org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest this
         0: .line 428
            aload 0 /* this */
            sipush 128
            invokevirtual org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.setup:(I)V
         1: .line 429
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.context:Lorg/graalvm/polyglot/Context;
            ldc "empty"
            iconst_0
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.generateSLFunction:(Lorg/graalvm/polyglot/Context;Ljava/lang/String;I)Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.getNonTrivialNodeCount:()I
            istore 1 /* emptyNodeCount */
        start local 1 // int emptyNodeCount
         2: .line 430
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.context:Lorg/graalvm/polyglot/Context;
            ldc "single"
            iconst_1
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.generateSLFunction:(Lorg/graalvm/polyglot/Context;Ljava/lang/String;I)Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.getNonTrivialNodeCount:()I
            istore 2 /* singleNodeCount */
        start local 2 // int singleNodeCount
         3: .line 431
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.context:Lorg/graalvm/polyglot/Context;
            ldc "two"
            iconst_2
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.generateSLFunction:(Lorg/graalvm/polyglot/Context;Ljava/lang/String;I)Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.getNonTrivialNodeCount:()I
            istore 3 /* twoNodeCount */
        start local 3 // int twoNodeCount
         4: .line 432
            iload 3 /* twoNodeCount */
            iload 2 /* singleNodeCount */
            isub
            istore 4 /* singleStatementNodeCount */
        start local 4 // int singleStatementNodeCount
         5: .line 433
            iload 2 /* singleNodeCount */
            iload 1 /* emptyNodeCount */
            isub
            iload 4 /* singleStatementNodeCount */
            isub
            istore 5 /* blockOverhead */
        start local 5 // int blockOverhead
         6: .line 435
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.context:Lorg/graalvm/polyglot/Context;
            ldc "sl"
            invokevirtual org.graalvm.polyglot.Context.initialize:(Ljava/lang/String;)Z
            pop
         7: .line 437
            sipush 512
            iload 5 /* blockOverhead */
            isub
            iload 4 /* singleStatementNodeCount */
            invokestatic java.lang.Math.floorDiv:(II)I
            istore 6 /* statements */
        start local 6 // int statements
         8: .line 438
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.context:Lorg/graalvm/polyglot/Context;
            ldc "test"
            iload 6 /* statements */
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.generateSLFunction:(Lorg/graalvm/polyglot/Context;Ljava/lang/String;I)Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            astore 7 /* target */
        start local 7 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget target
         9: .line 439
            aload 7 /* target */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.computeBlockCompilations:()Z
            pop
        10: .line 440
            iload 6 /* statements */
            iconst_1
            isub
            iload 4 /* singleStatementNodeCount */
            imul
            iload 2 /* singleNodeCount */
            iadd
            i2l
            aload 7 /* target */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.getNonTrivialNodeCount:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        11: .line 441
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.context:Lorg/graalvm/polyglot/Context;
            ldc "sl"
            invokevirtual org.graalvm.polyglot.Context.getBindings:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
            ldc "test"
            invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
            astore 8 /* v */
        start local 8 // org.graalvm.polyglot.Value v
        12: .line 444
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        13: goto 16
        14: .line 445
      StackMap locals: org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest int int int int int int org.graalvm.compiler.truffle.runtime.OptimizedCallTarget org.graalvm.polyglot.Value int
      StackMap stack:
            iload 6 /* statements */
            i2l
            aload 8 /* v */
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
            invokevirtual org.graalvm.polyglot.Value.asInt:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        15: .line 444
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 9 /* i */
            bipush 10
            if_icmplt 14
        end local 9 // int i
        17: .line 447
            aload 7 /* target */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        18: .line 448
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 9 /* blocks */
        start local 9 // java.util.List blocks
        19: .line 449
            aload 7 /* target */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.getRootNode:()Lcom/oracle/truffle/api/nodes/RootNode;
            new org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest$1
            dup
            aload 0 /* this */
            aload 9 /* blocks */
            invokespecial org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest$1.<init>:(Lorg/graalvm/compiler/truffle/test/OptimizedBlockNodeTest;Ljava/util/List;)V
            invokevirtual com.oracle.truffle.api.nodes.RootNode.accept:(Lcom/oracle/truffle/api/nodes/NodeVisitor;)V
        20: .line 460
            lconst_1
            aload 9 /* blocks */
            invokeinterface java.util.List.size:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        21: .line 461
            aload 9 /* blocks */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.truffle.runtime.OptimizedBlockNode
            astore 10 /* block */
        start local 10 // org.graalvm.compiler.truffle.runtime.OptimizedBlockNode block
        22: .line 462
            aload 10 /* block */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode.getPartialBlocks:()Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode$PartialBlocks;
            astore 11 /* partialBlocks */
        start local 11 // org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks partialBlocks
        23: .line 463
            aload 11 /* partialBlocks */
            invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/Object;)V
        24: .line 464
            ldc 4
            aload 11 /* partialBlocks */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks.getBlockTargets:()[Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            arraylength
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        25: .line 465
            return
        end local 11 // org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks partialBlocks
        end local 10 // org.graalvm.compiler.truffle.runtime.OptimizedBlockNode block
        end local 9 // java.util.List blocks
        end local 8 // org.graalvm.polyglot.Value v
        end local 7 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget target
        end local 6 // int statements
        end local 5 // int blockOverhead
        end local 4 // int singleStatementNodeCount
        end local 3 // int twoNodeCount
        end local 2 // int singleNodeCount
        end local 1 // int emptyNodeCount
        end local 0 // org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   26     0                      this  Lorg/graalvm/compiler/truffle/test/OptimizedBlockNodeTest;
            2   26     1            emptyNodeCount  I
            3   26     2           singleNodeCount  I
            4   26     3              twoNodeCount  I
            5   26     4  singleStatementNodeCount  I
            6   26     5             blockOverhead  I
            8   26     6                statements  I
            9   26     7                    target  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
           12   26     8                         v  Lorg/graalvm/polyglot/Value;
           13   17     9                         i  I
           19   26     9                    blocks  Ljava/util/List<Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode<Lorg/graalvm/compiler/truffle/test/OptimizedBlockNodeTest$TestElement;>;>;
           22   26    10                     block  Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode<Lorg/graalvm/compiler/truffle/test/OptimizedBlockNodeTest$TestElement;>;
           23   26    11             partialBlocks  Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode$PartialBlocks<Lorg/graalvm/compiler/truffle/test/OptimizedBlockNodeTest$TestElement;>;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testBlockCompilationTrigger();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest this
         0: .line 471
            aload 0 /* this */
            bipush 10
            sipush 200
            invokevirtual org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.setup:(II)V
         1: .line 474
            iconst_1
            iconst_1
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.createBlock:(II)Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode;
            astore 1 /* block */
        start local 1 // org.graalvm.compiler.truffle.runtime.OptimizedBlockNode block
         2: .line 475
            aload 1 /* block */
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.createTest:(Lcom/oracle/truffle/api/nodes/BlockNode;)Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            astore 2 /* target */
        start local 2 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget target
         3: .line 476
            aload 2 /* target */
            iconst_1
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.compile:(Z)Z
            pop
         4: .line 477
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode.getPartialBlocks:()Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode$PartialBlocks;
            invokestatic org.junit.Assert.assertNull:(Ljava/lang/Object;)V
         5: .line 479
            bipush 11
            iconst_1
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.createBlock:(II)Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode;
            astore 1 /* block */
         6: .line 480
            aload 1 /* block */
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.createTest:(Lcom/oracle/truffle/api/nodes/BlockNode;)Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            astore 2 /* target */
         7: .line 481
            aload 2 /* target */
            iconst_1
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.compile:(Z)Z
            pop
         8: .line 482
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode.getPartialBlocks:()Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode$PartialBlocks;
            invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/Object;)V
         9: .line 483
            return
        end local 2 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget target
        end local 1 // org.graalvm.compiler.truffle.runtime.OptimizedBlockNode block
        end local 0 // org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Lorg/graalvm/compiler/truffle/test/OptimizedBlockNodeTest;
            2   10     1   block  Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode<*>;
            3   10     2  target  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  private static org.graalvm.compiler.truffle.runtime.OptimizedBlockNode<org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest$TestElement> createBlock(int, int);
    descriptor: (II)Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // int blockSize
        start local 1 // int depth
         0: .line 486
            iload 0 /* blockSize */
            iload 1 /* depth */
            aconst_null
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.createBlock:(IILjava/lang/Object;)Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode;
            areturn
        end local 1 // int depth
        end local 0 // int blockSize
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  blockSize  I
            0    1     1      depth  I
    Signature: (II)Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode<Lorg/graalvm/compiler/truffle/test/OptimizedBlockNodeTest$TestElement;>;
    MethodParameters:
           Name  Flags
      blockSize  
      depth      

  private static org.graalvm.compiler.truffle.runtime.OptimizedBlockNode<org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest$TestElement> createBlock(int, int, );
    descriptor: (IILjava/lang/Object;)Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // int blockSize
        start local 1 // int depth
        start local 2 // java.lang.Object returnValue
         0: .line 490
            iload 0 /* blockSize */
            iload 1 /* depth */
            aload 2 /* returnValue */
            new org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest$TestElementExecutor
            dup
            invokespecial org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest$TestElementExecutor.<init>:()V
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.createBlock:(IILjava/lang/Object;Lcom/oracle/truffle/api/nodes/BlockNode$ElementExecutor;)Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode;
            areturn
        end local 2 // java.lang.Object returnValue
        end local 1 // int depth
        end local 0 // int blockSize
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0    blockSize  I
            0    1     1        depth  I
            0    1     2  returnValue  Ljava/lang/Object;
    Signature: (IILjava/lang/Object;)Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode<Lorg/graalvm/compiler/truffle/test/OptimizedBlockNodeTest$TestElement;>;
    MethodParameters:
             Name  Flags
      blockSize    
      depth        
      returnValue  

  private static org.graalvm.compiler.truffle.runtime.OptimizedBlockNode<org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest$TestElement> createBlock(int, int, , com.oracle.truffle.api.nodes.BlockNode$ElementExecutor<org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest$TestElement>);
    descriptor: (IILjava/lang/Object;Lcom/oracle/truffle/api/nodes/BlockNode$ElementExecutor;)Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=6, args_size=4
        start local 0 // int blockSize
        start local 1 // int depth
        start local 2 // java.lang.Object returnValue
        start local 3 // com.oracle.truffle.api.nodes.BlockNode$ElementExecutor executor
         0: .line 494
            iload 1 /* depth */
            ifne 2
         1: .line 495
            aconst_null
            areturn
         2: .line 497
      StackMap locals:
      StackMap stack:
            iload 0 /* blockSize */
            anewarray org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest$TestElement
            astore 4 /* elements */
        start local 4 // org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest$TestElement[] elements
         3: .line 498
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 10
         5: .line 499
      StackMap locals: org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest$TestElement[] int
      StackMap stack:
            aload 4 /* elements */
            iload 5 /* i */
         6: new org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest$TestElement
            dup
            iload 0 /* blockSize */
            iload 1 /* depth */
            iconst_1
            isub
            aload 2 /* returnValue */
            invokestatic org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.createBlock:(IILjava/lang/Object;)Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode;
            aload 2 /* returnValue */
            ifnonnull 7
            iload 5 /* i */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            goto 8
      StackMap locals: int int java.lang.Object com.oracle.truffle.api.nodes.BlockNode$ElementExecutor org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest$TestElement[] int
      StackMap stack: org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest$TestElement[] int new 6 new 6 org.graalvm.compiler.truffle.runtime.OptimizedBlockNode
         7: aload 2 /* returnValue */
      StackMap locals: int int java.lang.Object com.oracle.truffle.api.nodes.BlockNode$ElementExecutor org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest$TestElement[] int
      StackMap stack: org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest$TestElement[] int new 6 new 6 org.graalvm.compiler.truffle.runtime.OptimizedBlockNode java.lang.Object
         8: iload 5 /* i */
            invokespecial org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest$TestElement.<init>:(Lcom/oracle/truffle/api/nodes/BlockNode;Ljava/lang/Object;I)V
            aastore
         9: .line 498
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 5 /* i */
            iload 0 /* blockSize */
            if_icmplt 5
        end local 5 // int i
        11: .line 501
            aload 4 /* elements */
            aload 3 /* executor */
            invokestatic com.oracle.truffle.api.nodes.BlockNode.create:([Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/nodes/BlockNode$ElementExecutor;)Lcom/oracle/truffle/api/nodes/BlockNode;
            checkcast org.graalvm.compiler.truffle.runtime.OptimizedBlockNode
            areturn
        end local 4 // org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest$TestElement[] elements
        end local 3 // com.oracle.truffle.api.nodes.BlockNode$ElementExecutor executor
        end local 2 // java.lang.Object returnValue
        end local 1 // int depth
        end local 0 // int blockSize
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   12     0    blockSize  I
            0   12     1        depth  I
            0   12     2  returnValue  Ljava/lang/Object;
            0   12     3     executor  Lcom/oracle/truffle/api/nodes/BlockNode$ElementExecutor<Lorg/graalvm/compiler/truffle/test/OptimizedBlockNodeTest$TestElement;>;
            3   12     4     elements  [Lorg/graalvm/compiler/truffle/test/OptimizedBlockNodeTest$TestElement;
            4   11     5            i  I
    Signature: (IILjava/lang/Object;Lcom/oracle/truffle/api/nodes/BlockNode$ElementExecutor<Lorg/graalvm/compiler/truffle/test/OptimizedBlockNodeTest$TestElement;>;)Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode<Lorg/graalvm/compiler/truffle/test/OptimizedBlockNodeTest$TestElement;>;
    MethodParameters:
             Name  Flags
      blockSize    
      depth        
      returnValue  
      executor     

  private static org.graalvm.compiler.truffle.runtime.OptimizedCallTarget createTest(com.oracle.truffle.api.nodes.BlockNode<?>);
    descriptor: (Lcom/oracle/truffle/api/nodes/BlockNode;)Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // com.oracle.truffle.api.nodes.BlockNode block
         0: .line 505
            new org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest$TestRootNode
            dup
            aload 0 /* block */
            new java.lang.StringBuilder
            dup
            ldc "Block["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* block */
            invokevirtual com.oracle.truffle.api.nodes.BlockNode.getElements:()[Lcom/oracle/truffle/api/nodes/Node;
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest$TestRootNode.<init>:(Lcom/oracle/truffle/api/nodes/BlockNode;Ljava/lang/String;)V
            astore 1 /* root */
        start local 1 // org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest$TestRootNode root
         1: .line 506
            invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
            aload 1 /* root */
            invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
            checkcast org.graalvm.compiler.truffle.runtime.OptimizedCallTarget
            astore 2 /* target */
        start local 2 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget target
         2: .line 507
            aload 1 /* root */
            new org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest$2
            dup
            invokespecial org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest$2.<init>:()V
            invokevirtual org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest$TestRootNode.accept:(Lcom/oracle/truffle/api/nodes/NodeVisitor;)V
         3: .line 516
            aload 2 /* target */
            areturn
        end local 2 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget target
        end local 1 // org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest$TestRootNode root
        end local 0 // com.oracle.truffle.api.nodes.BlockNode block
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0   block  Lcom/oracle/truffle/api/nodes/BlockNode<*>;
            1    4     1    root  Lorg/graalvm/compiler/truffle/test/OptimizedBlockNodeTest$TestRootNode;
            2    4     2  target  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
    Signature: (Lcom/oracle/truffle/api/nodes/BlockNode<*>;)Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
    MethodParameters:
       Name  Flags
      block  

  private static org.graalvm.compiler.truffle.runtime.OptimizedCallTarget generateSLFunction(org.graalvm.polyglot.Context, java.lang.String, int);
    descriptor: (Lorg/graalvm/polyglot/Context;Ljava/lang/String;I)Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // org.graalvm.polyglot.Context context
        start local 1 // java.lang.String name
        start local 2 // int statements
         0: .line 520
            new java.lang.StringBuilder
            dup
            new java.lang.StringBuilder
            dup
            ldc "function "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "(){"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 3 /* b */
        start local 3 // java.lang.StringBuilder b
         1: .line 521
            iload 2 /* statements */
            ifle 3
         2: .line 522
            aload 3 /* b */
            ldc "i = 0;\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 524
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 7
         5: .line 525
      StackMap locals: int
      StackMap stack:
            aload 3 /* b */
            ldc "i = i + 1;\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 524
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 4 /* i */
            iload 2 /* statements */
            if_icmplt 5
        end local 4 // int i
         8: .line 527
            iload 2 /* statements */
            ifle 10
         9: .line 528
            aload 3 /* b */
            ldc "return i;\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        10: .line 530
      StackMap locals:
      StackMap stack:
            aload 3 /* b */
            ldc "}"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        11: .line 531
            aload 0 /* context */
            ldc "sl"
            aload 3 /* b */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            pop
        12: .line 532
            aload 0 /* context */
            ldc "sl"
            invokevirtual org.graalvm.polyglot.Context.getBindings:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
            aload 1 /* name */
            invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
            pop
        13: .line 533
            aload 0 /* context */
            invokevirtual org.graalvm.polyglot.Context.enter:()V
        14: .line 535
            invokestatic com.oracle.truffle.sl.SLLanguage.getCurrentContext:()Lcom/oracle/truffle/sl/runtime/SLContext;
            invokevirtual com.oracle.truffle.sl.runtime.SLContext.getFunctionRegistry:()Lcom/oracle/truffle/sl/runtime/SLFunctionRegistry;
            aload 1 /* name */
            invokevirtual com.oracle.truffle.sl.runtime.SLFunctionRegistry.getFunction:(Ljava/lang/String;)Lcom/oracle/truffle/sl/runtime/SLFunction;
            invokevirtual com.oracle.truffle.sl.runtime.SLFunction.getCallTarget:()Lcom/oracle/truffle/api/RootCallTarget;
            checkcast org.graalvm.compiler.truffle.runtime.OptimizedCallTarget
            astore 4 /* target */
        start local 4 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget target
        15: .line 537
            aload 4 /* target */
            ldc "invalidate for test"
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.invalidate:(Ljava/lang/CharSequence;)Z
            pop
        16: .line 538
            aload 4 /* target */
            astore 6
        17: .line 540
            aload 0 /* context */
            invokevirtual org.graalvm.polyglot.Context.leave:()V
        18: .line 538
            aload 6
            areturn
        end local 4 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget target
        19: .line 539
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5
        20: .line 540
            aload 0 /* context */
            invokevirtual org.graalvm.polyglot.Context.leave:()V
        21: .line 541
            aload 5
            athrow
        end local 3 // java.lang.StringBuilder b
        end local 2 // int statements
        end local 1 // java.lang.String name
        end local 0 // org.graalvm.polyglot.Context context
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   22     0     context  Lorg/graalvm/polyglot/Context;
            0   22     1        name  Ljava/lang/String;
            0   22     2  statements  I
            1   22     3           b  Ljava/lang/StringBuilder;
            4    8     4           i  I
           15   19     4      target  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
      Exception table:
        from    to  target  type
          14    17      19  any
    MethodParameters:
            Name  Flags
      context     
      name        
      statements  

  private static void assertValid(org.graalvm.compiler.truffle.runtime.OptimizedCallTarget, org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks<?>);
    descriptor: (Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode$PartialBlocks;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget target
        start local 1 // org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks partialBlocks
         0: .line 545
            aload 1 /* partialBlocks */
            invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/Object;)V
         1: .line 546
            aload 0 /* target */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         2: .line 547
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         3: goto 7
         4: .line 548
      StackMap locals: int
      StackMap stack:
            aload 1 /* partialBlocks */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks.getBlockTargets:()[Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            iload 2 /* i */
            aaload
            astore 3 /* blockTarget */
        start local 3 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget blockTarget
         5: .line 549
            iload 2 /* i */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            aload 3 /* blockTarget */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
            invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
        end local 3 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget blockTarget
         6: .line 547
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            aload 1 /* partialBlocks */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks.getBlockTargets:()[Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            arraylength
            if_icmplt 4
        end local 2 // int i
         8: .line 551
            return
        end local 1 // org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks partialBlocks
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget target
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0         target  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            0    9     1  partialBlocks  Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode$PartialBlocks<*>;
            3    8     2              i  I
            5    6     3    blockTarget  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
    Signature: (Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode$PartialBlocks<*>;)V
    MethodParameters:
               Name  Flags
      target         
      partialBlocks  

  private static void assertUnexpected(java.util.concurrent.Callable<?>, );
    descriptor: (Ljava/util/concurrent/Callable;Ljava/lang/Object;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.util.concurrent.Callable callable
        start local 1 // java.lang.Object result
         0: .line 555
            aload 0 /* callable */
            invokeinterface java.util.concurrent.Callable.call:()Ljava/lang/Object;
            pop
         1: .line 556
            goto 7
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.nodes.UnexpectedResultException
         2: astore 2 /* t */
        start local 2 // com.oracle.truffle.api.nodes.UnexpectedResultException t
         3: .line 557
            aload 1 /* result */
            aload 2 /* t */
            invokevirtual com.oracle.truffle.api.nodes.UnexpectedResultException.getResult:()Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 558
            return
        end local 2 // com.oracle.truffle.api.nodes.UnexpectedResultException t
         5: .line 559
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 2 /* e */
        start local 2 // java.lang.Exception e
         6: .line 560
            new java.lang.AssertionError
            dup
            aload 2 /* e */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 2 // java.lang.Exception e
         7: .line 562
      StackMap locals:
      StackMap stack:
            ldc "expected unexpected result but no exception was thrown"
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
         8: .line 563
            return
        end local 1 // java.lang.Object result
        end local 0 // java.util.concurrent.Callable callable
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0  callable  Ljava/util/concurrent/Callable<*>;
            0    9     1    result  Ljava/lang/Object;
            3    5     2         t  Lcom/oracle/truffle/api/nodes/UnexpectedResultException;
            6    7     2         e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     1       2  Class com.oracle.truffle.api.nodes.UnexpectedResultException
           0     1       5  Class java.lang.Exception
    Signature: (Ljava/util/concurrent/Callable<*>;Ljava/lang/Object;)V
    MethodParameters:
          Name  Flags
      callable  
      result    

  public void clearContext();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest this
         0: .line 569
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.context:Lorg/graalvm/polyglot/Context;
            ifnull 3
         1: .line 570
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.context:Lorg/graalvm/polyglot/Context;
            invokevirtual org.graalvm.polyglot.Context.leave:()V
         2: .line 571
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.context:Lorg/graalvm/polyglot/Context;
            invokevirtual org.graalvm.polyglot.Context.close:()V
         3: .line 573
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/graalvm/compiler/truffle/test/OptimizedBlockNodeTest;
    RuntimeVisibleAnnotations: 
      org.junit.After()

  private void setup(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest this
        start local 1 // int blockCompilationSize
         0: .line 578
            aload 0 /* this */
            iload 1 /* blockCompilationSize */
            sipush 10000
            invokevirtual org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.setup:(II)V
         1: .line 579
            return
        end local 1 // int blockCompilationSize
        end local 0 // org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    2     0                  this  Lorg/graalvm/compiler/truffle/test/OptimizedBlockNodeTest;
            0    2     1  blockCompilationSize  I
    MethodParameters:
                      Name  Flags
      blockCompilationSize  

  private void setup(int, int);
    descriptor: (II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest this
        start local 1 // int blockCompilationSize
        start local 2 // int maxGraalNodeCount
         0: .line 582
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.clearContext:()V
         1: .line 583
            aload 0 /* this */
            iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
            iconst_1
            invokevirtual org.graalvm.polyglot.Context$Builder.allowAllAccess:(Z)Lorg/graalvm/polyglot/Context$Builder;
         2: .line 584
            ldc "engine.BackgroundCompilation"
            ldc "false"
            invokevirtual org.graalvm.polyglot.Context$Builder.option:(Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
         3: .line 585
            ldc "engine.MultiTier"
            ldc "false"
            invokevirtual org.graalvm.polyglot.Context$Builder.option:(Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
         4: .line 586
            ldc "engine.PartialBlockCompilationSize"
            iload 1 /* blockCompilationSize */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokevirtual org.graalvm.polyglot.Context$Builder.option:(Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
         5: .line 587
            ldc "engine.MaximumGraalNodeCount"
            iload 2 /* maxGraalNodeCount */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokevirtual org.graalvm.polyglot.Context$Builder.option:(Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
         6: .line 588
            ldc "engine.CompilationThreshold"
            bipush 10
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokevirtual org.graalvm.polyglot.Context$Builder.option:(Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
         7: .line 583
            putfield org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.context:Lorg/graalvm/polyglot/Context;
         8: .line 589
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest.context:Lorg/graalvm/polyglot/Context;
            invokevirtual org.graalvm.polyglot.Context.enter:()V
         9: .line 590
            return
        end local 2 // int maxGraalNodeCount
        end local 1 // int blockCompilationSize
        end local 0 // org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   10     0                  this  Lorg/graalvm/compiler/truffle/test/OptimizedBlockNodeTest;
            0   10     1  blockCompilationSize  I
            0   10     2     maxGraalNodeCount  I
    MethodParameters:
                      Name  Flags
      blockCompilationSize  
      maxGraalNodeCount     

  private static java.lang.Object lambda$0(org.graalvm.compiler.truffle.runtime.OptimizedBlockNode, com.oracle.truffle.api.frame.MaterializedFrame);
    descriptor: (Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode;Lcom/oracle/truffle/api/frame/MaterializedFrame;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
         0: .line 242
            aload 0
            aload 1
            iconst_0
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode.executeLong:(Lcom/oracle/truffle/api/frame/VirtualFrame;I)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  private static java.lang.Object lambda$1(org.graalvm.compiler.truffle.runtime.OptimizedBlockNode, com.oracle.truffle.api.frame.MaterializedFrame);
    descriptor: (Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode;Lcom/oracle/truffle/api/frame/MaterializedFrame;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
         0: .line 243
            aload 0
            aload 1
            iconst_0
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode.executeDouble:(Lcom/oracle/truffle/api/frame/VirtualFrame;I)D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  private static java.lang.Object lambda$2(org.graalvm.compiler.truffle.runtime.OptimizedBlockNode, com.oracle.truffle.api.frame.MaterializedFrame);
    descriptor: (Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode;Lcom/oracle/truffle/api/frame/MaterializedFrame;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
         0: .line 244
            aload 0
            aload 1
            iconst_0
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode.executeBoolean:(Lcom/oracle/truffle/api/frame/VirtualFrame;I)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  private static java.lang.Object lambda$3(org.graalvm.compiler.truffle.runtime.OptimizedBlockNode, com.oracle.truffle.api.frame.MaterializedFrame);
    descriptor: (Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode;Lcom/oracle/truffle/api/frame/MaterializedFrame;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
         0: .line 259
            aload 0
            aload 1
            iconst_0
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode.executeLong:(Lcom/oracle/truffle/api/frame/VirtualFrame;I)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  private static java.lang.Object lambda$4(org.graalvm.compiler.truffle.runtime.OptimizedBlockNode, com.oracle.truffle.api.frame.MaterializedFrame);
    descriptor: (Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode;Lcom/oracle/truffle/api/frame/MaterializedFrame;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
         0: .line 260
            aload 0
            aload 1
            iconst_0
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode.executeInt:(Lcom/oracle/truffle/api/frame/VirtualFrame;I)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  private static java.lang.Object lambda$5(org.graalvm.compiler.truffle.runtime.OptimizedBlockNode, com.oracle.truffle.api.frame.MaterializedFrame);
    descriptor: (Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode;Lcom/oracle/truffle/api/frame/MaterializedFrame;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
         0: .line 261
            aload 0
            aload 1
            iconst_0
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode.executeBoolean:(Lcom/oracle/truffle/api/frame/VirtualFrame;I)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  private static java.lang.Object lambda$6(org.graalvm.compiler.truffle.runtime.OptimizedBlockNode, com.oracle.truffle.api.frame.MaterializedFrame);
    descriptor: (Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode;Lcom/oracle/truffle/api/frame/MaterializedFrame;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
         0: .line 276
            aload 0
            aload 1
            iconst_0
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode.executeDouble:(Lcom/oracle/truffle/api/frame/VirtualFrame;I)D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  private static java.lang.Object lambda$7(org.graalvm.compiler.truffle.runtime.OptimizedBlockNode, com.oracle.truffle.api.frame.MaterializedFrame);
    descriptor: (Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode;Lcom/oracle/truffle/api/frame/MaterializedFrame;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
         0: .line 277
            aload 0
            aload 1
            iconst_0
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode.executeInt:(Lcom/oracle/truffle/api/frame/VirtualFrame;I)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  private static java.lang.Object lambda$8(org.graalvm.compiler.truffle.runtime.OptimizedBlockNode, com.oracle.truffle.api.frame.MaterializedFrame);
    descriptor: (Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode;Lcom/oracle/truffle/api/frame/MaterializedFrame;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
         0: .line 278
            aload 0
            aload 1
            iconst_0
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode.executeBoolean:(Lcom/oracle/truffle/api/frame/VirtualFrame;I)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  private static java.lang.Object lambda$9(org.graalvm.compiler.truffle.runtime.OptimizedBlockNode, com.oracle.truffle.api.frame.MaterializedFrame);
    descriptor: (Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode;Lcom/oracle/truffle/api/frame/MaterializedFrame;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
         0: .line 293
            aload 0
            aload 1
            iconst_0
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode.executeDouble:(Lcom/oracle/truffle/api/frame/VirtualFrame;I)D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  private static java.lang.Object lambda$10(org.graalvm.compiler.truffle.runtime.OptimizedBlockNode, com.oracle.truffle.api.frame.MaterializedFrame);
    descriptor: (Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode;Lcom/oracle/truffle/api/frame/MaterializedFrame;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
         0: .line 294
            aload 0
            aload 1
            iconst_0
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode.executeInt:(Lcom/oracle/truffle/api/frame/VirtualFrame;I)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  private static java.lang.Object lambda$11(org.graalvm.compiler.truffle.runtime.OptimizedBlockNode, com.oracle.truffle.api.frame.MaterializedFrame);
    descriptor: (Lorg/graalvm/compiler/truffle/runtime/OptimizedBlockNode;Lcom/oracle/truffle/api/frame/MaterializedFrame;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
         0: .line 295
            aload 0
            aload 1
            iconst_0
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedBlockNode.executeLong:(Lcom/oracle/truffle/api/frame/VirtualFrame;I)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception
}
SourceFile: "OptimizedBlockNodeTest.java"
NestMembers:
  org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest$1  org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest$2  org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest$ElementChildNode  org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest$StartsWithExecutor  org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest$TestElement  org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest$TestElementExecutor  org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest$TestRootNode
InnerClasses:
  public abstract ElementExecutor = com.oracle.truffle.api.nodes.BlockNode$ElementExecutor of com.oracle.truffle.api.nodes.BlockNode
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public final PartialBlocks = org.graalvm.compiler.truffle.runtime.OptimizedBlockNode$PartialBlocks of org.graalvm.compiler.truffle.runtime.OptimizedBlockNode
  org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest$1
  org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest$2
  ElementChildNode = org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest$ElementChildNode of org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest
  StartsWithExecutor = org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest$StartsWithExecutor of org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest
  TestElement = org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest$TestElement of org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest
  TestElementExecutor = org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest$TestElementExecutor of org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest
  TestRootNode = org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest$TestRootNode of org.graalvm.compiler.truffle.test.OptimizedBlockNodeTest
  public final Builder = org.graalvm.polyglot.Context$Builder of org.graalvm.polyglot.Context