public class org.graalvm.compiler.truffle.test.MergeExplodeProxyTest extends org.graalvm.compiler.truffle.test.PartialEvaluationTest
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.truffle.test.MergeExplodeProxyTest
  super_class: org.graalvm.compiler.truffle.test.PartialEvaluationTest
{
  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.MergeExplodeProxyTest this
         0: .line 54
            aload 0 /* this */
            invokespecial org.graalvm.compiler.truffle.test.PartialEvaluationTest.<init>:()V
            return
        end local 0 // org.graalvm.compiler.truffle.test.MergeExplodeProxyTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/truffle/test/MergeExplodeProxyTest;

  private void partialEval(org.graalvm.compiler.truffle.runtime.OptimizedCallTarget);
    descriptor: (Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.truffle.test.MergeExplodeProxyTest this
        start local 1 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget compilable
         0: .line 66
            aload 0 /* this */
            aload 1 /* compilable */
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.truffle.test.MergeExplodeProxyTest.partialEval:(Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;[Ljava/lang/Object;)Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 2 /* g */
        start local 2 // org.graalvm.compiler.nodes.StructuredGraph g
         1: .line 67
            aload 2 /* g */
            invokestatic org.graalvm.compiler.phases.util.GraphOrder.assertSchedulableGraph:(Lorg/graalvm/compiler/nodes/StructuredGraph;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         2: .line 68
            return
        end local 2 // org.graalvm.compiler.nodes.StructuredGraph g
        end local 1 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget compilable
        end local 0 // org.graalvm.compiler.truffle.test.MergeExplodeProxyTest this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/graalvm/compiler/truffle/test/MergeExplodeProxyTest;
            0    3     1  compilable  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            1    3     2           g  Lorg/graalvm/compiler/nodes/StructuredGraph;
    MethodParameters:
            Name  Flags
      compilable  

  public void testLoopControlVariableProxy();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=1
        start local 0 // org.graalvm.compiler.truffle.test.MergeExplodeProxyTest this
         0: .line 193
            bipush 14
            newarray 8
            dup
            iconst_1
         1: .line 195
            bipush 42
            bastore
            dup
            iconst_3
         2: .line 197
            bipush -12
            bastore
            dup
            iconst_5
         3: .line 201
            iconst_1
            bastore
            dup
            bipush 6
         4: .line 202
            iconst_2
            bastore
            dup
            bipush 7
         5: .line 203
            bipush 6
            bastore
            dup
            bipush 8
         6: .line 204
            iconst_3
            bastore
            dup
            bipush 9
         7: .line 205
            bipush 12
            bastore
            dup
            bipush 10
         8: .line 207
            iconst_5
            bastore
            dup
            bipush 11
         9: .line 208
            iconst_4
            bastore
            dup
            bipush 12
        10: .line 211
            iconst_4
            bastore
            dup
            bipush 13
        11: .line 212
            iconst_1
            bastore
        12: .line 193
            astore 1 /* bytecodes */
        start local 1 // byte[] bytecodes
        13: .line 214
            invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
            new org.graalvm.compiler.truffle.test.MergeExplodeProxyTest$LoopControlVariableProxy
            dup
            ldc "simpleLoopProgram"
            aload 1 /* bytecodes */
            iconst_1
            iconst_3
            invokespecial org.graalvm.compiler.truffle.test.MergeExplodeProxyTest$LoopControlVariableProxy.<init>:(Ljava/lang/String;[BII)V
            invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
            astore 2 /* callee */
        start local 2 // com.oracle.truffle.api.CallTarget callee
        14: .line 215
            aload 2 /* callee */
            iconst_0
            anewarray java.lang.Object
            invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 216
            aload 2 /* callee */
            iconst_0
            anewarray java.lang.Object
            invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            pop
        16: .line 217
            aload 2 /* callee */
            iconst_0
            anewarray java.lang.Object
            invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            pop
        17: .line 218
            aload 2 /* callee */
            iconst_0
            anewarray java.lang.Object
            invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            pop
        18: .line 220
            aload 0 /* this */
            aload 2 /* callee */
            checkcast org.graalvm.compiler.truffle.runtime.OptimizedCallTarget
            invokevirtual org.graalvm.compiler.truffle.test.MergeExplodeProxyTest.partialEval:(Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;)V
        19: .line 221
            return
        end local 2 // com.oracle.truffle.api.CallTarget callee
        end local 1 // byte[] bytecodes
        end local 0 // org.graalvm.compiler.truffle.test.MergeExplodeProxyTest this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   20     0       this  Lorg/graalvm/compiler/truffle/test/MergeExplodeProxyTest;
           13   20     1  bytecodes  [B
           14   20     2     callee  Lcom/oracle/truffle/api/CallTarget;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void test01();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=1
        start local 0 // org.graalvm.compiler.truffle.test.MergeExplodeProxyTest this
         0: .line 376
            bipush 14
            newarray 8
            dup
            iconst_1
         1: .line 378
            bipush 42
            bastore
            dup
            iconst_3
         2: .line 380
            bipush -12
            bastore
            dup
            iconst_5
         3: .line 384
            iconst_1
            bastore
            dup
            bipush 6
         4: .line 385
            iconst_2
            bastore
            dup
            bipush 7
         5: .line 386
            bipush 6
            bastore
            dup
            bipush 8
         6: .line 387
            iconst_3
            bastore
            dup
            bipush 9
         7: .line 388
            bipush 12
            bastore
            dup
            bipush 10
         8: .line 390
            iconst_5
            bastore
            dup
            bipush 11
         9: .line 391
            iconst_4
            bastore
            dup
            bipush 12
        10: .line 394
            iconst_4
            bastore
            dup
            bipush 13
        11: .line 395
            iconst_1
            bastore
        12: .line 376
            astore 1 /* bytecodes */
        start local 1 // byte[] bytecodes
        13: .line 397
            invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
            new org.graalvm.compiler.truffle.test.MergeExplodeProxyTest$WrongLoopExitMerge
            dup
            ldc "mergedLoopExitProgram"
            aload 1 /* bytecodes */
            iconst_1
            iconst_3
            invokespecial org.graalvm.compiler.truffle.test.MergeExplodeProxyTest$WrongLoopExitMerge.<init>:(Ljava/lang/String;[BII)V
            invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
            astore 2 /* callee */
        start local 2 // com.oracle.truffle.api.CallTarget callee
        14: .line 398
            aload 2 /* callee */
            iconst_0
            anewarray java.lang.Object
            invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 399
            aload 2 /* callee */
            iconst_0
            anewarray java.lang.Object
            invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            pop
        16: .line 400
            aload 2 /* callee */
            iconst_0
            anewarray java.lang.Object
            invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            pop
        17: .line 401
            aload 2 /* callee */
            iconst_0
            anewarray java.lang.Object
            invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            pop
        18: .line 403
            invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
            new org.graalvm.compiler.truffle.test.MergeExplodeProxyTest$Caller
            dup
            aload 2 /* callee */
            invokespecial org.graalvm.compiler.truffle.test.MergeExplodeProxyTest$Caller.<init>:(Lcom/oracle/truffle/api/CallTarget;)V
            invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
            astore 3 /* caller */
        start local 3 // com.oracle.truffle.api.CallTarget caller
        19: .line 404
            aload 3 /* caller */
            iconst_0
            anewarray java.lang.Object
            invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            pop
        20: .line 405
            aload 3 /* caller */
            iconst_0
            anewarray java.lang.Object
            invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            pop
        21: .line 406
            aload 3 /* caller */
            iconst_0
            anewarray java.lang.Object
            invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            pop
        22: .line 407
            aload 3 /* caller */
            iconst_0
            anewarray java.lang.Object
            invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            pop
        23: .line 409
            aload 0 /* this */
            aload 3 /* caller */
            checkcast org.graalvm.compiler.truffle.runtime.OptimizedCallTarget
            invokevirtual org.graalvm.compiler.truffle.test.MergeExplodeProxyTest.partialEval:(Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;)V
        24: .line 410
            return
        end local 3 // com.oracle.truffle.api.CallTarget caller
        end local 2 // com.oracle.truffle.api.CallTarget callee
        end local 1 // byte[] bytecodes
        end local 0 // org.graalvm.compiler.truffle.test.MergeExplodeProxyTest this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   25     0       this  Lorg/graalvm/compiler/truffle/test/MergeExplodeProxyTest;
           13   25     1  bytecodes  [B
           14   25     2     callee  Lcom/oracle/truffle/api/CallTarget;
           19   25     3     caller  Lcom/oracle/truffle/api/CallTarget;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void test01Caller();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=1
        start local 0 // org.graalvm.compiler.truffle.test.MergeExplodeProxyTest this
         0: .line 414
            bipush 14
            newarray 8
            dup
            iconst_1
         1: .line 416
            bipush 42
            bastore
            dup
            iconst_3
         2: .line 418
            bipush -12
            bastore
            dup
            iconst_5
         3: .line 422
            iconst_1
            bastore
            dup
            bipush 6
         4: .line 423
            iconst_2
            bastore
            dup
            bipush 7
         5: .line 424
            bipush 6
            bastore
            dup
            bipush 8
         6: .line 425
            iconst_3
            bastore
            dup
            bipush 9
         7: .line 426
            bipush 12
            bastore
            dup
            bipush 10
         8: .line 428
            iconst_5
            bastore
            dup
            bipush 11
         9: .line 429
            iconst_4
            bastore
            dup
            bipush 12
        10: .line 432
            iconst_4
            bastore
            dup
            bipush 13
        11: .line 433
            iconst_1
            bastore
        12: .line 414
            astore 1 /* bytecodes */
        start local 1 // byte[] bytecodes
        13: .line 435
            invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
            new org.graalvm.compiler.truffle.test.MergeExplodeProxyTest$WrongLoopExitMerge
            dup
            ldc "mergedLoopExitProgram"
            aload 1 /* bytecodes */
            iconst_1
            iconst_3
            invokespecial org.graalvm.compiler.truffle.test.MergeExplodeProxyTest$WrongLoopExitMerge.<init>:(Ljava/lang/String;[BII)V
            invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
            astore 2 /* callee */
        start local 2 // com.oracle.truffle.api.CallTarget callee
        14: .line 436
            aload 2 /* callee */
            iconst_0
            anewarray java.lang.Object
            invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 437
            aload 2 /* callee */
            iconst_0
            anewarray java.lang.Object
            invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            pop
        16: .line 438
            aload 2 /* callee */
            iconst_0
            anewarray java.lang.Object
            invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            pop
        17: .line 439
            aload 2 /* callee */
            iconst_0
            anewarray java.lang.Object
            invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            pop
        18: .line 441
            aload 0 /* this */
            aload 2 /* callee */
            checkcast org.graalvm.compiler.truffle.runtime.OptimizedCallTarget
            invokevirtual org.graalvm.compiler.truffle.test.MergeExplodeProxyTest.partialEval:(Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;)V
        19: .line 442
            return
        end local 2 // com.oracle.truffle.api.CallTarget callee
        end local 1 // byte[] bytecodes
        end local 0 // org.graalvm.compiler.truffle.test.MergeExplodeProxyTest this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   20     0       this  Lorg/graalvm/compiler/truffle/test/MergeExplodeProxyTest;
           13   20     1  bytecodes  [B
           14   20     2     callee  Lcom/oracle/truffle/api/CallTarget;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testSameValueProxy();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=1
        start local 0 // org.graalvm.compiler.truffle.test.MergeExplodeProxyTest this
         0: .line 629
            bipush 25
            newarray 8
            dup
            iconst_1
         1: .line 631
            bipush 42
            bastore
            dup
            iconst_3
         2: .line 633
            bipush -2
            bastore
            dup
            iconst_5
         3: .line 635
            iconst_1
            bastore
            dup
            bipush 6
         4: .line 636
            iconst_2
            bastore
            dup
            bipush 7
         5: .line 637
            bipush 6
            bastore
            dup
            bipush 9
         6: .line 639
            bipush -2
            bastore
            dup
            bipush 11
         7: .line 641
            iconst_1
            bastore
            dup
            bipush 12
         8: .line 642
            iconst_2
            bastore
            dup
            bipush 13
         9: .line 643
            bipush 6
            bastore
            dup
            bipush 14
        10: .line 644
            iconst_3
            bastore
            dup
            bipush 15
        11: .line 645
            bipush 18
            bastore
            dup
            bipush 16
        12: .line 646
            iconst_5
            bastore
            dup
            bipush 17
        13: .line 647
            bipush 10
            bastore
            dup
            bipush 18
        14: .line 648
            iconst_4
            bastore
            dup
            bipush 19
        15: .line 649
            iconst_3
            bastore
            dup
            bipush 20
        16: .line 650
            bipush 23
            bastore
            dup
            bipush 21
        17: .line 651
            iconst_5
            bastore
            dup
            bipush 22
        18: .line 652
            iconst_4
            bastore
            dup
            bipush 23
        19: .line 653
            iconst_4
            bastore
            dup
            bipush 24
        20: .line 654
            iconst_1
            bastore
        21: .line 629
            astore 1 /* bytecodes */
        start local 1 // byte[] bytecodes
        22: .line 656
            invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
        23: .line 657
            new org.graalvm.compiler.truffle.test.MergeExplodeProxyTest$ProxySameValueOnce
            dup
            ldc "proxyAtStateProgram"
            aload 1 /* bytecodes */
            iconst_0
            bipush 6
            invokespecial org.graalvm.compiler.truffle.test.MergeExplodeProxyTest$ProxySameValueOnce.<init>:(Ljava/lang/String;[BII)V
        24: .line 656
            invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
            astore 2 /* callee */
        start local 2 // com.oracle.truffle.api.CallTarget callee
        25: .line 658
            iconst_m1
            putstatic org.graalvm.compiler.truffle.test.MergeExplodeProxyTest$ProxySameValueOnce.SideEffect:I
        26: .line 659
            aload 2 /* callee */
            iconst_0
            anewarray java.lang.Object
            invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            pop
        27: .line 660
            iconst_0
            putstatic org.graalvm.compiler.truffle.test.MergeExplodeProxyTest$ProxySameValueOnce.SideEffect:I
        28: .line 661
            aload 2 /* callee */
            iconst_0
            anewarray java.lang.Object
            invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            pop
        29: .line 662
            iconst_1
            putstatic org.graalvm.compiler.truffle.test.MergeExplodeProxyTest$ProxySameValueOnce.SideEffect:I
        30: .line 663
            aload 2 /* callee */
            iconst_0
            anewarray java.lang.Object
            invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            pop
        31: .line 664
            aload 2 /* callee */
            iconst_0
            anewarray java.lang.Object
            invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            pop
        32: .line 666
            aload 0 /* this */
            aload 2 /* callee */
            checkcast org.graalvm.compiler.truffle.runtime.OptimizedCallTarget
            invokevirtual org.graalvm.compiler.truffle.test.MergeExplodeProxyTest.partialEval:(Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;)V
        33: .line 668
            return
        end local 2 // com.oracle.truffle.api.CallTarget callee
        end local 1 // byte[] bytecodes
        end local 0 // org.graalvm.compiler.truffle.test.MergeExplodeProxyTest this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   34     0       this  Lorg/graalvm/compiler/truffle/test/MergeExplodeProxyTest;
           22   34     1  bytecodes  [B
           25   34     2     callee  Lcom/oracle/truffle/api/CallTarget;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testNoneLiveLoopExitProxy();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=1
        start local 0 // org.graalvm.compiler.truffle.test.MergeExplodeProxyTest this
         0: .line 859
            bipush 25
            newarray 8
            dup
            iconst_1
         1: .line 861
            bipush 42
            bastore
            dup
            iconst_3
         2: .line 863
            bipush -2
            bastore
            dup
            iconst_5
         3: .line 865
            iconst_1
            bastore
            dup
            bipush 6
         4: .line 866
            iconst_2
            bastore
            dup
            bipush 7
         5: .line 867
            bipush 6
            bastore
            dup
            bipush 9
         6: .line 869
            bipush -2
            bastore
            dup
            bipush 11
         7: .line 871
            iconst_1
            bastore
            dup
            bipush 12
         8: .line 872
            iconst_2
            bastore
            dup
            bipush 13
         9: .line 873
            bipush 6
            bastore
            dup
            bipush 14
        10: .line 874
            iconst_3
            bastore
            dup
            bipush 15
        11: .line 875
            bipush 18
            bastore
            dup
            bipush 16
        12: .line 876
            iconst_5
            bastore
            dup
            bipush 17
        13: .line 877
            bipush 10
            bastore
            dup
            bipush 18
        14: .line 878
            iconst_4
            bastore
            dup
            bipush 19
        15: .line 879
            iconst_3
            bastore
            dup
            bipush 20
        16: .line 880
            bipush 23
            bastore
            dup
            bipush 21
        17: .line 881
            iconst_5
            bastore
            dup
            bipush 22
        18: .line 882
            iconst_4
            bastore
            dup
            bipush 23
        19: .line 883
            iconst_4
            bastore
            dup
            bipush 24
        20: .line 884
            iconst_1
            bastore
        21: .line 859
            astore 1 /* bytecodes */
        start local 1 // byte[] bytecodes
        22: .line 886
            invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
        23: .line 887
            new org.graalvm.compiler.truffle.test.MergeExplodeProxyTest$NoneLiveNoProxyTest
            dup
            ldc "proxyAtStateProgram"
            aload 1 /* bytecodes */
            iconst_0
            bipush 6
            invokespecial org.graalvm.compiler.truffle.test.MergeExplodeProxyTest$NoneLiveNoProxyTest.<init>:(Ljava/lang/String;[BII)V
        24: .line 886
            invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
            astore 2 /* callee */
        start local 2 // com.oracle.truffle.api.CallTarget callee
        25: .line 888
            iconst_m1
            putstatic org.graalvm.compiler.truffle.test.MergeExplodeProxyTest$ProxySameValueOnce.SideEffect:I
        26: .line 889
            aload 2 /* callee */
            iconst_0
            anewarray java.lang.Object
            invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            pop
        27: .line 890
            iconst_0
            putstatic org.graalvm.compiler.truffle.test.MergeExplodeProxyTest$ProxySameValueOnce.SideEffect:I
        28: .line 891
            aload 2 /* callee */
            iconst_0
            anewarray java.lang.Object
            invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            pop
        29: .line 892
            iconst_1
            putstatic org.graalvm.compiler.truffle.test.MergeExplodeProxyTest$ProxySameValueOnce.SideEffect:I
        30: .line 893
            aload 2 /* callee */
            iconst_0
            anewarray java.lang.Object
            invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            pop
        31: .line 894
            aload 2 /* callee */
            iconst_0
            anewarray java.lang.Object
            invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
            pop
        32: .line 896
            aload 0 /* this */
            aload 2 /* callee */
            checkcast org.graalvm.compiler.truffle.runtime.OptimizedCallTarget
            invokevirtual org.graalvm.compiler.truffle.test.MergeExplodeProxyTest.partialEval:(Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;)V
        33: .line 898
            return
        end local 2 // com.oracle.truffle.api.CallTarget callee
        end local 1 // byte[] bytecodes
        end local 0 // org.graalvm.compiler.truffle.test.MergeExplodeProxyTest this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   34     0       this  Lorg/graalvm/compiler/truffle/test/MergeExplodeProxyTest;
           22   34     1  bytecodes  [B
           25   34     2     callee  Lcom/oracle/truffle/api/CallTarget;
    RuntimeVisibleAnnotations: 
      org.junit.Ignore(value = "GR-21520: Merge explode partial evaluation cannot proxy nodes that are not alive in the framestate of inner loop begins")
      org.junit.Test()
}
SourceFile: "MergeExplodeProxyTest.java"
NestMembers:
  org.graalvm.compiler.truffle.test.MergeExplodeProxyTest$Bytecode  org.graalvm.compiler.truffle.test.MergeExplodeProxyTest$Caller  org.graalvm.compiler.truffle.test.MergeExplodeProxyTest$LoopControlVariableProxy  org.graalvm.compiler.truffle.test.MergeExplodeProxyTest$NoneLiveNoProxyTest  org.graalvm.compiler.truffle.test.MergeExplodeProxyTest$ProxySameValueOnce  org.graalvm.compiler.truffle.test.MergeExplodeProxyTest$WrongLoopExitMerge
InnerClasses:
  public Bytecode = org.graalvm.compiler.truffle.test.MergeExplodeProxyTest$Bytecode of org.graalvm.compiler.truffle.test.MergeExplodeProxyTest
  public Caller = org.graalvm.compiler.truffle.test.MergeExplodeProxyTest$Caller of org.graalvm.compiler.truffle.test.MergeExplodeProxyTest
  public LoopControlVariableProxy = org.graalvm.compiler.truffle.test.MergeExplodeProxyTest$LoopControlVariableProxy of org.graalvm.compiler.truffle.test.MergeExplodeProxyTest
  public NoneLiveNoProxyTest = org.graalvm.compiler.truffle.test.MergeExplodeProxyTest$NoneLiveNoProxyTest of org.graalvm.compiler.truffle.test.MergeExplodeProxyTest
  public ProxySameValueOnce = org.graalvm.compiler.truffle.test.MergeExplodeProxyTest$ProxySameValueOnce of org.graalvm.compiler.truffle.test.MergeExplodeProxyTest
  public WrongLoopExitMerge = org.graalvm.compiler.truffle.test.MergeExplodeProxyTest$WrongLoopExitMerge of org.graalvm.compiler.truffle.test.MergeExplodeProxyTest