public class org.graalvm.compiler.truffle.test.AssumedValuePartialEvaluationTest 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.AssumedValuePartialEvaluationTest
  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.AssumedValuePartialEvaluationTest this
         0: .line 38
            aload 0 /* this */
            invokespecial org.graalvm.compiler.truffle.test.PartialEvaluationTest.<init>:()V
            return
        end local 0 // org.graalvm.compiler.truffle.test.AssumedValuePartialEvaluationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/truffle/test/AssumedValuePartialEvaluationTest;

  public static java.lang.Object constant42();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 41
            bipush 42
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void testFold();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=1
        start local 0 // org.graalvm.compiler.truffle.test.AssumedValuePartialEvaluationTest this
         0: .line 46
            new com.oracle.truffle.api.utilities.AssumedValue
            dup
            bipush 42
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokespecial com.oracle.truffle.api.utilities.AssumedValue.<init>:(Ljava/lang/Object;)V
            astore 1 /* value */
        start local 1 // com.oracle.truffle.api.utilities.AssumedValue value
         1: .line 48
            new org.graalvm.compiler.truffle.test.nodes.RootTestNode
            dup
            new com.oracle.truffle.api.frame.FrameDescriptor
            dup
            invokespecial com.oracle.truffle.api.frame.FrameDescriptor.<init>:()V
            ldc "assumedValue"
            new org.graalvm.compiler.truffle.test.AssumedValuePartialEvaluationTest$ReadConstantAssumedValueNode
            dup
            aload 1 /* value */
            invokespecial org.graalvm.compiler.truffle.test.AssumedValuePartialEvaluationTest$ReadConstantAssumedValueNode.<init>:(Lcom/oracle/truffle/api/utilities/AssumedValue;)V
            invokespecial org.graalvm.compiler.truffle.test.nodes.RootTestNode.<init>:(Lcom/oracle/truffle/api/frame/FrameDescriptor;Ljava/lang/String;Lorg/graalvm/compiler/truffle/test/nodes/AbstractTestNode;)V
            astore 2 /* root */
        start local 2 // org.graalvm.compiler.truffle.test.nodes.RootTestNode root
         2: .line 49
            aload 0 /* this */
            ldc "constant42"
            aload 2 /* root */
            invokevirtual org.graalvm.compiler.truffle.test.AssumedValuePartialEvaluationTest.assertPartialEvalEquals:(Ljava/lang/String;Lcom/oracle/truffle/api/nodes/RootNode;)Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            astore 3 /* target */
        start local 3 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget target
         3: .line 51
            ldc "CallTarget is valid"
            aload 3 /* target */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
            invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
         4: .line 52
            bipush 42
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 3 /* 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
         5: .line 53
            return
        end local 3 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget target
        end local 2 // org.graalvm.compiler.truffle.test.nodes.RootTestNode root
        end local 1 // com.oracle.truffle.api.utilities.AssumedValue value
        end local 0 // org.graalvm.compiler.truffle.test.AssumedValuePartialEvaluationTest this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/graalvm/compiler/truffle/test/AssumedValuePartialEvaluationTest;
            1    6     1   value  Lcom/oracle/truffle/api/utilities/AssumedValue<Ljava/lang/Integer;>;
            2    6     2    root  Lorg/graalvm/compiler/truffle/test/nodes/RootTestNode;
            3    6     3  target  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testDeopt();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=1
        start local 0 // org.graalvm.compiler.truffle.test.AssumedValuePartialEvaluationTest this
         0: .line 57
            new com.oracle.truffle.api.utilities.AssumedValue
            dup
            bipush 42
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokespecial com.oracle.truffle.api.utilities.AssumedValue.<init>:(Ljava/lang/Object;)V
            astore 1 /* value */
        start local 1 // com.oracle.truffle.api.utilities.AssumedValue value
         1: .line 59
            new org.graalvm.compiler.truffle.test.nodes.RootTestNode
            dup
            new com.oracle.truffle.api.frame.FrameDescriptor
            dup
            invokespecial com.oracle.truffle.api.frame.FrameDescriptor.<init>:()V
            ldc "assumedValue"
            new org.graalvm.compiler.truffle.test.AssumedValuePartialEvaluationTest$ReadConstantAssumedValueNode
            dup
            aload 1 /* value */
            invokespecial org.graalvm.compiler.truffle.test.AssumedValuePartialEvaluationTest$ReadConstantAssumedValueNode.<init>:(Lcom/oracle/truffle/api/utilities/AssumedValue;)V
            invokespecial org.graalvm.compiler.truffle.test.nodes.RootTestNode.<init>:(Lcom/oracle/truffle/api/frame/FrameDescriptor;Ljava/lang/String;Lorg/graalvm/compiler/truffle/test/nodes/AbstractTestNode;)V
            astore 2 /* root */
        start local 2 // org.graalvm.compiler.truffle.test.nodes.RootTestNode root
         2: .line 60
            aload 0 /* this */
            ldc "constant42"
            aload 2 /* root */
            invokevirtual org.graalvm.compiler.truffle.test.AssumedValuePartialEvaluationTest.assertPartialEvalEquals:(Ljava/lang/String;Lcom/oracle/truffle/api/nodes/RootNode;)Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            astore 3 /* target */
        start local 3 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget target
         3: .line 62
            ldc "CallTarget is valid"
            aload 3 /* target */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
            invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
         4: .line 63
            bipush 42
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 3 /* 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
         5: .line 65
            aload 1 /* value */
            bipush 37
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual com.oracle.truffle.api.utilities.AssumedValue.set:(Ljava/lang/Object;)V
         6: .line 67
            ldc "CallTarget was invalidated"
            aload 3 /* target */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
            invokestatic org.junit.Assert.assertFalse:(Ljava/lang/String;Z)V
         7: .line 68
            bipush 37
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 3 /* 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
         8: .line 69
            return
        end local 3 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget target
        end local 2 // org.graalvm.compiler.truffle.test.nodes.RootTestNode root
        end local 1 // com.oracle.truffle.api.utilities.AssumedValue value
        end local 0 // org.graalvm.compiler.truffle.test.AssumedValuePartialEvaluationTest this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lorg/graalvm/compiler/truffle/test/AssumedValuePartialEvaluationTest;
            1    9     1   value  Lcom/oracle/truffle/api/utilities/AssumedValue<Ljava/lang/Integer;>;
            2    9     2    root  Lorg/graalvm/compiler/truffle/test/nodes/RootTestNode;
            3    9     3  target  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testDynamic();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=1
        start local 0 // org.graalvm.compiler.truffle.test.AssumedValuePartialEvaluationTest this
         0: .line 73
            new com.oracle.truffle.api.utilities.AssumedValue
            dup
            bipush 42
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokespecial com.oracle.truffle.api.utilities.AssumedValue.<init>:(Ljava/lang/Object;)V
            astore 1 /* value */
        start local 1 // com.oracle.truffle.api.utilities.AssumedValue value
         1: .line 75
            new org.graalvm.compiler.truffle.test.nodes.RootTestNode
            dup
            new com.oracle.truffle.api.frame.FrameDescriptor
            dup
            invokespecial com.oracle.truffle.api.frame.FrameDescriptor.<init>:()V
            ldc "assumedValue"
            new org.graalvm.compiler.truffle.test.AssumedValuePartialEvaluationTest$ReadDynamicAssumedValueNode
            dup
            invokespecial org.graalvm.compiler.truffle.test.AssumedValuePartialEvaluationTest$ReadDynamicAssumedValueNode.<init>:()V
            invokespecial org.graalvm.compiler.truffle.test.nodes.RootTestNode.<init>:(Lcom/oracle/truffle/api/frame/FrameDescriptor;Ljava/lang/String;Lorg/graalvm/compiler/truffle/test/nodes/AbstractTestNode;)V
            astore 2 /* root */
        start local 2 // org.graalvm.compiler.truffle.test.nodes.RootTestNode root
         2: .line 76
            invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
            aload 2 /* 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 3 /* target */
        start local 3 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget target
         3: .line 78
            aload 0 /* this */
            aload 3 /* target */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* value */
            aastore
            invokevirtual org.graalvm.compiler.truffle.test.AssumedValuePartialEvaluationTest.partialEval:(Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;[Ljava/lang/Object;)Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 4 /* graph */
        start local 4 // org.graalvm.compiler.nodes.StructuredGraph graph
         4: .line 79
            aload 0 /* this */
            aload 3 /* target */
            aload 4 /* graph */
            invokevirtual org.graalvm.compiler.truffle.test.AssumedValuePartialEvaluationTest.compile:(Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;Lorg/graalvm/compiler/nodes/StructuredGraph;)V
         5: .line 81
            ldc "CallTarget is valid"
            aload 3 /* target */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
            invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
         6: .line 82
            bipush 42
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 3 /* target */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* value */
            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
         7: .line 83
            return
        end local 4 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 3 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget target
        end local 2 // org.graalvm.compiler.truffle.test.nodes.RootTestNode root
        end local 1 // com.oracle.truffle.api.utilities.AssumedValue value
        end local 0 // org.graalvm.compiler.truffle.test.AssumedValuePartialEvaluationTest this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lorg/graalvm/compiler/truffle/test/AssumedValuePartialEvaluationTest;
            1    8     1   value  Lcom/oracle/truffle/api/utilities/AssumedValue<Ljava/lang/Integer;>;
            2    8     2    root  Lorg/graalvm/compiler/truffle/test/nodes/RootTestNode;
            3    8     3  target  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            4    8     4   graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testDynamicNoDeopt();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=1
        start local 0 // org.graalvm.compiler.truffle.test.AssumedValuePartialEvaluationTest this
         0: .line 87
            new com.oracle.truffle.api.utilities.AssumedValue
            dup
            bipush 42
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokespecial com.oracle.truffle.api.utilities.AssumedValue.<init>:(Ljava/lang/Object;)V
            astore 1 /* value */
        start local 1 // com.oracle.truffle.api.utilities.AssumedValue value
         1: .line 89
            new org.graalvm.compiler.truffle.test.nodes.RootTestNode
            dup
            new com.oracle.truffle.api.frame.FrameDescriptor
            dup
            invokespecial com.oracle.truffle.api.frame.FrameDescriptor.<init>:()V
            ldc "assumedValue"
            new org.graalvm.compiler.truffle.test.AssumedValuePartialEvaluationTest$ReadDynamicAssumedValueNode
            dup
            invokespecial org.graalvm.compiler.truffle.test.AssumedValuePartialEvaluationTest$ReadDynamicAssumedValueNode.<init>:()V
            invokespecial org.graalvm.compiler.truffle.test.nodes.RootTestNode.<init>:(Lcom/oracle/truffle/api/frame/FrameDescriptor;Ljava/lang/String;Lorg/graalvm/compiler/truffle/test/nodes/AbstractTestNode;)V
            astore 2 /* root */
        start local 2 // org.graalvm.compiler.truffle.test.nodes.RootTestNode root
         2: .line 90
            invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
            aload 2 /* 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 3 /* target */
        start local 3 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget target
         3: .line 92
            aload 0 /* this */
            aload 3 /* target */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* value */
            aastore
            invokevirtual org.graalvm.compiler.truffle.test.AssumedValuePartialEvaluationTest.partialEval:(Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;[Ljava/lang/Object;)Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 4 /* graph */
        start local 4 // org.graalvm.compiler.nodes.StructuredGraph graph
         4: .line 93
            aload 0 /* this */
            aload 3 /* target */
            aload 4 /* graph */
            invokevirtual org.graalvm.compiler.truffle.test.AssumedValuePartialEvaluationTest.compile:(Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;Lorg/graalvm/compiler/nodes/StructuredGraph;)V
         5: .line 95
            ldc "CallTarget is valid"
            aload 3 /* target */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
            invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
         6: .line 96
            bipush 42
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 3 /* target */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* value */
            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
         7: .line 98
            aload 1 /* value */
            bipush 37
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual com.oracle.truffle.api.utilities.AssumedValue.set:(Ljava/lang/Object;)V
         8: .line 100
            ldc "CallTarget is still valid"
            aload 3 /* target */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
            invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
         9: .line 101
            bipush 37
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 3 /* target */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* value */
            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
        10: .line 102
            return
        end local 4 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 3 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget target
        end local 2 // org.graalvm.compiler.truffle.test.nodes.RootTestNode root
        end local 1 // com.oracle.truffle.api.utilities.AssumedValue value
        end local 0 // org.graalvm.compiler.truffle.test.AssumedValuePartialEvaluationTest this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Lorg/graalvm/compiler/truffle/test/AssumedValuePartialEvaluationTest;
            1   11     1   value  Lcom/oracle/truffle/api/utilities/AssumedValue<Ljava/lang/Integer;>;
            2   11     2    root  Lorg/graalvm/compiler/truffle/test/nodes/RootTestNode;
            3   11     3  target  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            4   11     4   graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
    RuntimeVisibleAnnotations: 
      org.junit.Test()
}
SourceFile: "AssumedValuePartialEvaluationTest.java"
NestMembers:
  org.graalvm.compiler.truffle.test.AssumedValuePartialEvaluationTest$ReadConstantAssumedValueNode  org.graalvm.compiler.truffle.test.AssumedValuePartialEvaluationTest$ReadDynamicAssumedValueNode
InnerClasses:
  private ReadConstantAssumedValueNode = org.graalvm.compiler.truffle.test.AssumedValuePartialEvaluationTest$ReadConstantAssumedValueNode of org.graalvm.compiler.truffle.test.AssumedValuePartialEvaluationTest
  private ReadDynamicAssumedValueNode = org.graalvm.compiler.truffle.test.AssumedValuePartialEvaluationTest$ReadDynamicAssumedValueNode of org.graalvm.compiler.truffle.test.AssumedValuePartialEvaluationTest