class java.nio.DirectByteBuffer extends java.nio.MappedByteBuffer implements sun.nio.ch.DirectBuffer
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: java.nio.DirectByteBuffer
  super_class: java.nio.MappedByteBuffer
{
  protected static final sun.misc.Unsafe unsafe;
    descriptor: Lsun/misc/Unsafe;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  private static final long arrayBaseOffset;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  protected static final boolean unaligned;
    descriptor: Z
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  private final java.lang.Object att;
    descriptor: Ljava/lang/Object;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final sun.misc.Cleaner cleaner;
    descriptor: Lsun/misc/Cleaner;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 37
            ldc Ljava/nio/DirectByteBuffer;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic java.nio.DirectByteBuffer.$assertionsDisabled:Z
         3: .line 49
            invokestatic java.nio.Bits.unsafe:()Lsun/misc/Unsafe;
            putstatic java.nio.DirectByteBuffer.unsafe:Lsun/misc/Unsafe;
         4: .line 52
            getstatic java.nio.DirectByteBuffer.unsafe:Lsun/misc/Unsafe;
            ldc [B
            invokevirtual sun.misc.Unsafe.arrayBaseOffset:(Ljava/lang/Class;)I
            i2l
            putstatic java.nio.DirectByteBuffer.arrayBaseOffset:J
         5: .line 55
            invokestatic java.nio.Bits.unaligned:()Z
            putstatic java.nio.DirectByteBuffer.unaligned:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.lang.Object attachment();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.nio.DirectByteBuffer this
         0: .line 67
            aload 0 /* this */
            getfield java.nio.DirectByteBuffer.att:Ljava/lang/Object;
            areturn
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/nio/DirectByteBuffer;

  public sun.misc.Cleaner cleaner();
    descriptor: ()Lsun/misc/Cleaner;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.nio.DirectByteBuffer this
         0: .line 103
            aload 0 /* this */
            getfield java.nio.DirectByteBuffer.cleaner:Lsun/misc/Cleaner;
            areturn
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/nio/DirectByteBuffer;

  void <init>(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=9, locals=9, args_size=2
        start local 0 // java.nio.DirectByteBuffer this
        start local 1 // int cap
         0: .line 119
            aload 0 /* this */
            iconst_m1
            iconst_0
            iload 1 /* cap */
            iload 1 /* cap */
            invokespecial java.nio.MappedByteBuffer.<init>:(IIII)V
         1: .line 120
            invokestatic sun.misc.VM.isDirectMemoryPageAligned:()Z
            istore 2 /* pa */
        start local 2 // boolean pa
         2: .line 121
            invokestatic java.nio.Bits.pageSize:()I
            istore 3 /* ps */
        start local 3 // int ps
         3: .line 122
            lconst_1
            iload 1 /* cap */
            i2l
            iload 2 /* pa */
            ifeq 4
            iload 3 /* ps */
            goto 5
      StackMap locals: java.nio.DirectByteBuffer int int int
      StackMap stack: long long
         4: iconst_0
      StackMap locals: java.nio.DirectByteBuffer int int int
      StackMap stack: long long int
         5: i2l
            ladd
            invokestatic java.lang.Math.max:(JJ)J
            lstore 4 /* size */
        start local 4 // long size
         6: .line 123
            lload 4 /* size */
            iload 1 /* cap */
            invokestatic java.nio.Bits.reserveMemory:(JI)V
         7: .line 125
            lconst_0
            lstore 6 /* base */
        start local 6 // long base
         8: .line 127
            getstatic java.nio.DirectByteBuffer.unsafe:Lsun/misc/Unsafe;
            lload 4 /* size */
            invokevirtual sun.misc.Unsafe.allocateMemory:(J)J
            lstore 6 /* base */
         9: .line 128
            goto 13
      StackMap locals: java.nio.DirectByteBuffer int int int long long
      StackMap stack: java.lang.OutOfMemoryError
        10: astore 8 /* x */
        start local 8 // java.lang.OutOfMemoryError x
        11: .line 129
            lload 4 /* size */
            iload 1 /* cap */
            invokestatic java.nio.Bits.unreserveMemory:(JI)V
        12: .line 130
            aload 8 /* x */
            athrow
        end local 8 // java.lang.OutOfMemoryError x
        13: .line 132
      StackMap locals:
      StackMap stack:
            getstatic java.nio.DirectByteBuffer.unsafe:Lsun/misc/Unsafe;
            lload 6 /* base */
            lload 4 /* size */
            iconst_0
            invokevirtual sun.misc.Unsafe.setMemory:(JJB)V
        14: .line 133
            iload 2 /* pa */
            ifeq 17
            lload 6 /* base */
            iload 3 /* ps */
            i2l
            lrem
            lconst_0
            lcmp
            ifeq 17
        15: .line 135
            aload 0 /* this */
            lload 6 /* base */
            iload 3 /* ps */
            i2l
            ladd
            lload 6 /* base */
            iload 3 /* ps */
            iconst_1
            isub
            i2l
            land
            lsub
            putfield java.nio.DirectByteBuffer.address:J
        16: .line 136
            goto 18
        17: .line 137
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 6 /* base */
            putfield java.nio.DirectByteBuffer.address:J
        18: .line 139
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            new java.nio.DirectByteBuffer$Deallocator
            dup
            lload 6 /* base */
            lload 4 /* size */
            iload 1 /* cap */
            invokespecial java.nio.DirectByteBuffer$Deallocator.<init>:(JJI)V
            invokestatic sun.misc.Cleaner.create:(Ljava/lang/Object;Ljava/lang/Runnable;)Lsun/misc/Cleaner;
            putfield java.nio.DirectByteBuffer.cleaner:Lsun/misc/Cleaner;
        19: .line 140
            aload 0 /* this */
            aconst_null
            putfield java.nio.DirectByteBuffer.att:Ljava/lang/Object;
        20: .line 144
            return
        end local 6 // long base
        end local 4 // long size
        end local 3 // int ps
        end local 2 // boolean pa
        end local 1 // int cap
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   21     0  this  Ljava/nio/DirectByteBuffer;
            0   21     1   cap  I
            2   21     2    pa  Z
            3   21     3    ps  I
            6   21     4  size  J
            8   21     6  base  J
           11   13     8     x  Ljava/lang/OutOfMemoryError;
      Exception table:
        from    to  target  type
           8     9      10  Class java.lang.OutOfMemoryError
    MethodParameters:
      Name  Flags
      cap   

  void <init>(long, int, java.lang.Object);
    descriptor: (JILjava/lang/Object;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // java.nio.DirectByteBuffer this
        start local 1 // long addr
        start local 3 // int cap
        start local 4 // java.lang.Object ob
         0: .line 152
            aload 0 /* this */
            iconst_m1
            iconst_0
            iload 3 /* cap */
            iload 3 /* cap */
            invokespecial java.nio.MappedByteBuffer.<init>:(IIII)V
         1: .line 153
            aload 0 /* this */
            lload 1 /* addr */
            putfield java.nio.DirectByteBuffer.address:J
         2: .line 154
            aload 0 /* this */
            aconst_null
            putfield java.nio.DirectByteBuffer.cleaner:Lsun/misc/Cleaner;
         3: .line 155
            aload 0 /* this */
            aload 4 /* ob */
            putfield java.nio.DirectByteBuffer.att:Ljava/lang/Object;
         4: .line 156
            return
        end local 4 // java.lang.Object ob
        end local 3 // int cap
        end local 1 // long addr
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljava/nio/DirectByteBuffer;
            0    5     1  addr  J
            0    5     3   cap  I
            0    5     4    ob  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      addr  
      cap   
      ob    

  private void <init>(long, int);
    descriptor: (JI)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // java.nio.DirectByteBuffer this
        start local 1 // long addr
        start local 3 // int cap
         0: .line 162
            aload 0 /* this */
            iconst_m1
            iconst_0
            iload 3 /* cap */
            iload 3 /* cap */
            invokespecial java.nio.MappedByteBuffer.<init>:(IIII)V
         1: .line 163
            aload 0 /* this */
            lload 1 /* addr */
            putfield java.nio.DirectByteBuffer.address:J
         2: .line 164
            aload 0 /* this */
            aconst_null
            putfield java.nio.DirectByteBuffer.cleaner:Lsun/misc/Cleaner;
         3: .line 165
            aload 0 /* this */
            aconst_null
            putfield java.nio.DirectByteBuffer.att:Ljava/lang/Object;
         4: .line 166
            return
        end local 3 // int cap
        end local 1 // long addr
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljava/nio/DirectByteBuffer;
            0    5     1  addr  J
            0    5     3   cap  I
    MethodParameters:
      Name  Flags
      addr  
      cap   

  protected void <init>(int, long, java.io.FileDescriptor, java.lang.Runnable);
    descriptor: (IJLjava/io/FileDescriptor;Ljava/lang/Runnable;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=6, args_size=5
        start local 0 // java.nio.DirectByteBuffer this
        start local 1 // int cap
        start local 2 // long addr
        start local 4 // java.io.FileDescriptor fd
        start local 5 // java.lang.Runnable unmapper
         0: .line 177
            aload 0 /* this */
            iconst_m1
            iconst_0
            iload 1 /* cap */
            iload 1 /* cap */
            aload 4 /* fd */
            invokespecial java.nio.MappedByteBuffer.<init>:(IIIILjava/io/FileDescriptor;)V
         1: .line 178
            aload 0 /* this */
            lload 2 /* addr */
            putfield java.nio.DirectByteBuffer.address:J
         2: .line 179
            aload 0 /* this */
            aload 0 /* this */
            aload 5 /* unmapper */
            invokestatic sun.misc.Cleaner.create:(Ljava/lang/Object;Ljava/lang/Runnable;)Lsun/misc/Cleaner;
            putfield java.nio.DirectByteBuffer.cleaner:Lsun/misc/Cleaner;
         3: .line 180
            aload 0 /* this */
            aconst_null
            putfield java.nio.DirectByteBuffer.att:Ljava/lang/Object;
         4: .line 184
            return
        end local 5 // java.lang.Runnable unmapper
        end local 4 // java.io.FileDescriptor fd
        end local 2 // long addr
        end local 1 // int cap
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Ljava/nio/DirectByteBuffer;
            0    5     1       cap  I
            0    5     2      addr  J
            0    5     4        fd  Ljava/io/FileDescriptor;
            0    5     5  unmapper  Ljava/lang/Runnable;
    MethodParameters:
          Name  Flags
      cap       
      addr      
      fd        
      unmapper  

  void <init>(sun.nio.ch.DirectBuffer, int, int, int, int, int);
    descriptor: (Lsun/nio/ch/DirectBuffer;IIIII)V
    flags: (0x0000) 
    Code:
      stack=5, locals=7, args_size=7
        start local 0 // java.nio.DirectByteBuffer this
        start local 1 // sun.nio.ch.DirectBuffer db
        start local 2 // int mark
        start local 3 // int pos
        start local 4 // int lim
        start local 5 // int cap
        start local 6 // int off
         0: .line 195
            aload 0 /* this */
            iload 2 /* mark */
            iload 3 /* pos */
            iload 4 /* lim */
            iload 5 /* cap */
            invokespecial java.nio.MappedByteBuffer.<init>:(IIII)V
         1: .line 196
            aload 0 /* this */
            aload 1 /* db */
            invokeinterface sun.nio.ch.DirectBuffer.address:()J
            iload 6 /* off */
            i2l
            ladd
            putfield java.nio.DirectByteBuffer.address:J
         2: .line 198
            aload 0 /* this */
            aconst_null
            putfield java.nio.DirectByteBuffer.cleaner:Lsun/misc/Cleaner;
         3: .line 200
            aload 0 /* this */
            aload 1 /* db */
            putfield java.nio.DirectByteBuffer.att:Ljava/lang/Object;
         4: .line 204
            return
        end local 6 // int off
        end local 5 // int cap
        end local 4 // int lim
        end local 3 // int pos
        end local 2 // int mark
        end local 1 // sun.nio.ch.DirectBuffer db
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljava/nio/DirectByteBuffer;
            0    5     1    db  Lsun/nio/ch/DirectBuffer;
            0    5     2  mark  I
            0    5     3   pos  I
            0    5     4   lim  I
            0    5     5   cap  I
            0    5     6   off  I
    MethodParameters:
      Name  Flags
      db    
      mark  
      pos   
      lim   
      cap   
      off   

  public java.nio.ByteBuffer slice();
    descriptor: ()Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=5, args_size=1
        start local 0 // java.nio.DirectByteBuffer this
         0: .line 207
            aload 0 /* this */
            invokevirtual java.nio.DirectByteBuffer.position:()I
            istore 1 /* pos */
        start local 1 // int pos
         1: .line 208
            aload 0 /* this */
            invokevirtual java.nio.DirectByteBuffer.limit:()I
            istore 2 /* lim */
        start local 2 // int lim
         2: .line 209
            iload 1 /* pos */
            iload 2 /* lim */
            if_icmpgt 3
            iload 2 /* lim */
            iload 1 /* pos */
            isub
            goto 4
      StackMap locals: int int
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: istore 3 /* rem */
        start local 3 // int rem
         5: .line 210
            iload 1 /* pos */
            iconst_0
            ishl
            istore 4 /* off */
        start local 4 // int off
         6: .line 211
            getstatic java.nio.DirectByteBuffer.$assertionsDisabled:Z
            ifne 7
            iload 4 /* off */
            ifge 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 212
      StackMap locals: int int
      StackMap stack:
            new java.nio.DirectByteBuffer
            dup
            aload 0 /* this */
            iconst_m1
            iconst_0
            iload 3 /* rem */
            iload 3 /* rem */
            iload 4 /* off */
            invokespecial java.nio.DirectByteBuffer.<init>:(Lsun/nio/ch/DirectBuffer;IIIII)V
            areturn
        end local 4 // int off
        end local 3 // int rem
        end local 2 // int lim
        end local 1 // int pos
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljava/nio/DirectByteBuffer;
            1    8     1   pos  I
            2    8     2   lim  I
            5    8     3   rem  I
            6    8     4   off  I

  public java.nio.ByteBuffer duplicate();
    descriptor: ()Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=1, args_size=1
        start local 0 // java.nio.DirectByteBuffer this
         0: .line 216
            new java.nio.DirectByteBuffer
            dup
            aload 0 /* this */
         1: .line 217
            aload 0 /* this */
            invokevirtual java.nio.DirectByteBuffer.markValue:()I
         2: .line 218
            aload 0 /* this */
            invokevirtual java.nio.DirectByteBuffer.position:()I
         3: .line 219
            aload 0 /* this */
            invokevirtual java.nio.DirectByteBuffer.limit:()I
         4: .line 220
            aload 0 /* this */
            invokevirtual java.nio.DirectByteBuffer.capacity:()I
         5: .line 221
            iconst_0
         6: .line 216
            invokespecial java.nio.DirectByteBuffer.<init>:(Lsun/nio/ch/DirectBuffer;IIIII)V
            areturn
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljava/nio/DirectByteBuffer;

  public java.nio.ByteBuffer asReadOnlyBuffer();
    descriptor: ()Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=1, args_size=1
        start local 0 // java.nio.DirectByteBuffer this
         0: .line 226
            new java.nio.DirectByteBufferR
            dup
            aload 0 /* this */
         1: .line 227
            aload 0 /* this */
            invokevirtual java.nio.DirectByteBuffer.markValue:()I
         2: .line 228
            aload 0 /* this */
            invokevirtual java.nio.DirectByteBuffer.position:()I
         3: .line 229
            aload 0 /* this */
            invokevirtual java.nio.DirectByteBuffer.limit:()I
         4: .line 230
            aload 0 /* this */
            invokevirtual java.nio.DirectByteBuffer.capacity:()I
         5: .line 231
            iconst_0
         6: .line 226
            invokespecial java.nio.DirectByteBufferR.<init>:(Lsun/nio/ch/DirectBuffer;IIIII)V
            areturn
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljava/nio/DirectByteBuffer;

  public long address();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.nio.DirectByteBuffer this
         0: .line 240
            aload 0 /* this */
            getfield java.nio.DirectByteBuffer.address:J
            lreturn
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/nio/DirectByteBuffer;

  private long ix(int);
    descriptor: (I)J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.nio.DirectByteBuffer this
        start local 1 // int i
         0: .line 244
            aload 0 /* this */
            getfield java.nio.DirectByteBuffer.address:J
            iload 1 /* i */
            i2l
            iconst_0
            lshl
            ladd
            lreturn
        end local 1 // int i
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/nio/DirectByteBuffer;
            0    1     1     i  I
    MethodParameters:
      Name  Flags
      i     

  public byte get();
    descriptor: ()B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.nio.DirectByteBuffer this
         0: .line 248
            getstatic java.nio.DirectByteBuffer.unsafe:Lsun/misc/Unsafe;
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual java.nio.DirectByteBuffer.nextGetIndex:()I
            invokevirtual java.nio.DirectByteBuffer.ix:(I)J
            invokevirtual sun.misc.Unsafe.getByte:(J)B
            ireturn
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/nio/DirectByteBuffer;

  public byte get(int);
    descriptor: (I)B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.nio.DirectByteBuffer this
        start local 1 // int i
         0: .line 252
            getstatic java.nio.DirectByteBuffer.unsafe:Lsun/misc/Unsafe;
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* i */
            invokevirtual java.nio.DirectByteBuffer.checkIndex:(I)I
            invokevirtual java.nio.DirectByteBuffer.ix:(I)J
            invokevirtual sun.misc.Unsafe.getByte:(J)B
            ireturn
        end local 1 // int i
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/nio/DirectByteBuffer;
            0    1     1     i  I
    MethodParameters:
      Name  Flags
      i     

  public java.nio.ByteBuffer get(byte[], int, int);
    descriptor: ([BII)Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=7, args_size=4
        start local 0 // java.nio.DirectByteBuffer this
        start local 1 // byte[] dst
        start local 2 // int offset
        start local 3 // int length
         0: .line 263
            iload 3 /* length */
            i2l
            iconst_0
            lshl
            ldc 6
            lcmp
            ifle 16
         1: .line 264
            iload 2 /* offset */
            iload 3 /* length */
            aload 1 /* dst */
            arraylength
            invokestatic java.nio.DirectByteBuffer.checkBounds:(III)V
         2: .line 265
            aload 0 /* this */
            invokevirtual java.nio.DirectByteBuffer.position:()I
            istore 4 /* pos */
        start local 4 // int pos
         3: .line 266
            aload 0 /* this */
            invokevirtual java.nio.DirectByteBuffer.limit:()I
            istore 5 /* lim */
        start local 5 // int lim
         4: .line 267
            getstatic java.nio.DirectByteBuffer.$assertionsDisabled:Z
            ifne 5
            iload 4 /* pos */
            iload 5 /* lim */
            if_icmple 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 268
      StackMap locals: int int
      StackMap stack:
            iload 4 /* pos */
            iload 5 /* lim */
            if_icmpgt 6
            iload 5 /* lim */
            iload 4 /* pos */
            isub
            goto 7
      StackMap locals:
      StackMap stack:
         6: iconst_0
      StackMap locals:
      StackMap stack: int
         7: istore 6 /* rem */
        start local 6 // int rem
         8: .line 269
            iload 3 /* length */
            iload 6 /* rem */
            if_icmple 10
         9: .line 270
            new java.nio.BufferUnderflowException
            dup
            invokespecial java.nio.BufferUnderflowException.<init>:()V
            athrow
        10: .line 279
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 4 /* pos */
            invokevirtual java.nio.DirectByteBuffer.ix:(I)J
            aload 1 /* dst */
            getstatic java.nio.DirectByteBuffer.arrayBaseOffset:J
        11: .line 280
            iload 2 /* offset */
            i2l
            iconst_0
            lshl
        12: .line 281
            iload 3 /* length */
            i2l
            iconst_0
            lshl
        13: .line 279
            invokestatic java.nio.Bits.copyToArray:(JLjava/lang/Object;JJJ)V
        14: .line 282
            aload 0 /* this */
            iload 4 /* pos */
            iload 3 /* length */
            iadd
            invokevirtual java.nio.DirectByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        end local 6 // int rem
        end local 5 // int lim
        end local 4 // int pos
        15: .line 283
            goto 17
        16: .line 284
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* dst */
            iload 2 /* offset */
            iload 3 /* length */
            invokespecial java.nio.MappedByteBuffer.get:([BII)Ljava/nio/ByteBuffer;
            pop
        17: .line 286
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 3 // int length
        end local 2 // int offset
        end local 1 // byte[] dst
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   18     0    this  Ljava/nio/DirectByteBuffer;
            0   18     1     dst  [B
            0   18     2  offset  I
            0   18     3  length  I
            3   15     4     pos  I
            4   15     5     lim  I
            8   15     6     rem  I
    MethodParameters:
        Name  Flags
      dst     
      offset  
      length  

  public java.nio.ByteBuffer put(byte);
    descriptor: (B)Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.nio.DirectByteBuffer this
        start local 1 // byte x
         0: .line 296
            getstatic java.nio.DirectByteBuffer.unsafe:Lsun/misc/Unsafe;
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual java.nio.DirectByteBuffer.nextPutIndex:()I
            invokevirtual java.nio.DirectByteBuffer.ix:(I)J
            iload 1 /* x */
            invokevirtual sun.misc.Unsafe.putByte:(JB)V
         1: .line 297
            aload 0 /* this */
            areturn
        end local 1 // byte x
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/nio/DirectByteBuffer;
            0    2     1     x  B
    MethodParameters:
      Name  Flags
      x     

  public java.nio.ByteBuffer put(int, byte);
    descriptor: (IB)Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.nio.DirectByteBuffer this
        start local 1 // int i
        start local 2 // byte x
         0: .line 305
            getstatic java.nio.DirectByteBuffer.unsafe:Lsun/misc/Unsafe;
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* i */
            invokevirtual java.nio.DirectByteBuffer.checkIndex:(I)I
            invokevirtual java.nio.DirectByteBuffer.ix:(I)J
            iload 2 /* x */
            invokevirtual sun.misc.Unsafe.putByte:(JB)V
         1: .line 306
            aload 0 /* this */
            areturn
        end local 2 // byte x
        end local 1 // int i
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/nio/DirectByteBuffer;
            0    2     1     i  I
            0    2     2     x  B
    MethodParameters:
      Name  Flags
      i     
      x     

  public java.nio.ByteBuffer put(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=9, args_size=2
        start local 0 // java.nio.DirectByteBuffer this
        start local 1 // java.nio.ByteBuffer src
         0: .line 314
            aload 1 /* src */
            instanceof java.nio.DirectByteBuffer
            ifeq 22
         1: .line 315
            aload 1 /* src */
            aload 0 /* this */
            if_acmpne 3
         2: .line 316
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
         3: .line 317
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            checkcast java.nio.DirectByteBuffer
            astore 2 /* sb */
        start local 2 // java.nio.DirectByteBuffer sb
         4: .line 319
            aload 2 /* sb */
            invokevirtual java.nio.DirectByteBuffer.position:()I
            istore 3 /* spos */
        start local 3 // int spos
         5: .line 320
            aload 2 /* sb */
            invokevirtual java.nio.DirectByteBuffer.limit:()I
            istore 4 /* slim */
        start local 4 // int slim
         6: .line 321
            getstatic java.nio.DirectByteBuffer.$assertionsDisabled:Z
            ifne 7
            iload 3 /* spos */
            iload 4 /* slim */
            if_icmple 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 322
      StackMap locals: java.nio.DirectByteBuffer int int
      StackMap stack:
            iload 3 /* spos */
            iload 4 /* slim */
            if_icmpgt 8
            iload 4 /* slim */
            iload 3 /* spos */
            isub
            goto 9
      StackMap locals:
      StackMap stack:
         8: iconst_0
      StackMap locals:
      StackMap stack: int
         9: istore 5 /* srem */
        start local 5 // int srem
        10: .line 324
            aload 0 /* this */
            invokevirtual java.nio.DirectByteBuffer.position:()I
            istore 6 /* pos */
        start local 6 // int pos
        11: .line 325
            aload 0 /* this */
            invokevirtual java.nio.DirectByteBuffer.limit:()I
            istore 7 /* lim */
        start local 7 // int lim
        12: .line 326
            getstatic java.nio.DirectByteBuffer.$assertionsDisabled:Z
            ifne 13
            iload 6 /* pos */
            iload 7 /* lim */
            if_icmple 13
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        13: .line 327
      StackMap locals: int int int
      StackMap stack:
            iload 6 /* pos */
            iload 7 /* lim */
            if_icmpgt 14
            iload 7 /* lim */
            iload 6 /* pos */
            isub
            goto 15
      StackMap locals:
      StackMap stack:
        14: iconst_0
      StackMap locals:
      StackMap stack: int
        15: istore 8 /* rem */
        start local 8 // int rem
        16: .line 329
            iload 5 /* srem */
            iload 8 /* rem */
            if_icmple 18
        17: .line 330
            new java.nio.BufferOverflowException
            dup
            invokespecial java.nio.BufferOverflowException.<init>:()V
            athrow
        18: .line 331
      StackMap locals: int
      StackMap stack:
            getstatic java.nio.DirectByteBuffer.unsafe:Lsun/misc/Unsafe;
            aload 2 /* sb */
            iload 3 /* spos */
            invokevirtual java.nio.DirectByteBuffer.ix:(I)J
            aload 0 /* this */
            iload 6 /* pos */
            invokevirtual java.nio.DirectByteBuffer.ix:(I)J
            iload 5 /* srem */
            i2l
            iconst_0
            lshl
            invokevirtual sun.misc.Unsafe.copyMemory:(JJJ)V
        19: .line 332
            aload 2 /* sb */
            iload 3 /* spos */
            iload 5 /* srem */
            iadd
            invokevirtual java.nio.DirectByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        20: .line 333
            aload 0 /* this */
            iload 6 /* pos */
            iload 5 /* srem */
            iadd
            invokevirtual java.nio.DirectByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        end local 8 // int rem
        end local 7 // int lim
        end local 6 // int pos
        end local 5 // int srem
        end local 4 // int slim
        end local 3 // int spos
        end local 2 // java.nio.DirectByteBuffer sb
        21: .line 334
            goto 33
      StackMap locals: java.nio.DirectByteBuffer java.nio.ByteBuffer
      StackMap stack:
        22: aload 1 /* src */
            getfield java.nio.ByteBuffer.hb:[B
            ifnull 32
        23: .line 336
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.position:()I
            istore 2 /* spos */
        start local 2 // int spos
        24: .line 337
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.limit:()I
            istore 3 /* slim */
        start local 3 // int slim
        25: .line 338
            getstatic java.nio.DirectByteBuffer.$assertionsDisabled:Z
            ifne 26
            iload 2 /* spos */
            iload 3 /* slim */
            if_icmple 26
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        26: .line 339
      StackMap locals: int int
      StackMap stack:
            iload 2 /* spos */
            iload 3 /* slim */
            if_icmpgt 27
            iload 3 /* slim */
            iload 2 /* spos */
            isub
            goto 28
      StackMap locals:
      StackMap stack:
        27: iconst_0
      StackMap locals:
      StackMap stack: int
        28: istore 4 /* srem */
        start local 4 // int srem
        29: .line 341
            aload 0 /* this */
            aload 1 /* src */
            getfield java.nio.ByteBuffer.hb:[B
            aload 1 /* src */
            getfield java.nio.ByteBuffer.offset:I
            iload 2 /* spos */
            iadd
            iload 4 /* srem */
            invokevirtual java.nio.DirectByteBuffer.put:([BII)Ljava/nio/ByteBuffer;
            pop
        30: .line 342
            aload 1 /* src */
            iload 2 /* spos */
            iload 4 /* srem */
            iadd
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        end local 4 // int srem
        end local 3 // int slim
        end local 2 // int spos
        31: .line 344
            goto 33
        32: .line 345
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* src */
            invokespecial java.nio.MappedByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
            pop
        33: .line 347
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 1 // java.nio.ByteBuffer src
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   34     0  this  Ljava/nio/DirectByteBuffer;
            0   34     1   src  Ljava/nio/ByteBuffer;
            4   21     2    sb  Ljava/nio/DirectByteBuffer;
            5   21     3  spos  I
            6   21     4  slim  I
           10   21     5  srem  I
           11   21     6   pos  I
           12   21     7   lim  I
           16   21     8   rem  I
           24   31     2  spos  I
           25   31     3  slim  I
           29   31     4  srem  I
    MethodParameters:
      Name  Flags
      src   

  public java.nio.ByteBuffer put(byte[], int, int);
    descriptor: ([BII)Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=7, args_size=4
        start local 0 // java.nio.DirectByteBuffer this
        start local 1 // byte[] src
        start local 2 // int offset
        start local 3 // int length
         0: .line 355
            iload 3 /* length */
            i2l
            iconst_0
            lshl
            ldc 6
            lcmp
            ifle 17
         1: .line 356
            iload 2 /* offset */
            iload 3 /* length */
            aload 1 /* src */
            arraylength
            invokestatic java.nio.DirectByteBuffer.checkBounds:(III)V
         2: .line 357
            aload 0 /* this */
            invokevirtual java.nio.DirectByteBuffer.position:()I
            istore 4 /* pos */
        start local 4 // int pos
         3: .line 358
            aload 0 /* this */
            invokevirtual java.nio.DirectByteBuffer.limit:()I
            istore 5 /* lim */
        start local 5 // int lim
         4: .line 359
            getstatic java.nio.DirectByteBuffer.$assertionsDisabled:Z
            ifne 5
            iload 4 /* pos */
            iload 5 /* lim */
            if_icmple 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 360
      StackMap locals: int int
      StackMap stack:
            iload 4 /* pos */
            iload 5 /* lim */
            if_icmpgt 6
            iload 5 /* lim */
            iload 4 /* pos */
            isub
            goto 7
      StackMap locals:
      StackMap stack:
         6: iconst_0
      StackMap locals:
      StackMap stack: int
         7: istore 6 /* rem */
        start local 6 // int rem
         8: .line 361
            iload 3 /* length */
            iload 6 /* rem */
            if_icmple 10
         9: .line 362
            new java.nio.BufferOverflowException
            dup
            invokespecial java.nio.BufferOverflowException.<init>:()V
            athrow
        10: .line 372
      StackMap locals: int
      StackMap stack:
            aload 1 /* src */
            getstatic java.nio.DirectByteBuffer.arrayBaseOffset:J
        11: .line 373
            iload 2 /* offset */
            i2l
            iconst_0
            lshl
        12: .line 374
            aload 0 /* this */
            iload 4 /* pos */
            invokevirtual java.nio.DirectByteBuffer.ix:(I)J
        13: .line 375
            iload 3 /* length */
            i2l
            iconst_0
            lshl
        14: .line 372
            invokestatic java.nio.Bits.copyFromArray:(Ljava/lang/Object;JJJJ)V
        15: .line 376
            aload 0 /* this */
            iload 4 /* pos */
            iload 3 /* length */
            iadd
            invokevirtual java.nio.DirectByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        end local 6 // int rem
        end local 5 // int lim
        end local 4 // int pos
        16: .line 377
            goto 18
        17: .line 378
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* src */
            iload 2 /* offset */
            iload 3 /* length */
            invokespecial java.nio.MappedByteBuffer.put:([BII)Ljava/nio/ByteBuffer;
            pop
        18: .line 380
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 3 // int length
        end local 2 // int offset
        end local 1 // byte[] src
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   19     0    this  Ljava/nio/DirectByteBuffer;
            0   19     1     src  [B
            0   19     2  offset  I
            0   19     3  length  I
            3   16     4     pos  I
            4   16     5     lim  I
            8   16     6     rem  I
    MethodParameters:
        Name  Flags
      src     
      offset  
      length  

  public java.nio.ByteBuffer compact();
    descriptor: ()Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=4, args_size=1
        start local 0 // java.nio.DirectByteBuffer this
         0: .line 388
            aload 0 /* this */
            invokevirtual java.nio.DirectByteBuffer.position:()I
            istore 1 /* pos */
        start local 1 // int pos
         1: .line 389
            aload 0 /* this */
            invokevirtual java.nio.DirectByteBuffer.limit:()I
            istore 2 /* lim */
        start local 2 // int lim
         2: .line 390
            getstatic java.nio.DirectByteBuffer.$assertionsDisabled:Z
            ifne 3
            iload 1 /* pos */
            iload 2 /* lim */
            if_icmple 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 391
      StackMap locals: int int
      StackMap stack:
            iload 1 /* pos */
            iload 2 /* lim */
            if_icmpgt 4
            iload 2 /* lim */
            iload 1 /* pos */
            isub
            goto 5
      StackMap locals:
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: istore 3 /* rem */
        start local 3 // int rem
         6: .line 393
            getstatic java.nio.DirectByteBuffer.unsafe:Lsun/misc/Unsafe;
            aload 0 /* this */
            iload 1 /* pos */
            invokevirtual java.nio.DirectByteBuffer.ix:(I)J
            aload 0 /* this */
            iconst_0
            invokevirtual java.nio.DirectByteBuffer.ix:(I)J
            iload 3 /* rem */
            i2l
            iconst_0
            lshl
            invokevirtual sun.misc.Unsafe.copyMemory:(JJJ)V
         7: .line 394
            aload 0 /* this */
            iload 3 /* rem */
            invokevirtual java.nio.DirectByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
         8: .line 395
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual java.nio.DirectByteBuffer.capacity:()I
            invokevirtual java.nio.DirectByteBuffer.limit:(I)Ljava/nio/Buffer;
            pop
         9: .line 396
            aload 0 /* this */
            invokevirtual java.nio.DirectByteBuffer.discardMark:()V
        10: .line 397
            aload 0 /* this */
            areturn
        end local 3 // int rem
        end local 2 // int lim
        end local 1 // int pos
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Ljava/nio/DirectByteBuffer;
            1   11     1   pos  I
            2   11     2   lim  I
            6   11     3   rem  I

  public boolean isDirect();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.nio.DirectByteBuffer this
         0: .line 404
            iconst_1
            ireturn
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/nio/DirectByteBuffer;

  public boolean isReadOnly();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.nio.DirectByteBuffer this
         0: .line 408
            iconst_0
            ireturn
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/nio/DirectByteBuffer;

  byte _get(int);
    descriptor: (I)B
    flags: (0x0000) 
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.nio.DirectByteBuffer this
        start local 1 // int i
         0: .line 475
            getstatic java.nio.DirectByteBuffer.unsafe:Lsun/misc/Unsafe;
            aload 0 /* this */
            getfield java.nio.DirectByteBuffer.address:J
            iload 1 /* i */
            i2l
            ladd
            invokevirtual sun.misc.Unsafe.getByte:(J)B
            ireturn
        end local 1 // int i
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/nio/DirectByteBuffer;
            0    1     1     i  I
    MethodParameters:
      Name  Flags
      i     

  void _put(int, byte);
    descriptor: (IB)V
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // java.nio.DirectByteBuffer this
        start local 1 // int i
        start local 2 // byte b
         0: .line 480
            getstatic java.nio.DirectByteBuffer.unsafe:Lsun/misc/Unsafe;
            aload 0 /* this */
            getfield java.nio.DirectByteBuffer.address:J
            iload 1 /* i */
            i2l
            ladd
            iload 2 /* b */
            invokevirtual sun.misc.Unsafe.putByte:(JB)V
         1: .line 484
            return
        end local 2 // byte b
        end local 1 // int i
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/nio/DirectByteBuffer;
            0    2     1     i  I
            0    2     2     b  B
    MethodParameters:
      Name  Flags
      i     
      b     

  private char getChar(long);
    descriptor: (J)C
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.nio.DirectByteBuffer this
        start local 1 // long a
         0: .line 490
            getstatic java.nio.DirectByteBuffer.unaligned:Z
            ifeq 5
         1: .line 491
            getstatic java.nio.DirectByteBuffer.unsafe:Lsun/misc/Unsafe;
            lload 1 /* a */
            invokevirtual sun.misc.Unsafe.getChar:(J)C
            istore 3 /* x */
        start local 3 // char x
         2: .line 492
            aload 0 /* this */
            getfield java.nio.DirectByteBuffer.nativeByteOrder:Z
            ifeq 3
            iload 3 /* x */
            goto 4
      StackMap locals: int
      StackMap stack:
         3: iload 3 /* x */
            invokestatic java.nio.Bits.swap:(C)C
      StackMap locals:
      StackMap stack: int
         4: ireturn
        end local 3 // char x
         5: .line 494
      StackMap locals:
      StackMap stack:
            lload 1 /* a */
            aload 0 /* this */
            getfield java.nio.DirectByteBuffer.bigEndian:Z
            invokestatic java.nio.Bits.getChar:(JZ)C
            ireturn
        end local 1 // long a
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/nio/DirectByteBuffer;
            0    6     1     a  J
            2    5     3     x  C
    MethodParameters:
      Name  Flags
      a     

  public char getChar();
    descriptor: ()C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.nio.DirectByteBuffer this
         0: .line 498
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            iconst_2
            invokevirtual java.nio.DirectByteBuffer.nextGetIndex:(I)I
            invokevirtual java.nio.DirectByteBuffer.ix:(I)J
            invokevirtual java.nio.DirectByteBuffer.getChar:(J)C
            ireturn
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/nio/DirectByteBuffer;

  public char getChar(int);
    descriptor: (I)C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.nio.DirectByteBuffer this
        start local 1 // int i
         0: .line 502
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* i */
            iconst_2
            invokevirtual java.nio.DirectByteBuffer.checkIndex:(II)I
            invokevirtual java.nio.DirectByteBuffer.ix:(I)J
            invokevirtual java.nio.DirectByteBuffer.getChar:(J)C
            ireturn
        end local 1 // int i
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/nio/DirectByteBuffer;
            0    1     1     i  I
    MethodParameters:
      Name  Flags
      i     

  private java.nio.ByteBuffer putChar(long, char);
    descriptor: (JC)Ljava/nio/ByteBuffer;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // java.nio.DirectByteBuffer this
        start local 1 // long a
        start local 3 // char x
         0: .line 509
            getstatic java.nio.DirectByteBuffer.unaligned:Z
            ifeq 6
         1: .line 510
            iload 3 /* x */
            istore 4 /* y */
        start local 4 // char y
         2: .line 511
            getstatic java.nio.DirectByteBuffer.unsafe:Lsun/misc/Unsafe;
            lload 1 /* a */
            aload 0 /* this */
            getfield java.nio.DirectByteBuffer.nativeByteOrder:Z
            ifeq 3
            iload 4 /* y */
            goto 4
      StackMap locals: java.nio.DirectByteBuffer long int int
      StackMap stack: sun.misc.Unsafe long
         3: iload 4 /* y */
            invokestatic java.nio.Bits.swap:(C)C
      StackMap locals: java.nio.DirectByteBuffer long int int
      StackMap stack: sun.misc.Unsafe long int
         4: invokevirtual sun.misc.Unsafe.putChar:(JC)V
        end local 4 // char y
         5: .line 512
            goto 7
         6: .line 513
      StackMap locals:
      StackMap stack:
            lload 1 /* a */
            iload 3 /* x */
            aload 0 /* this */
            getfield java.nio.DirectByteBuffer.bigEndian:Z
            invokestatic java.nio.Bits.putChar:(JCZ)V
         7: .line 515
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 3 // char x
        end local 1 // long a
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljava/nio/DirectByteBuffer;
            0    8     1     a  J
            0    8     3     x  C
            2    5     4     y  C
    MethodParameters:
      Name  Flags
      a     
      x     

  public java.nio.ByteBuffer putChar(char);
    descriptor: (C)Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.nio.DirectByteBuffer this
        start local 1 // char x
         0: .line 523
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            iconst_2
            invokevirtual java.nio.DirectByteBuffer.nextPutIndex:(I)I
            invokevirtual java.nio.DirectByteBuffer.ix:(I)J
            iload 1 /* x */
            invokevirtual java.nio.DirectByteBuffer.putChar:(JC)Ljava/nio/ByteBuffer;
            pop
         1: .line 524
            aload 0 /* this */
            areturn
        end local 1 // char x
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/nio/DirectByteBuffer;
            0    2     1     x  C
    MethodParameters:
      Name  Flags
      x     

  public java.nio.ByteBuffer putChar(int, char);
    descriptor: (IC)Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // java.nio.DirectByteBuffer this
        start local 1 // int i
        start local 2 // char x
         0: .line 532
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* i */
            iconst_2
            invokevirtual java.nio.DirectByteBuffer.checkIndex:(II)I
            invokevirtual java.nio.DirectByteBuffer.ix:(I)J
            iload 2 /* x */
            invokevirtual java.nio.DirectByteBuffer.putChar:(JC)Ljava/nio/ByteBuffer;
            pop
         1: .line 533
            aload 0 /* this */
            areturn
        end local 2 // char x
        end local 1 // int i
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/nio/DirectByteBuffer;
            0    2     1     i  I
            0    2     2     x  C
    MethodParameters:
      Name  Flags
      i     
      x     

  public java.nio.CharBuffer asCharBuffer();
    descriptor: ()Ljava/nio/CharBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=5, args_size=1
        start local 0 // java.nio.DirectByteBuffer this
         0: .line 540
            aload 0 /* this */
            invokevirtual java.nio.DirectByteBuffer.position:()I
            istore 1 /* off */
        start local 1 // int off
         1: .line 541
            aload 0 /* this */
            invokevirtual java.nio.DirectByteBuffer.limit:()I
            istore 2 /* lim */
        start local 2 // int lim
         2: .line 542
            getstatic java.nio.DirectByteBuffer.$assertionsDisabled:Z
            ifne 3
            iload 1 /* off */
            iload 2 /* lim */
            if_icmple 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 543
      StackMap locals: int int
      StackMap stack:
            iload 1 /* off */
            iload 2 /* lim */
            if_icmpgt 4
            iload 2 /* lim */
            iload 1 /* off */
            isub
            goto 5
      StackMap locals:
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: istore 3 /* rem */
        start local 3 // int rem
         6: .line 545
            iload 3 /* rem */
            iconst_1
            ishr
            istore 4 /* size */
        start local 4 // int size
         7: .line 546
            getstatic java.nio.DirectByteBuffer.unaligned:Z
            ifne 25
            aload 0 /* this */
            getfield java.nio.DirectByteBuffer.address:J
            iload 1 /* off */
            i2l
            ladd
            ldc 2
            lrem
            lconst_0
            lcmp
            ifeq 25
         8: .line 547
            aload 0 /* this */
            getfield java.nio.DirectByteBuffer.bigEndian:Z
            ifeq 17
         9: .line 548
            new java.nio.ByteBufferAsCharBufferB
            dup
            aload 0 /* this */
        10: .line 549
            iconst_m1
        11: .line 550
            iconst_0
        12: .line 551
            iload 4 /* size */
        13: .line 552
            iload 4 /* size */
        14: .line 553
            iload 1 /* off */
        15: .line 548
            invokespecial java.nio.ByteBufferAsCharBufferB.<init>:(Ljava/nio/ByteBuffer;IIIII)V
        16: .line 553
            goto 24
        17: .line 554
      StackMap locals: int int
      StackMap stack:
            new java.nio.ByteBufferAsCharBufferL
            dup
            aload 0 /* this */
        18: .line 555
            iconst_m1
        19: .line 556
            iconst_0
        20: .line 557
            iload 4 /* size */
        21: .line 558
            iload 4 /* size */
        22: .line 559
            iload 1 /* off */
        23: .line 554
            invokespecial java.nio.ByteBufferAsCharBufferL.<init>:(Ljava/nio/ByteBuffer;IIIII)V
        24: .line 547
      StackMap locals:
      StackMap stack: java.nio.CharBuffer
            areturn
        25: .line 561
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.nio.DirectByteBuffer.nativeByteOrder:Z
            ifeq 34
        26: .line 562
            new java.nio.DirectCharBufferU
            dup
            aload 0 /* this */
        27: .line 563
            iconst_m1
        28: .line 564
            iconst_0
        29: .line 565
            iload 4 /* size */
        30: .line 566
            iload 4 /* size */
        31: .line 567
            iload 1 /* off */
        32: .line 562
            invokespecial java.nio.DirectCharBufferU.<init>:(Lsun/nio/ch/DirectBuffer;IIIII)V
        33: .line 567
            goto 41
        34: .line 568
      StackMap locals:
      StackMap stack:
            new java.nio.DirectCharBufferS
            dup
            aload 0 /* this */
        35: .line 569
            iconst_m1
        36: .line 570
            iconst_0
        37: .line 571
            iload 4 /* size */
        38: .line 572
            iload 4 /* size */
        39: .line 573
            iload 1 /* off */
        40: .line 568
            invokespecial java.nio.DirectCharBufferS.<init>:(Lsun/nio/ch/DirectBuffer;IIIII)V
        41: .line 561
      StackMap locals:
      StackMap stack: java.nio.CharBuffer
            areturn
        end local 4 // int size
        end local 3 // int rem
        end local 2 // int lim
        end local 1 // int off
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   42     0  this  Ljava/nio/DirectByteBuffer;
            1   42     1   off  I
            2   42     2   lim  I
            6   42     3   rem  I
            7   42     4  size  I

  private short getShort(long);
    descriptor: (J)S
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.nio.DirectByteBuffer this
        start local 1 // long a
         0: .line 581
            getstatic java.nio.DirectByteBuffer.unaligned:Z
            ifeq 5
         1: .line 582
            getstatic java.nio.DirectByteBuffer.unsafe:Lsun/misc/Unsafe;
            lload 1 /* a */
            invokevirtual sun.misc.Unsafe.getShort:(J)S
            istore 3 /* x */
        start local 3 // short x
         2: .line 583
            aload 0 /* this */
            getfield java.nio.DirectByteBuffer.nativeByteOrder:Z
            ifeq 3
            iload 3 /* x */
            goto 4
      StackMap locals: int
      StackMap stack:
         3: iload 3 /* x */
            invokestatic java.nio.Bits.swap:(S)S
      StackMap locals:
      StackMap stack: int
         4: ireturn
        end local 3 // short x
         5: .line 585
      StackMap locals:
      StackMap stack:
            lload 1 /* a */
            aload 0 /* this */
            getfield java.nio.DirectByteBuffer.bigEndian:Z
            invokestatic java.nio.Bits.getShort:(JZ)S
            ireturn
        end local 1 // long a
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/nio/DirectByteBuffer;
            0    6     1     a  J
            2    5     3     x  S
    MethodParameters:
      Name  Flags
      a     

  public short getShort();
    descriptor: ()S
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.nio.DirectByteBuffer this
         0: .line 589
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            iconst_2
            invokevirtual java.nio.DirectByteBuffer.nextGetIndex:(I)I
            invokevirtual java.nio.DirectByteBuffer.ix:(I)J
            invokevirtual java.nio.DirectByteBuffer.getShort:(J)S
            ireturn
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/nio/DirectByteBuffer;

  public short getShort(int);
    descriptor: (I)S
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.nio.DirectByteBuffer this
        start local 1 // int i
         0: .line 593
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* i */
            iconst_2
            invokevirtual java.nio.DirectByteBuffer.checkIndex:(II)I
            invokevirtual java.nio.DirectByteBuffer.ix:(I)J
            invokevirtual java.nio.DirectByteBuffer.getShort:(J)S
            ireturn
        end local 1 // int i
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/nio/DirectByteBuffer;
            0    1     1     i  I
    MethodParameters:
      Name  Flags
      i     

  private java.nio.ByteBuffer putShort(long, short);
    descriptor: (JS)Ljava/nio/ByteBuffer;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // java.nio.DirectByteBuffer this
        start local 1 // long a
        start local 3 // short x
         0: .line 600
            getstatic java.nio.DirectByteBuffer.unaligned:Z
            ifeq 6
         1: .line 601
            iload 3 /* x */
            istore 4 /* y */
        start local 4 // short y
         2: .line 602
            getstatic java.nio.DirectByteBuffer.unsafe:Lsun/misc/Unsafe;
            lload 1 /* a */
            aload 0 /* this */
            getfield java.nio.DirectByteBuffer.nativeByteOrder:Z
            ifeq 3
            iload 4 /* y */
            goto 4
      StackMap locals: java.nio.DirectByteBuffer long int int
      StackMap stack: sun.misc.Unsafe long
         3: iload 4 /* y */
            invokestatic java.nio.Bits.swap:(S)S
      StackMap locals: java.nio.DirectByteBuffer long int int
      StackMap stack: sun.misc.Unsafe long int
         4: invokevirtual sun.misc.Unsafe.putShort:(JS)V
        end local 4 // short y
         5: .line 603
            goto 7
         6: .line 604
      StackMap locals:
      StackMap stack:
            lload 1 /* a */
            iload 3 /* x */
            aload 0 /* this */
            getfield java.nio.DirectByteBuffer.bigEndian:Z
            invokestatic java.nio.Bits.putShort:(JSZ)V
         7: .line 606
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 3 // short x
        end local 1 // long a
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljava/nio/DirectByteBuffer;
            0    8     1     a  J
            0    8     3     x  S
            2    5     4     y  S
    MethodParameters:
      Name  Flags
      a     
      x     

  public java.nio.ByteBuffer putShort(short);
    descriptor: (S)Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.nio.DirectByteBuffer this
        start local 1 // short x
         0: .line 614
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            iconst_2
            invokevirtual java.nio.DirectByteBuffer.nextPutIndex:(I)I
            invokevirtual java.nio.DirectByteBuffer.ix:(I)J
            iload 1 /* x */
            invokevirtual java.nio.DirectByteBuffer.putShort:(JS)Ljava/nio/ByteBuffer;
            pop
         1: .line 615
            aload 0 /* this */
            areturn
        end local 1 // short x
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/nio/DirectByteBuffer;
            0    2     1     x  S
    MethodParameters:
      Name  Flags
      x     

  public java.nio.ByteBuffer putShort(int, short);
    descriptor: (IS)Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // java.nio.DirectByteBuffer this
        start local 1 // int i
        start local 2 // short x
         0: .line 623
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* i */
            iconst_2
            invokevirtual java.nio.DirectByteBuffer.checkIndex:(II)I
            invokevirtual java.nio.DirectByteBuffer.ix:(I)J
            iload 2 /* x */
            invokevirtual java.nio.DirectByteBuffer.putShort:(JS)Ljava/nio/ByteBuffer;
            pop
         1: .line 624
            aload 0 /* this */
            areturn
        end local 2 // short x
        end local 1 // int i
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/nio/DirectByteBuffer;
            0    2     1     i  I
            0    2     2     x  S
    MethodParameters:
      Name  Flags
      i     
      x     

  public java.nio.ShortBuffer asShortBuffer();
    descriptor: ()Ljava/nio/ShortBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=5, args_size=1
        start local 0 // java.nio.DirectByteBuffer this
         0: .line 631
            aload 0 /* this */
            invokevirtual java.nio.DirectByteBuffer.position:()I
            istore 1 /* off */
        start local 1 // int off
         1: .line 632
            aload 0 /* this */
            invokevirtual java.nio.DirectByteBuffer.limit:()I
            istore 2 /* lim */
        start local 2 // int lim
         2: .line 633
            getstatic java.nio.DirectByteBuffer.$assertionsDisabled:Z
            ifne 3
            iload 1 /* off */
            iload 2 /* lim */
            if_icmple 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 634
      StackMap locals: int int
      StackMap stack:
            iload 1 /* off */
            iload 2 /* lim */
            if_icmpgt 4
            iload 2 /* lim */
            iload 1 /* off */
            isub
            goto 5
      StackMap locals:
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: istore 3 /* rem */
        start local 3 // int rem
         6: .line 636
            iload 3 /* rem */
            iconst_1
            ishr
            istore 4 /* size */
        start local 4 // int size
         7: .line 637
            getstatic java.nio.DirectByteBuffer.unaligned:Z
            ifne 25
            aload 0 /* this */
            getfield java.nio.DirectByteBuffer.address:J
            iload 1 /* off */
            i2l
            ladd
            ldc 2
            lrem
            lconst_0
            lcmp
            ifeq 25
         8: .line 638
            aload 0 /* this */
            getfield java.nio.DirectByteBuffer.bigEndian:Z
            ifeq 17
         9: .line 639
            new java.nio.ByteBufferAsShortBufferB
            dup
            aload 0 /* this */
        10: .line 640
            iconst_m1
        11: .line 641
            iconst_0
        12: .line 642
            iload 4 /* size */
        13: .line 643
            iload 4 /* size */
        14: .line 644
            iload 1 /* off */
        15: .line 639
            invokespecial java.nio.ByteBufferAsShortBufferB.<init>:(Ljava/nio/ByteBuffer;IIIII)V
        16: .line 644
            goto 24
        17: .line 645
      StackMap locals: int int
      StackMap stack:
            new java.nio.ByteBufferAsShortBufferL
            dup
            aload 0 /* this */
        18: .line 646
            iconst_m1
        19: .line 647
            iconst_0
        20: .line 648
            iload 4 /* size */
        21: .line 649
            iload 4 /* size */
        22: .line 650
            iload 1 /* off */
        23: .line 645
            invokespecial java.nio.ByteBufferAsShortBufferL.<init>:(Ljava/nio/ByteBuffer;IIIII)V
        24: .line 638
      StackMap locals:
      StackMap stack: java.nio.ShortBuffer
            areturn
        25: .line 652
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.nio.DirectByteBuffer.nativeByteOrder:Z
            ifeq 34
        26: .line 653
            new java.nio.DirectShortBufferU
            dup
            aload 0 /* this */
        27: .line 654
            iconst_m1
        28: .line 655
            iconst_0
        29: .line 656
            iload 4 /* size */
        30: .line 657
            iload 4 /* size */
        31: .line 658
            iload 1 /* off */
        32: .line 653
            invokespecial java.nio.DirectShortBufferU.<init>:(Lsun/nio/ch/DirectBuffer;IIIII)V
        33: .line 658
            goto 41
        34: .line 659
      StackMap locals:
      StackMap stack:
            new java.nio.DirectShortBufferS
            dup
            aload 0 /* this */
        35: .line 660
            iconst_m1
        36: .line 661
            iconst_0
        37: .line 662
            iload 4 /* size */
        38: .line 663
            iload 4 /* size */
        39: .line 664
            iload 1 /* off */
        40: .line 659
            invokespecial java.nio.DirectShortBufferS.<init>:(Lsun/nio/ch/DirectBuffer;IIIII)V
        41: .line 652
      StackMap locals:
      StackMap stack: java.nio.ShortBuffer
            areturn
        end local 4 // int size
        end local 3 // int rem
        end local 2 // int lim
        end local 1 // int off
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   42     0  this  Ljava/nio/DirectByteBuffer;
            1   42     1   off  I
            2   42     2   lim  I
            6   42     3   rem  I
            7   42     4  size  I

  private int getInt(long);
    descriptor: (J)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.nio.DirectByteBuffer this
        start local 1 // long a
         0: .line 672
            getstatic java.nio.DirectByteBuffer.unaligned:Z
            ifeq 5
         1: .line 673
            getstatic java.nio.DirectByteBuffer.unsafe:Lsun/misc/Unsafe;
            lload 1 /* a */
            invokevirtual sun.misc.Unsafe.getInt:(J)I
            istore 3 /* x */
        start local 3 // int x
         2: .line 674
            aload 0 /* this */
            getfield java.nio.DirectByteBuffer.nativeByteOrder:Z
            ifeq 3
            iload 3 /* x */
            goto 4
      StackMap locals: int
      StackMap stack:
         3: iload 3 /* x */
            invokestatic java.nio.Bits.swap:(I)I
      StackMap locals:
      StackMap stack: int
         4: ireturn
        end local 3 // int x
         5: .line 676
      StackMap locals:
      StackMap stack:
            lload 1 /* a */
            aload 0 /* this */
            getfield java.nio.DirectByteBuffer.bigEndian:Z
            invokestatic java.nio.Bits.getInt:(JZ)I
            ireturn
        end local 1 // long a
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/nio/DirectByteBuffer;
            0    6     1     a  J
            2    5     3     x  I
    MethodParameters:
      Name  Flags
      a     

  public int getInt();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.nio.DirectByteBuffer this
         0: .line 680
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            iconst_4
            invokevirtual java.nio.DirectByteBuffer.nextGetIndex:(I)I
            invokevirtual java.nio.DirectByteBuffer.ix:(I)J
            invokevirtual java.nio.DirectByteBuffer.getInt:(J)I
            ireturn
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/nio/DirectByteBuffer;

  public int getInt(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.nio.DirectByteBuffer this
        start local 1 // int i
         0: .line 684
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* i */
            iconst_4
            invokevirtual java.nio.DirectByteBuffer.checkIndex:(II)I
            invokevirtual java.nio.DirectByteBuffer.ix:(I)J
            invokevirtual java.nio.DirectByteBuffer.getInt:(J)I
            ireturn
        end local 1 // int i
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/nio/DirectByteBuffer;
            0    1     1     i  I
    MethodParameters:
      Name  Flags
      i     

  private java.nio.ByteBuffer putInt(long, int);
    descriptor: (JI)Ljava/nio/ByteBuffer;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // java.nio.DirectByteBuffer this
        start local 1 // long a
        start local 3 // int x
         0: .line 691
            getstatic java.nio.DirectByteBuffer.unaligned:Z
            ifeq 6
         1: .line 692
            iload 3 /* x */
            istore 4 /* y */
        start local 4 // int y
         2: .line 693
            getstatic java.nio.DirectByteBuffer.unsafe:Lsun/misc/Unsafe;
            lload 1 /* a */
            aload 0 /* this */
            getfield java.nio.DirectByteBuffer.nativeByteOrder:Z
            ifeq 3
            iload 4 /* y */
            goto 4
      StackMap locals: java.nio.DirectByteBuffer long int int
      StackMap stack: sun.misc.Unsafe long
         3: iload 4 /* y */
            invokestatic java.nio.Bits.swap:(I)I
      StackMap locals: java.nio.DirectByteBuffer long int int
      StackMap stack: sun.misc.Unsafe long int
         4: invokevirtual sun.misc.Unsafe.putInt:(JI)V
        end local 4 // int y
         5: .line 694
            goto 7
         6: .line 695
      StackMap locals:
      StackMap stack:
            lload 1 /* a */
            iload 3 /* x */
            aload 0 /* this */
            getfield java.nio.DirectByteBuffer.bigEndian:Z
            invokestatic java.nio.Bits.putInt:(JIZ)V
         7: .line 697
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 3 // int x
        end local 1 // long a
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljava/nio/DirectByteBuffer;
            0    8     1     a  J
            0    8     3     x  I
            2    5     4     y  I
    MethodParameters:
      Name  Flags
      a     
      x     

  public java.nio.ByteBuffer putInt(int);
    descriptor: (I)Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.nio.DirectByteBuffer this
        start local 1 // int x
         0: .line 705
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            iconst_4
            invokevirtual java.nio.DirectByteBuffer.nextPutIndex:(I)I
            invokevirtual java.nio.DirectByteBuffer.ix:(I)J
            iload 1 /* x */
            invokevirtual java.nio.DirectByteBuffer.putInt:(JI)Ljava/nio/ByteBuffer;
            pop
         1: .line 706
            aload 0 /* this */
            areturn
        end local 1 // int x
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/nio/DirectByteBuffer;
            0    2     1     x  I
    MethodParameters:
      Name  Flags
      x     

  public java.nio.ByteBuffer putInt(int, int);
    descriptor: (II)Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // java.nio.DirectByteBuffer this
        start local 1 // int i
        start local 2 // int x
         0: .line 714
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* i */
            iconst_4
            invokevirtual java.nio.DirectByteBuffer.checkIndex:(II)I
            invokevirtual java.nio.DirectByteBuffer.ix:(I)J
            iload 2 /* x */
            invokevirtual java.nio.DirectByteBuffer.putInt:(JI)Ljava/nio/ByteBuffer;
            pop
         1: .line 715
            aload 0 /* this */
            areturn
        end local 2 // int x
        end local 1 // int i
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/nio/DirectByteBuffer;
            0    2     1     i  I
            0    2     2     x  I
    MethodParameters:
      Name  Flags
      i     
      x     

  public java.nio.IntBuffer asIntBuffer();
    descriptor: ()Ljava/nio/IntBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=5, args_size=1
        start local 0 // java.nio.DirectByteBuffer this
         0: .line 722
            aload 0 /* this */
            invokevirtual java.nio.DirectByteBuffer.position:()I
            istore 1 /* off */
        start local 1 // int off
         1: .line 723
            aload 0 /* this */
            invokevirtual java.nio.DirectByteBuffer.limit:()I
            istore 2 /* lim */
        start local 2 // int lim
         2: .line 724
            getstatic java.nio.DirectByteBuffer.$assertionsDisabled:Z
            ifne 3
            iload 1 /* off */
            iload 2 /* lim */
            if_icmple 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 725
      StackMap locals: int int
      StackMap stack:
            iload 1 /* off */
            iload 2 /* lim */
            if_icmpgt 4
            iload 2 /* lim */
            iload 1 /* off */
            isub
            goto 5
      StackMap locals:
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: istore 3 /* rem */
        start local 3 // int rem
         6: .line 727
            iload 3 /* rem */
            iconst_2
            ishr
            istore 4 /* size */
        start local 4 // int size
         7: .line 728
            getstatic java.nio.DirectByteBuffer.unaligned:Z
            ifne 25
            aload 0 /* this */
            getfield java.nio.DirectByteBuffer.address:J
            iload 1 /* off */
            i2l
            ladd
            ldc 4
            lrem
            lconst_0
            lcmp
            ifeq 25
         8: .line 729
            aload 0 /* this */
            getfield java.nio.DirectByteBuffer.bigEndian:Z
            ifeq 17
         9: .line 730
            new java.nio.ByteBufferAsIntBufferB
            dup
            aload 0 /* this */
        10: .line 731
            iconst_m1
        11: .line 732
            iconst_0
        12: .line 733
            iload 4 /* size */
        13: .line 734
            iload 4 /* size */
        14: .line 735
            iload 1 /* off */
        15: .line 730
            invokespecial java.nio.ByteBufferAsIntBufferB.<init>:(Ljava/nio/ByteBuffer;IIIII)V
        16: .line 735
            goto 24
        17: .line 736
      StackMap locals: int int
      StackMap stack:
            new java.nio.ByteBufferAsIntBufferL
            dup
            aload 0 /* this */
        18: .line 737
            iconst_m1
        19: .line 738
            iconst_0
        20: .line 739
            iload 4 /* size */
        21: .line 740
            iload 4 /* size */
        22: .line 741
            iload 1 /* off */
        23: .line 736
            invokespecial java.nio.ByteBufferAsIntBufferL.<init>:(Ljava/nio/ByteBuffer;IIIII)V
        24: .line 729
      StackMap locals:
      StackMap stack: java.nio.IntBuffer
            areturn
        25: .line 743
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.nio.DirectByteBuffer.nativeByteOrder:Z
            ifeq 34
        26: .line 744
            new java.nio.DirectIntBufferU
            dup
            aload 0 /* this */
        27: .line 745
            iconst_m1
        28: .line 746
            iconst_0
        29: .line 747
            iload 4 /* size */
        30: .line 748
            iload 4 /* size */
        31: .line 749
            iload 1 /* off */
        32: .line 744
            invokespecial java.nio.DirectIntBufferU.<init>:(Lsun/nio/ch/DirectBuffer;IIIII)V
        33: .line 749
            goto 41
        34: .line 750
      StackMap locals:
      StackMap stack:
            new java.nio.DirectIntBufferS
            dup
            aload 0 /* this */
        35: .line 751
            iconst_m1
        36: .line 752
            iconst_0
        37: .line 753
            iload 4 /* size */
        38: .line 754
            iload 4 /* size */
        39: .line 755
            iload 1 /* off */
        40: .line 750
            invokespecial java.nio.DirectIntBufferS.<init>:(Lsun/nio/ch/DirectBuffer;IIIII)V
        41: .line 743
      StackMap locals:
      StackMap stack: java.nio.IntBuffer
            areturn
        end local 4 // int size
        end local 3 // int rem
        end local 2 // int lim
        end local 1 // int off
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   42     0  this  Ljava/nio/DirectByteBuffer;
            1   42     1   off  I
            2   42     2   lim  I
            6   42     3   rem  I
            7   42     4  size  I

  private long getLong(long);
    descriptor: (J)J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.nio.DirectByteBuffer this
        start local 1 // long a
         0: .line 763
            getstatic java.nio.DirectByteBuffer.unaligned:Z
            ifeq 5
         1: .line 764
            getstatic java.nio.DirectByteBuffer.unsafe:Lsun/misc/Unsafe;
            lload 1 /* a */
            invokevirtual sun.misc.Unsafe.getLong:(J)J
            lstore 3 /* x */
        start local 3 // long x
         2: .line 765
            aload 0 /* this */
            getfield java.nio.DirectByteBuffer.nativeByteOrder:Z
            ifeq 3
            lload 3 /* x */
            goto 4
      StackMap locals: long
      StackMap stack:
         3: lload 3 /* x */
            invokestatic java.nio.Bits.swap:(J)J
      StackMap locals:
      StackMap stack: long
         4: lreturn
        end local 3 // long x
         5: .line 767
      StackMap locals:
      StackMap stack:
            lload 1 /* a */
            aload 0 /* this */
            getfield java.nio.DirectByteBuffer.bigEndian:Z
            invokestatic java.nio.Bits.getLong:(JZ)J
            lreturn
        end local 1 // long a
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/nio/DirectByteBuffer;
            0    6     1     a  J
            2    5     3     x  J
    MethodParameters:
      Name  Flags
      a     

  public long getLong();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.nio.DirectByteBuffer this
         0: .line 771
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            bipush 8
            invokevirtual java.nio.DirectByteBuffer.nextGetIndex:(I)I
            invokevirtual java.nio.DirectByteBuffer.ix:(I)J
            invokevirtual java.nio.DirectByteBuffer.getLong:(J)J
            lreturn
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/nio/DirectByteBuffer;

  public long getLong(int);
    descriptor: (I)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.nio.DirectByteBuffer this
        start local 1 // int i
         0: .line 775
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* i */
            bipush 8
            invokevirtual java.nio.DirectByteBuffer.checkIndex:(II)I
            invokevirtual java.nio.DirectByteBuffer.ix:(I)J
            invokevirtual java.nio.DirectByteBuffer.getLong:(J)J
            lreturn
        end local 1 // int i
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/nio/DirectByteBuffer;
            0    1     1     i  I
    MethodParameters:
      Name  Flags
      i     

  private java.nio.ByteBuffer putLong(long, long);
    descriptor: (JJ)Ljava/nio/ByteBuffer;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // java.nio.DirectByteBuffer this
        start local 1 // long a
        start local 3 // long x
         0: .line 782
            getstatic java.nio.DirectByteBuffer.unaligned:Z
            ifeq 6
         1: .line 783
            lload 3 /* x */
            lstore 5 /* y */
        start local 5 // long y
         2: .line 784
            getstatic java.nio.DirectByteBuffer.unsafe:Lsun/misc/Unsafe;
            lload 1 /* a */
            aload 0 /* this */
            getfield java.nio.DirectByteBuffer.nativeByteOrder:Z
            ifeq 3
            lload 5 /* y */
            goto 4
      StackMap locals: java.nio.DirectByteBuffer long long long
      StackMap stack: sun.misc.Unsafe long
         3: lload 5 /* y */
            invokestatic java.nio.Bits.swap:(J)J
      StackMap locals: java.nio.DirectByteBuffer long long long
      StackMap stack: sun.misc.Unsafe long long
         4: invokevirtual sun.misc.Unsafe.putLong:(JJ)V
        end local 5 // long y
         5: .line 785
            goto 7
         6: .line 786
      StackMap locals:
      StackMap stack:
            lload 1 /* a */
            lload 3 /* x */
            aload 0 /* this */
            getfield java.nio.DirectByteBuffer.bigEndian:Z
            invokestatic java.nio.Bits.putLong:(JJZ)V
         7: .line 788
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 3 // long x
        end local 1 // long a
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljava/nio/DirectByteBuffer;
            0    8     1     a  J
            0    8     3     x  J
            2    5     5     y  J
    MethodParameters:
      Name  Flags
      a     
      x     

  public java.nio.ByteBuffer putLong(long);
    descriptor: (J)Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.nio.DirectByteBuffer this
        start local 1 // long x
         0: .line 796
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            bipush 8
            invokevirtual java.nio.DirectByteBuffer.nextPutIndex:(I)I
            invokevirtual java.nio.DirectByteBuffer.ix:(I)J
            lload 1 /* x */
            invokevirtual java.nio.DirectByteBuffer.putLong:(JJ)Ljava/nio/ByteBuffer;
            pop
         1: .line 797
            aload 0 /* this */
            areturn
        end local 1 // long x
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/nio/DirectByteBuffer;
            0    2     1     x  J
    MethodParameters:
      Name  Flags
      x     

  public java.nio.ByteBuffer putLong(int, long);
    descriptor: (IJ)Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // java.nio.DirectByteBuffer this
        start local 1 // int i
        start local 2 // long x
         0: .line 805
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* i */
            bipush 8
            invokevirtual java.nio.DirectByteBuffer.checkIndex:(II)I
            invokevirtual java.nio.DirectByteBuffer.ix:(I)J
            lload 2 /* x */
            invokevirtual java.nio.DirectByteBuffer.putLong:(JJ)Ljava/nio/ByteBuffer;
            pop
         1: .line 806
            aload 0 /* this */
            areturn
        end local 2 // long x
        end local 1 // int i
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/nio/DirectByteBuffer;
            0    2     1     i  I
            0    2     2     x  J
    MethodParameters:
      Name  Flags
      i     
      x     

  public java.nio.LongBuffer asLongBuffer();
    descriptor: ()Ljava/nio/LongBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=5, args_size=1
        start local 0 // java.nio.DirectByteBuffer this
         0: .line 813
            aload 0 /* this */
            invokevirtual java.nio.DirectByteBuffer.position:()I
            istore 1 /* off */
        start local 1 // int off
         1: .line 814
            aload 0 /* this */
            invokevirtual java.nio.DirectByteBuffer.limit:()I
            istore 2 /* lim */
        start local 2 // int lim
         2: .line 815
            getstatic java.nio.DirectByteBuffer.$assertionsDisabled:Z
            ifne 3
            iload 1 /* off */
            iload 2 /* lim */
            if_icmple 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 816
      StackMap locals: int int
      StackMap stack:
            iload 1 /* off */
            iload 2 /* lim */
            if_icmpgt 4
            iload 2 /* lim */
            iload 1 /* off */
            isub
            goto 5
      StackMap locals:
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: istore 3 /* rem */
        start local 3 // int rem
         6: .line 818
            iload 3 /* rem */
            iconst_3
            ishr
            istore 4 /* size */
        start local 4 // int size
         7: .line 819
            getstatic java.nio.DirectByteBuffer.unaligned:Z
            ifne 25
            aload 0 /* this */
            getfield java.nio.DirectByteBuffer.address:J
            iload 1 /* off */
            i2l
            ladd
            ldc 8
            lrem
            lconst_0
            lcmp
            ifeq 25
         8: .line 820
            aload 0 /* this */
            getfield java.nio.DirectByteBuffer.bigEndian:Z
            ifeq 17
         9: .line 821
            new java.nio.ByteBufferAsLongBufferB
            dup
            aload 0 /* this */
        10: .line 822
            iconst_m1
        11: .line 823
            iconst_0
        12: .line 824
            iload 4 /* size */
        13: .line 825
            iload 4 /* size */
        14: .line 826
            iload 1 /* off */
        15: .line 821
            invokespecial java.nio.ByteBufferAsLongBufferB.<init>:(Ljava/nio/ByteBuffer;IIIII)V
        16: .line 826
            goto 24
        17: .line 827
      StackMap locals: int int
      StackMap stack:
            new java.nio.ByteBufferAsLongBufferL
            dup
            aload 0 /* this */
        18: .line 828
            iconst_m1
        19: .line 829
            iconst_0
        20: .line 830
            iload 4 /* size */
        21: .line 831
            iload 4 /* size */
        22: .line 832
            iload 1 /* off */
        23: .line 827
            invokespecial java.nio.ByteBufferAsLongBufferL.<init>:(Ljava/nio/ByteBuffer;IIIII)V
        24: .line 820
      StackMap locals:
      StackMap stack: java.nio.LongBuffer
            areturn
        25: .line 834
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.nio.DirectByteBuffer.nativeByteOrder:Z
            ifeq 34
        26: .line 835
            new java.nio.DirectLongBufferU
            dup
            aload 0 /* this */
        27: .line 836
            iconst_m1
        28: .line 837
            iconst_0
        29: .line 838
            iload 4 /* size */
        30: .line 839
            iload 4 /* size */
        31: .line 840
            iload 1 /* off */
        32: .line 835
            invokespecial java.nio.DirectLongBufferU.<init>:(Lsun/nio/ch/DirectBuffer;IIIII)V
        33: .line 840
            goto 41
        34: .line 841
      StackMap locals:
      StackMap stack:
            new java.nio.DirectLongBufferS
            dup
            aload 0 /* this */
        35: .line 842
            iconst_m1
        36: .line 843
            iconst_0
        37: .line 844
            iload 4 /* size */
        38: .line 845
            iload 4 /* size */
        39: .line 846
            iload 1 /* off */
        40: .line 841
            invokespecial java.nio.DirectLongBufferS.<init>:(Lsun/nio/ch/DirectBuffer;IIIII)V
        41: .line 834
      StackMap locals:
      StackMap stack: java.nio.LongBuffer
            areturn
        end local 4 // int size
        end local 3 // int rem
        end local 2 // int lim
        end local 1 // int off
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   42     0  this  Ljava/nio/DirectByteBuffer;
            1   42     1   off  I
            2   42     2   lim  I
            6   42     3   rem  I
            7   42     4  size  I

  private float getFloat(long);
    descriptor: (J)F
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.nio.DirectByteBuffer this
        start local 1 // long a
         0: .line 854
            getstatic java.nio.DirectByteBuffer.unaligned:Z
            ifeq 5
         1: .line 855
            getstatic java.nio.DirectByteBuffer.unsafe:Lsun/misc/Unsafe;
            lload 1 /* a */
            invokevirtual sun.misc.Unsafe.getInt:(J)I
            istore 3 /* x */
        start local 3 // int x
         2: .line 856
            aload 0 /* this */
            getfield java.nio.DirectByteBuffer.nativeByteOrder:Z
            ifeq 3
            iload 3 /* x */
            goto 4
      StackMap locals: int
      StackMap stack:
         3: iload 3 /* x */
            invokestatic java.nio.Bits.swap:(I)I
      StackMap locals:
      StackMap stack: int
         4: invokestatic java.lang.Float.intBitsToFloat:(I)F
            freturn
        end local 3 // int x
         5: .line 858
      StackMap locals:
      StackMap stack:
            lload 1 /* a */
            aload 0 /* this */
            getfield java.nio.DirectByteBuffer.bigEndian:Z
            invokestatic java.nio.Bits.getFloat:(JZ)F
            freturn
        end local 1 // long a
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/nio/DirectByteBuffer;
            0    6     1     a  J
            2    5     3     x  I
    MethodParameters:
      Name  Flags
      a     

  public float getFloat();
    descriptor: ()F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.nio.DirectByteBuffer this
         0: .line 862
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            iconst_4
            invokevirtual java.nio.DirectByteBuffer.nextGetIndex:(I)I
            invokevirtual java.nio.DirectByteBuffer.ix:(I)J
            invokevirtual java.nio.DirectByteBuffer.getFloat:(J)F
            freturn
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/nio/DirectByteBuffer;

  public float getFloat(int);
    descriptor: (I)F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.nio.DirectByteBuffer this
        start local 1 // int i
         0: .line 866
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* i */
            iconst_4
            invokevirtual java.nio.DirectByteBuffer.checkIndex:(II)I
            invokevirtual java.nio.DirectByteBuffer.ix:(I)J
            invokevirtual java.nio.DirectByteBuffer.getFloat:(J)F
            freturn
        end local 1 // int i
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/nio/DirectByteBuffer;
            0    1     1     i  I
    MethodParameters:
      Name  Flags
      i     

  private java.nio.ByteBuffer putFloat(long, float);
    descriptor: (JF)Ljava/nio/ByteBuffer;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // java.nio.DirectByteBuffer this
        start local 1 // long a
        start local 3 // float x
         0: .line 873
            getstatic java.nio.DirectByteBuffer.unaligned:Z
            ifeq 6
         1: .line 874
            fload 3 /* x */
            invokestatic java.lang.Float.floatToRawIntBits:(F)I
            istore 4 /* y */
        start local 4 // int y
         2: .line 875
            getstatic java.nio.DirectByteBuffer.unsafe:Lsun/misc/Unsafe;
            lload 1 /* a */
            aload 0 /* this */
            getfield java.nio.DirectByteBuffer.nativeByteOrder:Z
            ifeq 3
            iload 4 /* y */
            goto 4
      StackMap locals: java.nio.DirectByteBuffer long float int
      StackMap stack: sun.misc.Unsafe long
         3: iload 4 /* y */
            invokestatic java.nio.Bits.swap:(I)I
      StackMap locals: java.nio.DirectByteBuffer long float int
      StackMap stack: sun.misc.Unsafe long int
         4: invokevirtual sun.misc.Unsafe.putInt:(JI)V
        end local 4 // int y
         5: .line 876
            goto 7
         6: .line 877
      StackMap locals:
      StackMap stack:
            lload 1 /* a */
            fload 3 /* x */
            aload 0 /* this */
            getfield java.nio.DirectByteBuffer.bigEndian:Z
            invokestatic java.nio.Bits.putFloat:(JFZ)V
         7: .line 879
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 3 // float x
        end local 1 // long a
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljava/nio/DirectByteBuffer;
            0    8     1     a  J
            0    8     3     x  F
            2    5     4     y  I
    MethodParameters:
      Name  Flags
      a     
      x     

  public java.nio.ByteBuffer putFloat(float);
    descriptor: (F)Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.nio.DirectByteBuffer this
        start local 1 // float x
         0: .line 887
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            iconst_4
            invokevirtual java.nio.DirectByteBuffer.nextPutIndex:(I)I
            invokevirtual java.nio.DirectByteBuffer.ix:(I)J
            fload 1 /* x */
            invokevirtual java.nio.DirectByteBuffer.putFloat:(JF)Ljava/nio/ByteBuffer;
            pop
         1: .line 888
            aload 0 /* this */
            areturn
        end local 1 // float x
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/nio/DirectByteBuffer;
            0    2     1     x  F
    MethodParameters:
      Name  Flags
      x     

  public java.nio.ByteBuffer putFloat(int, float);
    descriptor: (IF)Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // java.nio.DirectByteBuffer this
        start local 1 // int i
        start local 2 // float x
         0: .line 896
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* i */
            iconst_4
            invokevirtual java.nio.DirectByteBuffer.checkIndex:(II)I
            invokevirtual java.nio.DirectByteBuffer.ix:(I)J
            fload 2 /* x */
            invokevirtual java.nio.DirectByteBuffer.putFloat:(JF)Ljava/nio/ByteBuffer;
            pop
         1: .line 897
            aload 0 /* this */
            areturn
        end local 2 // float x
        end local 1 // int i
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/nio/DirectByteBuffer;
            0    2     1     i  I
            0    2     2     x  F
    MethodParameters:
      Name  Flags
      i     
      x     

  public java.nio.FloatBuffer asFloatBuffer();
    descriptor: ()Ljava/nio/FloatBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=5, args_size=1
        start local 0 // java.nio.DirectByteBuffer this
         0: .line 904
            aload 0 /* this */
            invokevirtual java.nio.DirectByteBuffer.position:()I
            istore 1 /* off */
        start local 1 // int off
         1: .line 905
            aload 0 /* this */
            invokevirtual java.nio.DirectByteBuffer.limit:()I
            istore 2 /* lim */
        start local 2 // int lim
         2: .line 906
            getstatic java.nio.DirectByteBuffer.$assertionsDisabled:Z
            ifne 3
            iload 1 /* off */
            iload 2 /* lim */
            if_icmple 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 907
      StackMap locals: int int
      StackMap stack:
            iload 1 /* off */
            iload 2 /* lim */
            if_icmpgt 4
            iload 2 /* lim */
            iload 1 /* off */
            isub
            goto 5
      StackMap locals:
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: istore 3 /* rem */
        start local 3 // int rem
         6: .line 909
            iload 3 /* rem */
            iconst_2
            ishr
            istore 4 /* size */
        start local 4 // int size
         7: .line 910
            getstatic java.nio.DirectByteBuffer.unaligned:Z
            ifne 25
            aload 0 /* this */
            getfield java.nio.DirectByteBuffer.address:J
            iload 1 /* off */
            i2l
            ladd
            ldc 4
            lrem
            lconst_0
            lcmp
            ifeq 25
         8: .line 911
            aload 0 /* this */
            getfield java.nio.DirectByteBuffer.bigEndian:Z
            ifeq 17
         9: .line 912
            new java.nio.ByteBufferAsFloatBufferB
            dup
            aload 0 /* this */
        10: .line 913
            iconst_m1
        11: .line 914
            iconst_0
        12: .line 915
            iload 4 /* size */
        13: .line 916
            iload 4 /* size */
        14: .line 917
            iload 1 /* off */
        15: .line 912
            invokespecial java.nio.ByteBufferAsFloatBufferB.<init>:(Ljava/nio/ByteBuffer;IIIII)V
        16: .line 917
            goto 24
        17: .line 918
      StackMap locals: int int
      StackMap stack:
            new java.nio.ByteBufferAsFloatBufferL
            dup
            aload 0 /* this */
        18: .line 919
            iconst_m1
        19: .line 920
            iconst_0
        20: .line 921
            iload 4 /* size */
        21: .line 922
            iload 4 /* size */
        22: .line 923
            iload 1 /* off */
        23: .line 918
            invokespecial java.nio.ByteBufferAsFloatBufferL.<init>:(Ljava/nio/ByteBuffer;IIIII)V
        24: .line 911
      StackMap locals:
      StackMap stack: java.nio.FloatBuffer
            areturn
        25: .line 925
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.nio.DirectByteBuffer.nativeByteOrder:Z
            ifeq 34
        26: .line 926
            new java.nio.DirectFloatBufferU
            dup
            aload 0 /* this */
        27: .line 927
            iconst_m1
        28: .line 928
            iconst_0
        29: .line 929
            iload 4 /* size */
        30: .line 930
            iload 4 /* size */
        31: .line 931
            iload 1 /* off */
        32: .line 926
            invokespecial java.nio.DirectFloatBufferU.<init>:(Lsun/nio/ch/DirectBuffer;IIIII)V
        33: .line 931
            goto 41
        34: .line 932
      StackMap locals:
      StackMap stack:
            new java.nio.DirectFloatBufferS
            dup
            aload 0 /* this */
        35: .line 933
            iconst_m1
        36: .line 934
            iconst_0
        37: .line 935
            iload 4 /* size */
        38: .line 936
            iload 4 /* size */
        39: .line 937
            iload 1 /* off */
        40: .line 932
            invokespecial java.nio.DirectFloatBufferS.<init>:(Lsun/nio/ch/DirectBuffer;IIIII)V
        41: .line 925
      StackMap locals:
      StackMap stack: java.nio.FloatBuffer
            areturn
        end local 4 // int size
        end local 3 // int rem
        end local 2 // int lim
        end local 1 // int off
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   42     0  this  Ljava/nio/DirectByteBuffer;
            1   42     1   off  I
            2   42     2   lim  I
            6   42     3   rem  I
            7   42     4  size  I

  private double getDouble(long);
    descriptor: (J)D
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.nio.DirectByteBuffer this
        start local 1 // long a
         0: .line 945
            getstatic java.nio.DirectByteBuffer.unaligned:Z
            ifeq 5
         1: .line 946
            getstatic java.nio.DirectByteBuffer.unsafe:Lsun/misc/Unsafe;
            lload 1 /* a */
            invokevirtual sun.misc.Unsafe.getLong:(J)J
            lstore 3 /* x */
        start local 3 // long x
         2: .line 947
            aload 0 /* this */
            getfield java.nio.DirectByteBuffer.nativeByteOrder:Z
            ifeq 3
            lload 3 /* x */
            goto 4
      StackMap locals: long
      StackMap stack:
         3: lload 3 /* x */
            invokestatic java.nio.Bits.swap:(J)J
      StackMap locals:
      StackMap stack: long
         4: invokestatic java.lang.Double.longBitsToDouble:(J)D
            dreturn
        end local 3 // long x
         5: .line 949
      StackMap locals:
      StackMap stack:
            lload 1 /* a */
            aload 0 /* this */
            getfield java.nio.DirectByteBuffer.bigEndian:Z
            invokestatic java.nio.Bits.getDouble:(JZ)D
            dreturn
        end local 1 // long a
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/nio/DirectByteBuffer;
            0    6     1     a  J
            2    5     3     x  J
    MethodParameters:
      Name  Flags
      a     

  public double getDouble();
    descriptor: ()D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.nio.DirectByteBuffer this
         0: .line 953
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            bipush 8
            invokevirtual java.nio.DirectByteBuffer.nextGetIndex:(I)I
            invokevirtual java.nio.DirectByteBuffer.ix:(I)J
            invokevirtual java.nio.DirectByteBuffer.getDouble:(J)D
            dreturn
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/nio/DirectByteBuffer;

  public double getDouble(int);
    descriptor: (I)D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.nio.DirectByteBuffer this
        start local 1 // int i
         0: .line 957
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* i */
            bipush 8
            invokevirtual java.nio.DirectByteBuffer.checkIndex:(II)I
            invokevirtual java.nio.DirectByteBuffer.ix:(I)J
            invokevirtual java.nio.DirectByteBuffer.getDouble:(J)D
            dreturn
        end local 1 // int i
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/nio/DirectByteBuffer;
            0    1     1     i  I
    MethodParameters:
      Name  Flags
      i     

  private java.nio.ByteBuffer putDouble(long, double);
    descriptor: (JD)Ljava/nio/ByteBuffer;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // java.nio.DirectByteBuffer this
        start local 1 // long a
        start local 3 // double x
         0: .line 964
            getstatic java.nio.DirectByteBuffer.unaligned:Z
            ifeq 6
         1: .line 965
            dload 3 /* x */
            invokestatic java.lang.Double.doubleToRawLongBits:(D)J
            lstore 5 /* y */
        start local 5 // long y
         2: .line 966
            getstatic java.nio.DirectByteBuffer.unsafe:Lsun/misc/Unsafe;
            lload 1 /* a */
            aload 0 /* this */
            getfield java.nio.DirectByteBuffer.nativeByteOrder:Z
            ifeq 3
            lload 5 /* y */
            goto 4
      StackMap locals: java.nio.DirectByteBuffer long double long
      StackMap stack: sun.misc.Unsafe long
         3: lload 5 /* y */
            invokestatic java.nio.Bits.swap:(J)J
      StackMap locals: java.nio.DirectByteBuffer long double long
      StackMap stack: sun.misc.Unsafe long long
         4: invokevirtual sun.misc.Unsafe.putLong:(JJ)V
        end local 5 // long y
         5: .line 967
            goto 7
         6: .line 968
      StackMap locals:
      StackMap stack:
            lload 1 /* a */
            dload 3 /* x */
            aload 0 /* this */
            getfield java.nio.DirectByteBuffer.bigEndian:Z
            invokestatic java.nio.Bits.putDouble:(JDZ)V
         7: .line 970
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 3 // double x
        end local 1 // long a
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljava/nio/DirectByteBuffer;
            0    8     1     a  J
            0    8     3     x  D
            2    5     5     y  J
    MethodParameters:
      Name  Flags
      a     
      x     

  public java.nio.ByteBuffer putDouble(double);
    descriptor: (D)Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.nio.DirectByteBuffer this
        start local 1 // double x
         0: .line 978
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            bipush 8
            invokevirtual java.nio.DirectByteBuffer.nextPutIndex:(I)I
            invokevirtual java.nio.DirectByteBuffer.ix:(I)J
            dload 1 /* x */
            invokevirtual java.nio.DirectByteBuffer.putDouble:(JD)Ljava/nio/ByteBuffer;
            pop
         1: .line 979
            aload 0 /* this */
            areturn
        end local 1 // double x
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/nio/DirectByteBuffer;
            0    2     1     x  D
    MethodParameters:
      Name  Flags
      x     

  public java.nio.ByteBuffer putDouble(int, double);
    descriptor: (ID)Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // java.nio.DirectByteBuffer this
        start local 1 // int i
        start local 2 // double x
         0: .line 987
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* i */
            bipush 8
            invokevirtual java.nio.DirectByteBuffer.checkIndex:(II)I
            invokevirtual java.nio.DirectByteBuffer.ix:(I)J
            dload 2 /* x */
            invokevirtual java.nio.DirectByteBuffer.putDouble:(JD)Ljava/nio/ByteBuffer;
            pop
         1: .line 988
            aload 0 /* this */
            areturn
        end local 2 // double x
        end local 1 // int i
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/nio/DirectByteBuffer;
            0    2     1     i  I
            0    2     2     x  D
    MethodParameters:
      Name  Flags
      i     
      x     

  public java.nio.DoubleBuffer asDoubleBuffer();
    descriptor: ()Ljava/nio/DoubleBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=5, args_size=1
        start local 0 // java.nio.DirectByteBuffer this
         0: .line 995
            aload 0 /* this */
            invokevirtual java.nio.DirectByteBuffer.position:()I
            istore 1 /* off */
        start local 1 // int off
         1: .line 996
            aload 0 /* this */
            invokevirtual java.nio.DirectByteBuffer.limit:()I
            istore 2 /* lim */
        start local 2 // int lim
         2: .line 997
            getstatic java.nio.DirectByteBuffer.$assertionsDisabled:Z
            ifne 3
            iload 1 /* off */
            iload 2 /* lim */
            if_icmple 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 998
      StackMap locals: int int
      StackMap stack:
            iload 1 /* off */
            iload 2 /* lim */
            if_icmpgt 4
            iload 2 /* lim */
            iload 1 /* off */
            isub
            goto 5
      StackMap locals:
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: istore 3 /* rem */
        start local 3 // int rem
         6: .line 1000
            iload 3 /* rem */
            iconst_3
            ishr
            istore 4 /* size */
        start local 4 // int size
         7: .line 1001
            getstatic java.nio.DirectByteBuffer.unaligned:Z
            ifne 25
            aload 0 /* this */
            getfield java.nio.DirectByteBuffer.address:J
            iload 1 /* off */
            i2l
            ladd
            ldc 8
            lrem
            lconst_0
            lcmp
            ifeq 25
         8: .line 1002
            aload 0 /* this */
            getfield java.nio.DirectByteBuffer.bigEndian:Z
            ifeq 17
         9: .line 1003
            new java.nio.ByteBufferAsDoubleBufferB
            dup
            aload 0 /* this */
        10: .line 1004
            iconst_m1
        11: .line 1005
            iconst_0
        12: .line 1006
            iload 4 /* size */
        13: .line 1007
            iload 4 /* size */
        14: .line 1008
            iload 1 /* off */
        15: .line 1003
            invokespecial java.nio.ByteBufferAsDoubleBufferB.<init>:(Ljava/nio/ByteBuffer;IIIII)V
        16: .line 1008
            goto 24
        17: .line 1009
      StackMap locals: int int
      StackMap stack:
            new java.nio.ByteBufferAsDoubleBufferL
            dup
            aload 0 /* this */
        18: .line 1010
            iconst_m1
        19: .line 1011
            iconst_0
        20: .line 1012
            iload 4 /* size */
        21: .line 1013
            iload 4 /* size */
        22: .line 1014
            iload 1 /* off */
        23: .line 1009
            invokespecial java.nio.ByteBufferAsDoubleBufferL.<init>:(Ljava/nio/ByteBuffer;IIIII)V
        24: .line 1002
      StackMap locals:
      StackMap stack: java.nio.DoubleBuffer
            areturn
        25: .line 1016
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.nio.DirectByteBuffer.nativeByteOrder:Z
            ifeq 34
        26: .line 1017
            new java.nio.DirectDoubleBufferU
            dup
            aload 0 /* this */
        27: .line 1018
            iconst_m1
        28: .line 1019
            iconst_0
        29: .line 1020
            iload 4 /* size */
        30: .line 1021
            iload 4 /* size */
        31: .line 1022
            iload 1 /* off */
        32: .line 1017
            invokespecial java.nio.DirectDoubleBufferU.<init>:(Lsun/nio/ch/DirectBuffer;IIIII)V
        33: .line 1022
            goto 41
        34: .line 1023
      StackMap locals:
      StackMap stack:
            new java.nio.DirectDoubleBufferS
            dup
            aload 0 /* this */
        35: .line 1024
            iconst_m1
        36: .line 1025
            iconst_0
        37: .line 1026
            iload 4 /* size */
        38: .line 1027
            iload 4 /* size */
        39: .line 1028
            iload 1 /* off */
        40: .line 1023
            invokespecial java.nio.DirectDoubleBufferS.<init>:(Lsun/nio/ch/DirectBuffer;IIIII)V
        41: .line 1016
      StackMap locals:
      StackMap stack: java.nio.DoubleBuffer
            areturn
        end local 4 // int size
        end local 3 // int rem
        end local 2 // int lim
        end local 1 // int off
        end local 0 // java.nio.DirectByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   42     0  this  Ljava/nio/DirectByteBuffer;
            1   42     1   off  I
            2   42     2   lim  I
            6   42     3   rem  I
            7   42     4  size  I
}
SourceFile: "DirectByteBuffer.java"
NestMembers:
  java.nio.DirectByteBuffer$Deallocator
InnerClasses:
  private Deallocator = java.nio.DirectByteBuffer$Deallocator of java.nio.DirectByteBuffer