final class jdk.nio.Channels$ReadWriteChannelImpl extends java.nio.channels.spi.AbstractSelectableChannel implements sun.nio.ch.SelChImpl
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: jdk.nio.Channels$ReadWriteChannelImpl
super_class: java.nio.channels.spi.AbstractSelectableChannel
{
private final java.io.FileDescriptor fd;
descriptor: Ljava/io/FileDescriptor;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int fdVal;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.nio.Channels$SelectableChannelCloser closer;
descriptor: Ljdk/nio/Channels$SelectableChannelCloser;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(sun.nio.ch.SelectorProviderImpl, java.io.FileDescriptor, jdk.nio.Channels$SelectableChannelCloser);
descriptor: (Lsun/nio/ch/SelectorProviderImpl;Ljava/io/FileDescriptor;Ljdk/nio/Channels$SelectableChannelCloser;)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokespecial java.nio.channels.spi.AbstractSelectableChannel.<init>:(Ljava/nio/channels/spi/SelectorProvider;)V
1: aload 0
aload 2
putfield jdk.nio.Channels$ReadWriteChannelImpl.fd:Ljava/io/FileDescriptor;
2: aload 0
aload 2
invokestatic sun.nio.ch.IOUtil.fdVal:(Ljava/io/FileDescriptor;)I
putfield jdk.nio.Channels$ReadWriteChannelImpl.fdVal:I
3: aload 0
aload 3
putfield jdk.nio.Channels$ReadWriteChannelImpl.closer:Ljdk/nio/Channels$SelectableChannelCloser;
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/nio/Channels$ReadWriteChannelImpl;
0 5 1 provider Lsun/nio/ch/SelectorProviderImpl;
0 5 2 fd Ljava/io/FileDescriptor;
0 5 3 closer Ljdk/nio/Channels$SelectableChannelCloser;
MethodParameters:
Name Flags
provider
fd
closer
public java.io.FileDescriptor getFD();
descriptor: ()Ljava/io/FileDescriptor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nio.Channels$ReadWriteChannelImpl.fd:Ljava/io/FileDescriptor;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nio/Channels$ReadWriteChannelImpl;
public int getFDVal();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nio.Channels$ReadWriteChannelImpl.fdVal:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nio/Channels$ReadWriteChannelImpl;
public int validOps();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_5
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nio/Channels$ReadWriteChannelImpl;
private boolean translateReadyOps(int, int, sun.nio.ch.SelectionKeyImpl);
descriptor: (IILsun/nio/ch/SelectionKeyImpl;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
invokevirtual sun.nio.ch.SelectionKeyImpl.nioInterestOps:()I
istore 4
start local 4 1: aload 3
invokevirtual sun.nio.ch.SelectionKeyImpl.nioReadyOps:()I
istore 5
start local 5 2: iload 2
istore 6
start local 6 3: iload 1
getstatic sun.nio.ch.Net.POLLERR:S
getstatic sun.nio.ch.Net.POLLHUP:S
ior
iand
ifeq 8
4: iload 4
istore 6
5: aload 3
iload 6
invokevirtual sun.nio.ch.SelectionKeyImpl.nioReadyOps:(I)V
6: iload 6
iload 5
iconst_m1
ixor
iand
ifeq 7
iconst_1
ireturn
StackMap locals: int int int
StackMap stack:
7: iconst_0
ireturn
8: StackMap locals:
StackMap stack:
iload 1
getstatic sun.nio.ch.Net.POLLIN:S
iand
ifeq 11
9: iload 4
iconst_1
iand
ifeq 11
10: iload 6
iconst_1
ior
istore 6
11: StackMap locals:
StackMap stack:
iload 1
getstatic sun.nio.ch.Net.POLLOUT:S
iand
ifeq 14
12: iload 4
iconst_4
iand
ifeq 14
13: iload 6
iconst_4
ior
istore 6
14: StackMap locals:
StackMap stack:
aload 3
iload 6
invokevirtual sun.nio.ch.SelectionKeyImpl.nioReadyOps:(I)V
15: iload 6
iload 5
iconst_m1
ixor
iand
ifeq 16
iconst_1
ireturn
StackMap locals:
StackMap stack:
16: iconst_0
ireturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Ljdk/nio/Channels$ReadWriteChannelImpl;
0 17 1 ops I
0 17 2 initialOps I
0 17 3 ski Lsun/nio/ch/SelectionKeyImpl;
1 17 4 intOps I
2 17 5 oldOps I
3 17 6 newOps I
MethodParameters:
Name Flags
ops
initialOps
ski
public boolean translateAndUpdateReadyOps(int, sun.nio.ch.SelectionKeyImpl);
descriptor: (ILsun/nio/ch/SelectionKeyImpl;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
aload 2
invokevirtual sun.nio.ch.SelectionKeyImpl.nioReadyOps:()I
aload 2
invokevirtual jdk.nio.Channels$ReadWriteChannelImpl.translateReadyOps:(IILsun/nio/ch/SelectionKeyImpl;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nio/Channels$ReadWriteChannelImpl;
0 1 1 ops I
0 1 2 ski Lsun/nio/ch/SelectionKeyImpl;
MethodParameters:
Name Flags
ops
ski
public boolean translateAndSetReadyOps(int, sun.nio.ch.SelectionKeyImpl);
descriptor: (ILsun/nio/ch/SelectionKeyImpl;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
iconst_0
aload 2
invokevirtual jdk.nio.Channels$ReadWriteChannelImpl.translateReadyOps:(IILsun/nio/ch/SelectionKeyImpl;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nio/Channels$ReadWriteChannelImpl;
0 1 1 ops I
0 1 2 ski Lsun/nio/ch/SelectionKeyImpl;
MethodParameters:
Name Flags
ops
ski
public int translateInterestOps(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: iload 1
iconst_1
iand
ifeq 3
2: iload 2
getstatic sun.nio.ch.Net.POLLIN:S
ior
istore 2
3: StackMap locals: int
StackMap stack:
iload 1
iconst_4
iand
ifeq 5
4: iload 2
getstatic sun.nio.ch.Net.POLLOUT:S
ior
istore 2
5: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/nio/Channels$ReadWriteChannelImpl;
0 6 1 ops I
1 6 2 newOps I
MethodParameters:
Name Flags
ops
protected void implConfigureBlocking(boolean);
descriptor: (Z)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nio.Channels$ReadWriteChannelImpl.fd:Ljava/io/FileDescriptor;
iload 1
invokestatic sun.nio.ch.IOUtil.configureBlocking:(Ljava/io/FileDescriptor;Z)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nio/Channels$ReadWriteChannelImpl;
0 2 1 block Z
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
block
protected void implCloseSelectableChannel();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nio.Channels$ReadWriteChannelImpl.closer:Ljdk/nio/Channels$SelectableChannelCloser;
aload 0
invokeinterface jdk.nio.Channels$SelectableChannelCloser.implCloseChannel:(Ljava/nio/channels/SelectableChannel;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nio/Channels$ReadWriteChannelImpl;
Exceptions:
throws java.io.IOException
public void kill();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nio.Channels$ReadWriteChannelImpl.closer:Ljdk/nio/Channels$SelectableChannelCloser;
aload 0
invokeinterface jdk.nio.Channels$SelectableChannelCloser.implReleaseChannel:(Ljava/nio/channels/SelectableChannel;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nio/Channels$ReadWriteChannelImpl;
Exceptions:
throws java.io.IOException
}
SourceFile: "Channels.java"
NestHost: jdk.nio.Channels
InnerClasses:
private final ReadWriteChannelImpl = jdk.nio.Channels$ReadWriteChannelImpl of jdk.nio.Channels
public abstract SelectableChannelCloser = jdk.nio.Channels$SelectableChannelCloser of jdk.nio.Channels