class sun.nio.ch.IOUtil
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: sun.nio.ch.IOUtil
  super_class: java.lang.Object
{
  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 40
            ldc Lsun/nio/ch/IOUtil;
            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 sun.nio.ch.IOUtil.$assertionsDisabled:Z
         3: .line 365
            new sun.nio.ch.IOUtil$1
            dup
            invokespecial sun.nio.ch.IOUtil$1.<init>:()V
         4: .line 364
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
         5: .line 373
            invokestatic sun.nio.ch.IOUtil.initIDs:()V
         6: .line 374
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.nio.ch.IOUtil this
         0: .line 42
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // sun.nio.ch.IOUtil this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/nio/ch/IOUtil;

  private static int remaining(java.nio.ByteBuffer[]);
    descriptor: ([Ljava/nio/ByteBuffer;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.nio.ByteBuffer[] bufs
         0: .line 49
            aload 0 /* bufs */
            arraylength
            istore 1 /* numBufs */
        start local 1 // int numBufs
         1: .line 51
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 6
         3: .line 52
      StackMap locals: int int
      StackMap stack:
            aload 0 /* bufs */
            iload 2 /* i */
            aaload
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 5
         4: .line 53
            iload 2 /* i */
            ireturn
         5: .line 51
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            iload 1 /* numBufs */
            if_icmplt 3
        end local 2 // int i
         7: .line 56
            iconst_m1
            ireturn
        end local 1 // int numBufs
        end local 0 // java.nio.ByteBuffer[] bufs
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     bufs  [Ljava/nio/ByteBuffer;
            1    8     1  numBufs  I
            2    7     2        i  I
    MethodParameters:
      Name  Flags
      bufs  

  private static java.nio.ByteBuffer[] skipBufs(java.nio.ByteBuffer[], int);
    descriptor: ([Ljava/nio/ByteBuffer;I)[Ljava/nio/ByteBuffer;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // java.nio.ByteBuffer[] bufs
        start local 1 // int nextWithRemaining
         0: .line 65
            aload 0 /* bufs */
            arraylength
            iload 1 /* nextWithRemaining */
            isub
            istore 2 /* newSize */
        start local 2 // int newSize
         1: .line 66
            iload 2 /* newSize */
            anewarray java.nio.ByteBuffer
            astore 3 /* temp */
        start local 3 // java.nio.ByteBuffer[] temp
         2: .line 67
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 6
         4: .line 68
      StackMap locals: int java.nio.ByteBuffer[] int
      StackMap stack:
            aload 3 /* temp */
            iload 4 /* i */
            aload 0 /* bufs */
            iload 4 /* i */
            iload 1 /* nextWithRemaining */
            iadd
            aaload
            aastore
         5: .line 67
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 4 /* i */
            iload 2 /* newSize */
            if_icmplt 4
        end local 4 // int i
         7: .line 70
            aload 3 /* temp */
            areturn
        end local 3 // java.nio.ByteBuffer[] temp
        end local 2 // int newSize
        end local 1 // int nextWithRemaining
        end local 0 // java.nio.ByteBuffer[] bufs
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    8     0               bufs  [Ljava/nio/ByteBuffer;
            0    8     1  nextWithRemaining  I
            1    8     2            newSize  I
            2    8     3               temp  [Ljava/nio/ByteBuffer;
            3    7     4                  i  I
    MethodParameters:
                   Name  Flags
      bufs               
      nextWithRemaining  

  static int write(java.io.FileDescriptor, java.nio.ByteBuffer, long, sun.nio.ch.NativeDispatcher, java.lang.Object);
    descriptor: (Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;JLsun/nio/ch/NativeDispatcher;Ljava/lang/Object;)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=13, args_size=5
        start local 0 // java.io.FileDescriptor fd
        start local 1 // java.nio.ByteBuffer src
        start local 2 // long position
        start local 4 // sun.nio.ch.NativeDispatcher nd
        start local 5 // java.lang.Object lock
         0: .line 77
            aload 1 /* src */
            instanceof sun.nio.ch.DirectBuffer
            ifeq 2
         1: .line 78
            aload 0 /* fd */
            aload 1 /* src */
            lload 2 /* position */
            aload 4 /* nd */
            aload 5 /* lock */
            invokestatic sun.nio.ch.IOUtil.writeFromNativeBuffer:(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;JLsun/nio/ch/NativeDispatcher;Ljava/lang/Object;)I
            ireturn
         2: .line 81
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.position:()I
            istore 6 /* pos */
        start local 6 // int pos
         3: .line 82
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.limit:()I
            istore 7 /* lim */
        start local 7 // int lim
         4: .line 83
            getstatic sun.nio.ch.IOUtil.$assertionsDisabled:Z
            ifne 5
            iload 6 /* pos */
            iload 7 /* lim */
            if_icmple 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 84
      StackMap locals: int int
      StackMap stack:
            iload 6 /* pos */
            iload 7 /* lim */
            if_icmpgt 6
            iload 7 /* lim */
            iload 6 /* pos */
            isub
            goto 7
      StackMap locals:
      StackMap stack:
         6: iconst_0
      StackMap locals:
      StackMap stack: int
         7: istore 8 /* rem */
        start local 8 // int rem
         8: .line 85
            aconst_null
            astore 9 /* bb */
        start local 9 // java.nio.ByteBuffer bb
         9: .line 87
            iload 8 /* rem */
            invokestatic sun.nio.ch.Util.getTemporaryDirectBuffer:(I)Ljava/nio/ByteBuffer;
            astore 9 /* bb */
        10: .line 88
            aload 9 /* bb */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
            pop
        11: .line 89
            aload 9 /* bb */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
        12: .line 91
            aload 1 /* src */
            iload 6 /* pos */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        13: .line 93
            aload 0 /* fd */
            aload 9 /* bb */
            lload 2 /* position */
            aload 4 /* nd */
            aload 5 /* lock */
            invokestatic sun.nio.ch.IOUtil.writeFromNativeBuffer:(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;JLsun/nio/ch/NativeDispatcher;Ljava/lang/Object;)I
            istore 10 /* n */
        start local 10 // int n
        14: .line 94
            iload 10 /* n */
            ifle 16
        15: .line 96
            aload 1 /* src */
            iload 6 /* pos */
            iload 10 /* n */
            iadd
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        16: .line 98
      StackMap locals: int java.nio.ByteBuffer int
      StackMap stack:
            iload 10 /* n */
            istore 12
        17: .line 100
            aload 9 /* bb */
            invokestatic sun.nio.ch.Util.releaseTemporaryDirectBuffer:(Ljava/nio/ByteBuffer;)V
        18: .line 98
            iload 12
            ireturn
        end local 10 // int n
        19: .line 99
      StackMap locals: java.io.FileDescriptor java.nio.ByteBuffer long sun.nio.ch.NativeDispatcher java.lang.Object int int int java.nio.ByteBuffer
      StackMap stack: java.lang.Throwable
            astore 11
        20: .line 100
            aload 9 /* bb */
            invokestatic sun.nio.ch.Util.releaseTemporaryDirectBuffer:(Ljava/nio/ByteBuffer;)V
        21: .line 101
            aload 11
            athrow
        end local 9 // java.nio.ByteBuffer bb
        end local 8 // int rem
        end local 7 // int lim
        end local 6 // int pos
        end local 5 // java.lang.Object lock
        end local 4 // sun.nio.ch.NativeDispatcher nd
        end local 2 // long position
        end local 1 // java.nio.ByteBuffer src
        end local 0 // java.io.FileDescriptor fd
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   22     0        fd  Ljava/io/FileDescriptor;
            0   22     1       src  Ljava/nio/ByteBuffer;
            0   22     2  position  J
            0   22     4        nd  Lsun/nio/ch/NativeDispatcher;
            0   22     5      lock  Ljava/lang/Object;
            3   22     6       pos  I
            4   22     7       lim  I
            8   22     8       rem  I
            9   22     9        bb  Ljava/nio/ByteBuffer;
           14   19    10         n  I
      Exception table:
        from    to  target  type
           9    17      19  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      fd        
      src       
      position  
      nd        
      lock      

  private static int writeFromNativeBuffer(java.io.FileDescriptor, java.nio.ByteBuffer, long, sun.nio.ch.NativeDispatcher, java.lang.Object);
    descriptor: (Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;JLsun/nio/ch/NativeDispatcher;Ljava/lang/Object;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=10, args_size=5
        start local 0 // java.io.FileDescriptor fd
        start local 1 // java.nio.ByteBuffer bb
        start local 2 // long position
        start local 4 // sun.nio.ch.NativeDispatcher nd
        start local 5 // java.lang.Object lock
         0: .line 109
            aload 1 /* bb */
            invokevirtual java.nio.ByteBuffer.position:()I
            istore 6 /* pos */
        start local 6 // int pos
         1: .line 110
            aload 1 /* bb */
            invokevirtual java.nio.ByteBuffer.limit:()I
            istore 7 /* lim */
        start local 7 // int lim
         2: .line 111
            getstatic sun.nio.ch.IOUtil.$assertionsDisabled:Z
            ifne 3
            iload 6 /* pos */
            iload 7 /* lim */
            if_icmple 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 112
      StackMap locals: int int
      StackMap stack:
            iload 6 /* pos */
            iload 7 /* lim */
            if_icmpgt 4
            iload 7 /* lim */
            iload 6 /* pos */
            isub
            goto 5
      StackMap locals:
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: istore 8 /* rem */
        start local 8 // int rem
         6: .line 114
            iconst_0
            istore 9 /* written */
        start local 9 // int written
         7: .line 115
            iload 8 /* rem */
            ifne 9
         8: .line 116
            iconst_0
            ireturn
         9: .line 117
      StackMap locals: int int
      StackMap stack:
            lload 2 /* position */
            ldc -1
            lcmp
            ifeq 15
        10: .line 118
            aload 4 /* nd */
            aload 0 /* fd */
        11: .line 119
            aload 1 /* bb */
            checkcast sun.nio.ch.DirectBuffer
            invokeinterface sun.nio.ch.DirectBuffer.address:()J
            iload 6 /* pos */
            i2l
            ladd
        12: .line 120
            iload 8 /* rem */
            lload 2 /* position */
            aload 5 /* lock */
        13: .line 118
            invokevirtual sun.nio.ch.NativeDispatcher.pwrite:(Ljava/io/FileDescriptor;JIJLjava/lang/Object;)I
            istore 9 /* written */
        14: .line 121
            goto 16
        15: .line 122
      StackMap locals:
      StackMap stack:
            aload 4 /* nd */
            aload 0 /* fd */
            aload 1 /* bb */
            checkcast sun.nio.ch.DirectBuffer
            invokeinterface sun.nio.ch.DirectBuffer.address:()J
            iload 6 /* pos */
            i2l
            ladd
            iload 8 /* rem */
            invokevirtual sun.nio.ch.NativeDispatcher.write:(Ljava/io/FileDescriptor;JI)I
            istore 9 /* written */
        16: .line 124
      StackMap locals:
      StackMap stack:
            iload 9 /* written */
            ifle 18
        17: .line 125
            aload 1 /* bb */
            iload 6 /* pos */
            iload 9 /* written */
            iadd
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        18: .line 126
      StackMap locals:
      StackMap stack:
            iload 9 /* written */
            ireturn
        end local 9 // int written
        end local 8 // int rem
        end local 7 // int lim
        end local 6 // int pos
        end local 5 // java.lang.Object lock
        end local 4 // sun.nio.ch.NativeDispatcher nd
        end local 2 // long position
        end local 1 // java.nio.ByteBuffer bb
        end local 0 // java.io.FileDescriptor fd
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   19     0        fd  Ljava/io/FileDescriptor;
            0   19     1        bb  Ljava/nio/ByteBuffer;
            0   19     2  position  J
            0   19     4        nd  Lsun/nio/ch/NativeDispatcher;
            0   19     5      lock  Ljava/lang/Object;
            1   19     6       pos  I
            2   19     7       lim  I
            6   19     8       rem  I
            7   19     9   written  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      fd        
      bb        
      position  
      nd        
      lock      

  static long write(java.io.FileDescriptor, java.nio.ByteBuffer[], sun.nio.ch.NativeDispatcher);
    descriptor: (Ljava/io/FileDescriptor;[Ljava/nio/ByteBuffer;Lsun/nio/ch/NativeDispatcher;)J
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=17, args_size=3
        start local 0 // java.io.FileDescriptor fd
        start local 1 // java.nio.ByteBuffer[] bufs
        start local 2 // sun.nio.ch.NativeDispatcher nd
         0: .line 132
            aload 1 /* bufs */
            invokestatic sun.nio.ch.IOUtil.remaining:([Ljava/nio/ByteBuffer;)I
            istore 3 /* nextWithRemaining */
        start local 3 // int nextWithRemaining
         1: .line 134
            iload 3 /* nextWithRemaining */
            ifge 3
         2: .line 135
            lconst_0
            lreturn
         3: .line 137
      StackMap locals: int
      StackMap stack:
            iload 3 /* nextWithRemaining */
            ifle 5
         4: .line 138
            aload 1 /* bufs */
            iload 3 /* nextWithRemaining */
            invokestatic sun.nio.ch.IOUtil.skipBufs:([Ljava/nio/ByteBuffer;I)[Ljava/nio/ByteBuffer;
            astore 1 /* bufs */
         5: .line 140
      StackMap locals:
      StackMap stack:
            aload 1 /* bufs */
            arraylength
            istore 4 /* numBufs */
        start local 4 // int numBufs
         6: .line 144
            iload 4 /* numBufs */
            anewarray java.nio.ByteBuffer
            astore 5 /* shadow */
        start local 5 // java.nio.ByteBuffer[] shadow
         7: .line 145
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         8: goto 24
         9: .line 146
      StackMap locals: int java.nio.ByteBuffer[] int
      StackMap stack:
            aload 1 /* bufs */
            iload 6 /* i */
            aaload
            instanceof sun.nio.ch.DirectBuffer
            ifne 22
        10: .line 147
            aload 1 /* bufs */
            iload 6 /* i */
            aaload
            invokevirtual java.nio.ByteBuffer.position:()I
            istore 7 /* pos */
        start local 7 // int pos
        11: .line 148
            aload 1 /* bufs */
            iload 6 /* i */
            aaload
            invokevirtual java.nio.ByteBuffer.limit:()I
            istore 8 /* lim */
        start local 8 // int lim
        12: .line 149
            getstatic sun.nio.ch.IOUtil.$assertionsDisabled:Z
            ifne 13
            iload 7 /* pos */
            iload 8 /* lim */
            if_icmple 13
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        13: .line 150
      StackMap locals: int int
      StackMap stack:
            iload 7 /* pos */
            iload 8 /* lim */
            if_icmpgt 14
            iload 8 /* lim */
            iload 7 /* pos */
            isub
            goto 15
      StackMap locals:
      StackMap stack:
        14: iconst_0
      StackMap locals:
      StackMap stack: int
        15: istore 9 /* rem */
        start local 9 // int rem
        16: .line 152
            iload 9 /* rem */
            invokestatic java.nio.ByteBuffer.allocateDirect:(I)Ljava/nio/ByteBuffer;
            astore 10 /* bb */
        start local 10 // java.nio.ByteBuffer bb
        17: .line 153
            aload 5 /* shadow */
            iload 6 /* i */
            aload 10 /* bb */
            aastore
        18: .line 156
            aload 10 /* bb */
            aload 1 /* bufs */
            iload 6 /* i */
            aaload
            invokevirtual java.nio.ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
            pop
        19: .line 157
            aload 1 /* bufs */
            iload 6 /* i */
            aaload
            iload 7 /* pos */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        20: .line 158
            aload 10 /* bb */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
        end local 10 // java.nio.ByteBuffer bb
        end local 9 // int rem
        end local 8 // int lim
        end local 7 // int pos
        21: .line 159
            goto 23
        22: .line 160
      StackMap locals:
      StackMap stack:
            aload 5 /* shadow */
            iload 6 /* i */
            aload 1 /* bufs */
            iload 6 /* i */
            aaload
            aastore
        23: .line 145
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        24: iload 6 /* i */
            iload 4 /* numBufs */
            if_icmplt 9
        end local 6 // int i
        25: .line 164
            aconst_null
            astore 6 /* vec */
        start local 6 // sun.nio.ch.IOVecWrapper vec
        26: .line 165
            lconst_0
            lstore 7 /* bytesWritten */
        start local 7 // long bytesWritten
        27: .line 168
            new sun.nio.ch.IOVecWrapper
            dup
            iload 4 /* numBufs */
            invokespecial sun.nio.ch.IOVecWrapper.<init>:(I)V
            astore 6 /* vec */
        28: .line 171
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        29: goto 36
        30: .line 172
      StackMap locals: java.io.FileDescriptor java.nio.ByteBuffer[] sun.nio.ch.NativeDispatcher int int java.nio.ByteBuffer[] sun.nio.ch.IOVecWrapper long int
      StackMap stack:
            aload 5 /* shadow */
            iload 9 /* i */
            aaload
            astore 10 /* nextBuffer */
        start local 10 // java.nio.ByteBuffer nextBuffer
        31: .line 174
            aload 10 /* nextBuffer */
            invokevirtual java.nio.ByteBuffer.position:()I
            i2l
            lstore 11 /* pos */
        start local 11 // long pos
        32: .line 175
            aload 10 /* nextBuffer */
            invokevirtual java.nio.ByteBuffer.limit:()I
            i2l
            lload 11 /* pos */
            lsub
            lstore 13 /* len */
        start local 13 // long len
        33: .line 177
            aload 6 /* vec */
            iload 9 /* i */
            aload 10 /* nextBuffer */
            checkcast sun.nio.ch.DirectBuffer
            invokeinterface sun.nio.ch.DirectBuffer.address:()J
            lload 11 /* pos */
            ladd
            invokevirtual sun.nio.ch.IOVecWrapper.putBase:(IJ)V
        34: .line 178
            aload 6 /* vec */
            iload 9 /* i */
            lload 13 /* len */
            invokevirtual sun.nio.ch.IOVecWrapper.putLen:(IJ)V
        end local 13 // long len
        end local 11 // long pos
        end local 10 // java.nio.ByteBuffer nextBuffer
        35: .line 171
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        36: iload 9 /* i */
            iload 4 /* numBufs */
            if_icmplt 30
        end local 9 // int i
        37: .line 182
            aload 2 /* nd */
            aload 0 /* fd */
            aload 6 /* vec */
            getfield sun.nio.ch.IOVecWrapper.address:J
            iload 4 /* numBufs */
            invokevirtual sun.nio.ch.NativeDispatcher.writev:(Ljava/io/FileDescriptor;JI)J
            lstore 7 /* bytesWritten */
        38: .line 183
            goto 42
      StackMap locals: java.io.FileDescriptor java.nio.ByteBuffer[] sun.nio.ch.NativeDispatcher int int java.nio.ByteBuffer[] sun.nio.ch.IOVecWrapper long
      StackMap stack: java.lang.Throwable
        39: astore 15
        40: .line 184
            aload 6 /* vec */
            invokevirtual sun.nio.ch.IOVecWrapper.free:()V
        41: .line 185
            aload 15
            athrow
        42: .line 184
      StackMap locals:
      StackMap stack:
            aload 6 /* vec */
            invokevirtual sun.nio.ch.IOVecWrapper.free:()V
        43: .line 186
            lload 7 /* bytesWritten */
            lstore 9 /* returnVal */
        start local 9 // long returnVal
        44: .line 189
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        45: goto 64
        46: .line 190
      StackMap locals: long int
      StackMap stack:
            aload 1 /* bufs */
            iload 11 /* i */
            aaload
            astore 12 /* nextBuffer */
        start local 12 // java.nio.ByteBuffer nextBuffer
        47: .line 191
            aload 12 /* nextBuffer */
            invokevirtual java.nio.ByteBuffer.position:()I
            istore 13 /* pos */
        start local 13 // int pos
        48: .line 192
            aload 12 /* nextBuffer */
            invokevirtual java.nio.ByteBuffer.limit:()I
            istore 14 /* lim */
        start local 14 // int lim
        49: .line 193
            getstatic sun.nio.ch.IOUtil.$assertionsDisabled:Z
            ifne 50
            iload 13 /* pos */
            iload 14 /* lim */
            if_icmple 50
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        50: .line 194
      StackMap locals: java.nio.ByteBuffer int int
      StackMap stack:
            iload 13 /* pos */
            iload 14 /* lim */
            if_icmpgt 51
            iload 14 /* lim */
            iload 13 /* pos */
            isub
            goto 52
      StackMap locals:
      StackMap stack:
        51: iload 14 /* lim */
      StackMap locals:
      StackMap stack: int
        52: istore 15 /* len */
        start local 15 // int len
        53: .line 195
            lload 7 /* bytesWritten */
            iload 15 /* len */
            i2l
            lcmp
            iflt 58
        54: .line 196
            lload 7 /* bytesWritten */
            iload 15 /* len */
            i2l
            lsub
            lstore 7 /* bytesWritten */
        55: .line 197
            iload 13 /* pos */
            iload 15 /* len */
            iadd
            istore 16 /* newPosition */
        start local 16 // int newPosition
        56: .line 198
            aload 12 /* nextBuffer */
            iload 16 /* newPosition */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        end local 16 // int newPosition
        57: .line 199
            goto 63
        58: .line 200
      StackMap locals: int
      StackMap stack:
            lload 7 /* bytesWritten */
            lconst_0
            lcmp
            ifle 65
        59: .line 201
            getstatic sun.nio.ch.IOUtil.$assertionsDisabled:Z
            ifne 60
            iload 13 /* pos */
            i2l
            lload 7 /* bytesWritten */
            ladd
            ldc 2147483647
            lcmp
            iflt 60
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        60: .line 202
      StackMap locals:
      StackMap stack:
            iload 13 /* pos */
            i2l
            lload 7 /* bytesWritten */
            ladd
            l2i
            istore 16 /* newPosition */
        start local 16 // int newPosition
        61: .line 203
            aload 12 /* nextBuffer */
            iload 16 /* newPosition */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        end local 16 // int newPosition
        62: .line 205
            goto 65
        end local 15 // int len
        end local 14 // int lim
        end local 13 // int pos
        end local 12 // java.nio.ByteBuffer nextBuffer
        63: .line 189
      StackMap locals: java.io.FileDescriptor java.nio.ByteBuffer[] sun.nio.ch.NativeDispatcher int int java.nio.ByteBuffer[] sun.nio.ch.IOVecWrapper long long int
      StackMap stack:
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        64: iload 11 /* i */
            iload 4 /* numBufs */
            if_icmplt 46
        end local 11 // int i
        65: .line 208
      StackMap locals:
      StackMap stack:
            lload 9 /* returnVal */
            lreturn
        end local 9 // long returnVal
        end local 7 // long bytesWritten
        end local 6 // sun.nio.ch.IOVecWrapper vec
        end local 5 // java.nio.ByteBuffer[] shadow
        end local 4 // int numBufs
        end local 3 // int nextWithRemaining
        end local 2 // sun.nio.ch.NativeDispatcher nd
        end local 1 // java.nio.ByteBuffer[] bufs
        end local 0 // java.io.FileDescriptor fd
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   66     0                 fd  Ljava/io/FileDescriptor;
            0   66     1               bufs  [Ljava/nio/ByteBuffer;
            0   66     2                 nd  Lsun/nio/ch/NativeDispatcher;
            1   66     3  nextWithRemaining  I
            6   66     4            numBufs  I
            7   66     5             shadow  [Ljava/nio/ByteBuffer;
            8   25     6                  i  I
           11   21     7                pos  I
           12   21     8                lim  I
           16   21     9                rem  I
           17   21    10                 bb  Ljava/nio/ByteBuffer;
           26   66     6                vec  Lsun/nio/ch/IOVecWrapper;
           27   66     7       bytesWritten  J
           29   37     9                  i  I
           31   35    10         nextBuffer  Ljava/nio/ByteBuffer;
           32   35    11                pos  J
           33   35    13                len  J
           44   66     9          returnVal  J
           45   65    11                  i  I
           47   63    12         nextBuffer  Ljava/nio/ByteBuffer;
           48   63    13                pos  I
           49   63    14                lim  I
           53   63    15                len  I
           56   57    16        newPosition  I
           61   62    16        newPosition  I
      Exception table:
        from    to  target  type
          27    39      39  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      fd    
      bufs  
      nd    

  static int read(java.io.FileDescriptor, java.nio.ByteBuffer, long, sun.nio.ch.NativeDispatcher, java.lang.Object);
    descriptor: (Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;JLsun/nio/ch/NativeDispatcher;Ljava/lang/Object;)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=10, args_size=5
        start local 0 // java.io.FileDescriptor fd
        start local 1 // java.nio.ByteBuffer dst
        start local 2 // long position
        start local 4 // sun.nio.ch.NativeDispatcher nd
        start local 5 // java.lang.Object lock
         0: .line 215
            aload 1 /* dst */
            invokevirtual java.nio.ByteBuffer.isReadOnly:()Z
            ifeq 2
         1: .line 216
            new java.lang.IllegalArgumentException
            dup
            ldc "Read-only buffer"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 217
      StackMap locals:
      StackMap stack:
            aload 1 /* dst */
            instanceof sun.nio.ch.DirectBuffer
            ifeq 4
         3: .line 218
            aload 0 /* fd */
            aload 1 /* dst */
            lload 2 /* position */
            aload 4 /* nd */
            aload 5 /* lock */
            invokestatic sun.nio.ch.IOUtil.readIntoNativeBuffer:(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;JLsun/nio/ch/NativeDispatcher;Ljava/lang/Object;)I
            ireturn
         4: .line 221
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 6 /* bb */
        start local 6 // java.nio.ByteBuffer bb
         5: .line 223
            aload 1 /* dst */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            invokestatic sun.nio.ch.Util.getTemporaryDirectBuffer:(I)Ljava/nio/ByteBuffer;
            astore 6 /* bb */
         6: .line 224
            aload 0 /* fd */
            aload 6 /* bb */
            lload 2 /* position */
            aload 4 /* nd */
            aload 5 /* lock */
            invokestatic sun.nio.ch.IOUtil.readIntoNativeBuffer:(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;JLsun/nio/ch/NativeDispatcher;Ljava/lang/Object;)I
            istore 7 /* n */
        start local 7 // int n
         7: .line 225
            aload 6 /* bb */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
         8: .line 226
            iload 7 /* n */
            ifle 10
         9: .line 227
            aload 1 /* dst */
            aload 6 /* bb */
            invokevirtual java.nio.ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
            pop
        10: .line 228
      StackMap locals: java.nio.ByteBuffer int
      StackMap stack:
            iload 7 /* n */
            istore 9
        11: .line 230
            aload 6 /* bb */
            invokestatic sun.nio.ch.Util.releaseTemporaryDirectBuffer:(Ljava/nio/ByteBuffer;)V
        12: .line 228
            iload 9
            ireturn
        end local 7 // int n
        13: .line 229
      StackMap locals: java.io.FileDescriptor java.nio.ByteBuffer long sun.nio.ch.NativeDispatcher java.lang.Object java.nio.ByteBuffer
      StackMap stack: java.lang.Throwable
            astore 8
        14: .line 230
            aload 6 /* bb */
            invokestatic sun.nio.ch.Util.releaseTemporaryDirectBuffer:(Ljava/nio/ByteBuffer;)V
        15: .line 231
            aload 8
            athrow
        end local 6 // java.nio.ByteBuffer bb
        end local 5 // java.lang.Object lock
        end local 4 // sun.nio.ch.NativeDispatcher nd
        end local 2 // long position
        end local 1 // java.nio.ByteBuffer dst
        end local 0 // java.io.FileDescriptor fd
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   16     0        fd  Ljava/io/FileDescriptor;
            0   16     1       dst  Ljava/nio/ByteBuffer;
            0   16     2  position  J
            0   16     4        nd  Lsun/nio/ch/NativeDispatcher;
            0   16     5      lock  Ljava/lang/Object;
            5   16     6        bb  Ljava/nio/ByteBuffer;
            7   13     7         n  I
      Exception table:
        from    to  target  type
           5    11      13  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      fd        
      dst       
      position  
      nd        
      lock      

  private static int readIntoNativeBuffer(java.io.FileDescriptor, java.nio.ByteBuffer, long, sun.nio.ch.NativeDispatcher, java.lang.Object);
    descriptor: (Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;JLsun/nio/ch/NativeDispatcher;Ljava/lang/Object;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=10, args_size=5
        start local 0 // java.io.FileDescriptor fd
        start local 1 // java.nio.ByteBuffer bb
        start local 2 // long position
        start local 4 // sun.nio.ch.NativeDispatcher nd
        start local 5 // java.lang.Object lock
         0: .line 239
            aload 1 /* bb */
            invokevirtual java.nio.ByteBuffer.position:()I
            istore 6 /* pos */
        start local 6 // int pos
         1: .line 240
            aload 1 /* bb */
            invokevirtual java.nio.ByteBuffer.limit:()I
            istore 7 /* lim */
        start local 7 // int lim
         2: .line 241
            getstatic sun.nio.ch.IOUtil.$assertionsDisabled:Z
            ifne 3
            iload 6 /* pos */
            iload 7 /* lim */
            if_icmple 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 242
      StackMap locals: int int
      StackMap stack:
            iload 6 /* pos */
            iload 7 /* lim */
            if_icmpgt 4
            iload 7 /* lim */
            iload 6 /* pos */
            isub
            goto 5
      StackMap locals:
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: istore 8 /* rem */
        start local 8 // int rem
         6: .line 244
            iload 8 /* rem */
            ifne 8
         7: .line 245
            iconst_0
            ireturn
         8: .line 246
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 9 /* n */
        start local 9 // int n
         9: .line 247
            lload 2 /* position */
            ldc -1
            lcmp
            ifeq 14
        10: .line 248
            aload 4 /* nd */
            aload 0 /* fd */
            aload 1 /* bb */
            checkcast sun.nio.ch.DirectBuffer
            invokeinterface sun.nio.ch.DirectBuffer.address:()J
            iload 6 /* pos */
            i2l
            ladd
        11: .line 249
            iload 8 /* rem */
            lload 2 /* position */
            aload 5 /* lock */
        12: .line 248
            invokevirtual sun.nio.ch.NativeDispatcher.pread:(Ljava/io/FileDescriptor;JIJLjava/lang/Object;)I
            istore 9 /* n */
        13: .line 250
            goto 15
        14: .line 251
      StackMap locals: int
      StackMap stack:
            aload 4 /* nd */
            aload 0 /* fd */
            aload 1 /* bb */
            checkcast sun.nio.ch.DirectBuffer
            invokeinterface sun.nio.ch.DirectBuffer.address:()J
            iload 6 /* pos */
            i2l
            ladd
            iload 8 /* rem */
            invokevirtual sun.nio.ch.NativeDispatcher.read:(Ljava/io/FileDescriptor;JI)I
            istore 9 /* n */
        15: .line 253
      StackMap locals:
      StackMap stack:
            iload 9 /* n */
            ifle 17
        16: .line 254
            aload 1 /* bb */
            iload 6 /* pos */
            iload 9 /* n */
            iadd
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        17: .line 255
      StackMap locals:
      StackMap stack:
            iload 9 /* n */
            ireturn
        end local 9 // int n
        end local 8 // int rem
        end local 7 // int lim
        end local 6 // int pos
        end local 5 // java.lang.Object lock
        end local 4 // sun.nio.ch.NativeDispatcher nd
        end local 2 // long position
        end local 1 // java.nio.ByteBuffer bb
        end local 0 // java.io.FileDescriptor fd
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   18     0        fd  Ljava/io/FileDescriptor;
            0   18     1        bb  Ljava/nio/ByteBuffer;
            0   18     2  position  J
            0   18     4        nd  Lsun/nio/ch/NativeDispatcher;
            0   18     5      lock  Ljava/lang/Object;
            1   18     6       pos  I
            2   18     7       lim  I
            6   18     8       rem  I
            9   18     9         n  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      fd        
      bb        
      position  
      nd        
      lock      

  static long read(java.io.FileDescriptor, java.nio.ByteBuffer[], sun.nio.ch.NativeDispatcher);
    descriptor: (Ljava/io/FileDescriptor;[Ljava/nio/ByteBuffer;Lsun/nio/ch/NativeDispatcher;)J
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=16, args_size=3
        start local 0 // java.io.FileDescriptor fd
        start local 1 // java.nio.ByteBuffer[] bufs
        start local 2 // sun.nio.ch.NativeDispatcher nd
         0: .line 261
            aload 1 /* bufs */
            invokestatic sun.nio.ch.IOUtil.remaining:([Ljava/nio/ByteBuffer;)I
            istore 3 /* nextWithRemaining */
        start local 3 // int nextWithRemaining
         1: .line 263
            iload 3 /* nextWithRemaining */
            ifge 3
         2: .line 264
            lconst_0
            lreturn
         3: .line 266
      StackMap locals: int
      StackMap stack:
            iload 3 /* nextWithRemaining */
            ifle 5
         4: .line 267
            aload 1 /* bufs */
            iload 3 /* nextWithRemaining */
            invokestatic sun.nio.ch.IOUtil.skipBufs:([Ljava/nio/ByteBuffer;I)[Ljava/nio/ByteBuffer;
            astore 1 /* bufs */
         5: .line 269
      StackMap locals:
      StackMap stack:
            aload 1 /* bufs */
            arraylength
            istore 4 /* numBufs */
        start local 4 // int numBufs
         6: .line 272
            iload 4 /* numBufs */
            anewarray java.nio.ByteBuffer
            astore 5 /* shadow */
        start local 5 // java.nio.ByteBuffer[] shadow
         7: .line 273
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         8: goto 16
         9: .line 274
      StackMap locals: int java.nio.ByteBuffer[] int
      StackMap stack:
            aload 1 /* bufs */
            iload 6 /* i */
            aaload
            invokevirtual java.nio.ByteBuffer.isReadOnly:()Z
            ifeq 11
        10: .line 275
            new java.lang.IllegalArgumentException
            dup
            ldc "Read-only buffer"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 276
      StackMap locals:
      StackMap stack:
            aload 1 /* bufs */
            iload 6 /* i */
            aaload
            instanceof sun.nio.ch.DirectBuffer
            ifne 14
        12: .line 277
            aload 5 /* shadow */
            iload 6 /* i */
            aload 1 /* bufs */
            iload 6 /* i */
            aaload
            invokevirtual java.nio.ByteBuffer.remaining:()I
            invokestatic java.nio.ByteBuffer.allocateDirect:(I)Ljava/nio/ByteBuffer;
            aastore
        13: .line 278
            goto 15
        14: .line 279
      StackMap locals:
      StackMap stack:
            aload 5 /* shadow */
            iload 6 /* i */
            aload 1 /* bufs */
            iload 6 /* i */
            aaload
            aastore
        15: .line 273
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 6 /* i */
            iload 4 /* numBufs */
            if_icmplt 9
        end local 6 // int i
        17: .line 283
            aconst_null
            astore 6 /* vec */
        start local 6 // sun.nio.ch.IOVecWrapper vec
        18: .line 284
            lconst_0
            lstore 7 /* bytesRead */
        start local 7 // long bytesRead
        19: .line 287
            new sun.nio.ch.IOVecWrapper
            dup
            iload 4 /* numBufs */
            invokespecial sun.nio.ch.IOVecWrapper.<init>:(I)V
            astore 6 /* vec */
        20: .line 290
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        21: goto 28
        22: .line 291
      StackMap locals: java.io.FileDescriptor java.nio.ByteBuffer[] sun.nio.ch.NativeDispatcher int int java.nio.ByteBuffer[] sun.nio.ch.IOVecWrapper long int
      StackMap stack:
            aload 5 /* shadow */
            iload 9 /* i */
            aaload
            astore 10 /* nextBuffer */
        start local 10 // java.nio.ByteBuffer nextBuffer
        23: .line 293
            aload 10 /* nextBuffer */
            invokevirtual java.nio.ByteBuffer.position:()I
            i2l
            lstore 11 /* pos */
        start local 11 // long pos
        24: .line 294
            aload 10 /* nextBuffer */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            i2l
            lstore 13 /* len */
        start local 13 // long len
        25: .line 295
            aload 6 /* vec */
            iload 9 /* i */
            aload 10 /* nextBuffer */
            checkcast sun.nio.ch.DirectBuffer
            invokeinterface sun.nio.ch.DirectBuffer.address:()J
            lload 11 /* pos */
            ladd
            invokevirtual sun.nio.ch.IOVecWrapper.putBase:(IJ)V
        26: .line 296
            aload 6 /* vec */
            iload 9 /* i */
            lload 13 /* len */
            invokevirtual sun.nio.ch.IOVecWrapper.putLen:(IJ)V
        end local 13 // long len
        end local 11 // long pos
        end local 10 // java.nio.ByteBuffer nextBuffer
        27: .line 290
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        28: iload 9 /* i */
            iload 4 /* numBufs */
            if_icmplt 22
        end local 9 // int i
        29: .line 300
            aload 2 /* nd */
            aload 0 /* fd */
            aload 6 /* vec */
            getfield sun.nio.ch.IOVecWrapper.address:J
            iload 4 /* numBufs */
            invokevirtual sun.nio.ch.NativeDispatcher.readv:(Ljava/io/FileDescriptor;JI)J
            lstore 7 /* bytesRead */
        30: .line 301
            goto 34
      StackMap locals: java.io.FileDescriptor java.nio.ByteBuffer[] sun.nio.ch.NativeDispatcher int int java.nio.ByteBuffer[] sun.nio.ch.IOVecWrapper long
      StackMap stack: java.lang.Throwable
        31: astore 15
        32: .line 302
            aload 6 /* vec */
            invokevirtual sun.nio.ch.IOVecWrapper.free:()V
        33: .line 303
            aload 15
            athrow
        34: .line 302
      StackMap locals:
      StackMap stack:
            aload 6 /* vec */
            invokevirtual sun.nio.ch.IOVecWrapper.free:()V
        35: .line 304
            lload 7 /* bytesRead */
            lstore 9 /* returnVal */
        start local 9 // long returnVal
        36: .line 307
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        37: goto 52
        38: .line 308
      StackMap locals: long int
      StackMap stack:
            aload 5 /* shadow */
            iload 11 /* i */
            aaload
            astore 12 /* nextBuffer */
        start local 12 // java.nio.ByteBuffer nextBuffer
        39: .line 310
            aload 12 /* nextBuffer */
            invokevirtual java.nio.ByteBuffer.position:()I
            istore 13 /* pos */
        start local 13 // int pos
        40: .line 311
            aload 12 /* nextBuffer */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            istore 14 /* len */
        start local 14 // int len
        41: .line 312
            lload 7 /* bytesRead */
            iload 14 /* len */
            i2l
            lcmp
            iflt 46
        42: .line 313
            lload 7 /* bytesRead */
            iload 14 /* len */
            i2l
            lsub
            lstore 7 /* bytesRead */
        43: .line 314
            iload 13 /* pos */
            iload 14 /* len */
            iadd
            istore 15 /* newPosition */
        start local 15 // int newPosition
        44: .line 315
            aload 12 /* nextBuffer */
            iload 15 /* newPosition */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        end local 15 // int newPosition
        45: .line 316
            goto 51
        46: .line 317
      StackMap locals: java.nio.ByteBuffer int int
      StackMap stack:
            lload 7 /* bytesRead */
            lconst_0
            lcmp
            ifle 53
        47: .line 318
            getstatic sun.nio.ch.IOUtil.$assertionsDisabled:Z
            ifne 48
            iload 13 /* pos */
            i2l
            lload 7 /* bytesRead */
            ladd
            ldc 2147483647
            lcmp
            iflt 48
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        48: .line 319
      StackMap locals:
      StackMap stack:
            iload 13 /* pos */
            i2l
            lload 7 /* bytesRead */
            ladd
            l2i
            istore 15 /* newPosition */
        start local 15 // int newPosition
        49: .line 320
            aload 12 /* nextBuffer */
            iload 15 /* newPosition */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        end local 15 // int newPosition
        50: .line 322
            goto 53
        end local 14 // int len
        end local 13 // int pos
        end local 12 // java.nio.ByteBuffer nextBuffer
        51: .line 307
      StackMap locals:
      StackMap stack:
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        52: iload 11 /* i */
            iload 4 /* numBufs */
            if_icmplt 38
        end local 11 // int i
        53: .line 327
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        54: goto 59
        55: .line 328
      StackMap locals: int
      StackMap stack:
            aload 1 /* bufs */
            iload 11 /* i */
            aaload
            instanceof sun.nio.ch.DirectBuffer
            ifne 58
        56: .line 329
            aload 5 /* shadow */
            iload 11 /* i */
            aaload
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
        57: .line 330
            aload 1 /* bufs */
            iload 11 /* i */
            aaload
            aload 5 /* shadow */
            iload 11 /* i */
            aaload
            invokevirtual java.nio.ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
            pop
        58: .line 327
      StackMap locals:
      StackMap stack:
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        59: iload 11 /* i */
            iload 4 /* numBufs */
            if_icmplt 55
        end local 11 // int i
        60: .line 334
            lload 9 /* returnVal */
            lreturn
        end local 9 // long returnVal
        end local 7 // long bytesRead
        end local 6 // sun.nio.ch.IOVecWrapper vec
        end local 5 // java.nio.ByteBuffer[] shadow
        end local 4 // int numBufs
        end local 3 // int nextWithRemaining
        end local 2 // sun.nio.ch.NativeDispatcher nd
        end local 1 // java.nio.ByteBuffer[] bufs
        end local 0 // java.io.FileDescriptor fd
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   61     0                 fd  Ljava/io/FileDescriptor;
            0   61     1               bufs  [Ljava/nio/ByteBuffer;
            0   61     2                 nd  Lsun/nio/ch/NativeDispatcher;
            1   61     3  nextWithRemaining  I
            6   61     4            numBufs  I
            7   61     5             shadow  [Ljava/nio/ByteBuffer;
            8   17     6                  i  I
           18   61     6                vec  Lsun/nio/ch/IOVecWrapper;
           19   61     7          bytesRead  J
           21   29     9                  i  I
           23   27    10         nextBuffer  Ljava/nio/ByteBuffer;
           24   27    11                pos  J
           25   27    13                len  J
           36   61     9          returnVal  J
           37   53    11                  i  I
           39   51    12         nextBuffer  Ljava/nio/ByteBuffer;
           40   51    13                pos  I
           41   51    14                len  I
           44   45    15        newPosition  I
           49   50    15        newPosition  I
           54   60    11                  i  I
      Exception table:
        from    to  target  type
          19    31      31  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      fd    
      bufs  
      nd    

  static java.io.FileDescriptor newFD(int);
    descriptor: (I)Ljava/io/FileDescriptor;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // int i
         0: .line 338
            new java.io.FileDescriptor
            dup
            invokespecial java.io.FileDescriptor.<init>:()V
            astore 1 /* fd */
        start local 1 // java.io.FileDescriptor fd
         1: .line 339
            aload 1 /* fd */
            iload 0 /* i */
            invokestatic sun.nio.ch.IOUtil.setfdVal:(Ljava/io/FileDescriptor;I)V
         2: .line 340
            aload 1 /* fd */
            areturn
        end local 1 // java.io.FileDescriptor fd
        end local 0 // int i
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     i  I
            1    3     1    fd  Ljava/io/FileDescriptor;
    MethodParameters:
      Name  Flags
      i     

  static native boolean randomBytes(byte[]);
    descriptor: ([B)Z
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
    MethodParameters:
           Name  Flags
      someBytes  

  static native void initPipe(int[], boolean);
    descriptor: ([IZ)V
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
    MethodParameters:
          Name  Flags
      fda       
      blocking  

  static native boolean drain(int);
    descriptor: (I)Z
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      fd    

  static native void configureBlocking(java.io.FileDescriptor, boolean);
    descriptor: (Ljava/io/FileDescriptor;Z)V
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      fd        
      blocking  

  static native int fdVal(java.io.FileDescriptor);
    descriptor: (Ljava/io/FileDescriptor;)I
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
    MethodParameters:
      Name  Flags
      fd    

  static native void setfdVal(java.io.FileDescriptor, int);
    descriptor: (Ljava/io/FileDescriptor;I)V
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
    MethodParameters:
       Name  Flags
      fd     
      value  

  static native void initIDs();
    descriptor: ()V
    flags: (0x0108) ACC_STATIC, ACC_NATIVE

  public static void load();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=0, locals=0, args_size=0
         0: .line 361
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "IOUtil.java"
NestMembers:
  sun.nio.ch.IOUtil$1
InnerClasses:
  sun.nio.ch.IOUtil$1