class sun.nio.ch.PollArrayWrapper extends sun.nio.ch.AbstractPollArrayWrapper
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: sun.nio.ch.PollArrayWrapper
  super_class: sun.nio.ch.AbstractPollArrayWrapper
{
  static final short POLLCONN;
    descriptor: S
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  int interruptFD;
    descriptor: I
    flags: (0x0000) 

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=0, locals=0, args_size=0
         0: .line 130
            invokestatic sun.nio.ch.IOUtil.load:()V
         1: .line 131
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // sun.nio.ch.PollArrayWrapper this
        start local 1 // int newSize
         0: .line 51
            aload 0 /* this */
            invokespecial sun.nio.ch.AbstractPollArrayWrapper.<init>:()V
         1: .line 52
            iload 1 /* newSize */
            iconst_1
            iadd
            bipush 8
            imul
            istore 1 /* newSize */
         2: .line 53
            aload 0 /* this */
            new sun.nio.ch.AllocatedNativeObject
            dup
            iload 1 /* newSize */
            iconst_0
            invokespecial sun.nio.ch.AllocatedNativeObject.<init>:(IZ)V
            putfield sun.nio.ch.PollArrayWrapper.pollArray:Lsun/nio/ch/AllocatedNativeObject;
         3: .line 54
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.nio.ch.PollArrayWrapper.pollArray:Lsun/nio/ch/AllocatedNativeObject;
            invokevirtual sun.nio.ch.AllocatedNativeObject.address:()J
            putfield sun.nio.ch.PollArrayWrapper.pollArrayAddress:J
         4: .line 55
            aload 0 /* this */
            iconst_1
            putfield sun.nio.ch.PollArrayWrapper.totalChannels:I
         5: .line 56
            return
        end local 1 // int newSize
        end local 0 // sun.nio.ch.PollArrayWrapper this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lsun/nio/ch/PollArrayWrapper;
            0    6     1  newSize  I
    MethodParameters:
         Name  Flags
      newSize  

  void initInterrupt(int, int);
    descriptor: (II)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.nio.ch.PollArrayWrapper this
        start local 1 // int fd0
        start local 2 // int fd1
         0: .line 59
            aload 0 /* this */
            iload 2 /* fd1 */
            putfield sun.nio.ch.PollArrayWrapper.interruptFD:I
         1: .line 60
            aload 0 /* this */
            iconst_0
            iload 1 /* fd0 */
            invokevirtual sun.nio.ch.PollArrayWrapper.putDescriptor:(II)V
         2: .line 61
            aload 0 /* this */
            iconst_0
            iconst_1
            invokevirtual sun.nio.ch.PollArrayWrapper.putEventOps:(II)V
         3: .line 62
            aload 0 /* this */
            iconst_0
            iconst_0
            invokevirtual sun.nio.ch.PollArrayWrapper.putReventOps:(II)V
         4: .line 63
            return
        end local 2 // int fd1
        end local 1 // int fd0
        end local 0 // sun.nio.ch.PollArrayWrapper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/nio/ch/PollArrayWrapper;
            0    5     1   fd0  I
            0    5     2   fd1  I
    MethodParameters:
      Name  Flags
      fd0   
      fd1   

  void release(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // sun.nio.ch.PollArrayWrapper this
        start local 1 // int i
         0: .line 66
            return
        end local 1 // int i
        end local 0 // sun.nio.ch.PollArrayWrapper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/nio/ch/PollArrayWrapper;
            0    1     1     i  I
    MethodParameters:
      Name  Flags
      i     

  void free();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.nio.ch.PollArrayWrapper this
         0: .line 70
            aload 0 /* this */
            getfield sun.nio.ch.PollArrayWrapper.pollArray:Lsun/nio/ch/AllocatedNativeObject;
            invokevirtual sun.nio.ch.AllocatedNativeObject.free:()V
         1: .line 71
            return
        end local 0 // sun.nio.ch.PollArrayWrapper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/nio/ch/PollArrayWrapper;

  void addEntry(sun.nio.ch.SelChImpl);
    descriptor: (Lsun/nio/ch/SelChImpl;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.nio.ch.PollArrayWrapper this
        start local 1 // sun.nio.ch.SelChImpl sc
         0: .line 77
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.nio.ch.PollArrayWrapper.totalChannels:I
            aload 1 /* sc */
            invokeinterface sun.nio.ch.SelChImpl.getFD:()Ljava/io/FileDescriptor;
            invokestatic sun.nio.ch.IOUtil.fdVal:(Ljava/io/FileDescriptor;)I
            invokevirtual sun.nio.ch.PollArrayWrapper.putDescriptor:(II)V
         1: .line 78
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.nio.ch.PollArrayWrapper.totalChannels:I
            iconst_0
            invokevirtual sun.nio.ch.PollArrayWrapper.putEventOps:(II)V
         2: .line 79
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.nio.ch.PollArrayWrapper.totalChannels:I
            iconst_0
            invokevirtual sun.nio.ch.PollArrayWrapper.putReventOps:(II)V
         3: .line 80
            aload 0 /* this */
            dup
            getfield sun.nio.ch.PollArrayWrapper.totalChannels:I
            iconst_1
            iadd
            putfield sun.nio.ch.PollArrayWrapper.totalChannels:I
         4: .line 81
            return
        end local 1 // sun.nio.ch.SelChImpl sc
        end local 0 // sun.nio.ch.PollArrayWrapper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/nio/ch/PollArrayWrapper;
            0    5     1    sc  Lsun/nio/ch/SelChImpl;
    MethodParameters:
      Name  Flags
      sc    

  static void replaceEntry(sun.nio.ch.PollArrayWrapper, int, sun.nio.ch.PollArrayWrapper, int);
    descriptor: (Lsun/nio/ch/PollArrayWrapper;ILsun/nio/ch/PollArrayWrapper;I)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // sun.nio.ch.PollArrayWrapper source
        start local 1 // int sindex
        start local 2 // sun.nio.ch.PollArrayWrapper target
        start local 3 // int tindex
         0: .line 91
            aload 2 /* target */
            iload 3 /* tindex */
            aload 0 /* source */
            iload 1 /* sindex */
            invokevirtual sun.nio.ch.PollArrayWrapper.getDescriptor:(I)I
            invokevirtual sun.nio.ch.PollArrayWrapper.putDescriptor:(II)V
         1: .line 92
            aload 2 /* target */
            iload 3 /* tindex */
            aload 0 /* source */
            iload 1 /* sindex */
            invokevirtual sun.nio.ch.PollArrayWrapper.getEventOps:(I)I
            invokevirtual sun.nio.ch.PollArrayWrapper.putEventOps:(II)V
         2: .line 93
            aload 2 /* target */
            iload 3 /* tindex */
            aload 0 /* source */
            iload 1 /* sindex */
            invokevirtual sun.nio.ch.PollArrayWrapper.getReventOps:(I)I
            invokevirtual sun.nio.ch.PollArrayWrapper.putReventOps:(II)V
         3: .line 94
            return
        end local 3 // int tindex
        end local 2 // sun.nio.ch.PollArrayWrapper target
        end local 1 // int sindex
        end local 0 // sun.nio.ch.PollArrayWrapper source
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0  source  Lsun/nio/ch/PollArrayWrapper;
            0    4     1  sindex  I
            0    4     2  target  Lsun/nio/ch/PollArrayWrapper;
            0    4     3  tindex  I
    MethodParameters:
        Name  Flags
      source  
      sindex  
      target  
      tindex  

  void grow(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // sun.nio.ch.PollArrayWrapper this
        start local 1 // int newSize
         0: .line 104
            new sun.nio.ch.PollArrayWrapper
            dup
            iload 1 /* newSize */
            invokespecial sun.nio.ch.PollArrayWrapper.<init>:(I)V
            astore 2 /* temp */
        start local 2 // sun.nio.ch.PollArrayWrapper temp
         1: .line 107
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 5
         3: .line 108
      StackMap locals: sun.nio.ch.PollArrayWrapper int
      StackMap stack:
            aload 0 /* this */
            iload 3 /* i */
            aload 2 /* temp */
            iload 3 /* i */
            invokestatic sun.nio.ch.PollArrayWrapper.replaceEntry:(Lsun/nio/ch/PollArrayWrapper;ILsun/nio/ch/PollArrayWrapper;I)V
         4: .line 107
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 3 /* i */
            aload 0 /* this */
            getfield sun.nio.ch.PollArrayWrapper.totalChannels:I
            if_icmplt 3
        end local 3 // int i
         6: .line 111
            aload 0 /* this */
            getfield sun.nio.ch.PollArrayWrapper.pollArray:Lsun/nio/ch/AllocatedNativeObject;
            invokevirtual sun.nio.ch.AllocatedNativeObject.free:()V
         7: .line 112
            aload 0 /* this */
            aload 2 /* temp */
            getfield sun.nio.ch.PollArrayWrapper.pollArray:Lsun/nio/ch/AllocatedNativeObject;
            putfield sun.nio.ch.PollArrayWrapper.pollArray:Lsun/nio/ch/AllocatedNativeObject;
         8: .line 113
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.nio.ch.PollArrayWrapper.pollArray:Lsun/nio/ch/AllocatedNativeObject;
            invokevirtual sun.nio.ch.AllocatedNativeObject.address:()J
            putfield sun.nio.ch.PollArrayWrapper.pollArrayAddress:J
         9: .line 114
            return
        end local 2 // sun.nio.ch.PollArrayWrapper temp
        end local 1 // int newSize
        end local 0 // sun.nio.ch.PollArrayWrapper this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lsun/nio/ch/PollArrayWrapper;
            0   10     1  newSize  I
            1   10     2     temp  Lsun/nio/ch/PollArrayWrapper;
            2    6     3        i  I
    MethodParameters:
         Name  Flags
      newSize  

  int poll(int, int, long);
    descriptor: (IIJ)I
    flags: (0x0000) 
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // sun.nio.ch.PollArrayWrapper this
        start local 1 // int numfds
        start local 2 // int offset
        start local 3 // long timeout
         0: .line 117
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.nio.ch.PollArrayWrapper.pollArrayAddress:J
            iload 2 /* offset */
            bipush 8
            imul
            i2l
            ladd
         1: .line 118
            iload 1 /* numfds */
            lload 3 /* timeout */
         2: .line 117
            invokevirtual sun.nio.ch.PollArrayWrapper.poll0:(JIJ)I
            ireturn
        end local 3 // long timeout
        end local 2 // int offset
        end local 1 // int numfds
        end local 0 // sun.nio.ch.PollArrayWrapper this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lsun/nio/ch/PollArrayWrapper;
            0    3     1   numfds  I
            0    3     2   offset  I
            0    3     3  timeout  J
    MethodParameters:
         Name  Flags
      numfds   
      offset   
      timeout  

  public void interrupt();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.nio.ch.PollArrayWrapper this
         0: .line 122
            aload 0 /* this */
            getfield sun.nio.ch.PollArrayWrapper.interruptFD:I
            invokestatic sun.nio.ch.PollArrayWrapper.interrupt:(I)V
         1: .line 123
            return
        end local 0 // sun.nio.ch.PollArrayWrapper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/nio/ch/PollArrayWrapper;

  private native int poll0(long, int, long);
    descriptor: (JIJ)I
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    MethodParameters:
             Name  Flags
      pollAddress  
      numfds       
      timeout      

  private static native void interrupt(int);
    descriptor: (I)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
      Name  Flags
      fd    
}
SourceFile: "PollArrayWrapper.java"