abstract class com.oracle.truffle.api.dsl.test.IdentityComparisonTest$EqualityComparison1Node extends com.oracle.truffle.api.nodes.Node
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: com.oracle.truffle.api.dsl.test.IdentityComparisonTest$EqualityComparison1Node
  super_class: com.oracle.truffle.api.nodes.Node
{
  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.dsl.test.IdentityComparisonTest$EqualityComparison1Node this
         0: .line 168
            aload 0 /* this */
            invokespecial com.oracle.truffle.api.nodes.Node.<init>:()V
            return
        end local 0 // com.oracle.truffle.api.dsl.test.IdentityComparisonTest$EqualityComparison1Node this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/api/dsl/test/IdentityComparisonTest$EqualityComparison1Node;

  public abstract java.lang.Object execute(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      arg0  

  java.lang.Boolean s0(java.lang.Boolean, java.lang.Boolean);
    descriptor: (Ljava/lang/Boolean;Ljava/lang/Boolean;)Ljava/lang/Boolean;
    flags: (0x0000) 
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // com.oracle.truffle.api.dsl.test.IdentityComparisonTest$EqualityComparison1Node this
        start local 1 // java.lang.Boolean value
        start local 2 // java.lang.Boolean cachedValue
         0: .line 174
            aload 1 /* value */
            areturn
        end local 2 // java.lang.Boolean cachedValue
        end local 1 // java.lang.Boolean value
        end local 0 // com.oracle.truffle.api.dsl.test.IdentityComparisonTest$EqualityComparison1Node this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lcom/oracle/truffle/api/dsl/test/IdentityComparisonTest$EqualityComparison1Node;
            0    1     1        value  Ljava/lang/Boolean;
            0    1     2  cachedValue  Ljava/lang/Boolean;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(guards = {"value.equals(cachedValue)"}, limit = "3")
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
        com.oracle.truffle.api.dsl.Cached(value = "value")
    MethodParameters:
             Name  Flags
      value        
      cachedValue  

  java.lang.Byte s1(java.lang.Byte, java.lang.Byte);
    descriptor: (Ljava/lang/Byte;Ljava/lang/Byte;)Ljava/lang/Byte;
    flags: (0x0000) 
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // com.oracle.truffle.api.dsl.test.IdentityComparisonTest$EqualityComparison1Node this
        start local 1 // java.lang.Byte value
        start local 2 // java.lang.Byte cachedValue
         0: .line 179
            aload 1 /* value */
            areturn
        end local 2 // java.lang.Byte cachedValue
        end local 1 // java.lang.Byte value
        end local 0 // com.oracle.truffle.api.dsl.test.IdentityComparisonTest$EqualityComparison1Node this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lcom/oracle/truffle/api/dsl/test/IdentityComparisonTest$EqualityComparison1Node;
            0    1     1        value  Ljava/lang/Byte;
            0    1     2  cachedValue  Ljava/lang/Byte;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(guards = {"value.equals(cachedValue)"}, limit = "3")
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
        com.oracle.truffle.api.dsl.Cached(value = "value")
    MethodParameters:
             Name  Flags
      value        
      cachedValue  

  java.lang.Short s2(java.lang.Short, java.lang.Short);
    descriptor: (Ljava/lang/Short;Ljava/lang/Short;)Ljava/lang/Short;
    flags: (0x0000) 
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // com.oracle.truffle.api.dsl.test.IdentityComparisonTest$EqualityComparison1Node this
        start local 1 // java.lang.Short value
        start local 2 // java.lang.Short cachedValue
         0: .line 184
            aload 1 /* value */
            areturn
        end local 2 // java.lang.Short cachedValue
        end local 1 // java.lang.Short value
        end local 0 // com.oracle.truffle.api.dsl.test.IdentityComparisonTest$EqualityComparison1Node this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lcom/oracle/truffle/api/dsl/test/IdentityComparisonTest$EqualityComparison1Node;
            0    1     1        value  Ljava/lang/Short;
            0    1     2  cachedValue  Ljava/lang/Short;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(guards = {"value.equals(cachedValue)"}, limit = "3")
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
        com.oracle.truffle.api.dsl.Cached(value = "value")
    MethodParameters:
             Name  Flags
      value        
      cachedValue  

  java.lang.Character s3(java.lang.Character, java.lang.Character);
    descriptor: (Ljava/lang/Character;Ljava/lang/Character;)Ljava/lang/Character;
    flags: (0x0000) 
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // com.oracle.truffle.api.dsl.test.IdentityComparisonTest$EqualityComparison1Node this
        start local 1 // java.lang.Character value
        start local 2 // java.lang.Character cachedValue
         0: .line 189
            aload 1 /* value */
            areturn
        end local 2 // java.lang.Character cachedValue
        end local 1 // java.lang.Character value
        end local 0 // com.oracle.truffle.api.dsl.test.IdentityComparisonTest$EqualityComparison1Node this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lcom/oracle/truffle/api/dsl/test/IdentityComparisonTest$EqualityComparison1Node;
            0    1     1        value  Ljava/lang/Character;
            0    1     2  cachedValue  Ljava/lang/Character;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(guards = {"value.equals(cachedValue)"}, limit = "3")
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
        com.oracle.truffle.api.dsl.Cached(value = "value")
    MethodParameters:
             Name  Flags
      value        
      cachedValue  

  java.lang.Integer s4(java.lang.Integer, java.lang.Integer);
    descriptor: (Ljava/lang/Integer;Ljava/lang/Integer;)Ljava/lang/Integer;
    flags: (0x0000) 
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // com.oracle.truffle.api.dsl.test.IdentityComparisonTest$EqualityComparison1Node this
        start local 1 // java.lang.Integer value
        start local 2 // java.lang.Integer cachedValue
         0: .line 194
            aload 1 /* value */
            areturn
        end local 2 // java.lang.Integer cachedValue
        end local 1 // java.lang.Integer value
        end local 0 // com.oracle.truffle.api.dsl.test.IdentityComparisonTest$EqualityComparison1Node this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lcom/oracle/truffle/api/dsl/test/IdentityComparisonTest$EqualityComparison1Node;
            0    1     1        value  Ljava/lang/Integer;
            0    1     2  cachedValue  Ljava/lang/Integer;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(guards = {"value.equals(cachedValue)"}, limit = "3")
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
        com.oracle.truffle.api.dsl.Cached(value = "value")
    MethodParameters:
             Name  Flags
      value        
      cachedValue  

  java.lang.Long s5(java.lang.Long, java.lang.Long);
    descriptor: (Ljava/lang/Long;Ljava/lang/Long;)Ljava/lang/Long;
    flags: (0x0000) 
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // com.oracle.truffle.api.dsl.test.IdentityComparisonTest$EqualityComparison1Node this
        start local 1 // java.lang.Long value
        start local 2 // java.lang.Long cachedValue
         0: .line 199
            aload 1 /* value */
            areturn
        end local 2 // java.lang.Long cachedValue
        end local 1 // java.lang.Long value
        end local 0 // com.oracle.truffle.api.dsl.test.IdentityComparisonTest$EqualityComparison1Node this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lcom/oracle/truffle/api/dsl/test/IdentityComparisonTest$EqualityComparison1Node;
            0    1     1        value  Ljava/lang/Long;
            0    1     2  cachedValue  Ljava/lang/Long;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(guards = {"value.equals(cachedValue)"}, limit = "3")
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
        com.oracle.truffle.api.dsl.Cached(value = "value")
    MethodParameters:
             Name  Flags
      value        
      cachedValue  

  java.lang.Float s6(java.lang.Float, java.lang.Float);
    descriptor: (Ljava/lang/Float;Ljava/lang/Float;)Ljava/lang/Float;
    flags: (0x0000) 
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // com.oracle.truffle.api.dsl.test.IdentityComparisonTest$EqualityComparison1Node this
        start local 1 // java.lang.Float value
        start local 2 // java.lang.Float cachedValue
         0: .line 204
            aload 1 /* value */
            areturn
        end local 2 // java.lang.Float cachedValue
        end local 1 // java.lang.Float value
        end local 0 // com.oracle.truffle.api.dsl.test.IdentityComparisonTest$EqualityComparison1Node this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lcom/oracle/truffle/api/dsl/test/IdentityComparisonTest$EqualityComparison1Node;
            0    1     1        value  Ljava/lang/Float;
            0    1     2  cachedValue  Ljava/lang/Float;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(guards = {"value.equals(cachedValue)"}, limit = "3")
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
        com.oracle.truffle.api.dsl.Cached(value = "value")
    MethodParameters:
             Name  Flags
      value        
      cachedValue  

  java.lang.Double s7(java.lang.Double, java.lang.Double);
    descriptor: (Ljava/lang/Double;Ljava/lang/Double;)Ljava/lang/Double;
    flags: (0x0000) 
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // com.oracle.truffle.api.dsl.test.IdentityComparisonTest$EqualityComparison1Node this
        start local 1 // java.lang.Double value
        start local 2 // java.lang.Double cachedValue
         0: .line 209
            aload 1 /* value */
            areturn
        end local 2 // java.lang.Double cachedValue
        end local 1 // java.lang.Double value
        end local 0 // com.oracle.truffle.api.dsl.test.IdentityComparisonTest$EqualityComparison1Node this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lcom/oracle/truffle/api/dsl/test/IdentityComparisonTest$EqualityComparison1Node;
            0    1     1        value  Ljava/lang/Double;
            0    1     2  cachedValue  Ljava/lang/Double;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(guards = {"value.equals(cachedValue)"}, limit = "3")
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
        com.oracle.truffle.api.dsl.Cached(value = "value")
    MethodParameters:
             Name  Flags
      value        
      cachedValue  

  java.lang.String s8(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // com.oracle.truffle.api.dsl.test.IdentityComparisonTest$EqualityComparison1Node this
        start local 1 // java.lang.String value
        start local 2 // java.lang.String cachedValue
         0: .line 214
            aload 1 /* value */
            areturn
        end local 2 // java.lang.String cachedValue
        end local 1 // java.lang.String value
        end local 0 // com.oracle.truffle.api.dsl.test.IdentityComparisonTest$EqualityComparison1Node this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lcom/oracle/truffle/api/dsl/test/IdentityComparisonTest$EqualityComparison1Node;
            0    1     1        value  Ljava/lang/String;
            0    1     2  cachedValue  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(guards = {"value.equals(cachedValue)"}, limit = "3")
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
        com.oracle.truffle.api.dsl.Cached(value = "value")
    MethodParameters:
             Name  Flags
      value        
      cachedValue  

  com.oracle.truffle.api.dsl.test.IdentityComparisonTest$MyClass s8(com.oracle.truffle.api.dsl.test.IdentityComparisonTest$MyClass, com.oracle.truffle.api.dsl.test.IdentityComparisonTest$MyClass);
    descriptor: (Lcom/oracle/truffle/api/dsl/test/IdentityComparisonTest$MyClass;Lcom/oracle/truffle/api/dsl/test/IdentityComparisonTest$MyClass;)Lcom/oracle/truffle/api/dsl/test/IdentityComparisonTest$MyClass;
    flags: (0x0000) 
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // com.oracle.truffle.api.dsl.test.IdentityComparisonTest$EqualityComparison1Node this
        start local 1 // com.oracle.truffle.api.dsl.test.IdentityComparisonTest$MyClass value
        start local 2 // com.oracle.truffle.api.dsl.test.IdentityComparisonTest$MyClass cachedValue
         0: .line 219
            aload 1 /* value */
            areturn
        end local 2 // com.oracle.truffle.api.dsl.test.IdentityComparisonTest$MyClass cachedValue
        end local 1 // com.oracle.truffle.api.dsl.test.IdentityComparisonTest$MyClass value
        end local 0 // com.oracle.truffle.api.dsl.test.IdentityComparisonTest$EqualityComparison1Node this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lcom/oracle/truffle/api/dsl/test/IdentityComparisonTest$EqualityComparison1Node;
            0    1     1        value  Lcom/oracle/truffle/api/dsl/test/IdentityComparisonTest$MyClass;
            0    1     2  cachedValue  Lcom/oracle/truffle/api/dsl/test/IdentityComparisonTest$MyClass;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(guards = {"value.equals(cachedValue)"}, limit = "3")
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
        com.oracle.truffle.api.dsl.Cached(value = "value")
    MethodParameters:
             Name  Flags
      value        
      cachedValue  
}
SourceFile: "IdentityComparisonTest.java"
NestHost: com.oracle.truffle.api.dsl.test.IdentityComparisonTest
InnerClasses:
  abstract EqualityComparison1Node = com.oracle.truffle.api.dsl.test.IdentityComparisonTest$EqualityComparison1Node of com.oracle.truffle.api.dsl.test.IdentityComparisonTest
  MyClass = com.oracle.truffle.api.dsl.test.IdentityComparisonTest$MyClass of com.oracle.truffle.api.dsl.test.IdentityComparisonTest
    RuntimeInvisibleAnnotations: 
      com.oracle.truffle.api.dsl.TypeSystemReference(value = Lcom/oracle/truffle/api/dsl/test/examples/ExampleTypes;)