class java.nio.HeapByteBuffer extends java.nio.ByteBuffer
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: java.nio.HeapByteBuffer
  super_class: java.nio.ByteBuffer
{
  private static final long ARRAY_BASE_OFFSET;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 48
            getstatic java.nio.HeapByteBuffer.UNSAFE:Ljdk/internal/misc/Unsafe;
            ldc [B
            invokevirtual jdk.internal.misc.Unsafe.arrayBaseOffset:(Ljava/lang/Class;)I
            i2l
            putstatic java.nio.HeapByteBuffer.ARRAY_BASE_OFFSET:J
         1: .line 51
            getstatic java.nio.HeapByteBuffer.UNSAFE:Ljdk/internal/misc/Unsafe;
            ldc [B
            invokevirtual jdk.internal.misc.Unsafe.arrayIndexScale:(Ljava/lang/Class;)I
            i2l
            putstatic java.nio.HeapByteBuffer.ARRAY_INDEX_SCALE:J
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(int, int, jdk.internal.access.foreign.MemorySegmentProxy);
    descriptor: (IILjdk/internal/access/foreign/MemorySegmentProxy;)V
    flags: (0x0000) 
    Code:
      stack=8, locals=4, args_size=4
        start local 0 // java.nio.HeapByteBuffer this
        start local 1 // int cap
        start local 2 // int lim
        start local 3 // jdk.internal.access.foreign.MemorySegmentProxy segment
         0: .line 64
            aload 0 /* this */
            iconst_m1
            iconst_0
            iload 2 /* lim */
            iload 1 /* cap */
            iload 1 /* cap */
            newarray 8
            iconst_0
            aload 3 /* segment */
            invokespecial java.nio.ByteBuffer.<init>:(IIII[BILjdk/internal/access/foreign/MemorySegmentProxy;)V
         1: .line 69
            aload 0 /* this */
            getstatic java.nio.HeapByteBuffer.ARRAY_BASE_OFFSET:J
            putfield java.nio.HeapByteBuffer.address:J
         2: .line 74
            return
        end local 3 // jdk.internal.access.foreign.MemorySegmentProxy segment
        end local 2 // int lim
        end local 1 // int cap
        end local 0 // java.nio.HeapByteBuffer this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Ljava/nio/HeapByteBuffer;
            0    3     1      cap  I
            0    3     2      lim  I
            0    3     3  segment  Ljdk/internal/access/foreign/MemorySegmentProxy;
    MethodParameters:
         Name  Flags
      cap      
      lim      
      segment  

  void <init>(byte[], int, int, jdk.internal.access.foreign.MemorySegmentProxy);
    descriptor: ([BIILjdk/internal/access/foreign/MemorySegmentProxy;)V
    flags: (0x0000) 
    Code:
      stack=8, locals=5, args_size=5
        start local 0 // java.nio.HeapByteBuffer this
        start local 1 // byte[] buf
        start local 2 // int off
        start local 3 // int len
        start local 4 // jdk.internal.access.foreign.MemorySegmentProxy segment
         0: .line 78
            aload 0 /* this */
            iconst_m1
            iload 2 /* off */
            iload 2 /* off */
            iload 3 /* len */
            iadd
            aload 1 /* buf */
            arraylength
            aload 1 /* buf */
            iconst_0
            aload 4 /* segment */
            invokespecial java.nio.ByteBuffer.<init>:(IIII[BILjdk/internal/access/foreign/MemorySegmentProxy;)V
         1: .line 83
            aload 0 /* this */
            getstatic java.nio.HeapByteBuffer.ARRAY_BASE_OFFSET:J
            putfield java.nio.HeapByteBuffer.address:J
         2: .line 88
            return
        end local 4 // jdk.internal.access.foreign.MemorySegmentProxy segment
        end local 3 // int len
        end local 2 // int off
        end local 1 // byte[] buf
        end local 0 // java.nio.HeapByteBuffer this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Ljava/nio/HeapByteBuffer;
            0    3     1      buf  [B
            0    3     2      off  I
            0    3     3      len  I
            0    3     4  segment  Ljdk/internal/access/foreign/MemorySegmentProxy;
    MethodParameters:
         Name  Flags
      buf      
      off      
      len      
      segment  

  protected void <init>(byte[], int, int, int, int, int, jdk.internal.access.foreign.MemorySegmentProxy);
    descriptor: ([BIIIIILjdk/internal/access/foreign/MemorySegmentProxy;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=8, args_size=8
        start local 0 // java.nio.HeapByteBuffer this
        start local 1 // byte[] buf
        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
        start local 7 // jdk.internal.access.foreign.MemorySegmentProxy segment
         0: .line 95
            aload 0 /* this */
            iload 2 /* mark */
            iload 3 /* pos */
            iload 4 /* lim */
            iload 5 /* cap */
            aload 1 /* buf */
            iload 6 /* off */
            aload 7 /* segment */
            invokespecial java.nio.ByteBuffer.<init>:(IIII[BILjdk/internal/access/foreign/MemorySegmentProxy;)V
         1: .line 100
            aload 0 /* this */
            getstatic java.nio.HeapByteBuffer.ARRAY_BASE_OFFSET:J
            iload 6 /* off */
            i2l
            getstatic java.nio.HeapByteBuffer.ARRAY_INDEX_SCALE:J
            lmul
            ladd
            putfield java.nio.HeapByteBuffer.address:J
         2: .line 105
            return
        end local 7 // jdk.internal.access.foreign.MemorySegmentProxy segment
        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 // byte[] buf
        end local 0 // java.nio.HeapByteBuffer this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Ljava/nio/HeapByteBuffer;
            0    3     1      buf  [B
            0    3     2     mark  I
            0    3     3      pos  I
            0    3     4      lim  I
            0    3     5      cap  I
            0    3     6      off  I
            0    3     7  segment  Ljdk/internal/access/foreign/MemorySegmentProxy;
    MethodParameters:
         Name  Flags
      buf      
      mark     
      pos      
      lim      
      cap      
      off      
      segment  

  public java.nio.ByteBuffer slice();
    descriptor: ()Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=4, args_size=1
        start local 0 // java.nio.HeapByteBuffer this
         0: .line 108
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.position:()I
            istore 1 /* pos */
        start local 1 // int pos
         1: .line 109
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.limit:()I
            istore 2 /* lim */
        start local 2 // int lim
         2: .line 110
            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 111
            new java.nio.HeapByteBuffer
            dup
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.hb:[B
         6: .line 112
            iconst_m1
         7: .line 113
            iconst_0
         8: .line 114
            iload 3 /* rem */
         9: .line 115
            iload 3 /* rem */
        10: .line 116
            iload 1 /* pos */
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.offset:I
            iadd
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.segment:Ljdk/internal/access/foreign/MemorySegmentProxy;
        11: .line 111
            invokespecial java.nio.HeapByteBuffer.<init>:([BIIIIILjdk/internal/access/foreign/MemorySegmentProxy;)V
            areturn
        end local 3 // int rem
        end local 2 // int lim
        end local 1 // int pos
        end local 0 // java.nio.HeapByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Ljava/nio/HeapByteBuffer;
            1   12     1   pos  I
            2   12     2   lim  I
            5   12     3   rem  I

  public java.nio.ByteBuffer slice(int, int);
    descriptor: (II)Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=3, args_size=3
        start local 0 // java.nio.HeapByteBuffer this
        start local 1 // int index
        start local 2 // int length
         0: .line 121
            iload 1 /* index */
            iload 2 /* length */
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.limit:()I
            invokestatic java.util.Objects.checkFromIndexSize:(III)I
            pop
         1: .line 122
            new java.nio.HeapByteBuffer
            dup
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.hb:[B
         2: .line 123
            iconst_m1
         3: .line 124
            iconst_0
         4: .line 125
            iload 2 /* length */
         5: .line 126
            iload 2 /* length */
         6: .line 127
            iload 1 /* index */
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.offset:I
            iadd
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.segment:Ljdk/internal/access/foreign/MemorySegmentProxy;
         7: .line 122
            invokespecial java.nio.HeapByteBuffer.<init>:([BIIIIILjdk/internal/access/foreign/MemorySegmentProxy;)V
            areturn
        end local 2 // int length
        end local 1 // int index
        end local 0 // java.nio.HeapByteBuffer this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Ljava/nio/HeapByteBuffer;
            0    8     1   index  I
            0    8     2  length  I
    MethodParameters:
        Name  Flags
      index   
      length  

  public java.nio.ByteBuffer duplicate();
    descriptor: ()Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=1, args_size=1
        start local 0 // java.nio.HeapByteBuffer this
         0: .line 131
            new java.nio.HeapByteBuffer
            dup
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.hb:[B
         1: .line 132
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.markValue:()I
         2: .line 133
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.position:()I
         3: .line 134
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.limit:()I
         4: .line 135
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.capacity:()I
         5: .line 136
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.offset:I
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.segment:Ljdk/internal/access/foreign/MemorySegmentProxy;
         6: .line 131
            invokespecial java.nio.HeapByteBuffer.<init>:([BIIIIILjdk/internal/access/foreign/MemorySegmentProxy;)V
            areturn
        end local 0 // java.nio.HeapByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljava/nio/HeapByteBuffer;

  public java.nio.ByteBuffer asReadOnlyBuffer();
    descriptor: ()Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=1, args_size=1
        start local 0 // java.nio.HeapByteBuffer this
         0: .line 141
            new java.nio.HeapByteBufferR
            dup
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.hb:[B
         1: .line 142
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.markValue:()I
         2: .line 143
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.position:()I
         3: .line 144
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.limit:()I
         4: .line 145
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.capacity:()I
         5: .line 146
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.offset:I
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.segment:Ljdk/internal/access/foreign/MemorySegmentProxy;
         6: .line 141
            invokespecial java.nio.HeapByteBufferR.<init>:([BIIIIILjdk/internal/access/foreign/MemorySegmentProxy;)V
            areturn
        end local 0 // java.nio.HeapByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljava/nio/HeapByteBuffer;

  protected int ix(int);
    descriptor: (I)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.nio.HeapByteBuffer this
        start local 1 // int i
         0: .line 155
            iload 1 /* i */
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.offset:I
            iadd
            ireturn
        end local 1 // int i
        end local 0 // java.nio.HeapByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/nio/HeapByteBuffer;
            0    1     1     i  I
    MethodParameters:
      Name  Flags
      i     

  private long byteOffset(long);
    descriptor: (J)J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.nio.HeapByteBuffer this
        start local 1 // long i
         0: .line 160
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.address:J
            lload 1 /* i */
            ladd
            lreturn
        end local 1 // long i
        end local 0 // java.nio.HeapByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/nio/HeapByteBuffer;
            0    1     1     i  J
    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.HeapByteBuffer this
         0: .line 165
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.checkSegment:()V
         1: .line 166
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.hb:[B
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.nextGetIndex:()I
            invokevirtual java.nio.HeapByteBuffer.ix:(I)I
            baload
            ireturn
        end local 0 // java.nio.HeapByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/nio/HeapByteBuffer;

  public byte get(int);
    descriptor: (I)B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.nio.HeapByteBuffer this
        start local 1 // int i
         0: .line 170
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.checkSegment:()V
         1: .line 171
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.hb:[B
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* i */
            invokevirtual java.nio.HeapByteBuffer.checkIndex:(I)I
            invokevirtual java.nio.HeapByteBuffer.ix:(I)I
            baload
            ireturn
        end local 1 // int i
        end local 0 // java.nio.HeapByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/nio/HeapByteBuffer;
            0    2     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=5, locals=5, args_size=4
        start local 0 // java.nio.HeapByteBuffer this
        start local 1 // byte[] dst
        start local 2 // int offset
        start local 3 // int length
         0: .line 181
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.checkSegment:()V
         1: .line 182
            iload 2 /* offset */
            iload 3 /* length */
            aload 1 /* dst */
            arraylength
            invokestatic java.util.Objects.checkFromIndexSize:(III)I
            pop
         2: .line 183
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.position:()I
            istore 4 /* pos */
        start local 4 // int pos
         3: .line 184
            iload 3 /* length */
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.limit:()I
            iload 4 /* pos */
            isub
            if_icmple 5
         4: .line 185
            new java.nio.BufferUnderflowException
            dup
            invokespecial java.nio.BufferUnderflowException.<init>:()V
            athrow
         5: .line 186
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.hb:[B
            aload 0 /* this */
            iload 4 /* pos */
            invokevirtual java.nio.HeapByteBuffer.ix:(I)I
            aload 1 /* dst */
            iload 2 /* offset */
            iload 3 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         6: .line 187
            aload 0 /* this */
            iload 4 /* pos */
            iload 3 /* length */
            iadd
            invokevirtual java.nio.HeapByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
         7: .line 188
            aload 0 /* this */
            areturn
        end local 4 // int pos
        end local 3 // int length
        end local 2 // int offset
        end local 1 // byte[] dst
        end local 0 // java.nio.HeapByteBuffer this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Ljava/nio/HeapByteBuffer;
            0    8     1     dst  [B
            0    8     2  offset  I
            0    8     3  length  I
            3    8     4     pos  I
    MethodParameters:
        Name  Flags
      dst     
      offset  
      length  

  public java.nio.ByteBuffer get(int, byte[], int, int);
    descriptor: (I[BII)Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // java.nio.HeapByteBuffer this
        start local 1 // int index
        start local 2 // byte[] dst
        start local 3 // int offset
        start local 4 // int length
         0: .line 192
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.checkSegment:()V
         1: .line 193
            iload 1 /* index */
            iload 4 /* length */
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.limit:()I
            invokestatic java.util.Objects.checkFromIndexSize:(III)I
            pop
         2: .line 194
            iload 3 /* offset */
            iload 4 /* length */
            aload 2 /* dst */
            arraylength
            invokestatic java.util.Objects.checkFromIndexSize:(III)I
            pop
         3: .line 195
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.hb:[B
            aload 0 /* this */
            iload 1 /* index */
            invokevirtual java.nio.HeapByteBuffer.ix:(I)I
            aload 2 /* dst */
            iload 3 /* offset */
            iload 4 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         4: .line 196
            aload 0 /* this */
            areturn
        end local 4 // int length
        end local 3 // int offset
        end local 2 // byte[] dst
        end local 1 // int index
        end local 0 // java.nio.HeapByteBuffer this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Ljava/nio/HeapByteBuffer;
            0    5     1   index  I
            0    5     2     dst  [B
            0    5     3  offset  I
            0    5     4  length  I
    MethodParameters:
        Name  Flags
      index   
      dst     
      offset  
      length  

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

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

  public java.nio.ByteBuffer put(byte);
    descriptor: (B)Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.nio.HeapByteBuffer this
        start local 1 // byte x
         0: .line 211
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.checkSegment:()V
         1: .line 212
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.hb:[B
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.nextPutIndex:()I
            invokevirtual java.nio.HeapByteBuffer.ix:(I)I
            iload 1 /* x */
            bastore
         2: .line 213
            aload 0 /* this */
            areturn
        end local 1 // byte x
        end local 0 // java.nio.HeapByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/nio/HeapByteBuffer;
            0    3     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.HeapByteBuffer this
        start local 1 // int i
        start local 2 // byte x
         0: .line 221
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.checkSegment:()V
         1: .line 222
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.hb:[B
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* i */
            invokevirtual java.nio.HeapByteBuffer.checkIndex:(I)I
            invokevirtual java.nio.HeapByteBuffer.ix:(I)I
            iload 2 /* x */
            bastore
         2: .line 223
            aload 0 /* this */
            areturn
        end local 2 // byte x
        end local 1 // int i
        end local 0 // java.nio.HeapByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/nio/HeapByteBuffer;
            0    3     1     i  I
            0    3     2     x  B
    MethodParameters:
      Name  Flags
      i     
      x     

  public java.nio.ByteBuffer put(byte[], int, int);
    descriptor: ([BII)Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // java.nio.HeapByteBuffer this
        start local 1 // byte[] src
        start local 2 // int offset
        start local 3 // int length
         0: .line 231
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.checkSegment:()V
         1: .line 232
            iload 2 /* offset */
            iload 3 /* length */
            aload 1 /* src */
            arraylength
            invokestatic java.util.Objects.checkFromIndexSize:(III)I
            pop
         2: .line 233
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.position:()I
            istore 4 /* pos */
        start local 4 // int pos
         3: .line 234
            iload 3 /* length */
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.limit:()I
            iload 4 /* pos */
            isub
            if_icmple 5
         4: .line 235
            new java.nio.BufferOverflowException
            dup
            invokespecial java.nio.BufferOverflowException.<init>:()V
            athrow
         5: .line 236
      StackMap locals: int
      StackMap stack:
            aload 1 /* src */
            iload 2 /* offset */
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.hb:[B
            aload 0 /* this */
            iload 4 /* pos */
            invokevirtual java.nio.HeapByteBuffer.ix:(I)I
            iload 3 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         6: .line 237
            aload 0 /* this */
            iload 4 /* pos */
            iload 3 /* length */
            iadd
            invokevirtual java.nio.HeapByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
         7: .line 238
            aload 0 /* this */
            areturn
        end local 4 // int pos
        end local 3 // int length
        end local 2 // int offset
        end local 1 // byte[] src
        end local 0 // java.nio.HeapByteBuffer this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Ljava/nio/HeapByteBuffer;
            0    8     1     src  [B
            0    8     2  offset  I
            0    8     3  length  I
            3    8     4     pos  I
    MethodParameters:
        Name  Flags
      src     
      offset  
      length  

  public java.nio.ByteBuffer put(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.nio.HeapByteBuffer this
        start local 1 // java.nio.ByteBuffer src
         0: .line 246
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.checkSegment:()V
         1: .line 247
            aload 0 /* this */
            aload 1 /* src */
            invokespecial java.nio.ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
            pop
         2: .line 248
            aload 0 /* this */
            areturn
        end local 1 // java.nio.ByteBuffer src
        end local 0 // java.nio.HeapByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/nio/HeapByteBuffer;
            0    3     1   src  Ljava/nio/ByteBuffer;
    MethodParameters:
      Name  Flags
      src   

  public java.nio.ByteBuffer put(int, byte[], int, int);
    descriptor: (I[BII)Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // java.nio.HeapByteBuffer this
        start local 1 // int index
        start local 2 // byte[] src
        start local 3 // int offset
        start local 4 // int length
         0: .line 256
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.checkSegment:()V
         1: .line 257
            iload 1 /* index */
            iload 4 /* length */
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.limit:()I
            invokestatic java.util.Objects.checkFromIndexSize:(III)I
            pop
         2: .line 258
            iload 3 /* offset */
            iload 4 /* length */
            aload 2 /* src */
            arraylength
            invokestatic java.util.Objects.checkFromIndexSize:(III)I
            pop
         3: .line 259
            aload 2 /* src */
            iload 3 /* offset */
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.hb:[B
            aload 0 /* this */
            iload 1 /* index */
            invokevirtual java.nio.HeapByteBuffer.ix:(I)I
            iload 4 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         4: .line 260
            aload 0 /* this */
            areturn
        end local 4 // int length
        end local 3 // int offset
        end local 2 // byte[] src
        end local 1 // int index
        end local 0 // java.nio.HeapByteBuffer this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Ljava/nio/HeapByteBuffer;
            0    5     1   index  I
            0    5     2     src  [B
            0    5     3  offset  I
            0    5     4  length  I
    MethodParameters:
        Name  Flags
      index   
      src     
      offset  
      length  

  public java.nio.ByteBuffer compact();
    descriptor: ()Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // java.nio.HeapByteBuffer this
         0: .line 288
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.position:()I
            istore 1 /* pos */
        start local 1 // int pos
         1: .line 289
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.limit:()I
            iload 1 /* pos */
            isub
            istore 2 /* rem */
        start local 2 // int rem
         2: .line 290
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.hb:[B
            aload 0 /* this */
            iload 1 /* pos */
            invokevirtual java.nio.HeapByteBuffer.ix:(I)I
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.hb:[B
            aload 0 /* this */
            iconst_0
            invokevirtual java.nio.HeapByteBuffer.ix:(I)I
            iload 2 /* rem */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         3: .line 291
            aload 0 /* this */
            iload 2 /* rem */
            invokevirtual java.nio.HeapByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
         4: .line 292
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.capacity:()I
            invokevirtual java.nio.HeapByteBuffer.limit:(I)Ljava/nio/ByteBuffer;
            pop
         5: .line 293
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.discardMark:()V
         6: .line 294
            aload 0 /* this */
            areturn
        end local 2 // int rem
        end local 1 // int pos
        end local 0 // java.nio.HeapByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljava/nio/HeapByteBuffer;
            1    7     1   pos  I
            2    7     2   rem  I

  byte _get(int);
    descriptor: (I)B
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.nio.HeapByteBuffer this
        start local 1 // int i
         0: .line 305
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.hb:[B
            iload 1 /* i */
            baload
            ireturn
        end local 1 // int i
        end local 0 // java.nio.HeapByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/nio/HeapByteBuffer;
            0    1     1     i  I
    MethodParameters:
      Name  Flags
      i     

  void _put(int, byte);
    descriptor: (IB)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.nio.HeapByteBuffer this
        start local 1 // int i
        start local 2 // byte b
         0: .line 310
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.hb:[B
            iload 1 /* i */
            iload 2 /* b */
            bastore
         1: .line 314
            return
        end local 2 // byte b
        end local 1 // int i
        end local 0 // java.nio.HeapByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/nio/HeapByteBuffer;
            0    2     1     i  I
            0    2     2     b  B
    MethodParameters:
      Name  Flags
      i     
      b     

  public char getChar();
    descriptor: ()C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.nio.HeapByteBuffer this
         0: .line 321
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.checkSegment:()V
         1: .line 322
            getstatic java.nio.HeapByteBuffer.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.hb:[B
            aload 0 /* this */
            aload 0 /* this */
            iconst_2
            invokevirtual java.nio.HeapByteBuffer.nextGetIndex:(I)I
            i2l
            invokevirtual java.nio.HeapByteBuffer.byteOffset:(J)J
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.bigEndian:Z
            invokevirtual jdk.internal.misc.Unsafe.getCharUnaligned:(Ljava/lang/Object;JZ)C
            ireturn
        end local 0 // java.nio.HeapByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/nio/HeapByteBuffer;

  public char getChar(int);
    descriptor: (I)C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // java.nio.HeapByteBuffer this
        start local 1 // int i
         0: .line 326
            getstatic java.nio.HeapByteBuffer.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.hb:[B
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* i */
            iconst_2
            invokevirtual java.nio.HeapByteBuffer.checkIndex:(II)I
            i2l
            invokevirtual java.nio.HeapByteBuffer.byteOffset:(J)J
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.bigEndian:Z
            invokevirtual jdk.internal.misc.Unsafe.getCharUnaligned:(Ljava/lang/Object;JZ)C
            ireturn
        end local 1 // int i
        end local 0 // java.nio.HeapByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/nio/HeapByteBuffer;
            0    1     1     i  I
    MethodParameters:
      Name  Flags
      i     

  public java.nio.ByteBuffer putChar(char);
    descriptor: (C)Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // java.nio.HeapByteBuffer this
        start local 1 // char x
         0: .line 333
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.checkSegment:()V
         1: .line 334
            getstatic java.nio.HeapByteBuffer.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.hb:[B
            aload 0 /* this */
            aload 0 /* this */
            iconst_2
            invokevirtual java.nio.HeapByteBuffer.nextPutIndex:(I)I
            i2l
            invokevirtual java.nio.HeapByteBuffer.byteOffset:(J)J
            iload 1 /* x */
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.bigEndian:Z
            invokevirtual jdk.internal.misc.Unsafe.putCharUnaligned:(Ljava/lang/Object;JCZ)V
         2: .line 335
            aload 0 /* this */
            areturn
        end local 1 // char x
        end local 0 // java.nio.HeapByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/nio/HeapByteBuffer;
            0    3     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=6, locals=3, args_size=3
        start local 0 // java.nio.HeapByteBuffer this
        start local 1 // int i
        start local 2 // char x
         0: .line 343
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.checkSegment:()V
         1: .line 344
            getstatic java.nio.HeapByteBuffer.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.hb:[B
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* i */
            iconst_2
            invokevirtual java.nio.HeapByteBuffer.checkIndex:(II)I
            i2l
            invokevirtual java.nio.HeapByteBuffer.byteOffset:(J)J
            iload 2 /* x */
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.bigEndian:Z
            invokevirtual jdk.internal.misc.Unsafe.putCharUnaligned:(Ljava/lang/Object;JCZ)V
         2: .line 345
            aload 0 /* this */
            areturn
        end local 2 // char x
        end local 1 // int i
        end local 0 // java.nio.HeapByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/nio/HeapByteBuffer;
            0    3     1     i  I
            0    3     2     x  C
    MethodParameters:
      Name  Flags
      i     
      x     

  public java.nio.CharBuffer asCharBuffer();
    descriptor: ()Ljava/nio/CharBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=5, args_size=1
        start local 0 // java.nio.HeapByteBuffer this
         0: .line 352
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.position:()I
            istore 1 /* pos */
        start local 1 // int pos
         1: .line 353
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.limit:()I
            iload 1 /* pos */
            isub
            iconst_1
            ishr
            istore 2 /* size */
        start local 2 // int size
         2: .line 354
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.address:J
            iload 1 /* pos */
            i2l
            ladd
            lstore 3 /* addr */
        start local 3 // long addr
         3: .line 355
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.bigEndian:Z
            ifeq 12
         4: .line 356
            new java.nio.ByteBufferAsCharBufferB
            dup
            aload 0 /* this */
         5: .line 357
            iconst_m1
         6: .line 358
            iconst_0
         7: .line 359
            iload 2 /* size */
         8: .line 360
            iload 2 /* size */
         9: .line 361
            lload 3 /* addr */
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.segment:Ljdk/internal/access/foreign/MemorySegmentProxy;
        10: .line 356
            invokespecial java.nio.ByteBufferAsCharBufferB.<init>:(Ljava/nio/ByteBuffer;IIIIJLjdk/internal/access/foreign/MemorySegmentProxy;)V
        11: .line 361
            goto 19
        12: .line 362
      StackMap locals: int int long
      StackMap stack:
            new java.nio.ByteBufferAsCharBufferL
            dup
            aload 0 /* this */
        13: .line 363
            iconst_m1
        14: .line 364
            iconst_0
        15: .line 365
            iload 2 /* size */
        16: .line 366
            iload 2 /* size */
        17: .line 367
            lload 3 /* addr */
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.segment:Ljdk/internal/access/foreign/MemorySegmentProxy;
        18: .line 362
            invokespecial java.nio.ByteBufferAsCharBufferL.<init>:(Ljava/nio/ByteBuffer;IIIIJLjdk/internal/access/foreign/MemorySegmentProxy;)V
        19: .line 355
      StackMap locals:
      StackMap stack: java.nio.CharBuffer
            areturn
        end local 3 // long addr
        end local 2 // int size
        end local 1 // int pos
        end local 0 // java.nio.HeapByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   20     0  this  Ljava/nio/HeapByteBuffer;
            1   20     1   pos  I
            2   20     2  size  I
            3   20     3  addr  J

  public short getShort();
    descriptor: ()S
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.nio.HeapByteBuffer this
         0: .line 376
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.checkSegment:()V
         1: .line 377
            getstatic java.nio.HeapByteBuffer.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.hb:[B
            aload 0 /* this */
            aload 0 /* this */
            iconst_2
            invokevirtual java.nio.HeapByteBuffer.nextGetIndex:(I)I
            i2l
            invokevirtual java.nio.HeapByteBuffer.byteOffset:(J)J
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.bigEndian:Z
            invokevirtual jdk.internal.misc.Unsafe.getShortUnaligned:(Ljava/lang/Object;JZ)S
            ireturn
        end local 0 // java.nio.HeapByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/nio/HeapByteBuffer;

  public short getShort(int);
    descriptor: (I)S
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // java.nio.HeapByteBuffer this
        start local 1 // int i
         0: .line 381
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.checkSegment:()V
         1: .line 382
            getstatic java.nio.HeapByteBuffer.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.hb:[B
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* i */
            iconst_2
            invokevirtual java.nio.HeapByteBuffer.checkIndex:(II)I
            i2l
            invokevirtual java.nio.HeapByteBuffer.byteOffset:(J)J
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.bigEndian:Z
            invokevirtual jdk.internal.misc.Unsafe.getShortUnaligned:(Ljava/lang/Object;JZ)S
            ireturn
        end local 1 // int i
        end local 0 // java.nio.HeapByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/nio/HeapByteBuffer;
            0    2     1     i  I
    MethodParameters:
      Name  Flags
      i     

  public java.nio.ByteBuffer putShort(short);
    descriptor: (S)Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // java.nio.HeapByteBuffer this
        start local 1 // short x
         0: .line 389
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.checkSegment:()V
         1: .line 390
            getstatic java.nio.HeapByteBuffer.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.hb:[B
            aload 0 /* this */
            aload 0 /* this */
            iconst_2
            invokevirtual java.nio.HeapByteBuffer.nextPutIndex:(I)I
            i2l
            invokevirtual java.nio.HeapByteBuffer.byteOffset:(J)J
            iload 1 /* x */
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.bigEndian:Z
            invokevirtual jdk.internal.misc.Unsafe.putShortUnaligned:(Ljava/lang/Object;JSZ)V
         2: .line 391
            aload 0 /* this */
            areturn
        end local 1 // short x
        end local 0 // java.nio.HeapByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/nio/HeapByteBuffer;
            0    3     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=6, locals=3, args_size=3
        start local 0 // java.nio.HeapByteBuffer this
        start local 1 // int i
        start local 2 // short x
         0: .line 399
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.checkSegment:()V
         1: .line 400
            getstatic java.nio.HeapByteBuffer.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.hb:[B
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* i */
            iconst_2
            invokevirtual java.nio.HeapByteBuffer.checkIndex:(II)I
            i2l
            invokevirtual java.nio.HeapByteBuffer.byteOffset:(J)J
            iload 2 /* x */
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.bigEndian:Z
            invokevirtual jdk.internal.misc.Unsafe.putShortUnaligned:(Ljava/lang/Object;JSZ)V
         2: .line 401
            aload 0 /* this */
            areturn
        end local 2 // short x
        end local 1 // int i
        end local 0 // java.nio.HeapByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/nio/HeapByteBuffer;
            0    3     1     i  I
            0    3     2     x  S
    MethodParameters:
      Name  Flags
      i     
      x     

  public java.nio.ShortBuffer asShortBuffer();
    descriptor: ()Ljava/nio/ShortBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=5, args_size=1
        start local 0 // java.nio.HeapByteBuffer this
         0: .line 408
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.position:()I
            istore 1 /* pos */
        start local 1 // int pos
         1: .line 409
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.limit:()I
            iload 1 /* pos */
            isub
            iconst_1
            ishr
            istore 2 /* size */
        start local 2 // int size
         2: .line 410
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.address:J
            iload 1 /* pos */
            i2l
            ladd
            lstore 3 /* addr */
        start local 3 // long addr
         3: .line 411
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.bigEndian:Z
            ifeq 12
         4: .line 412
            new java.nio.ByteBufferAsShortBufferB
            dup
            aload 0 /* this */
         5: .line 413
            iconst_m1
         6: .line 414
            iconst_0
         7: .line 415
            iload 2 /* size */
         8: .line 416
            iload 2 /* size */
         9: .line 417
            lload 3 /* addr */
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.segment:Ljdk/internal/access/foreign/MemorySegmentProxy;
        10: .line 412
            invokespecial java.nio.ByteBufferAsShortBufferB.<init>:(Ljava/nio/ByteBuffer;IIIIJLjdk/internal/access/foreign/MemorySegmentProxy;)V
        11: .line 417
            goto 19
        12: .line 418
      StackMap locals: int int long
      StackMap stack:
            new java.nio.ByteBufferAsShortBufferL
            dup
            aload 0 /* this */
        13: .line 419
            iconst_m1
        14: .line 420
            iconst_0
        15: .line 421
            iload 2 /* size */
        16: .line 422
            iload 2 /* size */
        17: .line 423
            lload 3 /* addr */
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.segment:Ljdk/internal/access/foreign/MemorySegmentProxy;
        18: .line 418
            invokespecial java.nio.ByteBufferAsShortBufferL.<init>:(Ljava/nio/ByteBuffer;IIIIJLjdk/internal/access/foreign/MemorySegmentProxy;)V
        19: .line 411
      StackMap locals:
      StackMap stack: java.nio.ShortBuffer
            areturn
        end local 3 // long addr
        end local 2 // int size
        end local 1 // int pos
        end local 0 // java.nio.HeapByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   20     0  this  Ljava/nio/HeapByteBuffer;
            1   20     1   pos  I
            2   20     2  size  I
            3   20     3  addr  J

  public int getInt();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.nio.HeapByteBuffer this
         0: .line 432
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.checkSegment:()V
         1: .line 433
            getstatic java.nio.HeapByteBuffer.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.hb:[B
            aload 0 /* this */
            aload 0 /* this */
            iconst_4
            invokevirtual java.nio.HeapByteBuffer.nextGetIndex:(I)I
            i2l
            invokevirtual java.nio.HeapByteBuffer.byteOffset:(J)J
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.bigEndian:Z
            invokevirtual jdk.internal.misc.Unsafe.getIntUnaligned:(Ljava/lang/Object;JZ)I
            ireturn
        end local 0 // java.nio.HeapByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/nio/HeapByteBuffer;

  public int getInt(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // java.nio.HeapByteBuffer this
        start local 1 // int i
         0: .line 437
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.checkSegment:()V
         1: .line 438
            getstatic java.nio.HeapByteBuffer.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.hb:[B
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* i */
            iconst_4
            invokevirtual java.nio.HeapByteBuffer.checkIndex:(II)I
            i2l
            invokevirtual java.nio.HeapByteBuffer.byteOffset:(J)J
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.bigEndian:Z
            invokevirtual jdk.internal.misc.Unsafe.getIntUnaligned:(Ljava/lang/Object;JZ)I
            ireturn
        end local 1 // int i
        end local 0 // java.nio.HeapByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/nio/HeapByteBuffer;
            0    2     1     i  I
    MethodParameters:
      Name  Flags
      i     

  public java.nio.ByteBuffer putInt(int);
    descriptor: (I)Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // java.nio.HeapByteBuffer this
        start local 1 // int x
         0: .line 445
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.checkSegment:()V
         1: .line 446
            getstatic java.nio.HeapByteBuffer.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.hb:[B
            aload 0 /* this */
            aload 0 /* this */
            iconst_4
            invokevirtual java.nio.HeapByteBuffer.nextPutIndex:(I)I
            i2l
            invokevirtual java.nio.HeapByteBuffer.byteOffset:(J)J
            iload 1 /* x */
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.bigEndian:Z
            invokevirtual jdk.internal.misc.Unsafe.putIntUnaligned:(Ljava/lang/Object;JIZ)V
         2: .line 447
            aload 0 /* this */
            areturn
        end local 1 // int x
        end local 0 // java.nio.HeapByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/nio/HeapByteBuffer;
            0    3     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=6, locals=3, args_size=3
        start local 0 // java.nio.HeapByteBuffer this
        start local 1 // int i
        start local 2 // int x
         0: .line 455
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.checkSegment:()V
         1: .line 456
            getstatic java.nio.HeapByteBuffer.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.hb:[B
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* i */
            iconst_4
            invokevirtual java.nio.HeapByteBuffer.checkIndex:(II)I
            i2l
            invokevirtual java.nio.HeapByteBuffer.byteOffset:(J)J
            iload 2 /* x */
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.bigEndian:Z
            invokevirtual jdk.internal.misc.Unsafe.putIntUnaligned:(Ljava/lang/Object;JIZ)V
         2: .line 457
            aload 0 /* this */
            areturn
        end local 2 // int x
        end local 1 // int i
        end local 0 // java.nio.HeapByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/nio/HeapByteBuffer;
            0    3     1     i  I
            0    3     2     x  I
    MethodParameters:
      Name  Flags
      i     
      x     

  public java.nio.IntBuffer asIntBuffer();
    descriptor: ()Ljava/nio/IntBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=5, args_size=1
        start local 0 // java.nio.HeapByteBuffer this
         0: .line 464
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.position:()I
            istore 1 /* pos */
        start local 1 // int pos
         1: .line 465
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.limit:()I
            iload 1 /* pos */
            isub
            iconst_2
            ishr
            istore 2 /* size */
        start local 2 // int size
         2: .line 466
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.address:J
            iload 1 /* pos */
            i2l
            ladd
            lstore 3 /* addr */
        start local 3 // long addr
         3: .line 467
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.bigEndian:Z
            ifeq 12
         4: .line 468
            new java.nio.ByteBufferAsIntBufferB
            dup
            aload 0 /* this */
         5: .line 469
            iconst_m1
         6: .line 470
            iconst_0
         7: .line 471
            iload 2 /* size */
         8: .line 472
            iload 2 /* size */
         9: .line 473
            lload 3 /* addr */
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.segment:Ljdk/internal/access/foreign/MemorySegmentProxy;
        10: .line 468
            invokespecial java.nio.ByteBufferAsIntBufferB.<init>:(Ljava/nio/ByteBuffer;IIIIJLjdk/internal/access/foreign/MemorySegmentProxy;)V
        11: .line 473
            goto 19
        12: .line 474
      StackMap locals: int int long
      StackMap stack:
            new java.nio.ByteBufferAsIntBufferL
            dup
            aload 0 /* this */
        13: .line 475
            iconst_m1
        14: .line 476
            iconst_0
        15: .line 477
            iload 2 /* size */
        16: .line 478
            iload 2 /* size */
        17: .line 479
            lload 3 /* addr */
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.segment:Ljdk/internal/access/foreign/MemorySegmentProxy;
        18: .line 474
            invokespecial java.nio.ByteBufferAsIntBufferL.<init>:(Ljava/nio/ByteBuffer;IIIIJLjdk/internal/access/foreign/MemorySegmentProxy;)V
        19: .line 467
      StackMap locals:
      StackMap stack: java.nio.IntBuffer
            areturn
        end local 3 // long addr
        end local 2 // int size
        end local 1 // int pos
        end local 0 // java.nio.HeapByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   20     0  this  Ljava/nio/HeapByteBuffer;
            1   20     1   pos  I
            2   20     2  size  I
            3   20     3  addr  J

  public long getLong();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.nio.HeapByteBuffer this
         0: .line 488
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.checkSegment:()V
         1: .line 489
            getstatic java.nio.HeapByteBuffer.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.hb:[B
            aload 0 /* this */
            aload 0 /* this */
            bipush 8
            invokevirtual java.nio.HeapByteBuffer.nextGetIndex:(I)I
            i2l
            invokevirtual java.nio.HeapByteBuffer.byteOffset:(J)J
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.bigEndian:Z
            invokevirtual jdk.internal.misc.Unsafe.getLongUnaligned:(Ljava/lang/Object;JZ)J
            lreturn
        end local 0 // java.nio.HeapByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/nio/HeapByteBuffer;

  public long getLong(int);
    descriptor: (I)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // java.nio.HeapByteBuffer this
        start local 1 // int i
         0: .line 493
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.checkSegment:()V
         1: .line 494
            getstatic java.nio.HeapByteBuffer.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.hb:[B
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* i */
            bipush 8
            invokevirtual java.nio.HeapByteBuffer.checkIndex:(II)I
            i2l
            invokevirtual java.nio.HeapByteBuffer.byteOffset:(J)J
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.bigEndian:Z
            invokevirtual jdk.internal.misc.Unsafe.getLongUnaligned:(Ljava/lang/Object;JZ)J
            lreturn
        end local 1 // int i
        end local 0 // java.nio.HeapByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/nio/HeapByteBuffer;
            0    2     1     i  I
    MethodParameters:
      Name  Flags
      i     

  public java.nio.ByteBuffer putLong(long);
    descriptor: (J)Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // java.nio.HeapByteBuffer this
        start local 1 // long x
         0: .line 501
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.checkSegment:()V
         1: .line 502
            getstatic java.nio.HeapByteBuffer.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.hb:[B
            aload 0 /* this */
            aload 0 /* this */
            bipush 8
            invokevirtual java.nio.HeapByteBuffer.nextPutIndex:(I)I
            i2l
            invokevirtual java.nio.HeapByteBuffer.byteOffset:(J)J
            lload 1 /* x */
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.bigEndian:Z
            invokevirtual jdk.internal.misc.Unsafe.putLongUnaligned:(Ljava/lang/Object;JJZ)V
         2: .line 503
            aload 0 /* this */
            areturn
        end local 1 // long x
        end local 0 // java.nio.HeapByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/nio/HeapByteBuffer;
            0    3     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=7, locals=4, args_size=3
        start local 0 // java.nio.HeapByteBuffer this
        start local 1 // int i
        start local 2 // long x
         0: .line 511
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.checkSegment:()V
         1: .line 512
            getstatic java.nio.HeapByteBuffer.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.hb:[B
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* i */
            bipush 8
            invokevirtual java.nio.HeapByteBuffer.checkIndex:(II)I
            i2l
            invokevirtual java.nio.HeapByteBuffer.byteOffset:(J)J
            lload 2 /* x */
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.bigEndian:Z
            invokevirtual jdk.internal.misc.Unsafe.putLongUnaligned:(Ljava/lang/Object;JJZ)V
         2: .line 513
            aload 0 /* this */
            areturn
        end local 2 // long x
        end local 1 // int i
        end local 0 // java.nio.HeapByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/nio/HeapByteBuffer;
            0    3     1     i  I
            0    3     2     x  J
    MethodParameters:
      Name  Flags
      i     
      x     

  public java.nio.LongBuffer asLongBuffer();
    descriptor: ()Ljava/nio/LongBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=5, args_size=1
        start local 0 // java.nio.HeapByteBuffer this
         0: .line 520
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.position:()I
            istore 1 /* pos */
        start local 1 // int pos
         1: .line 521
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.limit:()I
            iload 1 /* pos */
            isub
            iconst_3
            ishr
            istore 2 /* size */
        start local 2 // int size
         2: .line 522
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.address:J
            iload 1 /* pos */
            i2l
            ladd
            lstore 3 /* addr */
        start local 3 // long addr
         3: .line 523
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.bigEndian:Z
            ifeq 12
         4: .line 524
            new java.nio.ByteBufferAsLongBufferB
            dup
            aload 0 /* this */
         5: .line 525
            iconst_m1
         6: .line 526
            iconst_0
         7: .line 527
            iload 2 /* size */
         8: .line 528
            iload 2 /* size */
         9: .line 529
            lload 3 /* addr */
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.segment:Ljdk/internal/access/foreign/MemorySegmentProxy;
        10: .line 524
            invokespecial java.nio.ByteBufferAsLongBufferB.<init>:(Ljava/nio/ByteBuffer;IIIIJLjdk/internal/access/foreign/MemorySegmentProxy;)V
        11: .line 529
            goto 19
        12: .line 530
      StackMap locals: int int long
      StackMap stack:
            new java.nio.ByteBufferAsLongBufferL
            dup
            aload 0 /* this */
        13: .line 531
            iconst_m1
        14: .line 532
            iconst_0
        15: .line 533
            iload 2 /* size */
        16: .line 534
            iload 2 /* size */
        17: .line 535
            lload 3 /* addr */
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.segment:Ljdk/internal/access/foreign/MemorySegmentProxy;
        18: .line 530
            invokespecial java.nio.ByteBufferAsLongBufferL.<init>:(Ljava/nio/ByteBuffer;IIIIJLjdk/internal/access/foreign/MemorySegmentProxy;)V
        19: .line 523
      StackMap locals:
      StackMap stack: java.nio.LongBuffer
            areturn
        end local 3 // long addr
        end local 2 // int size
        end local 1 // int pos
        end local 0 // java.nio.HeapByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   20     0  this  Ljava/nio/HeapByteBuffer;
            1   20     1   pos  I
            2   20     2  size  I
            3   20     3  addr  J

  public float getFloat();
    descriptor: ()F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.nio.HeapByteBuffer this
         0: .line 544
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.checkSegment:()V
         1: .line 545
            getstatic java.nio.HeapByteBuffer.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.hb:[B
            aload 0 /* this */
            aload 0 /* this */
            iconst_4
            invokevirtual java.nio.HeapByteBuffer.nextGetIndex:(I)I
            i2l
            invokevirtual java.nio.HeapByteBuffer.byteOffset:(J)J
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.bigEndian:Z
            invokevirtual jdk.internal.misc.Unsafe.getIntUnaligned:(Ljava/lang/Object;JZ)I
            istore 1 /* x */
        start local 1 // int x
         2: .line 546
            iload 1 /* x */
            invokestatic java.lang.Float.intBitsToFloat:(I)F
            freturn
        end local 1 // int x
        end local 0 // java.nio.HeapByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/nio/HeapByteBuffer;
            2    3     1     x  I

  public float getFloat(int);
    descriptor: (I)F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // java.nio.HeapByteBuffer this
        start local 1 // int i
         0: .line 550
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.checkSegment:()V
         1: .line 551
            getstatic java.nio.HeapByteBuffer.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.hb:[B
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* i */
            iconst_4
            invokevirtual java.nio.HeapByteBuffer.checkIndex:(II)I
            i2l
            invokevirtual java.nio.HeapByteBuffer.byteOffset:(J)J
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.bigEndian:Z
            invokevirtual jdk.internal.misc.Unsafe.getIntUnaligned:(Ljava/lang/Object;JZ)I
            istore 2 /* x */
        start local 2 // int x
         2: .line 552
            iload 2 /* x */
            invokestatic java.lang.Float.intBitsToFloat:(I)F
            freturn
        end local 2 // int x
        end local 1 // int i
        end local 0 // java.nio.HeapByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/nio/HeapByteBuffer;
            0    3     1     i  I
            2    3     2     x  I
    MethodParameters:
      Name  Flags
      i     

  public java.nio.ByteBuffer putFloat(float);
    descriptor: (F)Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // java.nio.HeapByteBuffer this
        start local 1 // float x
         0: .line 559
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.checkSegment:()V
         1: .line 560
            fload 1 /* x */
            invokestatic java.lang.Float.floatToRawIntBits:(F)I
            istore 2 /* y */
        start local 2 // int y
         2: .line 561
            getstatic java.nio.HeapByteBuffer.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.hb:[B
            aload 0 /* this */
            aload 0 /* this */
            iconst_4
            invokevirtual java.nio.HeapByteBuffer.nextPutIndex:(I)I
            i2l
            invokevirtual java.nio.HeapByteBuffer.byteOffset:(J)J
            iload 2 /* y */
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.bigEndian:Z
            invokevirtual jdk.internal.misc.Unsafe.putIntUnaligned:(Ljava/lang/Object;JIZ)V
         3: .line 562
            aload 0 /* this */
            areturn
        end local 2 // int y
        end local 1 // float x
        end local 0 // java.nio.HeapByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/nio/HeapByteBuffer;
            0    4     1     x  F
            2    4     2     y  I
    MethodParameters:
      Name  Flags
      x     

  public java.nio.ByteBuffer putFloat(int, float);
    descriptor: (IF)Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // java.nio.HeapByteBuffer this
        start local 1 // int i
        start local 2 // float x
         0: .line 570
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.checkSegment:()V
         1: .line 571
            fload 2 /* x */
            invokestatic java.lang.Float.floatToRawIntBits:(F)I
            istore 3 /* y */
        start local 3 // int y
         2: .line 572
            getstatic java.nio.HeapByteBuffer.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.hb:[B
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* i */
            iconst_4
            invokevirtual java.nio.HeapByteBuffer.checkIndex:(II)I
            i2l
            invokevirtual java.nio.HeapByteBuffer.byteOffset:(J)J
            iload 3 /* y */
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.bigEndian:Z
            invokevirtual jdk.internal.misc.Unsafe.putIntUnaligned:(Ljava/lang/Object;JIZ)V
         3: .line 573
            aload 0 /* this */
            areturn
        end local 3 // int y
        end local 2 // float x
        end local 1 // int i
        end local 0 // java.nio.HeapByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/nio/HeapByteBuffer;
            0    4     1     i  I
            0    4     2     x  F
            2    4     3     y  I
    MethodParameters:
      Name  Flags
      i     
      x     

  public java.nio.FloatBuffer asFloatBuffer();
    descriptor: ()Ljava/nio/FloatBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=5, args_size=1
        start local 0 // java.nio.HeapByteBuffer this
         0: .line 580
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.position:()I
            istore 1 /* pos */
        start local 1 // int pos
         1: .line 581
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.limit:()I
            iload 1 /* pos */
            isub
            iconst_2
            ishr
            istore 2 /* size */
        start local 2 // int size
         2: .line 582
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.address:J
            iload 1 /* pos */
            i2l
            ladd
            lstore 3 /* addr */
        start local 3 // long addr
         3: .line 583
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.bigEndian:Z
            ifeq 12
         4: .line 584
            new java.nio.ByteBufferAsFloatBufferB
            dup
            aload 0 /* this */
         5: .line 585
            iconst_m1
         6: .line 586
            iconst_0
         7: .line 587
            iload 2 /* size */
         8: .line 588
            iload 2 /* size */
         9: .line 589
            lload 3 /* addr */
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.segment:Ljdk/internal/access/foreign/MemorySegmentProxy;
        10: .line 584
            invokespecial java.nio.ByteBufferAsFloatBufferB.<init>:(Ljava/nio/ByteBuffer;IIIIJLjdk/internal/access/foreign/MemorySegmentProxy;)V
        11: .line 589
            goto 19
        12: .line 590
      StackMap locals: int int long
      StackMap stack:
            new java.nio.ByteBufferAsFloatBufferL
            dup
            aload 0 /* this */
        13: .line 591
            iconst_m1
        14: .line 592
            iconst_0
        15: .line 593
            iload 2 /* size */
        16: .line 594
            iload 2 /* size */
        17: .line 595
            lload 3 /* addr */
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.segment:Ljdk/internal/access/foreign/MemorySegmentProxy;
        18: .line 590
            invokespecial java.nio.ByteBufferAsFloatBufferL.<init>:(Ljava/nio/ByteBuffer;IIIIJLjdk/internal/access/foreign/MemorySegmentProxy;)V
        19: .line 583
      StackMap locals:
      StackMap stack: java.nio.FloatBuffer
            areturn
        end local 3 // long addr
        end local 2 // int size
        end local 1 // int pos
        end local 0 // java.nio.HeapByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   20     0  this  Ljava/nio/HeapByteBuffer;
            1   20     1   pos  I
            2   20     2  size  I
            3   20     3  addr  J

  public double getDouble();
    descriptor: ()D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // java.nio.HeapByteBuffer this
         0: .line 604
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.checkSegment:()V
         1: .line 605
            getstatic java.nio.HeapByteBuffer.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.hb:[B
            aload 0 /* this */
            aload 0 /* this */
            bipush 8
            invokevirtual java.nio.HeapByteBuffer.nextGetIndex:(I)I
            i2l
            invokevirtual java.nio.HeapByteBuffer.byteOffset:(J)J
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.bigEndian:Z
            invokevirtual jdk.internal.misc.Unsafe.getLongUnaligned:(Ljava/lang/Object;JZ)J
            lstore 1 /* x */
        start local 1 // long x
         2: .line 606
            lload 1 /* x */
            invokestatic java.lang.Double.longBitsToDouble:(J)D
            dreturn
        end local 1 // long x
        end local 0 // java.nio.HeapByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/nio/HeapByteBuffer;
            2    3     1     x  J

  public double getDouble(int);
    descriptor: (I)D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // java.nio.HeapByteBuffer this
        start local 1 // int i
         0: .line 610
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.checkSegment:()V
         1: .line 611
            getstatic java.nio.HeapByteBuffer.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.hb:[B
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* i */
            bipush 8
            invokevirtual java.nio.HeapByteBuffer.checkIndex:(II)I
            i2l
            invokevirtual java.nio.HeapByteBuffer.byteOffset:(J)J
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.bigEndian:Z
            invokevirtual jdk.internal.misc.Unsafe.getLongUnaligned:(Ljava/lang/Object;JZ)J
            lstore 2 /* x */
        start local 2 // long x
         2: .line 612
            lload 2 /* x */
            invokestatic java.lang.Double.longBitsToDouble:(J)D
            dreturn
        end local 2 // long x
        end local 1 // int i
        end local 0 // java.nio.HeapByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/nio/HeapByteBuffer;
            0    3     1     i  I
            2    3     2     x  J
    MethodParameters:
      Name  Flags
      i     

  public java.nio.ByteBuffer putDouble(double);
    descriptor: (D)Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=2
        start local 0 // java.nio.HeapByteBuffer this
        start local 1 // double x
         0: .line 619
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.checkSegment:()V
         1: .line 620
            dload 1 /* x */
            invokestatic java.lang.Double.doubleToRawLongBits:(D)J
            lstore 3 /* y */
        start local 3 // long y
         2: .line 621
            getstatic java.nio.HeapByteBuffer.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.hb:[B
            aload 0 /* this */
            aload 0 /* this */
            bipush 8
            invokevirtual java.nio.HeapByteBuffer.nextPutIndex:(I)I
            i2l
            invokevirtual java.nio.HeapByteBuffer.byteOffset:(J)J
            lload 3 /* y */
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.bigEndian:Z
            invokevirtual jdk.internal.misc.Unsafe.putLongUnaligned:(Ljava/lang/Object;JJZ)V
         3: .line 622
            aload 0 /* this */
            areturn
        end local 3 // long y
        end local 1 // double x
        end local 0 // java.nio.HeapByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/nio/HeapByteBuffer;
            0    4     1     x  D
            2    4     3     y  J
    MethodParameters:
      Name  Flags
      x     

  public java.nio.ByteBuffer putDouble(int, double);
    descriptor: (ID)Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=3
        start local 0 // java.nio.HeapByteBuffer this
        start local 1 // int i
        start local 2 // double x
         0: .line 630
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.checkSegment:()V
         1: .line 631
            dload 2 /* x */
            invokestatic java.lang.Double.doubleToRawLongBits:(D)J
            lstore 4 /* y */
        start local 4 // long y
         2: .line 632
            getstatic java.nio.HeapByteBuffer.UNSAFE:Ljdk/internal/misc/Unsafe;
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.hb:[B
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* i */
            bipush 8
            invokevirtual java.nio.HeapByteBuffer.checkIndex:(II)I
            i2l
            invokevirtual java.nio.HeapByteBuffer.byteOffset:(J)J
            lload 4 /* y */
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.bigEndian:Z
            invokevirtual jdk.internal.misc.Unsafe.putLongUnaligned:(Ljava/lang/Object;JJZ)V
         3: .line 633
            aload 0 /* this */
            areturn
        end local 4 // long y
        end local 2 // double x
        end local 1 // int i
        end local 0 // java.nio.HeapByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/nio/HeapByteBuffer;
            0    4     1     i  I
            0    4     2     x  D
            2    4     4     y  J
    MethodParameters:
      Name  Flags
      i     
      x     

  public java.nio.DoubleBuffer asDoubleBuffer();
    descriptor: ()Ljava/nio/DoubleBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=5, args_size=1
        start local 0 // java.nio.HeapByteBuffer this
         0: .line 640
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.position:()I
            istore 1 /* pos */
        start local 1 // int pos
         1: .line 641
            aload 0 /* this */
            invokevirtual java.nio.HeapByteBuffer.limit:()I
            iload 1 /* pos */
            isub
            iconst_3
            ishr
            istore 2 /* size */
        start local 2 // int size
         2: .line 642
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.address:J
            iload 1 /* pos */
            i2l
            ladd
            lstore 3 /* addr */
        start local 3 // long addr
         3: .line 643
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.bigEndian:Z
            ifeq 12
         4: .line 644
            new java.nio.ByteBufferAsDoubleBufferB
            dup
            aload 0 /* this */
         5: .line 645
            iconst_m1
         6: .line 646
            iconst_0
         7: .line 647
            iload 2 /* size */
         8: .line 648
            iload 2 /* size */
         9: .line 649
            lload 3 /* addr */
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.segment:Ljdk/internal/access/foreign/MemorySegmentProxy;
        10: .line 644
            invokespecial java.nio.ByteBufferAsDoubleBufferB.<init>:(Ljava/nio/ByteBuffer;IIIIJLjdk/internal/access/foreign/MemorySegmentProxy;)V
        11: .line 649
            goto 19
        12: .line 650
      StackMap locals: int int long
      StackMap stack:
            new java.nio.ByteBufferAsDoubleBufferL
            dup
            aload 0 /* this */
        13: .line 651
            iconst_m1
        14: .line 652
            iconst_0
        15: .line 653
            iload 2 /* size */
        16: .line 654
            iload 2 /* size */
        17: .line 655
            lload 3 /* addr */
            aload 0 /* this */
            getfield java.nio.HeapByteBuffer.segment:Ljdk/internal/access/foreign/MemorySegmentProxy;
        18: .line 650
            invokespecial java.nio.ByteBufferAsDoubleBufferL.<init>:(Ljava/nio/ByteBuffer;IIIIJLjdk/internal/access/foreign/MemorySegmentProxy;)V
        19: .line 643
      StackMap locals:
      StackMap stack: java.nio.DoubleBuffer
            areturn
        end local 3 // long addr
        end local 2 // int size
        end local 1 // int pos
        end local 0 // java.nio.HeapByteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   20     0  this  Ljava/nio/HeapByteBuffer;
            1   20     1   pos  I
            2   20     2  size  I
            3   20     3  addr  J

  public java.nio.Buffer duplicate();
    descriptor: ()Ljava/nio/Buffer;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual java.nio.HeapByteBuffer.duplicate:()Ljava/nio/ByteBuffer;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.nio.Buffer slice(int, int);
    descriptor: (II)Ljava/nio/Buffer;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            iload 1
            iload 2
            invokevirtual java.nio.HeapByteBuffer.slice:(II)Ljava/nio/ByteBuffer;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.nio.Buffer slice();
    descriptor: ()Ljava/nio/Buffer;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual java.nio.HeapByteBuffer.slice:()Ljava/nio/ByteBuffer;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "HeapByteBuffer.java"