final class java.lang.invoke.VarHandleChars$FieldInstanceReadWrite extends java.lang.invoke.VarHandleChars$FieldInstanceReadOnly
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: java.lang.invoke.VarHandleChars$FieldInstanceReadWrite
  super_class: java.lang.invoke.VarHandleChars$FieldInstanceReadOnly
{
  static final java.lang.invoke.VarForm FORM;
    descriptor: Ljava/lang/invoke/VarForm;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=0, args_size=0
         0: .line 368
            new java.lang.invoke.VarForm
            dup
            ldc Ljava/lang/invoke/VarHandleChars$FieldInstanceReadWrite;
            ldc Ljava/lang/Object;
            getstatic java.lang.Character.TYPE:Ljava/lang/Class;
            iconst_0
            anewarray java.lang.Class
            invokespecial java.lang.invoke.VarForm.<init>:(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)V
            putstatic java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.FORM:Ljava/lang/invoke/VarForm;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(java.lang.Class<?>, );
    descriptor: (Ljava/lang/Class;J)V
    flags: (0x0000) 
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite this
        start local 1 // java.lang.Class receiverType
        start local 2 // long fieldOffset
         0: .line 121
            aload 0 /* this */
            aload 1 /* receiverType */
            lload 2 /* fieldOffset */
            iconst_0
            invokespecial java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.<init>:(Ljava/lang/Class;JZ)V
         1: .line 122
            return
        end local 2 // long fieldOffset
        end local 1 // java.lang.Class receiverType
        end local 0 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Ljava/lang/invoke/VarHandleChars$FieldInstanceReadWrite;
            0    2     1  receiverType  Ljava/lang/Class<*>;
            0    2     2   fieldOffset  J
    Signature: (Ljava/lang/Class<*>;J)V
    MethodParameters:
              Name  Flags
      receiverType  
      fieldOffset   

  private void <init>(java.lang.Class<?>, long, );
    descriptor: (Ljava/lang/Class;JZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite this
        start local 1 // java.lang.Class receiverType
        start local 2 // long fieldOffset
        start local 4 // boolean exact
         0: .line 126
            aload 0 /* this */
            aload 1 /* receiverType */
            lload 2 /* fieldOffset */
            getstatic java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.FORM:Ljava/lang/invoke/VarForm;
            iload 4 /* exact */
            invokespecial java.lang.invoke.VarHandleChars$FieldInstanceReadOnly.<init>:(Ljava/lang/Class;JLjava/lang/invoke/VarForm;Z)V
         1: .line 127
            return
        end local 4 // boolean exact
        end local 2 // long fieldOffset
        end local 1 // java.lang.Class receiverType
        end local 0 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Ljava/lang/invoke/VarHandleChars$FieldInstanceReadWrite;
            0    2     1  receiverType  Ljava/lang/Class<*>;
            0    2     2   fieldOffset  J
            0    2     4         exact  Z
    Signature: (Ljava/lang/Class<*>;JZ)V
    MethodParameters:
              Name  Flags
      receiverType  
      fieldOffset   
      exact         

  public java.lang.invoke.VarHandleChars$FieldInstanceReadWrite withInvokeExactBehavior();
    descriptor: ()Ljava/lang/invoke/VarHandleChars$FieldInstanceReadWrite;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite this
         0: .line 131
            aload 0 /* this */
            invokevirtual java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.hasInvokeExactBehavior:()Z
            ifeq 2
         1: .line 132
            aload 0 /* this */
            goto 3
         2: .line 133
      StackMap locals:
      StackMap stack:
            new java.lang.invoke.VarHandleChars$FieldInstanceReadWrite
            dup
            aload 0 /* this */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.receiverType:Ljava/lang/Class;
            aload 0 /* this */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.fieldOffset:J
            iconst_1
            invokespecial java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.<init>:(Ljava/lang/Class;JZ)V
         3: .line 131
      StackMap locals:
      StackMap stack: java.lang.invoke.VarHandleChars$FieldInstanceReadWrite
            areturn
        end local 0 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/lang/invoke/VarHandleChars$FieldInstanceReadWrite;

  public java.lang.invoke.VarHandleChars$FieldInstanceReadWrite withInvokeBehavior();
    descriptor: ()Ljava/lang/invoke/VarHandleChars$FieldInstanceReadWrite;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite this
         0: .line 138
            aload 0 /* this */
            invokevirtual java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.hasInvokeExactBehavior:()Z
            ifne 2
         1: .line 139
            aload 0 /* this */
            goto 3
         2: .line 140
      StackMap locals:
      StackMap stack:
            new java.lang.invoke.VarHandleChars$FieldInstanceReadWrite
            dup
            aload 0 /* this */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.receiverType:Ljava/lang/Class;
            aload 0 /* this */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.fieldOffset:J
            iconst_0
            invokespecial java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.<init>:(Ljava/lang/Class;JZ)V
         3: .line 138
      StackMap locals:
      StackMap stack: java.lang.invoke.VarHandleChars$FieldInstanceReadWrite
            areturn
        end local 0 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/lang/invoke/VarHandleChars$FieldInstanceReadWrite;

  static void set(java.lang.invoke.VarHandle, java.lang.Object, char);
    descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;C)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // java.lang.invoke.VarHandle ob
        start local 1 // java.lang.Object holder
        start local 2 // char value
         0: .line 145
            aload 0 /* ob */
            checkcast java.lang.invoke.VarHandleChars$FieldInstanceReadWrite
            astore 3 /* handle */
        start local 3 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite handle
         1: .line 146
            getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 3 /* handle */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.receiverType:Ljava/lang/Class;
            aload 1 /* holder */
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
         2: .line 147
            aload 3 /* handle */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.fieldOffset:J
         3: .line 148
            iload 2 /* value */
         4: .line 146
            invokevirtual jdk.internal.misc.Unsafe.putChar:(Ljava/lang/Object;JC)V
         5: .line 149
            return
        end local 3 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite handle
        end local 2 // char value
        end local 1 // java.lang.Object holder
        end local 0 // java.lang.invoke.VarHandle ob
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0      ob  Ljava/lang/invoke/VarHandle;
            0    6     1  holder  Ljava/lang/Object;
            0    6     2   value  C
            1    6     3  handle  Ljava/lang/invoke/VarHandleChars$FieldInstanceReadWrite;
    RuntimeVisibleAnnotations: 
      jdk.internal.vm.annotation.ForceInline()
    MethodParameters:
        Name  Flags
      ob      
      holder  
      value   

  static void setVolatile(java.lang.invoke.VarHandle, java.lang.Object, char);
    descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;C)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // java.lang.invoke.VarHandle ob
        start local 1 // java.lang.Object holder
        start local 2 // char value
         0: .line 153
            aload 0 /* ob */
            checkcast java.lang.invoke.VarHandleChars$FieldInstanceReadWrite
            astore 3 /* handle */
        start local 3 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite handle
         1: .line 154
            getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 3 /* handle */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.receiverType:Ljava/lang/Class;
            aload 1 /* holder */
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
         2: .line 155
            aload 3 /* handle */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.fieldOffset:J
         3: .line 156
            iload 2 /* value */
         4: .line 154
            invokevirtual jdk.internal.misc.Unsafe.putCharVolatile:(Ljava/lang/Object;JC)V
         5: .line 157
            return
        end local 3 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite handle
        end local 2 // char value
        end local 1 // java.lang.Object holder
        end local 0 // java.lang.invoke.VarHandle ob
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0      ob  Ljava/lang/invoke/VarHandle;
            0    6     1  holder  Ljava/lang/Object;
            0    6     2   value  C
            1    6     3  handle  Ljava/lang/invoke/VarHandleChars$FieldInstanceReadWrite;
    RuntimeVisibleAnnotations: 
      jdk.internal.vm.annotation.ForceInline()
    MethodParameters:
        Name  Flags
      ob      
      holder  
      value   

  static void setOpaque(java.lang.invoke.VarHandle, java.lang.Object, char);
    descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;C)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // java.lang.invoke.VarHandle ob
        start local 1 // java.lang.Object holder
        start local 2 // char value
         0: .line 161
            aload 0 /* ob */
            checkcast java.lang.invoke.VarHandleChars$FieldInstanceReadWrite
            astore 3 /* handle */
        start local 3 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite handle
         1: .line 162
            getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 3 /* handle */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.receiverType:Ljava/lang/Class;
            aload 1 /* holder */
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
         2: .line 163
            aload 3 /* handle */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.fieldOffset:J
         3: .line 164
            iload 2 /* value */
         4: .line 162
            invokevirtual jdk.internal.misc.Unsafe.putCharOpaque:(Ljava/lang/Object;JC)V
         5: .line 165
            return
        end local 3 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite handle
        end local 2 // char value
        end local 1 // java.lang.Object holder
        end local 0 // java.lang.invoke.VarHandle ob
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0      ob  Ljava/lang/invoke/VarHandle;
            0    6     1  holder  Ljava/lang/Object;
            0    6     2   value  C
            1    6     3  handle  Ljava/lang/invoke/VarHandleChars$FieldInstanceReadWrite;
    RuntimeVisibleAnnotations: 
      jdk.internal.vm.annotation.ForceInline()
    MethodParameters:
        Name  Flags
      ob      
      holder  
      value   

  static void setRelease(java.lang.invoke.VarHandle, java.lang.Object, char);
    descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;C)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // java.lang.invoke.VarHandle ob
        start local 1 // java.lang.Object holder
        start local 2 // char value
         0: .line 169
            aload 0 /* ob */
            checkcast java.lang.invoke.VarHandleChars$FieldInstanceReadWrite
            astore 3 /* handle */
        start local 3 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite handle
         1: .line 170
            getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 3 /* handle */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.receiverType:Ljava/lang/Class;
            aload 1 /* holder */
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
         2: .line 171
            aload 3 /* handle */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.fieldOffset:J
         3: .line 172
            iload 2 /* value */
         4: .line 170
            invokevirtual jdk.internal.misc.Unsafe.putCharRelease:(Ljava/lang/Object;JC)V
         5: .line 173
            return
        end local 3 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite handle
        end local 2 // char value
        end local 1 // java.lang.Object holder
        end local 0 // java.lang.invoke.VarHandle ob
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0      ob  Ljava/lang/invoke/VarHandle;
            0    6     1  holder  Ljava/lang/Object;
            0    6     2   value  C
            1    6     3  handle  Ljava/lang/invoke/VarHandleChars$FieldInstanceReadWrite;
    RuntimeVisibleAnnotations: 
      jdk.internal.vm.annotation.ForceInline()
    MethodParameters:
        Name  Flags
      ob      
      holder  
      value   

  static boolean compareAndSet(java.lang.invoke.VarHandle, java.lang.Object, char, char);
    descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;CC)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // java.lang.invoke.VarHandle ob
        start local 1 // java.lang.Object holder
        start local 2 // char expected
        start local 3 // char value
         0: .line 177
            aload 0 /* ob */
            checkcast java.lang.invoke.VarHandleChars$FieldInstanceReadWrite
            astore 4 /* handle */
        start local 4 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite handle
         1: .line 178
            getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 4 /* handle */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.receiverType:Ljava/lang/Class;
            aload 1 /* holder */
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
         2: .line 179
            aload 4 /* handle */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.fieldOffset:J
         3: .line 180
            iload 2 /* expected */
         4: .line 181
            iload 3 /* value */
         5: .line 178
            invokevirtual jdk.internal.misc.Unsafe.compareAndSetChar:(Ljava/lang/Object;JCC)Z
            ireturn
        end local 4 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite handle
        end local 3 // char value
        end local 2 // char expected
        end local 1 // java.lang.Object holder
        end local 0 // java.lang.invoke.VarHandle ob
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0        ob  Ljava/lang/invoke/VarHandle;
            0    6     1    holder  Ljava/lang/Object;
            0    6     2  expected  C
            0    6     3     value  C
            1    6     4    handle  Ljava/lang/invoke/VarHandleChars$FieldInstanceReadWrite;
    RuntimeVisibleAnnotations: 
      jdk.internal.vm.annotation.ForceInline()
    MethodParameters:
          Name  Flags
      ob        
      holder    
      expected  
      value     

  static char compareAndExchange(java.lang.invoke.VarHandle, java.lang.Object, char, char);
    descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;CC)C
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // java.lang.invoke.VarHandle ob
        start local 1 // java.lang.Object holder
        start local 2 // char expected
        start local 3 // char value
         0: .line 186
            aload 0 /* ob */
            checkcast java.lang.invoke.VarHandleChars$FieldInstanceReadWrite
            astore 4 /* handle */
        start local 4 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite handle
         1: .line 187
            getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 4 /* handle */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.receiverType:Ljava/lang/Class;
            aload 1 /* holder */
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
         2: .line 188
            aload 4 /* handle */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.fieldOffset:J
         3: .line 189
            iload 2 /* expected */
         4: .line 190
            iload 3 /* value */
         5: .line 187
            invokevirtual jdk.internal.misc.Unsafe.compareAndExchangeChar:(Ljava/lang/Object;JCC)C
            ireturn
        end local 4 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite handle
        end local 3 // char value
        end local 2 // char expected
        end local 1 // java.lang.Object holder
        end local 0 // java.lang.invoke.VarHandle ob
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0        ob  Ljava/lang/invoke/VarHandle;
            0    6     1    holder  Ljava/lang/Object;
            0    6     2  expected  C
            0    6     3     value  C
            1    6     4    handle  Ljava/lang/invoke/VarHandleChars$FieldInstanceReadWrite;
    RuntimeVisibleAnnotations: 
      jdk.internal.vm.annotation.ForceInline()
    MethodParameters:
          Name  Flags
      ob        
      holder    
      expected  
      value     

  static char compareAndExchangeAcquire(java.lang.invoke.VarHandle, java.lang.Object, char, char);
    descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;CC)C
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // java.lang.invoke.VarHandle ob
        start local 1 // java.lang.Object holder
        start local 2 // char expected
        start local 3 // char value
         0: .line 195
            aload 0 /* ob */
            checkcast java.lang.invoke.VarHandleChars$FieldInstanceReadWrite
            astore 4 /* handle */
        start local 4 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite handle
         1: .line 196
            getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 4 /* handle */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.receiverType:Ljava/lang/Class;
            aload 1 /* holder */
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
         2: .line 197
            aload 4 /* handle */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.fieldOffset:J
         3: .line 198
            iload 2 /* expected */
         4: .line 199
            iload 3 /* value */
         5: .line 196
            invokevirtual jdk.internal.misc.Unsafe.compareAndExchangeCharAcquire:(Ljava/lang/Object;JCC)C
            ireturn
        end local 4 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite handle
        end local 3 // char value
        end local 2 // char expected
        end local 1 // java.lang.Object holder
        end local 0 // java.lang.invoke.VarHandle ob
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0        ob  Ljava/lang/invoke/VarHandle;
            0    6     1    holder  Ljava/lang/Object;
            0    6     2  expected  C
            0    6     3     value  C
            1    6     4    handle  Ljava/lang/invoke/VarHandleChars$FieldInstanceReadWrite;
    RuntimeVisibleAnnotations: 
      jdk.internal.vm.annotation.ForceInline()
    MethodParameters:
          Name  Flags
      ob        
      holder    
      expected  
      value     

  static char compareAndExchangeRelease(java.lang.invoke.VarHandle, java.lang.Object, char, char);
    descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;CC)C
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // java.lang.invoke.VarHandle ob
        start local 1 // java.lang.Object holder
        start local 2 // char expected
        start local 3 // char value
         0: .line 204
            aload 0 /* ob */
            checkcast java.lang.invoke.VarHandleChars$FieldInstanceReadWrite
            astore 4 /* handle */
        start local 4 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite handle
         1: .line 205
            getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 4 /* handle */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.receiverType:Ljava/lang/Class;
            aload 1 /* holder */
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
         2: .line 206
            aload 4 /* handle */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.fieldOffset:J
         3: .line 207
            iload 2 /* expected */
         4: .line 208
            iload 3 /* value */
         5: .line 205
            invokevirtual jdk.internal.misc.Unsafe.compareAndExchangeCharRelease:(Ljava/lang/Object;JCC)C
            ireturn
        end local 4 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite handle
        end local 3 // char value
        end local 2 // char expected
        end local 1 // java.lang.Object holder
        end local 0 // java.lang.invoke.VarHandle ob
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0        ob  Ljava/lang/invoke/VarHandle;
            0    6     1    holder  Ljava/lang/Object;
            0    6     2  expected  C
            0    6     3     value  C
            1    6     4    handle  Ljava/lang/invoke/VarHandleChars$FieldInstanceReadWrite;
    RuntimeVisibleAnnotations: 
      jdk.internal.vm.annotation.ForceInline()
    MethodParameters:
          Name  Flags
      ob        
      holder    
      expected  
      value     

  static boolean weakCompareAndSetPlain(java.lang.invoke.VarHandle, java.lang.Object, char, char);
    descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;CC)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // java.lang.invoke.VarHandle ob
        start local 1 // java.lang.Object holder
        start local 2 // char expected
        start local 3 // char value
         0: .line 213
            aload 0 /* ob */
            checkcast java.lang.invoke.VarHandleChars$FieldInstanceReadWrite
            astore 4 /* handle */
        start local 4 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite handle
         1: .line 214
            getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 4 /* handle */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.receiverType:Ljava/lang/Class;
            aload 1 /* holder */
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
         2: .line 215
            aload 4 /* handle */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.fieldOffset:J
         3: .line 216
            iload 2 /* expected */
         4: .line 217
            iload 3 /* value */
         5: .line 214
            invokevirtual jdk.internal.misc.Unsafe.weakCompareAndSetCharPlain:(Ljava/lang/Object;JCC)Z
            ireturn
        end local 4 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite handle
        end local 3 // char value
        end local 2 // char expected
        end local 1 // java.lang.Object holder
        end local 0 // java.lang.invoke.VarHandle ob
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0        ob  Ljava/lang/invoke/VarHandle;
            0    6     1    holder  Ljava/lang/Object;
            0    6     2  expected  C
            0    6     3     value  C
            1    6     4    handle  Ljava/lang/invoke/VarHandleChars$FieldInstanceReadWrite;
    RuntimeVisibleAnnotations: 
      jdk.internal.vm.annotation.ForceInline()
    MethodParameters:
          Name  Flags
      ob        
      holder    
      expected  
      value     

  static boolean weakCompareAndSet(java.lang.invoke.VarHandle, java.lang.Object, char, char);
    descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;CC)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // java.lang.invoke.VarHandle ob
        start local 1 // java.lang.Object holder
        start local 2 // char expected
        start local 3 // char value
         0: .line 222
            aload 0 /* ob */
            checkcast java.lang.invoke.VarHandleChars$FieldInstanceReadWrite
            astore 4 /* handle */
        start local 4 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite handle
         1: .line 223
            getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 4 /* handle */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.receiverType:Ljava/lang/Class;
            aload 1 /* holder */
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
         2: .line 224
            aload 4 /* handle */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.fieldOffset:J
         3: .line 225
            iload 2 /* expected */
         4: .line 226
            iload 3 /* value */
         5: .line 223
            invokevirtual jdk.internal.misc.Unsafe.weakCompareAndSetChar:(Ljava/lang/Object;JCC)Z
            ireturn
        end local 4 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite handle
        end local 3 // char value
        end local 2 // char expected
        end local 1 // java.lang.Object holder
        end local 0 // java.lang.invoke.VarHandle ob
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0        ob  Ljava/lang/invoke/VarHandle;
            0    6     1    holder  Ljava/lang/Object;
            0    6     2  expected  C
            0    6     3     value  C
            1    6     4    handle  Ljava/lang/invoke/VarHandleChars$FieldInstanceReadWrite;
    RuntimeVisibleAnnotations: 
      jdk.internal.vm.annotation.ForceInline()
    MethodParameters:
          Name  Flags
      ob        
      holder    
      expected  
      value     

  static boolean weakCompareAndSetAcquire(java.lang.invoke.VarHandle, java.lang.Object, char, char);
    descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;CC)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // java.lang.invoke.VarHandle ob
        start local 1 // java.lang.Object holder
        start local 2 // char expected
        start local 3 // char value
         0: .line 231
            aload 0 /* ob */
            checkcast java.lang.invoke.VarHandleChars$FieldInstanceReadWrite
            astore 4 /* handle */
        start local 4 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite handle
         1: .line 232
            getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 4 /* handle */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.receiverType:Ljava/lang/Class;
            aload 1 /* holder */
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
         2: .line 233
            aload 4 /* handle */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.fieldOffset:J
         3: .line 234
            iload 2 /* expected */
         4: .line 235
            iload 3 /* value */
         5: .line 232
            invokevirtual jdk.internal.misc.Unsafe.weakCompareAndSetCharAcquire:(Ljava/lang/Object;JCC)Z
            ireturn
        end local 4 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite handle
        end local 3 // char value
        end local 2 // char expected
        end local 1 // java.lang.Object holder
        end local 0 // java.lang.invoke.VarHandle ob
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0        ob  Ljava/lang/invoke/VarHandle;
            0    6     1    holder  Ljava/lang/Object;
            0    6     2  expected  C
            0    6     3     value  C
            1    6     4    handle  Ljava/lang/invoke/VarHandleChars$FieldInstanceReadWrite;
    RuntimeVisibleAnnotations: 
      jdk.internal.vm.annotation.ForceInline()
    MethodParameters:
          Name  Flags
      ob        
      holder    
      expected  
      value     

  static boolean weakCompareAndSetRelease(java.lang.invoke.VarHandle, java.lang.Object, char, char);
    descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;CC)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // java.lang.invoke.VarHandle ob
        start local 1 // java.lang.Object holder
        start local 2 // char expected
        start local 3 // char value
         0: .line 240
            aload 0 /* ob */
            checkcast java.lang.invoke.VarHandleChars$FieldInstanceReadWrite
            astore 4 /* handle */
        start local 4 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite handle
         1: .line 241
            getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 4 /* handle */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.receiverType:Ljava/lang/Class;
            aload 1 /* holder */
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
         2: .line 242
            aload 4 /* handle */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.fieldOffset:J
         3: .line 243
            iload 2 /* expected */
         4: .line 244
            iload 3 /* value */
         5: .line 241
            invokevirtual jdk.internal.misc.Unsafe.weakCompareAndSetCharRelease:(Ljava/lang/Object;JCC)Z
            ireturn
        end local 4 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite handle
        end local 3 // char value
        end local 2 // char expected
        end local 1 // java.lang.Object holder
        end local 0 // java.lang.invoke.VarHandle ob
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0        ob  Ljava/lang/invoke/VarHandle;
            0    6     1    holder  Ljava/lang/Object;
            0    6     2  expected  C
            0    6     3     value  C
            1    6     4    handle  Ljava/lang/invoke/VarHandleChars$FieldInstanceReadWrite;
    RuntimeVisibleAnnotations: 
      jdk.internal.vm.annotation.ForceInline()
    MethodParameters:
          Name  Flags
      ob        
      holder    
      expected  
      value     

  static char getAndSet(java.lang.invoke.VarHandle, java.lang.Object, char);
    descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;C)C
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // java.lang.invoke.VarHandle ob
        start local 1 // java.lang.Object holder
        start local 2 // char value
         0: .line 249
            aload 0 /* ob */
            checkcast java.lang.invoke.VarHandleChars$FieldInstanceReadWrite
            astore 3 /* handle */
        start local 3 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite handle
         1: .line 250
            getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 3 /* handle */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.receiverType:Ljava/lang/Class;
            aload 1 /* holder */
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
         2: .line 251
            aload 3 /* handle */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.fieldOffset:J
         3: .line 252
            iload 2 /* value */
         4: .line 250
            invokevirtual jdk.internal.misc.Unsafe.getAndSetChar:(Ljava/lang/Object;JC)C
            ireturn
        end local 3 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite handle
        end local 2 // char value
        end local 1 // java.lang.Object holder
        end local 0 // java.lang.invoke.VarHandle ob
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0      ob  Ljava/lang/invoke/VarHandle;
            0    5     1  holder  Ljava/lang/Object;
            0    5     2   value  C
            1    5     3  handle  Ljava/lang/invoke/VarHandleChars$FieldInstanceReadWrite;
    RuntimeVisibleAnnotations: 
      jdk.internal.vm.annotation.ForceInline()
    MethodParameters:
        Name  Flags
      ob      
      holder  
      value   

  static char getAndSetAcquire(java.lang.invoke.VarHandle, java.lang.Object, char);
    descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;C)C
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // java.lang.invoke.VarHandle ob
        start local 1 // java.lang.Object holder
        start local 2 // char value
         0: .line 257
            aload 0 /* ob */
            checkcast java.lang.invoke.VarHandleChars$FieldInstanceReadWrite
            astore 3 /* handle */
        start local 3 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite handle
         1: .line 258
            getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 3 /* handle */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.receiverType:Ljava/lang/Class;
            aload 1 /* holder */
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
         2: .line 259
            aload 3 /* handle */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.fieldOffset:J
         3: .line 260
            iload 2 /* value */
         4: .line 258
            invokevirtual jdk.internal.misc.Unsafe.getAndSetCharAcquire:(Ljava/lang/Object;JC)C
            ireturn
        end local 3 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite handle
        end local 2 // char value
        end local 1 // java.lang.Object holder
        end local 0 // java.lang.invoke.VarHandle ob
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0      ob  Ljava/lang/invoke/VarHandle;
            0    5     1  holder  Ljava/lang/Object;
            0    5     2   value  C
            1    5     3  handle  Ljava/lang/invoke/VarHandleChars$FieldInstanceReadWrite;
    RuntimeVisibleAnnotations: 
      jdk.internal.vm.annotation.ForceInline()
    MethodParameters:
        Name  Flags
      ob      
      holder  
      value   

  static char getAndSetRelease(java.lang.invoke.VarHandle, java.lang.Object, char);
    descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;C)C
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // java.lang.invoke.VarHandle ob
        start local 1 // java.lang.Object holder
        start local 2 // char value
         0: .line 265
            aload 0 /* ob */
            checkcast java.lang.invoke.VarHandleChars$FieldInstanceReadWrite
            astore 3 /* handle */
        start local 3 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite handle
         1: .line 266
            getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 3 /* handle */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.receiverType:Ljava/lang/Class;
            aload 1 /* holder */
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
         2: .line 267
            aload 3 /* handle */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.fieldOffset:J
         3: .line 268
            iload 2 /* value */
         4: .line 266
            invokevirtual jdk.internal.misc.Unsafe.getAndSetCharRelease:(Ljava/lang/Object;JC)C
            ireturn
        end local 3 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite handle
        end local 2 // char value
        end local 1 // java.lang.Object holder
        end local 0 // java.lang.invoke.VarHandle ob
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0      ob  Ljava/lang/invoke/VarHandle;
            0    5     1  holder  Ljava/lang/Object;
            0    5     2   value  C
            1    5     3  handle  Ljava/lang/invoke/VarHandleChars$FieldInstanceReadWrite;
    RuntimeVisibleAnnotations: 
      jdk.internal.vm.annotation.ForceInline()
    MethodParameters:
        Name  Flags
      ob      
      holder  
      value   

  static char getAndAdd(java.lang.invoke.VarHandle, java.lang.Object, char);
    descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;C)C
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // java.lang.invoke.VarHandle ob
        start local 1 // java.lang.Object holder
        start local 2 // char value
         0: .line 273
            aload 0 /* ob */
            checkcast java.lang.invoke.VarHandleChars$FieldInstanceReadWrite
            astore 3 /* handle */
        start local 3 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite handle
         1: .line 274
            getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 3 /* handle */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.receiverType:Ljava/lang/Class;
            aload 1 /* holder */
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
         2: .line 275
            aload 3 /* handle */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.fieldOffset:J
         3: .line 276
            iload 2 /* value */
         4: .line 274
            invokevirtual jdk.internal.misc.Unsafe.getAndAddChar:(Ljava/lang/Object;JC)C
            ireturn
        end local 3 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite handle
        end local 2 // char value
        end local 1 // java.lang.Object holder
        end local 0 // java.lang.invoke.VarHandle ob
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0      ob  Ljava/lang/invoke/VarHandle;
            0    5     1  holder  Ljava/lang/Object;
            0    5     2   value  C
            1    5     3  handle  Ljava/lang/invoke/VarHandleChars$FieldInstanceReadWrite;
    RuntimeVisibleAnnotations: 
      jdk.internal.vm.annotation.ForceInline()
    MethodParameters:
        Name  Flags
      ob      
      holder  
      value   

  static char getAndAddAcquire(java.lang.invoke.VarHandle, java.lang.Object, char);
    descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;C)C
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // java.lang.invoke.VarHandle ob
        start local 1 // java.lang.Object holder
        start local 2 // char value
         0: .line 281
            aload 0 /* ob */
            checkcast java.lang.invoke.VarHandleChars$FieldInstanceReadWrite
            astore 3 /* handle */
        start local 3 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite handle
         1: .line 282
            getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 3 /* handle */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.receiverType:Ljava/lang/Class;
            aload 1 /* holder */
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
         2: .line 283
            aload 3 /* handle */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.fieldOffset:J
         3: .line 284
            iload 2 /* value */
         4: .line 282
            invokevirtual jdk.internal.misc.Unsafe.getAndAddCharAcquire:(Ljava/lang/Object;JC)C
            ireturn
        end local 3 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite handle
        end local 2 // char value
        end local 1 // java.lang.Object holder
        end local 0 // java.lang.invoke.VarHandle ob
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0      ob  Ljava/lang/invoke/VarHandle;
            0    5     1  holder  Ljava/lang/Object;
            0    5     2   value  C
            1    5     3  handle  Ljava/lang/invoke/VarHandleChars$FieldInstanceReadWrite;
    RuntimeVisibleAnnotations: 
      jdk.internal.vm.annotation.ForceInline()
    MethodParameters:
        Name  Flags
      ob      
      holder  
      value   

  static char getAndAddRelease(java.lang.invoke.VarHandle, java.lang.Object, char);
    descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;C)C
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // java.lang.invoke.VarHandle ob
        start local 1 // java.lang.Object holder
        start local 2 // char value
         0: .line 289
            aload 0 /* ob */
            checkcast java.lang.invoke.VarHandleChars$FieldInstanceReadWrite
            astore 3 /* handle */
        start local 3 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite handle
         1: .line 290
            getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 3 /* handle */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.receiverType:Ljava/lang/Class;
            aload 1 /* holder */
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
         2: .line 291
            aload 3 /* handle */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.fieldOffset:J
         3: .line 292
            iload 2 /* value */
         4: .line 290
            invokevirtual jdk.internal.misc.Unsafe.getAndAddCharRelease:(Ljava/lang/Object;JC)C
            ireturn
        end local 3 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite handle
        end local 2 // char value
        end local 1 // java.lang.Object holder
        end local 0 // java.lang.invoke.VarHandle ob
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0      ob  Ljava/lang/invoke/VarHandle;
            0    5     1  holder  Ljava/lang/Object;
            0    5     2   value  C
            1    5     3  handle  Ljava/lang/invoke/VarHandleChars$FieldInstanceReadWrite;
    RuntimeVisibleAnnotations: 
      jdk.internal.vm.annotation.ForceInline()
    MethodParameters:
        Name  Flags
      ob      
      holder  
      value   

  static char getAndBitwiseOr(java.lang.invoke.VarHandle, java.lang.Object, char);
    descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;C)C
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // java.lang.invoke.VarHandle ob
        start local 1 // java.lang.Object holder
        start local 2 // char value
         0: .line 298
            aload 0 /* ob */
            checkcast java.lang.invoke.VarHandleChars$FieldInstanceReadWrite
            astore 3 /* handle */
        start local 3 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite handle
         1: .line 299
            getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 3 /* handle */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.receiverType:Ljava/lang/Class;
            aload 1 /* holder */
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
         2: .line 300
            aload 3 /* handle */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.fieldOffset:J
         3: .line 301
            iload 2 /* value */
         4: .line 299
            invokevirtual jdk.internal.misc.Unsafe.getAndBitwiseOrChar:(Ljava/lang/Object;JC)C
            ireturn
        end local 3 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite handle
        end local 2 // char value
        end local 1 // java.lang.Object holder
        end local 0 // java.lang.invoke.VarHandle ob
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0      ob  Ljava/lang/invoke/VarHandle;
            0    5     1  holder  Ljava/lang/Object;
            0    5     2   value  C
            1    5     3  handle  Ljava/lang/invoke/VarHandleChars$FieldInstanceReadWrite;
    RuntimeVisibleAnnotations: 
      jdk.internal.vm.annotation.ForceInline()
    MethodParameters:
        Name  Flags
      ob      
      holder  
      value   

  static char getAndBitwiseOrRelease(java.lang.invoke.VarHandle, java.lang.Object, char);
    descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;C)C
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // java.lang.invoke.VarHandle ob
        start local 1 // java.lang.Object holder
        start local 2 // char value
         0: .line 306
            aload 0 /* ob */
            checkcast java.lang.invoke.VarHandleChars$FieldInstanceReadWrite
            astore 3 /* handle */
        start local 3 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite handle
         1: .line 307
            getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 3 /* handle */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.receiverType:Ljava/lang/Class;
            aload 1 /* holder */
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
         2: .line 308
            aload 3 /* handle */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.fieldOffset:J
         3: .line 309
            iload 2 /* value */
         4: .line 307
            invokevirtual jdk.internal.misc.Unsafe.getAndBitwiseOrCharRelease:(Ljava/lang/Object;JC)C
            ireturn
        end local 3 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite handle
        end local 2 // char value
        end local 1 // java.lang.Object holder
        end local 0 // java.lang.invoke.VarHandle ob
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0      ob  Ljava/lang/invoke/VarHandle;
            0    5     1  holder  Ljava/lang/Object;
            0    5     2   value  C
            1    5     3  handle  Ljava/lang/invoke/VarHandleChars$FieldInstanceReadWrite;
    RuntimeVisibleAnnotations: 
      jdk.internal.vm.annotation.ForceInline()
    MethodParameters:
        Name  Flags
      ob      
      holder  
      value   

  static char getAndBitwiseOrAcquire(java.lang.invoke.VarHandle, java.lang.Object, char);
    descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;C)C
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // java.lang.invoke.VarHandle ob
        start local 1 // java.lang.Object holder
        start local 2 // char value
         0: .line 314
            aload 0 /* ob */
            checkcast java.lang.invoke.VarHandleChars$FieldInstanceReadWrite
            astore 3 /* handle */
        start local 3 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite handle
         1: .line 315
            getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 3 /* handle */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.receiverType:Ljava/lang/Class;
            aload 1 /* holder */
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
         2: .line 316
            aload 3 /* handle */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.fieldOffset:J
         3: .line 317
            iload 2 /* value */
         4: .line 315
            invokevirtual jdk.internal.misc.Unsafe.getAndBitwiseOrCharAcquire:(Ljava/lang/Object;JC)C
            ireturn
        end local 3 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite handle
        end local 2 // char value
        end local 1 // java.lang.Object holder
        end local 0 // java.lang.invoke.VarHandle ob
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0      ob  Ljava/lang/invoke/VarHandle;
            0    5     1  holder  Ljava/lang/Object;
            0    5     2   value  C
            1    5     3  handle  Ljava/lang/invoke/VarHandleChars$FieldInstanceReadWrite;
    RuntimeVisibleAnnotations: 
      jdk.internal.vm.annotation.ForceInline()
    MethodParameters:
        Name  Flags
      ob      
      holder  
      value   

  static char getAndBitwiseAnd(java.lang.invoke.VarHandle, java.lang.Object, char);
    descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;C)C
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // java.lang.invoke.VarHandle ob
        start local 1 // java.lang.Object holder
        start local 2 // char value
         0: .line 322
            aload 0 /* ob */
            checkcast java.lang.invoke.VarHandleChars$FieldInstanceReadWrite
            astore 3 /* handle */
        start local 3 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite handle
         1: .line 323
            getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 3 /* handle */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.receiverType:Ljava/lang/Class;
            aload 1 /* holder */
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
         2: .line 324
            aload 3 /* handle */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.fieldOffset:J
         3: .line 325
            iload 2 /* value */
         4: .line 323
            invokevirtual jdk.internal.misc.Unsafe.getAndBitwiseAndChar:(Ljava/lang/Object;JC)C
            ireturn
        end local 3 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite handle
        end local 2 // char value
        end local 1 // java.lang.Object holder
        end local 0 // java.lang.invoke.VarHandle ob
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0      ob  Ljava/lang/invoke/VarHandle;
            0    5     1  holder  Ljava/lang/Object;
            0    5     2   value  C
            1    5     3  handle  Ljava/lang/invoke/VarHandleChars$FieldInstanceReadWrite;
    RuntimeVisibleAnnotations: 
      jdk.internal.vm.annotation.ForceInline()
    MethodParameters:
        Name  Flags
      ob      
      holder  
      value   

  static char getAndBitwiseAndRelease(java.lang.invoke.VarHandle, java.lang.Object, char);
    descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;C)C
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // java.lang.invoke.VarHandle ob
        start local 1 // java.lang.Object holder
        start local 2 // char value
         0: .line 330
            aload 0 /* ob */
            checkcast java.lang.invoke.VarHandleChars$FieldInstanceReadWrite
            astore 3 /* handle */
        start local 3 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite handle
         1: .line 331
            getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 3 /* handle */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.receiverType:Ljava/lang/Class;
            aload 1 /* holder */
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
         2: .line 332
            aload 3 /* handle */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.fieldOffset:J
         3: .line 333
            iload 2 /* value */
         4: .line 331
            invokevirtual jdk.internal.misc.Unsafe.getAndBitwiseAndCharRelease:(Ljava/lang/Object;JC)C
            ireturn
        end local 3 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite handle
        end local 2 // char value
        end local 1 // java.lang.Object holder
        end local 0 // java.lang.invoke.VarHandle ob
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0      ob  Ljava/lang/invoke/VarHandle;
            0    5     1  holder  Ljava/lang/Object;
            0    5     2   value  C
            1    5     3  handle  Ljava/lang/invoke/VarHandleChars$FieldInstanceReadWrite;
    RuntimeVisibleAnnotations: 
      jdk.internal.vm.annotation.ForceInline()
    MethodParameters:
        Name  Flags
      ob      
      holder  
      value   

  static char getAndBitwiseAndAcquire(java.lang.invoke.VarHandle, java.lang.Object, char);
    descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;C)C
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // java.lang.invoke.VarHandle ob
        start local 1 // java.lang.Object holder
        start local 2 // char value
         0: .line 338
            aload 0 /* ob */
            checkcast java.lang.invoke.VarHandleChars$FieldInstanceReadWrite
            astore 3 /* handle */
        start local 3 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite handle
         1: .line 339
            getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 3 /* handle */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.receiverType:Ljava/lang/Class;
            aload 1 /* holder */
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
         2: .line 340
            aload 3 /* handle */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.fieldOffset:J
         3: .line 341
            iload 2 /* value */
         4: .line 339
            invokevirtual jdk.internal.misc.Unsafe.getAndBitwiseAndCharAcquire:(Ljava/lang/Object;JC)C
            ireturn
        end local 3 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite handle
        end local 2 // char value
        end local 1 // java.lang.Object holder
        end local 0 // java.lang.invoke.VarHandle ob
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0      ob  Ljava/lang/invoke/VarHandle;
            0    5     1  holder  Ljava/lang/Object;
            0    5     2   value  C
            1    5     3  handle  Ljava/lang/invoke/VarHandleChars$FieldInstanceReadWrite;
    RuntimeVisibleAnnotations: 
      jdk.internal.vm.annotation.ForceInline()
    MethodParameters:
        Name  Flags
      ob      
      holder  
      value   

  static char getAndBitwiseXor(java.lang.invoke.VarHandle, java.lang.Object, char);
    descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;C)C
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // java.lang.invoke.VarHandle ob
        start local 1 // java.lang.Object holder
        start local 2 // char value
         0: .line 346
            aload 0 /* ob */
            checkcast java.lang.invoke.VarHandleChars$FieldInstanceReadWrite
            astore 3 /* handle */
        start local 3 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite handle
         1: .line 347
            getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 3 /* handle */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.receiverType:Ljava/lang/Class;
            aload 1 /* holder */
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
         2: .line 348
            aload 3 /* handle */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.fieldOffset:J
         3: .line 349
            iload 2 /* value */
         4: .line 347
            invokevirtual jdk.internal.misc.Unsafe.getAndBitwiseXorChar:(Ljava/lang/Object;JC)C
            ireturn
        end local 3 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite handle
        end local 2 // char value
        end local 1 // java.lang.Object holder
        end local 0 // java.lang.invoke.VarHandle ob
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0      ob  Ljava/lang/invoke/VarHandle;
            0    5     1  holder  Ljava/lang/Object;
            0    5     2   value  C
            1    5     3  handle  Ljava/lang/invoke/VarHandleChars$FieldInstanceReadWrite;
    RuntimeVisibleAnnotations: 
      jdk.internal.vm.annotation.ForceInline()
    MethodParameters:
        Name  Flags
      ob      
      holder  
      value   

  static char getAndBitwiseXorRelease(java.lang.invoke.VarHandle, java.lang.Object, char);
    descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;C)C
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // java.lang.invoke.VarHandle ob
        start local 1 // java.lang.Object holder
        start local 2 // char value
         0: .line 354
            aload 0 /* ob */
            checkcast java.lang.invoke.VarHandleChars$FieldInstanceReadWrite
            astore 3 /* handle */
        start local 3 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite handle
         1: .line 355
            getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 3 /* handle */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.receiverType:Ljava/lang/Class;
            aload 1 /* holder */
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
         2: .line 356
            aload 3 /* handle */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.fieldOffset:J
         3: .line 357
            iload 2 /* value */
         4: .line 355
            invokevirtual jdk.internal.misc.Unsafe.getAndBitwiseXorCharRelease:(Ljava/lang/Object;JC)C
            ireturn
        end local 3 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite handle
        end local 2 // char value
        end local 1 // java.lang.Object holder
        end local 0 // java.lang.invoke.VarHandle ob
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0      ob  Ljava/lang/invoke/VarHandle;
            0    5     1  holder  Ljava/lang/Object;
            0    5     2   value  C
            1    5     3  handle  Ljava/lang/invoke/VarHandleChars$FieldInstanceReadWrite;
    RuntimeVisibleAnnotations: 
      jdk.internal.vm.annotation.ForceInline()
    MethodParameters:
        Name  Flags
      ob      
      holder  
      value   

  static char getAndBitwiseXorAcquire(java.lang.invoke.VarHandle, java.lang.Object, char);
    descriptor: (Ljava/lang/invoke/VarHandle;Ljava/lang/Object;C)C
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // java.lang.invoke.VarHandle ob
        start local 1 // java.lang.Object holder
        start local 2 // char value
         0: .line 362
            aload 0 /* ob */
            checkcast java.lang.invoke.VarHandleChars$FieldInstanceReadWrite
            astore 3 /* handle */
        start local 3 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite handle
         1: .line 363
            getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 3 /* handle */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.receiverType:Ljava/lang/Class;
            aload 1 /* holder */
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
         2: .line 364
            aload 3 /* handle */
            getfield java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.fieldOffset:J
         3: .line 365
            iload 2 /* value */
         4: .line 363
            invokevirtual jdk.internal.misc.Unsafe.getAndBitwiseXorCharAcquire:(Ljava/lang/Object;JC)C
            ireturn
        end local 3 // java.lang.invoke.VarHandleChars$FieldInstanceReadWrite handle
        end local 2 // char value
        end local 1 // java.lang.Object holder
        end local 0 // java.lang.invoke.VarHandle ob
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0      ob  Ljava/lang/invoke/VarHandle;
            0    5     1  holder  Ljava/lang/Object;
            0    5     2   value  C
            1    5     3  handle  Ljava/lang/invoke/VarHandleChars$FieldInstanceReadWrite;
    RuntimeVisibleAnnotations: 
      jdk.internal.vm.annotation.ForceInline()
    MethodParameters:
        Name  Flags
      ob      
      holder  
      value   

  public java.lang.invoke.VarHandleChars$FieldInstanceReadOnly withInvokeExactBehavior();
    descriptor: ()Ljava/lang/invoke/VarHandleChars$FieldInstanceReadOnly;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.withInvokeExactBehavior:()Ljava/lang/invoke/VarHandleChars$FieldInstanceReadWrite;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.lang.invoke.VarHandle withInvokeExactBehavior();
    descriptor: ()Ljava/lang/invoke/VarHandle;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.withInvokeExactBehavior:()Ljava/lang/invoke/VarHandleChars$FieldInstanceReadWrite;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.lang.invoke.VarHandleChars$FieldInstanceReadOnly withInvokeBehavior();
    descriptor: ()Ljava/lang/invoke/VarHandleChars$FieldInstanceReadOnly;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.withInvokeBehavior:()Ljava/lang/invoke/VarHandleChars$FieldInstanceReadWrite;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.lang.invoke.VarHandle withInvokeBehavior();
    descriptor: ()Ljava/lang/invoke/VarHandle;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual java.lang.invoke.VarHandleChars$FieldInstanceReadWrite.withInvokeBehavior:()Ljava/lang/invoke/VarHandleChars$FieldInstanceReadWrite;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "VarHandleChars.java"
NestHost: java.lang.invoke.VarHandleChars
InnerClasses:
  FieldInstanceReadOnly = java.lang.invoke.VarHandleChars$FieldInstanceReadOnly of java.lang.invoke.VarHandleChars
  final FieldInstanceReadWrite = java.lang.invoke.VarHandleChars$FieldInstanceReadWrite of java.lang.invoke.VarHandleChars