abstract class com.oracle.truffle.api.dsl.test.StateBitTest$Test16Bits 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.StateBitTest$Test16Bits
  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.StateBitTest$Test16Bits this
         0: .line 67
            aload 0 /* this */
            invokespecial com.oracle.truffle.api.nodes.Node.<init>:()V
            return
        end local 0 // com.oracle.truffle.api.dsl.test.StateBitTest$Test16Bits this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/api/dsl/test/StateBitTest$Test16Bits;

  abstract java.lang.Object execute(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      arg   

  int s0(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)I
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.api.dsl.test.StateBitTest$Test16Bits this
        start local 1 // java.lang.Object arg
        start local 2 // java.lang.Object cachedArg
         0: .line 72
            aload 1 /* arg */
            aload 2 /* cachedArg */
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         1: .line 73
            aload 1 /* arg */
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            ireturn
        end local 2 // java.lang.Object cachedArg
        end local 1 // java.lang.Object arg
        end local 0 // com.oracle.truffle.api.dsl.test.StateBitTest$Test16Bits this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lcom/oracle/truffle/api/dsl/test/StateBitTest$Test16Bits;
            0    2     1        arg  Ljava/lang/Object;
            0    2     2  cachedArg  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(guards = {"arg.equals(0)"})
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
        com.oracle.truffle.api.dsl.Cached$Exclusive()
        com.oracle.truffle.api.dsl.Cached(value = "arg")
    MethodParameters:
           Name  Flags
      arg        
      cachedArg  

  int s1(int, int);
    descriptor: (II)I
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.oracle.truffle.api.dsl.test.StateBitTest$Test16Bits this
        start local 1 // int arg
        start local 2 // int cachedArg
         0: .line 78
            iload 1 /* arg */
            i2l
            iload 2 /* cachedArg */
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         1: .line 79
            iload 1 /* arg */
            ireturn
        end local 2 // int cachedArg
        end local 1 // int arg
        end local 0 // com.oracle.truffle.api.dsl.test.StateBitTest$Test16Bits this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lcom/oracle/truffle/api/dsl/test/StateBitTest$Test16Bits;
            0    2     1        arg  I
            0    2     2  cachedArg  I
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(guards = {"arg == 1"})
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
        com.oracle.truffle.api.dsl.Cached$Exclusive()
        com.oracle.truffle.api.dsl.Cached(value = "arg")
    MethodParameters:
           Name  Flags
      arg        
      cachedArg  

  int s2(int, int);
    descriptor: (II)I
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.oracle.truffle.api.dsl.test.StateBitTest$Test16Bits this
        start local 1 // int arg
        start local 2 // int cachedArg
         0: .line 84
            iload 1 /* arg */
            i2l
            iload 2 /* cachedArg */
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         1: .line 85
            iload 1 /* arg */
            ireturn
        end local 2 // int cachedArg
        end local 1 // int arg
        end local 0 // com.oracle.truffle.api.dsl.test.StateBitTest$Test16Bits this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lcom/oracle/truffle/api/dsl/test/StateBitTest$Test16Bits;
            0    2     1        arg  I
            0    2     2  cachedArg  I
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(guards = {"arg == 2"})
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
        com.oracle.truffle.api.dsl.Cached$Exclusive()
        com.oracle.truffle.api.dsl.Cached(value = "arg")
    MethodParameters:
           Name  Flags
      arg        
      cachedArg  

  int s3(int, int);
    descriptor: (II)I
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.oracle.truffle.api.dsl.test.StateBitTest$Test16Bits this
        start local 1 // int arg
        start local 2 // int cachedArg
         0: .line 90
            iload 1 /* arg */
            i2l
            iload 2 /* cachedArg */
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         1: .line 91
            iload 1 /* arg */
            ireturn
        end local 2 // int cachedArg
        end local 1 // int arg
        end local 0 // com.oracle.truffle.api.dsl.test.StateBitTest$Test16Bits this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lcom/oracle/truffle/api/dsl/test/StateBitTest$Test16Bits;
            0    2     1        arg  I
            0    2     2  cachedArg  I
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(guards = {"arg == 3"})
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
        com.oracle.truffle.api.dsl.Cached$Exclusive()
        com.oracle.truffle.api.dsl.Cached(value = "arg")
    MethodParameters:
           Name  Flags
      arg        
      cachedArg  

  int s4(int, int);
    descriptor: (II)I
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.oracle.truffle.api.dsl.test.StateBitTest$Test16Bits this
        start local 1 // int arg
        start local 2 // int cachedArg
         0: .line 96
            iload 1 /* arg */
            i2l
            iload 2 /* cachedArg */
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         1: .line 97
            iload 1 /* arg */
            ireturn
        end local 2 // int cachedArg
        end local 1 // int arg
        end local 0 // com.oracle.truffle.api.dsl.test.StateBitTest$Test16Bits this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lcom/oracle/truffle/api/dsl/test/StateBitTest$Test16Bits;
            0    2     1        arg  I
            0    2     2  cachedArg  I
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(guards = {"arg == 4"})
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
        com.oracle.truffle.api.dsl.Cached$Exclusive()
        com.oracle.truffle.api.dsl.Cached(value = "arg")
    MethodParameters:
           Name  Flags
      arg        
      cachedArg  

  int s5(int, int);
    descriptor: (II)I
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.oracle.truffle.api.dsl.test.StateBitTest$Test16Bits this
        start local 1 // int arg
        start local 2 // int cachedArg
         0: .line 102
            iload 1 /* arg */
            i2l
            iload 2 /* cachedArg */
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         1: .line 103
            iload 1 /* arg */
            ireturn
        end local 2 // int cachedArg
        end local 1 // int arg
        end local 0 // com.oracle.truffle.api.dsl.test.StateBitTest$Test16Bits this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lcom/oracle/truffle/api/dsl/test/StateBitTest$Test16Bits;
            0    2     1        arg  I
            0    2     2  cachedArg  I
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(guards = {"arg == 5"})
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
        com.oracle.truffle.api.dsl.Cached$Exclusive()
        com.oracle.truffle.api.dsl.Cached(value = "arg")
    MethodParameters:
           Name  Flags
      arg        
      cachedArg  

  int s6(int, int);
    descriptor: (II)I
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.oracle.truffle.api.dsl.test.StateBitTest$Test16Bits this
        start local 1 // int arg
        start local 2 // int cachedArg
         0: .line 108
            iload 1 /* arg */
            i2l
            iload 2 /* cachedArg */
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         1: .line 109
            iload 1 /* arg */
            ireturn
        end local 2 // int cachedArg
        end local 1 // int arg
        end local 0 // com.oracle.truffle.api.dsl.test.StateBitTest$Test16Bits this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lcom/oracle/truffle/api/dsl/test/StateBitTest$Test16Bits;
            0    2     1        arg  I
            0    2     2  cachedArg  I
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(guards = {"arg == 6"})
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
        com.oracle.truffle.api.dsl.Cached$Exclusive()
        com.oracle.truffle.api.dsl.Cached(value = "arg")
    MethodParameters:
           Name  Flags
      arg        
      cachedArg  

  int s7(int, int);
    descriptor: (II)I
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.oracle.truffle.api.dsl.test.StateBitTest$Test16Bits this
        start local 1 // int arg
        start local 2 // int cachedArg
         0: .line 114
            iload 1 /* arg */
            i2l
            iload 2 /* cachedArg */
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         1: .line 115
            iload 1 /* arg */
            ireturn
        end local 2 // int cachedArg
        end local 1 // int arg
        end local 0 // com.oracle.truffle.api.dsl.test.StateBitTest$Test16Bits this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lcom/oracle/truffle/api/dsl/test/StateBitTest$Test16Bits;
            0    2     1        arg  I
            0    2     2  cachedArg  I
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(guards = {"arg == 7"})
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
        com.oracle.truffle.api.dsl.Cached$Exclusive()
        com.oracle.truffle.api.dsl.Cached(value = "arg")
    MethodParameters:
           Name  Flags
      arg        
      cachedArg  

  int s8(int, int);
    descriptor: (II)I
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.oracle.truffle.api.dsl.test.StateBitTest$Test16Bits this
        start local 1 // int arg
        start local 2 // int cachedArg
         0: .line 120
            iload 1 /* arg */
            i2l
            iload 2 /* cachedArg */
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         1: .line 121
            iload 1 /* arg */
            ireturn
        end local 2 // int cachedArg
        end local 1 // int arg
        end local 0 // com.oracle.truffle.api.dsl.test.StateBitTest$Test16Bits this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lcom/oracle/truffle/api/dsl/test/StateBitTest$Test16Bits;
            0    2     1        arg  I
            0    2     2  cachedArg  I
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(guards = {"arg == 8"})
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
        com.oracle.truffle.api.dsl.Cached$Exclusive()
        com.oracle.truffle.api.dsl.Cached(value = "arg")
    MethodParameters:
           Name  Flags
      arg        
      cachedArg  

  int s9(int, int);
    descriptor: (II)I
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.oracle.truffle.api.dsl.test.StateBitTest$Test16Bits this
        start local 1 // int arg
        start local 2 // int cachedArg
         0: .line 126
            iload 1 /* arg */
            i2l
            iload 2 /* cachedArg */
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         1: .line 127
            iload 1 /* arg */
            ireturn
        end local 2 // int cachedArg
        end local 1 // int arg
        end local 0 // com.oracle.truffle.api.dsl.test.StateBitTest$Test16Bits this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lcom/oracle/truffle/api/dsl/test/StateBitTest$Test16Bits;
            0    2     1        arg  I
            0    2     2  cachedArg  I
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(guards = {"arg == 9"})
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
        com.oracle.truffle.api.dsl.Cached$Exclusive()
        com.oracle.truffle.api.dsl.Cached(value = "arg")
    MethodParameters:
           Name  Flags
      arg        
      cachedArg  

  int s10(int, int);
    descriptor: (II)I
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.oracle.truffle.api.dsl.test.StateBitTest$Test16Bits this
        start local 1 // int arg
        start local 2 // int cachedArg
         0: .line 132
            iload 1 /* arg */
            i2l
            iload 2 /* cachedArg */
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         1: .line 133
            iload 1 /* arg */
            ireturn
        end local 2 // int cachedArg
        end local 1 // int arg
        end local 0 // com.oracle.truffle.api.dsl.test.StateBitTest$Test16Bits this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lcom/oracle/truffle/api/dsl/test/StateBitTest$Test16Bits;
            0    2     1        arg  I
            0    2     2  cachedArg  I
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(guards = {"arg == 10"})
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
        com.oracle.truffle.api.dsl.Cached$Exclusive()
        com.oracle.truffle.api.dsl.Cached(value = "arg")
    MethodParameters:
           Name  Flags
      arg        
      cachedArg  

  int s11(int, int);
    descriptor: (II)I
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.oracle.truffle.api.dsl.test.StateBitTest$Test16Bits this
        start local 1 // int arg
        start local 2 // int cachedArg
         0: .line 138
            iload 1 /* arg */
            i2l
            iload 2 /* cachedArg */
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         1: .line 139
            iload 1 /* arg */
            ireturn
        end local 2 // int cachedArg
        end local 1 // int arg
        end local 0 // com.oracle.truffle.api.dsl.test.StateBitTest$Test16Bits this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lcom/oracle/truffle/api/dsl/test/StateBitTest$Test16Bits;
            0    2     1        arg  I
            0    2     2  cachedArg  I
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(guards = {"arg == 11"})
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
        com.oracle.truffle.api.dsl.Cached$Exclusive()
        com.oracle.truffle.api.dsl.Cached(value = "arg")
    MethodParameters:
           Name  Flags
      arg        
      cachedArg  

  int s12(int, int);
    descriptor: (II)I
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.oracle.truffle.api.dsl.test.StateBitTest$Test16Bits this
        start local 1 // int arg
        start local 2 // int cachedArg
         0: .line 144
            iload 1 /* arg */
            i2l
            iload 2 /* cachedArg */
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         1: .line 145
            iload 1 /* arg */
            ireturn
        end local 2 // int cachedArg
        end local 1 // int arg
        end local 0 // com.oracle.truffle.api.dsl.test.StateBitTest$Test16Bits this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lcom/oracle/truffle/api/dsl/test/StateBitTest$Test16Bits;
            0    2     1        arg  I
            0    2     2  cachedArg  I
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(guards = {"arg == 12"})
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
        com.oracle.truffle.api.dsl.Cached$Exclusive()
        com.oracle.truffle.api.dsl.Cached(value = "arg")
    MethodParameters:
           Name  Flags
      arg        
      cachedArg  

  int s13(int, int);
    descriptor: (II)I
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.oracle.truffle.api.dsl.test.StateBitTest$Test16Bits this
        start local 1 // int arg
        start local 2 // int cachedArg
         0: .line 150
            iload 1 /* arg */
            i2l
            iload 2 /* cachedArg */
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         1: .line 151
            iload 1 /* arg */
            ireturn
        end local 2 // int cachedArg
        end local 1 // int arg
        end local 0 // com.oracle.truffle.api.dsl.test.StateBitTest$Test16Bits this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lcom/oracle/truffle/api/dsl/test/StateBitTest$Test16Bits;
            0    2     1        arg  I
            0    2     2  cachedArg  I
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(guards = {"arg == 13"})
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
        com.oracle.truffle.api.dsl.Cached$Exclusive()
        com.oracle.truffle.api.dsl.Cached(value = "arg")
    MethodParameters:
           Name  Flags
      arg        
      cachedArg  

  int s14(int, int);
    descriptor: (II)I
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.oracle.truffle.api.dsl.test.StateBitTest$Test16Bits this
        start local 1 // int arg
        start local 2 // int cachedArg
         0: .line 156
            iload 1 /* arg */
            i2l
            iload 2 /* cachedArg */
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         1: .line 157
            iload 1 /* arg */
            ireturn
        end local 2 // int cachedArg
        end local 1 // int arg
        end local 0 // com.oracle.truffle.api.dsl.test.StateBitTest$Test16Bits this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lcom/oracle/truffle/api/dsl/test/StateBitTest$Test16Bits;
            0    2     1        arg  I
            0    2     2  cachedArg  I
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(guards = {"arg == 14"})
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
        com.oracle.truffle.api.dsl.Cached$Exclusive()
        com.oracle.truffle.api.dsl.Cached(value = "arg")
    MethodParameters:
           Name  Flags
      arg        
      cachedArg  

  int s15(int, int);
    descriptor: (II)I
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.oracle.truffle.api.dsl.test.StateBitTest$Test16Bits this
        start local 1 // int arg
        start local 2 // int cachedArg
         0: .line 162
            iload 1 /* arg */
            i2l
            iload 2 /* cachedArg */
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         1: .line 163
            iload 1 /* arg */
            ireturn
        end local 2 // int cachedArg
        end local 1 // int arg
        end local 0 // com.oracle.truffle.api.dsl.test.StateBitTest$Test16Bits this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lcom/oracle/truffle/api/dsl/test/StateBitTest$Test16Bits;
            0    2     1        arg  I
            0    2     2  cachedArg  I
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(guards = {"arg == 15"})
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
        com.oracle.truffle.api.dsl.Cached$Exclusive()
        com.oracle.truffle.api.dsl.Cached(value = "arg")
    MethodParameters:
           Name  Flags
      arg        
      cachedArg  
}
SourceFile: "StateBitTest.java"
NestHost: com.oracle.truffle.api.dsl.test.StateBitTest
InnerClasses:
  public abstract Exclusive = com.oracle.truffle.api.dsl.Cached$Exclusive of com.oracle.truffle.api.dsl.Cached
  abstract Test16Bits = com.oracle.truffle.api.dsl.test.StateBitTest$Test16Bits of com.oracle.truffle.api.dsl.test.StateBitTest