public class sun.nio.ch.FileChannelImpl extends java.nio.channels.FileChannel
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.nio.ch.FileChannelImpl
super_class: java.nio.channels.FileChannel
{
private static final long allocationGranularity;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final jdk.internal.access.JavaIOFileDescriptorAccess fdAccess;
descriptor: Ljdk/internal/access/JavaIOFileDescriptorAccess;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final sun.nio.ch.FileDispatcher nd;
descriptor: Lsun/nio/ch/FileDispatcher;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.io.FileDescriptor fd;
descriptor: Ljava/io/FileDescriptor;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean writable;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean readable;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.Object parent;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String path;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final sun.nio.ch.NativeThreadSet threads;
descriptor: Lsun/nio/ch/NativeThreadSet;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.Object positionLock;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private volatile boolean uninterruptible;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private final boolean direct;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int alignment;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.ref.Cleaner$Cleanable closer;
descriptor: Ljava/lang/ref/Cleaner$Cleanable;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static volatile boolean transferSupported;
descriptor: Z
flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE
private static volatile boolean pipeSupported;
descriptor: Z
flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE
private static volatile boolean fileSupported;
descriptor: Z
flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE
private static final long MAPPED_TRANSFER_SIZE;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8388608
private static final int TRANSFER_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8192
private static final int MAP_INVALID;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -1
private static final int MAP_RO;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int MAP_RW;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int MAP_PV;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private volatile sun.nio.ch.FileLockTable fileLockTable;
descriptor: Lsun/nio/ch/FileLockTable;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
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: ldc Lsun/nio/ch/FileChannelImpl;
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.FileChannelImpl.$assertionsDisabled:Z
3: invokestatic jdk.internal.access.SharedSecrets.getJavaIOFileDescriptorAccess:()Ljdk/internal/access/JavaIOFileDescriptorAccess;
4: putstatic sun.nio.ch.FileChannelImpl.fdAccess:Ljdk/internal/access/JavaIOFileDescriptorAccess;
5: iconst_1
putstatic sun.nio.ch.FileChannelImpl.transferSupported:Z
6: iconst_1
putstatic sun.nio.ch.FileChannelImpl.pipeSupported:Z
7: iconst_1
putstatic sun.nio.ch.FileChannelImpl.fileSupported:Z
8: invokestatic sun.nio.ch.IOUtil.load:()V
9: invokestatic sun.nio.ch.FileChannelImpl.initIDs:()J
putstatic sun.nio.ch.FileChannelImpl.allocationGranularity:J
10: return
LocalVariableTable:
Start End Slot Name Signature
private void <init>(java.io.FileDescriptor, java.lang.String, boolean, boolean, boolean, java.lang.Object);
descriptor: (Ljava/io/FileDescriptor;Ljava/lang/String;ZZZLjava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
invokespecial java.nio.channels.FileChannel.<init>:()V
1: aload 0
new sun.nio.ch.NativeThreadSet
dup
iconst_2
invokespecial sun.nio.ch.NativeThreadSet.<init>:(I)V
putfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
2: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.nio.ch.FileChannelImpl.positionLock:Ljava/lang/Object;
3: aload 0
aload 1
putfield sun.nio.ch.FileChannelImpl.fd:Ljava/io/FileDescriptor;
4: aload 0
iload 3
putfield sun.nio.ch.FileChannelImpl.readable:Z
5: aload 0
iload 4
putfield sun.nio.ch.FileChannelImpl.writable:Z
6: aload 0
aload 6
putfield sun.nio.ch.FileChannelImpl.parent:Ljava/lang/Object;
7: aload 0
aload 2
putfield sun.nio.ch.FileChannelImpl.path:Ljava/lang/String;
8: aload 0
iload 5
putfield sun.nio.ch.FileChannelImpl.direct:Z
9: aload 0
new sun.nio.ch.FileDispatcherImpl
dup
invokespecial sun.nio.ch.FileDispatcherImpl.<init>:()V
putfield sun.nio.ch.FileChannelImpl.nd:Lsun/nio/ch/FileDispatcher;
10: iload 5
ifeq 14
11: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 12
aload 2
ifnonnull 12
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
12: StackMap locals: sun.nio.ch.FileChannelImpl java.io.FileDescriptor java.lang.String int int int java.lang.Object
StackMap stack:
aload 0
aload 0
getfield sun.nio.ch.FileChannelImpl.nd:Lsun/nio/ch/FileDispatcher;
aload 1
aload 2
invokevirtual sun.nio.ch.FileDispatcher.setDirectIO:(Ljava/io/FileDescriptor;Ljava/lang/String;)I
putfield sun.nio.ch.FileChannelImpl.alignment:I
13: goto 15
14: StackMap locals:
StackMap stack:
aload 0
iconst_m1
putfield sun.nio.ch.FileChannelImpl.alignment:I
15: StackMap locals:
StackMap stack:
aload 0
aload 6
ifnull 16
aconst_null
goto 17
16: StackMap locals:
StackMap stack: sun.nio.ch.FileChannelImpl
invokestatic jdk.internal.ref.CleanerFactory.cleaner:()Ljava/lang/ref/Cleaner;
aload 0
new sun.nio.ch.FileChannelImpl$Closer
dup
aload 1
invokespecial sun.nio.ch.FileChannelImpl$Closer.<init>:(Ljava/io/FileDescriptor;)V
invokevirtual java.lang.ref.Cleaner.register:(Ljava/lang/Object;Ljava/lang/Runnable;)Ljava/lang/ref/Cleaner$Cleanable;
17: StackMap locals: sun.nio.ch.FileChannelImpl java.io.FileDescriptor java.lang.String int int int java.lang.Object
StackMap stack: sun.nio.ch.FileChannelImpl java.lang.ref.Cleaner$Cleanable
putfield sun.nio.ch.FileChannelImpl.closer:Ljava/lang/ref/Cleaner$Cleanable;
18: return
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 19 0 this Lsun/nio/ch/FileChannelImpl;
0 19 1 fd Ljava/io/FileDescriptor;
0 19 2 path Ljava/lang/String;
0 19 3 readable Z
0 19 4 writable Z
0 19 5 direct Z
0 19 6 parent Ljava/lang/Object;
MethodParameters:
Name Flags
fd
path
readable
writable
direct
parent
public static java.nio.channels.FileChannel open(java.io.FileDescriptor, java.lang.String, boolean, boolean, boolean, java.lang.Object);
descriptor: (Ljava/io/FileDescriptor;Ljava/lang/String;ZZZLjava/lang/Object;)Ljava/nio/channels/FileChannel;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: new sun.nio.ch.FileChannelImpl
dup
aload 0
aload 1
iload 2
iload 3
iload 4
aload 5
invokespecial sun.nio.ch.FileChannelImpl.<init>:(Ljava/io/FileDescriptor;Ljava/lang/String;ZZZLjava/lang/Object;)V
areturn
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 1 0 fd Ljava/io/FileDescriptor;
0 1 1 path Ljava/lang/String;
0 1 2 readable Z
0 1 3 writable Z
0 1 4 direct Z
0 1 5 parent Ljava/lang/Object;
MethodParameters:
Name Flags
fd
path
readable
writable
direct
parent
private void ensureOpen();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 2
1: new java.nio.channels.ClosedChannelException
dup
invokespecial java.nio.channels.ClosedChannelException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/nio/ch/FileChannelImpl;
Exceptions:
throws java.io.IOException
public void setUninterruptible();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
putfield sun.nio.ch.FileChannelImpl.uninterruptible:Z
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/nio/ch/FileChannelImpl;
private void beginBlocking();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.nio.ch.FileChannelImpl.uninterruptible:Z
ifne 1
aload 0
invokevirtual sun.nio.ch.FileChannelImpl.begin:()V
1: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/nio/ch/FileChannelImpl;
private void endBlocking(boolean);
descriptor: (Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.nio.ch.FileChannelImpl.uninterruptible:Z
ifne 1
aload 0
iload 1
invokevirtual sun.nio.ch.FileChannelImpl.end:(Z)V
1: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/nio/ch/FileChannelImpl;
0 2 1 completed Z
Exceptions:
throws java.nio.channels.AsynchronousCloseException
MethodParameters:
Name Flags
completed
protected void implCloseChannel();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=4, args_size=1
start local 0 0: aload 0
getfield sun.nio.ch.FileChannelImpl.fd:Ljava/io/FileDescriptor;
invokevirtual java.io.FileDescriptor.valid:()Z
ifne 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.fileLockTable:Lsun/nio/ch/FileLockTable;
ifnull 14
3: aload 0
getfield sun.nio.ch.FileChannelImpl.fileLockTable:Lsun/nio/ch/FileLockTable;
invokevirtual sun.nio.ch.FileLockTable.removeAll:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 2
goto 13
StackMap locals: sun.nio.ch.FileChannelImpl top java.util.Iterator
StackMap stack:
4: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.nio.channels.FileLock
astore 1
start local 1 5: aload 1
dup
astore 3
monitorenter
6: aload 1
invokevirtual java.nio.channels.FileLock.isValid:()Z
ifeq 9
7: aload 0
getfield sun.nio.ch.FileChannelImpl.nd:Lsun/nio/ch/FileDispatcher;
aload 0
getfield sun.nio.ch.FileChannelImpl.fd:Ljava/io/FileDescriptor;
aload 1
invokevirtual java.nio.channels.FileLock.position:()J
aload 1
invokevirtual java.nio.channels.FileLock.size:()J
invokevirtual sun.nio.ch.FileDispatcher.release:(Ljava/io/FileDescriptor;JJ)V
8: aload 1
checkcast sun.nio.ch.FileLockImpl
invokevirtual sun.nio.ch.FileLockImpl.invalidate:()V
9: StackMap locals: sun.nio.ch.FileChannelImpl java.nio.channels.FileLock java.util.Iterator java.nio.channels.FileLock
StackMap stack:
aload 3
monitorexit
10: goto 13
StackMap locals:
StackMap stack: java.lang.Throwable
11: aload 3
monitorexit
12: athrow
end local 1 13: StackMap locals: sun.nio.ch.FileChannelImpl top java.util.Iterator
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
14: StackMap locals: sun.nio.ch.FileChannelImpl
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
invokevirtual sun.nio.ch.NativeThreadSet.signalAndWait:()V
15: aload 0
getfield sun.nio.ch.FileChannelImpl.parent:Ljava/lang/Object;
ifnull 18
16: aload 0
getfield sun.nio.ch.FileChannelImpl.parent:Ljava/lang/Object;
checkcast java.io.Closeable
invokeinterface java.io.Closeable.close:()V
17: goto 24
StackMap locals:
StackMap stack:
18: aload 0
getfield sun.nio.ch.FileChannelImpl.closer:Ljava/lang/ref/Cleaner$Cleanable;
ifnull 23
19: aload 0
getfield sun.nio.ch.FileChannelImpl.closer:Ljava/lang/ref/Cleaner$Cleanable;
invokeinterface java.lang.ref.Cleaner$Cleanable.clean:()V
20: goto 24
StackMap locals:
StackMap stack: java.io.UncheckedIOException
21: astore 1
start local 1 22: aload 1
invokevirtual java.io.UncheckedIOException.getCause:()Ljava/io/IOException;
athrow
end local 1 23: StackMap locals:
StackMap stack:
getstatic sun.nio.ch.FileChannelImpl.fdAccess:Ljdk/internal/access/JavaIOFileDescriptorAccess;
aload 0
getfield sun.nio.ch.FileChannelImpl.fd:Ljava/io/FileDescriptor;
invokeinterface jdk.internal.access.JavaIOFileDescriptorAccess.close:(Ljava/io/FileDescriptor;)V
24: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lsun/nio/ch/FileChannelImpl;
5 13 1 fl Ljava/nio/channels/FileLock;
22 23 1 uioe Ljava/io/UncheckedIOException;
Exception table:
from to target type
6 10 11 any
11 12 11 any
19 20 21 Class java.io.UncheckedIOException
Exceptions:
throws java.io.IOException
public int read(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=7, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.ensureOpen:()V
1: aload 0
getfield sun.nio.ch.FileChannelImpl.readable:Z
ifne 3
2: new java.nio.channels.NonReadableChannelException
dup
invokespecial java.nio.channels.NonReadableChannelException.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.positionLock:Ljava/lang/Object;
dup
astore 2
monitorenter
4: aload 0
getfield sun.nio.ch.FileChannelImpl.direct:Z
ifeq 6
5: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.position:()J
aload 0
getfield sun.nio.ch.FileChannelImpl.alignment:I
invokestatic sun.nio.ch.Util.checkChannelPositionAligned:(JI)V
6: StackMap locals: java.lang.Object
StackMap stack:
iconst_0
istore 3
start local 3 7: iconst_m1
istore 4
start local 4 8: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.beginBlocking:()V
9: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
invokevirtual sun.nio.ch.NativeThreadSet.add:()I
istore 4
10: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 18
11: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 4
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
12: aload 0
iload 3
ifle 13
iconst_1
goto 14
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer java.lang.Object int int
StackMap stack: sun.nio.ch.FileChannelImpl
13: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer java.lang.Object int int
StackMap stack: sun.nio.ch.FileChannelImpl int
14: invokevirtual sun.nio.ch.FileChannelImpl.endBlocking:(Z)V
15: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 16
iload 3
invokestatic sun.nio.ch.IOStatus.check:(I)Z
ifne 16
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
StackMap locals:
StackMap stack:
16: aload 2
monitorexit
17: iconst_0
ireturn
18: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.fd:Ljava/io/FileDescriptor;
aload 1
ldc -1
aload 0
getfield sun.nio.ch.FileChannelImpl.direct:Z
aload 0
getfield sun.nio.ch.FileChannelImpl.alignment:I
aload 0
getfield sun.nio.ch.FileChannelImpl.nd:Lsun/nio/ch/FileDispatcher;
invokestatic sun.nio.ch.IOUtil.read:(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;JZILsun/nio/ch/NativeDispatcher;)I
istore 3
19: iload 3
bipush -3
if_icmpne 20
aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 18
20: StackMap locals:
StackMap stack:
iload 3
invokestatic sun.nio.ch.IOStatus.normalize:(I)I
istore 6
21: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 4
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
22: aload 0
iload 3
ifle 23
iconst_1
goto 24
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer java.lang.Object int int top int
StackMap stack: sun.nio.ch.FileChannelImpl
23: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer java.lang.Object int int top int
StackMap stack: sun.nio.ch.FileChannelImpl int
24: invokevirtual sun.nio.ch.FileChannelImpl.endBlocking:(Z)V
25: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 26
iload 3
invokestatic sun.nio.ch.IOStatus.check:(I)Z
ifne 26
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
26: StackMap locals:
StackMap stack:
aload 2
monitorexit
27: iload 6
ireturn
28: StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer java.lang.Object int int
StackMap stack: java.lang.Throwable
astore 5
29: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 4
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
30: aload 0
iload 3
ifle 31
iconst_1
goto 32
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer java.lang.Object int int java.lang.Throwable
StackMap stack: sun.nio.ch.FileChannelImpl
31: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer java.lang.Object int int java.lang.Throwable
StackMap stack: sun.nio.ch.FileChannelImpl int
32: invokevirtual sun.nio.ch.FileChannelImpl.endBlocking:(Z)V
33: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 34
iload 3
invokestatic sun.nio.ch.IOStatus.check:(I)Z
ifne 34
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
34: StackMap locals:
StackMap stack:
aload 5
athrow
end local 4 end local 3 35: StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer java.lang.Object
StackMap stack: java.lang.Throwable
aload 2
monitorexit
36: athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Lsun/nio/ch/FileChannelImpl;
0 37 1 dst Ljava/nio/ByteBuffer;
7 35 3 n I
8 35 4 ti I
Exception table:
from to target type
8 11 28 any
18 21 28 any
4 17 35 any
18 27 35 any
28 36 35 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
dst
public long read(java.nio.ByteBuffer[], int, int);
descriptor: ([Ljava/nio/ByteBuffer;II)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
iload 3
aload 1
arraylength
invokestatic java.util.Objects.checkFromIndexSize:(III)I
pop
1: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.ensureOpen:()V
2: aload 0
getfield sun.nio.ch.FileChannelImpl.readable:Z
ifne 4
3: new java.nio.channels.NonReadableChannelException
dup
invokespecial java.nio.channels.NonReadableChannelException.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.positionLock:Ljava/lang/Object;
dup
astore 4
monitorenter
5: aload 0
getfield sun.nio.ch.FileChannelImpl.direct:Z
ifeq 7
6: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.position:()J
aload 0
getfield sun.nio.ch.FileChannelImpl.alignment:I
invokestatic sun.nio.ch.Util.checkChannelPositionAligned:(JI)V
7: StackMap locals: java.lang.Object
StackMap stack:
lconst_0
lstore 5
start local 5 8: iconst_m1
istore 7
start local 7 9: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.beginBlocking:()V
10: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
invokevirtual sun.nio.ch.NativeThreadSet.add:()I
istore 7
11: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 19
12: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 7
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
13: aload 0
lload 5
lconst_0
lcmp
ifle 14
iconst_1
goto 15
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer[] int int java.lang.Object long int
StackMap stack: sun.nio.ch.FileChannelImpl
14: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer[] int int java.lang.Object long int
StackMap stack: sun.nio.ch.FileChannelImpl int
15: invokevirtual sun.nio.ch.FileChannelImpl.endBlocking:(Z)V
16: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 17
lload 5
invokestatic sun.nio.ch.IOStatus.check:(J)Z
ifne 17
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
StackMap locals:
StackMap stack:
17: aload 4
monitorexit
18: lconst_0
lreturn
19: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.fd:Ljava/io/FileDescriptor;
aload 1
iload 2
iload 3
20: aload 0
getfield sun.nio.ch.FileChannelImpl.direct:Z
aload 0
getfield sun.nio.ch.FileChannelImpl.alignment:I
aload 0
getfield sun.nio.ch.FileChannelImpl.nd:Lsun/nio/ch/FileDispatcher;
21: invokestatic sun.nio.ch.IOUtil.read:(Ljava/io/FileDescriptor;[Ljava/nio/ByteBuffer;IIZILsun/nio/ch/NativeDispatcher;)J
lstore 5
22: lload 5
ldc -3
lcmp
ifne 23
aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 19
23: StackMap locals:
StackMap stack:
lload 5
invokestatic sun.nio.ch.IOStatus.normalize:(J)J
lstore 9
24: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 7
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
25: aload 0
lload 5
lconst_0
lcmp
ifle 26
iconst_1
goto 27
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer[] int int java.lang.Object long int top long
StackMap stack: sun.nio.ch.FileChannelImpl
26: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer[] int int java.lang.Object long int top long
StackMap stack: sun.nio.ch.FileChannelImpl int
27: invokevirtual sun.nio.ch.FileChannelImpl.endBlocking:(Z)V
28: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 29
lload 5
invokestatic sun.nio.ch.IOStatus.check:(J)Z
ifne 29
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
29: StackMap locals:
StackMap stack:
aload 4
monitorexit
30: lload 9
lreturn
31: StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer[] int int java.lang.Object long int
StackMap stack: java.lang.Throwable
astore 8
32: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 7
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
33: aload 0
lload 5
lconst_0
lcmp
ifle 34
iconst_1
goto 35
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer[] int int java.lang.Object long int java.lang.Throwable
StackMap stack: sun.nio.ch.FileChannelImpl
34: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer[] int int java.lang.Object long int java.lang.Throwable
StackMap stack: sun.nio.ch.FileChannelImpl int
35: invokevirtual sun.nio.ch.FileChannelImpl.endBlocking:(Z)V
36: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 37
lload 5
invokestatic sun.nio.ch.IOStatus.check:(J)Z
ifne 37
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
37: StackMap locals:
StackMap stack:
aload 8
athrow
end local 7 end local 5 38: StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer[] int int java.lang.Object
StackMap stack: java.lang.Throwable
aload 4
monitorexit
39: athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 40 0 this Lsun/nio/ch/FileChannelImpl;
0 40 1 dsts [Ljava/nio/ByteBuffer;
0 40 2 offset I
0 40 3 length I
8 38 5 n J
9 38 7 ti I
Exception table:
from to target type
9 12 31 any
19 24 31 any
5 18 38 any
19 30 38 any
31 39 38 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
dsts
offset
length
public int write(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=7, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.ensureOpen:()V
1: aload 0
getfield sun.nio.ch.FileChannelImpl.writable:Z
ifne 3
2: new java.nio.channels.NonWritableChannelException
dup
invokespecial java.nio.channels.NonWritableChannelException.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.positionLock:Ljava/lang/Object;
dup
astore 2
monitorenter
4: aload 0
getfield sun.nio.ch.FileChannelImpl.direct:Z
ifeq 6
5: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.position:()J
aload 0
getfield sun.nio.ch.FileChannelImpl.alignment:I
invokestatic sun.nio.ch.Util.checkChannelPositionAligned:(JI)V
6: StackMap locals: java.lang.Object
StackMap stack:
iconst_0
istore 3
start local 3 7: iconst_m1
istore 4
start local 4 8: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.beginBlocking:()V
9: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
invokevirtual sun.nio.ch.NativeThreadSet.add:()I
istore 4
10: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 18
11: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 4
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
12: aload 0
iload 3
ifle 13
iconst_1
goto 14
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer java.lang.Object int int
StackMap stack: sun.nio.ch.FileChannelImpl
13: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer java.lang.Object int int
StackMap stack: sun.nio.ch.FileChannelImpl int
14: invokevirtual sun.nio.ch.FileChannelImpl.endBlocking:(Z)V
15: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 16
iload 3
invokestatic sun.nio.ch.IOStatus.check:(I)Z
ifne 16
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
StackMap locals:
StackMap stack:
16: aload 2
monitorexit
17: iconst_0
ireturn
18: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.fd:Ljava/io/FileDescriptor;
aload 1
ldc -1
aload 0
getfield sun.nio.ch.FileChannelImpl.direct:Z
aload 0
getfield sun.nio.ch.FileChannelImpl.alignment:I
aload 0
getfield sun.nio.ch.FileChannelImpl.nd:Lsun/nio/ch/FileDispatcher;
invokestatic sun.nio.ch.IOUtil.write:(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;JZILsun/nio/ch/NativeDispatcher;)I
istore 3
19: iload 3
bipush -3
if_icmpne 20
aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 18
20: StackMap locals:
StackMap stack:
iload 3
invokestatic sun.nio.ch.IOStatus.normalize:(I)I
istore 6
21: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 4
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
22: aload 0
iload 3
ifle 23
iconst_1
goto 24
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer java.lang.Object int int top int
StackMap stack: sun.nio.ch.FileChannelImpl
23: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer java.lang.Object int int top int
StackMap stack: sun.nio.ch.FileChannelImpl int
24: invokevirtual sun.nio.ch.FileChannelImpl.endBlocking:(Z)V
25: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 26
iload 3
invokestatic sun.nio.ch.IOStatus.check:(I)Z
ifne 26
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
26: StackMap locals:
StackMap stack:
aload 2
monitorexit
27: iload 6
ireturn
28: StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer java.lang.Object int int
StackMap stack: java.lang.Throwable
astore 5
29: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 4
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
30: aload 0
iload 3
ifle 31
iconst_1
goto 32
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer java.lang.Object int int java.lang.Throwable
StackMap stack: sun.nio.ch.FileChannelImpl
31: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer java.lang.Object int int java.lang.Throwable
StackMap stack: sun.nio.ch.FileChannelImpl int
32: invokevirtual sun.nio.ch.FileChannelImpl.endBlocking:(Z)V
33: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 34
iload 3
invokestatic sun.nio.ch.IOStatus.check:(I)Z
ifne 34
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
34: StackMap locals:
StackMap stack:
aload 5
athrow
end local 4 end local 3 35: StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer java.lang.Object
StackMap stack: java.lang.Throwable
aload 2
monitorexit
36: athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Lsun/nio/ch/FileChannelImpl;
0 37 1 src Ljava/nio/ByteBuffer;
7 35 3 n I
8 35 4 ti I
Exception table:
from to target type
8 11 28 any
18 21 28 any
4 17 35 any
18 27 35 any
28 36 35 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
src
public long write(java.nio.ByteBuffer[], int, int);
descriptor: ([Ljava/nio/ByteBuffer;II)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
iload 3
aload 1
arraylength
invokestatic java.util.Objects.checkFromIndexSize:(III)I
pop
1: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.ensureOpen:()V
2: aload 0
getfield sun.nio.ch.FileChannelImpl.writable:Z
ifne 4
3: new java.nio.channels.NonWritableChannelException
dup
invokespecial java.nio.channels.NonWritableChannelException.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.positionLock:Ljava/lang/Object;
dup
astore 4
monitorenter
5: aload 0
getfield sun.nio.ch.FileChannelImpl.direct:Z
ifeq 7
6: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.position:()J
aload 0
getfield sun.nio.ch.FileChannelImpl.alignment:I
invokestatic sun.nio.ch.Util.checkChannelPositionAligned:(JI)V
7: StackMap locals: java.lang.Object
StackMap stack:
lconst_0
lstore 5
start local 5 8: iconst_m1
istore 7
start local 7 9: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.beginBlocking:()V
10: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
invokevirtual sun.nio.ch.NativeThreadSet.add:()I
istore 7
11: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 19
12: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 7
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
13: aload 0
lload 5
lconst_0
lcmp
ifle 14
iconst_1
goto 15
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer[] int int java.lang.Object long int
StackMap stack: sun.nio.ch.FileChannelImpl
14: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer[] int int java.lang.Object long int
StackMap stack: sun.nio.ch.FileChannelImpl int
15: invokevirtual sun.nio.ch.FileChannelImpl.endBlocking:(Z)V
16: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 17
lload 5
invokestatic sun.nio.ch.IOStatus.check:(J)Z
ifne 17
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
StackMap locals:
StackMap stack:
17: aload 4
monitorexit
18: lconst_0
lreturn
19: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.fd:Ljava/io/FileDescriptor;
aload 1
iload 2
iload 3
20: aload 0
getfield sun.nio.ch.FileChannelImpl.direct:Z
aload 0
getfield sun.nio.ch.FileChannelImpl.alignment:I
aload 0
getfield sun.nio.ch.FileChannelImpl.nd:Lsun/nio/ch/FileDispatcher;
21: invokestatic sun.nio.ch.IOUtil.write:(Ljava/io/FileDescriptor;[Ljava/nio/ByteBuffer;IIZILsun/nio/ch/NativeDispatcher;)J
lstore 5
22: lload 5
ldc -3
lcmp
ifne 23
aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 19
23: StackMap locals:
StackMap stack:
lload 5
invokestatic sun.nio.ch.IOStatus.normalize:(J)J
lstore 9
24: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 7
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
25: aload 0
lload 5
lconst_0
lcmp
ifle 26
iconst_1
goto 27
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer[] int int java.lang.Object long int top long
StackMap stack: sun.nio.ch.FileChannelImpl
26: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer[] int int java.lang.Object long int top long
StackMap stack: sun.nio.ch.FileChannelImpl int
27: invokevirtual sun.nio.ch.FileChannelImpl.endBlocking:(Z)V
28: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 29
lload 5
invokestatic sun.nio.ch.IOStatus.check:(J)Z
ifne 29
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
29: StackMap locals:
StackMap stack:
aload 4
monitorexit
30: lload 9
lreturn
31: StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer[] int int java.lang.Object long int
StackMap stack: java.lang.Throwable
astore 8
32: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 7
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
33: aload 0
lload 5
lconst_0
lcmp
ifle 34
iconst_1
goto 35
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer[] int int java.lang.Object long int java.lang.Throwable
StackMap stack: sun.nio.ch.FileChannelImpl
34: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer[] int int java.lang.Object long int java.lang.Throwable
StackMap stack: sun.nio.ch.FileChannelImpl int
35: invokevirtual sun.nio.ch.FileChannelImpl.endBlocking:(Z)V
36: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 37
lload 5
invokestatic sun.nio.ch.IOStatus.check:(J)Z
ifne 37
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
37: StackMap locals:
StackMap stack:
aload 8
athrow
end local 7 end local 5 38: StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer[] int int java.lang.Object
StackMap stack: java.lang.Throwable
aload 4
monitorexit
39: athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 40 0 this Lsun/nio/ch/FileChannelImpl;
0 40 1 srcs [Ljava/nio/ByteBuffer;
0 40 2 offset I
0 40 3 length I
8 38 5 n J
9 38 7 ti I
Exception table:
from to target type
9 12 31 any
19 24 31 any
5 18 38 any
19 30 38 any
31 39 38 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
srcs
offset
length
public long position();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=1
start local 0 0: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.ensureOpen:()V
1: aload 0
getfield sun.nio.ch.FileChannelImpl.positionLock:Ljava/lang/Object;
dup
astore 1
monitorenter
2: ldc -1
lstore 2
start local 2 3: iconst_m1
istore 4
start local 4 4: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.beginBlocking:()V
5: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
invokevirtual sun.nio.ch.NativeThreadSet.add:()I
istore 4
6: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 14
7: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 4
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
8: aload 0
lload 2
ldc -1
lcmp
ifle 9
iconst_1
goto 10
StackMap locals: sun.nio.ch.FileChannelImpl java.lang.Object long int
StackMap stack: sun.nio.ch.FileChannelImpl
9: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl java.lang.Object long int
StackMap stack: sun.nio.ch.FileChannelImpl int
10: invokevirtual sun.nio.ch.FileChannelImpl.endBlocking:(Z)V
11: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 12
lload 2
invokestatic sun.nio.ch.IOStatus.check:(J)Z
ifne 12
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
StackMap locals:
StackMap stack:
12: aload 1
monitorexit
13: lconst_0
lreturn
14: StackMap locals:
StackMap stack:
getstatic sun.nio.ch.FileChannelImpl.fdAccess:Ljdk/internal/access/JavaIOFileDescriptorAccess;
aload 0
getfield sun.nio.ch.FileChannelImpl.fd:Ljava/io/FileDescriptor;
invokeinterface jdk.internal.access.JavaIOFileDescriptorAccess.getAppend:(Ljava/io/FileDescriptor;)Z
istore 5
start local 5 15: StackMap locals: int
StackMap stack:
iload 5
ifeq 16
aload 0
getfield sun.nio.ch.FileChannelImpl.nd:Lsun/nio/ch/FileDispatcher;
aload 0
getfield sun.nio.ch.FileChannelImpl.fd:Ljava/io/FileDescriptor;
invokevirtual sun.nio.ch.FileDispatcher.size:(Ljava/io/FileDescriptor;)J
goto 17
StackMap locals:
StackMap stack:
16: aload 0
getfield sun.nio.ch.FileChannelImpl.nd:Lsun/nio/ch/FileDispatcher;
aload 0
getfield sun.nio.ch.FileChannelImpl.fd:Ljava/io/FileDescriptor;
ldc -1
invokevirtual sun.nio.ch.FileDispatcher.seek:(Ljava/io/FileDescriptor;J)J
StackMap locals:
StackMap stack: long
17: lstore 2
18: lload 2
ldc -3
lcmp
ifne 19
aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 15
19: StackMap locals:
StackMap stack:
lload 2
invokestatic sun.nio.ch.IOStatus.normalize:(J)J
lstore 7
20: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 4
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
21: aload 0
lload 2
ldc -1
lcmp
ifle 22
iconst_1
goto 23
StackMap locals: sun.nio.ch.FileChannelImpl java.lang.Object long int int top long
StackMap stack: sun.nio.ch.FileChannelImpl
22: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl java.lang.Object long int int top long
StackMap stack: sun.nio.ch.FileChannelImpl int
23: invokevirtual sun.nio.ch.FileChannelImpl.endBlocking:(Z)V
24: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 25
lload 2
invokestatic sun.nio.ch.IOStatus.check:(J)Z
ifne 25
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
25: StackMap locals:
StackMap stack:
aload 1
monitorexit
26: lload 7
lreturn
end local 5 27: StackMap locals: sun.nio.ch.FileChannelImpl java.lang.Object long int
StackMap stack: java.lang.Throwable
astore 6
28: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 4
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
29: aload 0
lload 2
ldc -1
lcmp
ifle 30
iconst_1
goto 31
StackMap locals: sun.nio.ch.FileChannelImpl java.lang.Object long int top java.lang.Throwable
StackMap stack: sun.nio.ch.FileChannelImpl
30: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl java.lang.Object long int top java.lang.Throwable
StackMap stack: sun.nio.ch.FileChannelImpl int
31: invokevirtual sun.nio.ch.FileChannelImpl.endBlocking:(Z)V
32: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 33
lload 2
invokestatic sun.nio.ch.IOStatus.check:(J)Z
ifne 33
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
33: StackMap locals:
StackMap stack:
aload 6
athrow
end local 4 end local 2 34: StackMap locals: sun.nio.ch.FileChannelImpl java.lang.Object
StackMap stack: java.lang.Throwable
aload 1
monitorexit
35: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lsun/nio/ch/FileChannelImpl;
3 34 2 p J
4 34 4 ti I
15 27 5 append Z
Exception table:
from to target type
4 7 27 any
14 20 27 any
2 13 34 any
14 26 34 any
27 35 34 any
Exceptions:
throws java.io.IOException
public java.nio.channels.FileChannel position(long);
descriptor: (J)Ljava/nio/channels/FileChannel;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.ensureOpen:()V
1: lload 1
lconst_0
lcmp
ifge 3
2: new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.positionLock:Ljava/lang/Object;
dup
astore 3
monitorenter
4: ldc -1
lstore 4
start local 4 5: iconst_m1
istore 6
start local 6 6: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.beginBlocking:()V
7: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
invokevirtual sun.nio.ch.NativeThreadSet.add:()I
istore 6
8: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 16
9: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 6
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
10: aload 0
lload 4
ldc -1
lcmp
ifle 11
iconst_1
goto 12
StackMap locals: sun.nio.ch.FileChannelImpl long java.lang.Object long int
StackMap stack: sun.nio.ch.FileChannelImpl
11: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl long java.lang.Object long int
StackMap stack: sun.nio.ch.FileChannelImpl int
12: invokevirtual sun.nio.ch.FileChannelImpl.endBlocking:(Z)V
13: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 14
lload 4
invokestatic sun.nio.ch.IOStatus.check:(J)Z
ifne 14
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
StackMap locals:
StackMap stack:
14: aload 3
monitorexit
15: aconst_null
areturn
16: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.nd:Lsun/nio/ch/FileDispatcher;
aload 0
getfield sun.nio.ch.FileChannelImpl.fd:Ljava/io/FileDescriptor;
lload 1
invokevirtual sun.nio.ch.FileDispatcher.seek:(Ljava/io/FileDescriptor;J)J
lstore 4
17: lload 4
ldc -3
lcmp
ifne 18
aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 16
18: StackMap locals:
StackMap stack:
aload 0
astore 8
19: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 6
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
20: aload 0
lload 4
ldc -1
lcmp
ifle 21
iconst_1
goto 22
StackMap locals: sun.nio.ch.FileChannelImpl long java.lang.Object long int top java.nio.channels.FileChannel
StackMap stack: sun.nio.ch.FileChannelImpl
21: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl long java.lang.Object long int top java.nio.channels.FileChannel
StackMap stack: sun.nio.ch.FileChannelImpl int
22: invokevirtual sun.nio.ch.FileChannelImpl.endBlocking:(Z)V
23: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 24
lload 4
invokestatic sun.nio.ch.IOStatus.check:(J)Z
ifne 24
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
24: StackMap locals:
StackMap stack:
aload 3
monitorexit
25: aload 8
areturn
26: StackMap locals: sun.nio.ch.FileChannelImpl long java.lang.Object long int
StackMap stack: java.lang.Throwable
astore 7
27: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 6
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
28: aload 0
lload 4
ldc -1
lcmp
ifle 29
iconst_1
goto 30
StackMap locals: sun.nio.ch.FileChannelImpl long java.lang.Object long int java.lang.Throwable
StackMap stack: sun.nio.ch.FileChannelImpl
29: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl long java.lang.Object long int java.lang.Throwable
StackMap stack: sun.nio.ch.FileChannelImpl int
30: invokevirtual sun.nio.ch.FileChannelImpl.endBlocking:(Z)V
31: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 32
lload 4
invokestatic sun.nio.ch.IOStatus.check:(J)Z
ifne 32
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
32: StackMap locals:
StackMap stack:
aload 7
athrow
end local 6 end local 4 33: StackMap locals: sun.nio.ch.FileChannelImpl long java.lang.Object
StackMap stack: java.lang.Throwable
aload 3
monitorexit
34: athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Lsun/nio/ch/FileChannelImpl;
0 35 1 newPosition J
5 33 4 p J
6 33 6 ti I
Exception table:
from to target type
6 9 26 any
16 19 26 any
4 15 33 any
16 25 33 any
26 34 33 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
newPosition
public long size();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=1
start local 0 0: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.ensureOpen:()V
1: aload 0
getfield sun.nio.ch.FileChannelImpl.positionLock:Ljava/lang/Object;
dup
astore 1
monitorenter
2: ldc -1
lstore 2
start local 2 3: iconst_m1
istore 4
start local 4 4: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.beginBlocking:()V
5: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
invokevirtual sun.nio.ch.NativeThreadSet.add:()I
istore 4
6: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 14
7: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 4
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
8: aload 0
lload 2
ldc -1
lcmp
ifle 9
iconst_1
goto 10
StackMap locals: sun.nio.ch.FileChannelImpl java.lang.Object long int
StackMap stack: sun.nio.ch.FileChannelImpl
9: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl java.lang.Object long int
StackMap stack: sun.nio.ch.FileChannelImpl int
10: invokevirtual sun.nio.ch.FileChannelImpl.endBlocking:(Z)V
11: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 12
lload 2
invokestatic sun.nio.ch.IOStatus.check:(J)Z
ifne 12
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
StackMap locals:
StackMap stack:
12: aload 1
monitorexit
13: ldc -1
lreturn
14: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.nd:Lsun/nio/ch/FileDispatcher;
aload 0
getfield sun.nio.ch.FileChannelImpl.fd:Ljava/io/FileDescriptor;
invokevirtual sun.nio.ch.FileDispatcher.size:(Ljava/io/FileDescriptor;)J
lstore 2
15: lload 2
ldc -3
lcmp
ifne 16
aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 14
16: StackMap locals:
StackMap stack:
lload 2
invokestatic sun.nio.ch.IOStatus.normalize:(J)J
lstore 6
17: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 4
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
18: aload 0
lload 2
ldc -1
lcmp
ifle 19
iconst_1
goto 20
StackMap locals: sun.nio.ch.FileChannelImpl java.lang.Object long int top long
StackMap stack: sun.nio.ch.FileChannelImpl
19: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl java.lang.Object long int top long
StackMap stack: sun.nio.ch.FileChannelImpl int
20: invokevirtual sun.nio.ch.FileChannelImpl.endBlocking:(Z)V
21: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 22
lload 2
invokestatic sun.nio.ch.IOStatus.check:(J)Z
ifne 22
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
22: StackMap locals:
StackMap stack:
aload 1
monitorexit
23: lload 6
lreturn
24: StackMap locals: sun.nio.ch.FileChannelImpl java.lang.Object long int
StackMap stack: java.lang.Throwable
astore 5
25: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 4
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
26: aload 0
lload 2
ldc -1
lcmp
ifle 27
iconst_1
goto 28
StackMap locals: sun.nio.ch.FileChannelImpl java.lang.Object long int java.lang.Throwable
StackMap stack: sun.nio.ch.FileChannelImpl
27: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl java.lang.Object long int java.lang.Throwable
StackMap stack: sun.nio.ch.FileChannelImpl int
28: invokevirtual sun.nio.ch.FileChannelImpl.endBlocking:(Z)V
29: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 30
lload 2
invokestatic sun.nio.ch.IOStatus.check:(J)Z
ifne 30
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
30: StackMap locals:
StackMap stack:
aload 5
athrow
end local 4 end local 2 31: StackMap locals: sun.nio.ch.FileChannelImpl java.lang.Object
StackMap stack: java.lang.Throwable
aload 1
monitorexit
32: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lsun/nio/ch/FileChannelImpl;
3 31 2 s J
4 31 4 ti I
Exception table:
from to target type
4 7 24 any
14 17 24 any
2 13 31 any
14 23 31 any
24 32 31 any
Exceptions:
throws java.io.IOException
public java.nio.channels.FileChannel truncate(long);
descriptor: (J)Ljava/nio/channels/FileChannel;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=14, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.ensureOpen:()V
1: lload 1
lconst_0
lcmp
ifge 3
2: new java.lang.IllegalArgumentException
dup
ldc "Negative size"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.writable:Z
ifne 5
4: new java.nio.channels.NonWritableChannelException
dup
invokespecial java.nio.channels.NonWritableChannelException.<init>:()V
athrow
5: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.positionLock:Ljava/lang/Object;
dup
astore 3
monitorenter
6: iconst_m1
istore 4
start local 4 7: ldc -1
lstore 5
start local 5 8: iconst_m1
istore 7
start local 7 9: ldc -1
lstore 8
start local 8 10: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.beginBlocking:()V
11: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
invokevirtual sun.nio.ch.NativeThreadSet.add:()I
istore 7
12: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 20
13: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 7
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
14: aload 0
iload 4
iconst_m1
if_icmple 15
iconst_1
goto 16
StackMap locals: sun.nio.ch.FileChannelImpl long java.lang.Object int long int long
StackMap stack: sun.nio.ch.FileChannelImpl
15: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl long java.lang.Object int long int long
StackMap stack: sun.nio.ch.FileChannelImpl int
16: invokevirtual sun.nio.ch.FileChannelImpl.endBlocking:(Z)V
17: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 18
iload 4
invokestatic sun.nio.ch.IOStatus.check:(I)Z
ifne 18
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
StackMap locals:
StackMap stack:
18: aload 3
monitorexit
19: aconst_null
areturn
20: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.nd:Lsun/nio/ch/FileDispatcher;
aload 0
getfield sun.nio.ch.FileChannelImpl.fd:Ljava/io/FileDescriptor;
invokevirtual sun.nio.ch.FileDispatcher.size:(Ljava/io/FileDescriptor;)J
lstore 10
start local 10 21: lload 10
ldc -3
lcmp
ifne 22
aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 20
22: StackMap locals: long
StackMap stack:
aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 30
23: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 7
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
24: aload 0
iload 4
iconst_m1
if_icmple 25
iconst_1
goto 26
StackMap locals:
StackMap stack: sun.nio.ch.FileChannelImpl
25: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl long java.lang.Object int long int long long
StackMap stack: sun.nio.ch.FileChannelImpl int
26: invokevirtual sun.nio.ch.FileChannelImpl.endBlocking:(Z)V
27: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 28
iload 4
invokestatic sun.nio.ch.IOStatus.check:(I)Z
ifne 28
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
StackMap locals:
StackMap stack:
28: aload 3
monitorexit
29: aconst_null
areturn
30: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.nd:Lsun/nio/ch/FileDispatcher;
aload 0
getfield sun.nio.ch.FileChannelImpl.fd:Ljava/io/FileDescriptor;
ldc -1
invokevirtual sun.nio.ch.FileDispatcher.seek:(Ljava/io/FileDescriptor;J)J
lstore 5
31: lload 5
ldc -3
lcmp
ifne 32
aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 30
32: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 40
33: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 7
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
34: aload 0
iload 4
iconst_m1
if_icmple 35
iconst_1
goto 36
StackMap locals:
StackMap stack: sun.nio.ch.FileChannelImpl
35: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl long java.lang.Object int long int long long
StackMap stack: sun.nio.ch.FileChannelImpl int
36: invokevirtual sun.nio.ch.FileChannelImpl.endBlocking:(Z)V
37: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 38
iload 4
invokestatic sun.nio.ch.IOStatus.check:(I)Z
ifne 38
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
StackMap locals:
StackMap stack:
38: aload 3
monitorexit
39: aconst_null
areturn
40: StackMap locals:
StackMap stack:
getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 41
lload 5
lconst_0
lcmp
ifge 41
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
41: StackMap locals:
StackMap stack:
lload 1
lload 10
lcmp
ifge 52
42: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.nd:Lsun/nio/ch/FileDispatcher;
aload 0
getfield sun.nio.ch.FileChannelImpl.fd:Ljava/io/FileDescriptor;
lload 1
invokevirtual sun.nio.ch.FileDispatcher.truncate:(Ljava/io/FileDescriptor;J)I
istore 4
43: iload 4
bipush -3
if_icmpne 44
aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 42
44: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 52
45: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 7
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
46: aload 0
iload 4
iconst_m1
if_icmple 47
iconst_1
goto 48
StackMap locals:
StackMap stack: sun.nio.ch.FileChannelImpl
47: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl long java.lang.Object int long int long long
StackMap stack: sun.nio.ch.FileChannelImpl int
48: invokevirtual sun.nio.ch.FileChannelImpl.endBlocking:(Z)V
49: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 50
iload 4
invokestatic sun.nio.ch.IOStatus.check:(I)Z
ifne 50
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
StackMap locals:
StackMap stack:
50: aload 3
monitorexit
51: aconst_null
areturn
52: StackMap locals:
StackMap stack:
lload 5
lload 1
lcmp
ifle 54
53: lload 1
lstore 5
54: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.nd:Lsun/nio/ch/FileDispatcher;
aload 0
getfield sun.nio.ch.FileChannelImpl.fd:Ljava/io/FileDescriptor;
lload 5
invokevirtual sun.nio.ch.FileDispatcher.seek:(Ljava/io/FileDescriptor;J)J
lstore 8
55: lload 8
ldc -3
lcmp
ifne 56
aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 54
56: StackMap locals:
StackMap stack:
aload 0
astore 13
57: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 7
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
58: aload 0
iload 4
iconst_m1
if_icmple 59
iconst_1
goto 60
StackMap locals: sun.nio.ch.FileChannelImpl long java.lang.Object int long int long long top java.nio.channels.FileChannel
StackMap stack: sun.nio.ch.FileChannelImpl
59: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl long java.lang.Object int long int long long top java.nio.channels.FileChannel
StackMap stack: sun.nio.ch.FileChannelImpl int
60: invokevirtual sun.nio.ch.FileChannelImpl.endBlocking:(Z)V
61: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 62
iload 4
invokestatic sun.nio.ch.IOStatus.check:(I)Z
ifne 62
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
62: StackMap locals:
StackMap stack:
aload 3
monitorexit
63: aload 13
areturn
end local 10 64: StackMap locals: sun.nio.ch.FileChannelImpl long java.lang.Object int long int long
StackMap stack: java.lang.Throwable
astore 12
65: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 7
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
66: aload 0
iload 4
iconst_m1
if_icmple 67
iconst_1
goto 68
StackMap locals: sun.nio.ch.FileChannelImpl long java.lang.Object int long int long top top java.lang.Throwable
StackMap stack: sun.nio.ch.FileChannelImpl
67: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl long java.lang.Object int long int long top top java.lang.Throwable
StackMap stack: sun.nio.ch.FileChannelImpl int
68: invokevirtual sun.nio.ch.FileChannelImpl.endBlocking:(Z)V
69: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 70
iload 4
invokestatic sun.nio.ch.IOStatus.check:(I)Z
ifne 70
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
70: StackMap locals:
StackMap stack:
aload 12
athrow
end local 8 end local 7 end local 5 end local 4 71: StackMap locals: sun.nio.ch.FileChannelImpl long java.lang.Object
StackMap stack: java.lang.Throwable
aload 3
monitorexit
72: athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 73 0 this Lsun/nio/ch/FileChannelImpl;
0 73 1 newSize J
7 71 4 rv I
8 71 5 p J
9 71 7 ti I
10 71 8 rp J
21 64 10 size J
Exception table:
from to target type
10 13 64 any
20 23 64 any
30 33 64 any
40 45 64 any
52 57 64 any
6 19 71 any
20 29 71 any
30 39 71 any
40 51 71 any
52 63 71 any
64 72 71 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
newSize
public void force(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.ensureOpen:()V
1: iconst_m1
istore 2
start local 2 2: iconst_m1
istore 3
start local 3 3: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.beginBlocking:()V
4: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
invokevirtual sun.nio.ch.NativeThreadSet.add:()I
istore 3
5: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 12
6: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 3
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
7: aload 0
iload 2
iconst_m1
if_icmple 8
iconst_1
goto 9
StackMap locals: sun.nio.ch.FileChannelImpl int int int
StackMap stack: sun.nio.ch.FileChannelImpl
8: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl int int int
StackMap stack: sun.nio.ch.FileChannelImpl int
9: invokevirtual sun.nio.ch.FileChannelImpl.endBlocking:(Z)V
10: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 11
iload 2
invokestatic sun.nio.ch.IOStatus.check:(I)Z
ifne 11
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
11: StackMap locals:
StackMap stack:
return
12: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.nd:Lsun/nio/ch/FileDispatcher;
aload 0
getfield sun.nio.ch.FileChannelImpl.fd:Ljava/io/FileDescriptor;
iload 1
invokevirtual sun.nio.ch.FileDispatcher.force:(Ljava/io/FileDescriptor;Z)I
istore 2
13: iload 2
bipush -3
if_icmpne 22
aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 12
14: goto 22
StackMap locals:
StackMap stack: java.lang.Throwable
15: astore 4
16: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 3
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
17: aload 0
iload 2
iconst_m1
if_icmple 18
iconst_1
goto 19
StackMap locals: sun.nio.ch.FileChannelImpl int int int java.lang.Throwable
StackMap stack: sun.nio.ch.FileChannelImpl
18: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl int int int java.lang.Throwable
StackMap stack: sun.nio.ch.FileChannelImpl int
19: invokevirtual sun.nio.ch.FileChannelImpl.endBlocking:(Z)V
20: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 21
iload 2
invokestatic sun.nio.ch.IOStatus.check:(I)Z
ifne 21
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
21: StackMap locals:
StackMap stack:
aload 4
athrow
22: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 3
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
23: aload 0
iload 2
iconst_m1
if_icmple 24
iconst_1
goto 25
StackMap locals:
StackMap stack: sun.nio.ch.FileChannelImpl
24: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl int int int
StackMap stack: sun.nio.ch.FileChannelImpl int
25: invokevirtual sun.nio.ch.FileChannelImpl.endBlocking:(Z)V
26: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 27
iload 2
invokestatic sun.nio.ch.IOStatus.check:(I)Z
ifne 27
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
27: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lsun/nio/ch/FileChannelImpl;
0 28 1 metaData Z
2 28 2 rv I
3 28 3 ti I
Exception table:
from to target type
3 6 15 any
12 15 15 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
metaData
private long transferToDirectlyInternal(long, int, java.nio.channels.WritableByteChannel, java.io.FileDescriptor);
descriptor: (JILjava/nio/channels/WritableByteChannel;Ljava/io/FileDescriptor;)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=12, args_size=5
start local 0 start local 1 start local 3 start local 4 start local 5 0: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 2
aload 0
getfield sun.nio.ch.FileChannelImpl.nd:Lsun/nio/ch/FileDispatcher;
invokevirtual sun.nio.ch.FileDispatcher.transferToDirectlyNeedsPositionLock:()Z
ifeq 2
1: aload 0
getfield sun.nio.ch.FileChannelImpl.positionLock:Ljava/lang/Object;
invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
ifne 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
ldc -1
lstore 6
start local 6 3: iconst_m1
istore 8
start local 8 4: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.beginBlocking:()V
5: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
invokevirtual sun.nio.ch.NativeThreadSet.add:()I
istore 8
6: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 12
7: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 8
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
8: aload 0
lload 6
ldc -1
lcmp
ifle 9
iconst_1
goto 10
StackMap locals: sun.nio.ch.FileChannelImpl long int java.nio.channels.WritableByteChannel java.io.FileDescriptor long int
StackMap stack: sun.nio.ch.FileChannelImpl
9: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl long int java.nio.channels.WritableByteChannel java.io.FileDescriptor long int
StackMap stack: sun.nio.ch.FileChannelImpl int
10: invokevirtual sun.nio.ch.FileChannelImpl.end:(Z)V
11: ldc -1
lreturn
12: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.nio.ch.FileChannelImpl.fd:Ljava/io/FileDescriptor;
lload 1
iload 3
i2l
aload 5
invokevirtual sun.nio.ch.FileChannelImpl.transferTo0:(Ljava/io/FileDescriptor;JJLjava/io/FileDescriptor;)J
lstore 6
13: lload 6
ldc -3
lcmp
ifne 14
aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 12
14: StackMap locals:
StackMap stack:
lload 6
ldc -6
lcmp
ifne 24
15: aload 4
instanceof sun.nio.ch.SinkChannelImpl
ifeq 17
16: iconst_0
putstatic sun.nio.ch.FileChannelImpl.pipeSupported:Z
17: StackMap locals:
StackMap stack:
aload 4
instanceof sun.nio.ch.FileChannelImpl
ifeq 19
18: iconst_0
putstatic sun.nio.ch.FileChannelImpl.fileSupported:Z
19: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 8
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
20: aload 0
lload 6
ldc -1
lcmp
ifle 21
iconst_1
goto 22
StackMap locals:
StackMap stack: sun.nio.ch.FileChannelImpl
21: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl long int java.nio.channels.WritableByteChannel java.io.FileDescriptor long int
StackMap stack: sun.nio.ch.FileChannelImpl int
22: invokevirtual sun.nio.ch.FileChannelImpl.end:(Z)V
23: ldc -6
lreturn
24: StackMap locals:
StackMap stack:
lload 6
ldc -4
lcmp
ifne 31
25: iconst_0
putstatic sun.nio.ch.FileChannelImpl.transferSupported:Z
26: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 8
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
27: aload 0
lload 6
ldc -1
lcmp
ifle 28
iconst_1
goto 29
StackMap locals:
StackMap stack: sun.nio.ch.FileChannelImpl
28: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl long int java.nio.channels.WritableByteChannel java.io.FileDescriptor long int
StackMap stack: sun.nio.ch.FileChannelImpl int
29: invokevirtual sun.nio.ch.FileChannelImpl.end:(Z)V
30: ldc -4
lreturn
31: StackMap locals:
StackMap stack:
lload 6
invokestatic sun.nio.ch.IOStatus.normalize:(J)J
lstore 10
32: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 8
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
33: aload 0
lload 6
ldc -1
lcmp
ifle 34
iconst_1
goto 35
StackMap locals: sun.nio.ch.FileChannelImpl long int java.nio.channels.WritableByteChannel java.io.FileDescriptor long int top long
StackMap stack: sun.nio.ch.FileChannelImpl
34: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl long int java.nio.channels.WritableByteChannel java.io.FileDescriptor long int top long
StackMap stack: sun.nio.ch.FileChannelImpl int
35: invokevirtual sun.nio.ch.FileChannelImpl.end:(Z)V
36: lload 10
lreturn
37: StackMap locals: sun.nio.ch.FileChannelImpl long int java.nio.channels.WritableByteChannel java.io.FileDescriptor long int
StackMap stack: java.lang.Throwable
astore 9
38: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 8
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
39: aload 0
lload 6
ldc -1
lcmp
ifle 40
iconst_1
goto 41
StackMap locals: sun.nio.ch.FileChannelImpl long int java.nio.channels.WritableByteChannel java.io.FileDescriptor long int java.lang.Throwable
StackMap stack: sun.nio.ch.FileChannelImpl
40: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl long int java.nio.channels.WritableByteChannel java.io.FileDescriptor long int java.lang.Throwable
StackMap stack: sun.nio.ch.FileChannelImpl int
41: invokevirtual sun.nio.ch.FileChannelImpl.end:(Z)V
42: aload 9
athrow
end local 8 end local 6 end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 43 0 this Lsun/nio/ch/FileChannelImpl;
0 43 1 position J
0 43 3 icount I
0 43 4 target Ljava/nio/channels/WritableByteChannel;
0 43 5 targetFD Ljava/io/FileDescriptor;
3 43 6 n J
4 43 8 ti I
Exception table:
from to target type
4 7 37 any
12 19 37 any
24 26 37 any
31 32 37 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
position
icount
target
targetFD
private long transferToDirectly(long, int, java.nio.channels.WritableByteChannel);
descriptor: (JILjava/nio/channels/WritableByteChannel;)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=14, args_size=4
start local 0 start local 1 start local 3 start local 4 0: getstatic sun.nio.ch.FileChannelImpl.transferSupported:Z
ifne 2
1: ldc -4
lreturn
2: StackMap locals:
StackMap stack:
aconst_null
astore 5
start local 5 3: aload 4
instanceof sun.nio.ch.FileChannelImpl
ifeq 8
4: getstatic sun.nio.ch.FileChannelImpl.fileSupported:Z
ifne 6
5: ldc -6
lreturn
6: StackMap locals: java.io.FileDescriptor
StackMap stack:
aload 4
checkcast sun.nio.ch.FileChannelImpl
getfield sun.nio.ch.FileChannelImpl.fd:Ljava/io/FileDescriptor;
astore 5
7: goto 15
StackMap locals:
StackMap stack:
8: aload 4
instanceof sun.nio.ch.SelChImpl
ifeq 15
9: aload 4
instanceof sun.nio.ch.SinkChannelImpl
ifeq 11
getstatic sun.nio.ch.FileChannelImpl.pipeSupported:Z
ifne 11
10: ldc -6
lreturn
11: StackMap locals:
StackMap stack:
aload 4
checkcast java.nio.channels.SelectableChannel
astore 6
start local 6 12: aload 0
getfield sun.nio.ch.FileChannelImpl.nd:Lsun/nio/ch/FileDispatcher;
aload 6
invokevirtual sun.nio.ch.FileDispatcher.canTransferToDirectly:(Ljava/nio/channels/SelectableChannel;)Z
ifne 14
13: ldc -6
lreturn
14: StackMap locals: java.nio.channels.SelectableChannel
StackMap stack:
aload 4
checkcast sun.nio.ch.SelChImpl
invokeinterface sun.nio.ch.SelChImpl.getFD:()Ljava/io/FileDescriptor;
astore 5
end local 6 15: StackMap locals:
StackMap stack:
aload 5
ifnonnull 17
16: ldc -4
lreturn
17: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.fd:Ljava/io/FileDescriptor;
invokestatic sun.nio.ch.IOUtil.fdVal:(Ljava/io/FileDescriptor;)I
istore 6
start local 6 18: aload 5
invokestatic sun.nio.ch.IOUtil.fdVal:(Ljava/io/FileDescriptor;)I
istore 7
start local 7 19: iload 6
iload 7
if_icmpne 21
20: ldc -4
lreturn
21: StackMap locals: int int
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.nd:Lsun/nio/ch/FileDispatcher;
invokevirtual sun.nio.ch.FileDispatcher.transferToDirectlyNeedsPositionLock:()Z
ifeq 35
22: aload 0
getfield sun.nio.ch.FileChannelImpl.positionLock:Ljava/lang/Object;
dup
astore 8
monitorenter
23: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.position:()J
lstore 9
start local 9 24: aload 0
lload 1
iload 3
25: aload 4
aload 5
26: invokevirtual sun.nio.ch.FileChannelImpl.transferToDirectlyInternal:(JILjava/nio/channels/WritableByteChannel;Ljava/io/FileDescriptor;)J
lstore 12
27: aload 0
lload 9
invokevirtual sun.nio.ch.FileChannelImpl.position:(J)Ljava/nio/channels/FileChannel;
pop
28: aload 8
monitorexit
29: lload 12
lreturn
30: StackMap locals: sun.nio.ch.FileChannelImpl long int java.nio.channels.WritableByteChannel java.io.FileDescriptor int int java.lang.Object long
StackMap stack: java.lang.Throwable
astore 11
31: aload 0
lload 9
invokevirtual sun.nio.ch.FileChannelImpl.position:(J)Ljava/nio/channels/FileChannel;
pop
32: aload 11
athrow
end local 9 33: StackMap locals: sun.nio.ch.FileChannelImpl long int java.nio.channels.WritableByteChannel java.io.FileDescriptor int int java.lang.Object
StackMap stack: java.lang.Throwable
aload 8
monitorexit
34: athrow
35: StackMap locals:
StackMap stack:
aload 0
lload 1
iload 3
aload 4
aload 5
invokevirtual sun.nio.ch.FileChannelImpl.transferToDirectlyInternal:(JILjava/nio/channels/WritableByteChannel;Ljava/io/FileDescriptor;)J
lreturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lsun/nio/ch/FileChannelImpl;
0 36 1 position J
0 36 3 icount I
0 36 4 target Ljava/nio/channels/WritableByteChannel;
3 36 5 targetFD Ljava/io/FileDescriptor;
12 15 6 sc Ljava/nio/channels/SelectableChannel;
18 36 6 thisFDVal I
19 36 7 targetFDVal I
24 33 9 pos J
Exception table:
from to target type
24 27 30 any
23 29 33 any
30 34 33 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
position
icount
target
private long transferToTrustedChannel(long, long, java.nio.channels.WritableByteChannel);
descriptor: (JJLjava/nio/channels/WritableByteChannel;)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=14, args_size=4
start local 0 start local 1 start local 3 start local 5 0: aload 5
instanceof sun.nio.ch.SelChImpl
istore 6
start local 6 1: aload 5
instanceof sun.nio.ch.FileChannelImpl
ifne 3
iload 6
ifne 3
2: ldc -4
lreturn
3: StackMap locals: int
StackMap stack:
lload 3
lstore 7
start local 7 4: goto 31
5: StackMap locals: long
StackMap stack:
lload 7
ldc 8388608
invokestatic java.lang.Math.min:(JJ)J
lstore 9
start local 9 6: aload 0
getstatic java.nio.channels.FileChannel$MapMode.READ_ONLY:Ljava/nio/channels/FileChannel$MapMode;
lload 1
lload 9
invokevirtual sun.nio.ch.FileChannelImpl.map:(Ljava/nio/channels/FileChannel$MapMode;JJ)Ljava/nio/MappedByteBuffer;
astore 11
start local 11 7: aload 5
aload 11
invokeinterface java.nio.channels.WritableByteChannel.write:(Ljava/nio/ByteBuffer;)I
istore 12
start local 12 8: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 9
iload 12
ifge 9
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
9: StackMap locals: long java.nio.MappedByteBuffer int
StackMap stack:
lload 7
iload 12
i2l
lsub
lstore 7
10: iload 6
ifeq 13
11: aload 11
invokestatic sun.nio.ch.FileChannelImpl.unmap:(Ljava/nio/MappedByteBuffer;)V
12: goto 32
13: StackMap locals:
StackMap stack:
getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 14
iload 12
ifgt 14
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
14: StackMap locals:
StackMap stack:
lload 1
iload 12
i2l
ladd
lstore 1
end local 12 15: goto 19
StackMap locals: sun.nio.ch.FileChannelImpl long long java.nio.channels.WritableByteChannel int long long java.nio.MappedByteBuffer
StackMap stack: java.lang.Throwable
16: astore 13
17: aload 11
invokestatic sun.nio.ch.FileChannelImpl.unmap:(Ljava/nio/MappedByteBuffer;)V
18: aload 13
athrow
19: StackMap locals:
StackMap stack:
aload 11
invokestatic sun.nio.ch.FileChannelImpl.unmap:(Ljava/nio/MappedByteBuffer;)V
end local 11 20: goto 31
StackMap locals: sun.nio.ch.FileChannelImpl long long java.nio.channels.WritableByteChannel int long long
StackMap stack: java.nio.channels.ClosedByInterruptException
21: astore 11
start local 11 22: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 23
aload 5
invokeinterface java.nio.channels.WritableByteChannel.isOpen:()Z
ifeq 23
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
23: StackMap locals: java.nio.channels.ClosedByInterruptException
StackMap stack:
aload 0
invokevirtual sun.nio.ch.FileChannelImpl.close:()V
24: goto 27
StackMap locals:
StackMap stack: java.lang.Throwable
25: astore 12
start local 12 26: aload 11
aload 12
invokevirtual java.nio.channels.ClosedByInterruptException.addSuppressed:(Ljava/lang/Throwable;)V
end local 12 27: StackMap locals:
StackMap stack:
aload 11
athrow
end local 11 28: StackMap locals: sun.nio.ch.FileChannelImpl long long java.nio.channels.WritableByteChannel int long long
StackMap stack: java.io.IOException
astore 11
start local 11 29: lload 7
lload 3
lcmp
ifne 32
30: aload 11
athrow
end local 11 end local 9 31: StackMap locals:
StackMap stack:
lload 7
lconst_0
lcmp
ifgt 5
32: StackMap locals:
StackMap stack:
lload 3
lload 7
lsub
lreturn
end local 7 end local 6 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lsun/nio/ch/FileChannelImpl;
0 33 1 position J
0 33 3 count J
0 33 5 target Ljava/nio/channels/WritableByteChannel;
1 33 6 isSelChImpl Z
4 33 7 remaining J
6 31 9 size J
7 20 11 dbb Ljava/nio/MappedByteBuffer;
8 15 12 n I
22 28 11 e Ljava/nio/channels/ClosedByInterruptException;
26 27 12 suppressed Ljava/lang/Throwable;
29 31 11 ioe Ljava/io/IOException;
Exception table:
from to target type
7 11 16 any
13 16 16 any
6 12 21 Class java.nio.channels.ClosedByInterruptException
13 20 21 Class java.nio.channels.ClosedByInterruptException
23 24 25 Class java.lang.Throwable
6 12 28 Class java.io.IOException
13 20 28 Class java.io.IOException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
position
count
target
private long transferToArbitraryChannel(long, int, java.nio.channels.WritableByteChannel);
descriptor: (JILjava/nio/channels/WritableByteChannel;)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=13, args_size=4
start local 0 start local 1 start local 3 start local 4 0: iload 3
sipush 8192
invokestatic java.lang.Math.min:(II)I
istore 5
start local 5 1: iload 5
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
astore 6
start local 6 2: lconst_0
lstore 7
start local 7 3: lload 1
lstore 9
start local 9 4: goto 16
5: StackMap locals: sun.nio.ch.FileChannelImpl long int java.nio.channels.WritableByteChannel int java.nio.ByteBuffer long long
StackMap stack:
aload 6
iload 3
i2l
lload 7
lsub
l2i
sipush 8192
invokestatic java.lang.Math.min:(II)I
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/ByteBuffer;
pop
6: aload 0
aload 6
lload 9
invokevirtual sun.nio.ch.FileChannelImpl.read:(Ljava/nio/ByteBuffer;J)I
istore 11
start local 11 7: iload 11
ifgt 9
8: goto 17
9: StackMap locals: int
StackMap stack:
aload 6
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/ByteBuffer;
pop
10: aload 4
aload 6
invokeinterface java.nio.channels.WritableByteChannel.write:(Ljava/nio/ByteBuffer;)I
istore 12
start local 12 11: lload 7
iload 12
i2l
ladd
lstore 7
12: iload 12
iload 11
if_icmpeq 14
13: goto 17
14: StackMap locals: int
StackMap stack:
lload 9
iload 12
i2l
ladd
lstore 9
15: aload 6
invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/ByteBuffer;
pop
end local 12 end local 11 16: StackMap locals:
StackMap stack:
lload 7
iload 3
i2l
lcmp
iflt 5
17: StackMap locals:
StackMap stack:
lload 7
18: lreturn
19: StackMap locals:
StackMap stack: java.io.IOException
astore 11
start local 11 20: lload 7
lconst_0
lcmp
ifle 22
21: lload 7
lreturn
22: StackMap locals: java.io.IOException
StackMap stack:
aload 11
athrow
end local 11 end local 9 end local 7 end local 6 end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lsun/nio/ch/FileChannelImpl;
0 23 1 position J
0 23 3 icount I
0 23 4 target Ljava/nio/channels/WritableByteChannel;
1 23 5 c I
2 23 6 bb Ljava/nio/ByteBuffer;
3 23 7 tw J
4 23 9 pos J
7 16 11 nr I
11 16 12 nw I
20 23 11 x Ljava/io/IOException;
Exception table:
from to target type
4 18 19 Class java.io.IOException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
position
icount
target
public long transferTo(long, long, java.nio.channels.WritableByteChannel);
descriptor: (JJLjava/nio/channels/WritableByteChannel;)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=11, args_size=4
start local 0 start local 1 start local 3 start local 5 0: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.ensureOpen:()V
1: aload 5
invokeinterface java.nio.channels.WritableByteChannel.isOpen:()Z
ifne 3
2: new java.nio.channels.ClosedChannelException
dup
invokespecial java.nio.channels.ClosedChannelException.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.readable:Z
ifne 5
4: new java.nio.channels.NonReadableChannelException
dup
invokespecial java.nio.channels.NonReadableChannelException.<init>:()V
athrow
5: StackMap locals:
StackMap stack:
aload 5
instanceof sun.nio.ch.FileChannelImpl
ifeq 8
6: aload 5
checkcast sun.nio.ch.FileChannelImpl
getfield sun.nio.ch.FileChannelImpl.writable:Z
ifne 8
7: new java.nio.channels.NonWritableChannelException
dup
invokespecial java.nio.channels.NonWritableChannelException.<init>:()V
athrow
8: StackMap locals:
StackMap stack:
lload 1
lconst_0
lcmp
iflt 9
lload 3
lconst_0
lcmp
ifge 10
9: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
10: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.nio.ch.FileChannelImpl.size:()J
lstore 6
start local 6 11: lload 1
lload 6
lcmp
ifle 13
12: lconst_0
lreturn
13: StackMap locals: long
StackMap stack:
lload 3
ldc 2147483647
invokestatic java.lang.Math.min:(JJ)J
l2i
istore 8
start local 8 14: lload 6
lload 1
lsub
iload 8
i2l
lcmp
ifge 16
15: lload 6
lload 1
lsub
l2i
istore 8
16: StackMap locals: int
StackMap stack:
aload 0
lload 1
iload 8
aload 5
invokevirtual sun.nio.ch.FileChannelImpl.transferToDirectly:(JILjava/nio/channels/WritableByteChannel;)J
dup2
lstore 9
start local 9 17: lconst_0
lcmp
iflt 19
18: lload 9
lreturn
19: StackMap locals: long
StackMap stack:
aload 0
lload 1
iload 8
i2l
aload 5
invokevirtual sun.nio.ch.FileChannelImpl.transferToTrustedChannel:(JJLjava/nio/channels/WritableByteChannel;)J
dup2
lstore 9
lconst_0
lcmp
iflt 21
20: lload 9
lreturn
21: StackMap locals:
StackMap stack:
aload 0
lload 1
iload 8
aload 5
invokevirtual sun.nio.ch.FileChannelImpl.transferToArbitraryChannel:(JILjava/nio/channels/WritableByteChannel;)J
lreturn
end local 9 end local 8 end local 6 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lsun/nio/ch/FileChannelImpl;
0 22 1 position J
0 22 3 count J
0 22 5 target Ljava/nio/channels/WritableByteChannel;
11 22 6 sz J
14 22 8 icount I
17 22 9 n J
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
position
count
target
private long transferFromFileChannel(sun.nio.ch.FileChannelImpl, long, long);
descriptor: (Lsun/nio/ch/FileChannelImpl;JJ)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=21, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 1
getfield sun.nio.ch.FileChannelImpl.readable:Z
ifne 2
1: new java.nio.channels.NonReadableChannelException
dup
invokespecial java.nio.channels.NonReadableChannelException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 1
getfield sun.nio.ch.FileChannelImpl.positionLock:Ljava/lang/Object;
dup
astore 6
monitorenter
3: aload 1
invokevirtual sun.nio.ch.FileChannelImpl.position:()J
lstore 7
start local 7 4: lload 4
aload 1
invokevirtual sun.nio.ch.FileChannelImpl.size:()J
lload 7
lsub
invokestatic java.lang.Math.min:(JJ)J
lstore 9
start local 9 5: lload 9
lstore 11
start local 11 6: lload 7
lstore 13
start local 13 7: goto 25
8: StackMap locals: sun.nio.ch.FileChannelImpl sun.nio.ch.FileChannelImpl long long java.lang.Object long long long long
StackMap stack:
lload 11
ldc 8388608
invokestatic java.lang.Math.min:(JJ)J
lstore 15
start local 15 9: aload 1
getstatic java.nio.channels.FileChannel$MapMode.READ_ONLY:Ljava/nio/channels/FileChannel$MapMode;
lload 13
lload 15
invokevirtual sun.nio.ch.FileChannelImpl.map:(Ljava/nio/channels/FileChannel$MapMode;JJ)Ljava/nio/MappedByteBuffer;
astore 17
start local 17 10: aload 0
aload 17
lload 2
invokevirtual sun.nio.ch.FileChannelImpl.write:(Ljava/nio/ByteBuffer;J)I
i2l
lstore 18
start local 18 11: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 12
lload 18
lconst_0
lcmp
ifgt 12
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
12: StackMap locals: long java.nio.MappedByteBuffer long
StackMap stack:
lload 13
lload 18
ladd
lstore 13
13: lload 2
lload 18
ladd
lstore 2
14: lload 11
lload 18
lsub
lstore 11
end local 18 15: goto 24
StackMap locals: sun.nio.ch.FileChannelImpl sun.nio.ch.FileChannelImpl long long java.lang.Object long long long long long java.nio.MappedByteBuffer
StackMap stack: java.io.IOException
16: astore 18
start local 18 17: lload 11
lload 9
lcmp
ifne 19
18: aload 18
athrow
19: StackMap locals: java.io.IOException
StackMap stack:
aload 17
invokestatic sun.nio.ch.FileChannelImpl.unmap:(Ljava/nio/MappedByteBuffer;)V
20: goto 26
end local 18 21: StackMap locals: sun.nio.ch.FileChannelImpl sun.nio.ch.FileChannelImpl long long java.lang.Object long long long long long java.nio.MappedByteBuffer
StackMap stack: java.lang.Throwable
astore 20
22: aload 17
invokestatic sun.nio.ch.FileChannelImpl.unmap:(Ljava/nio/MappedByteBuffer;)V
23: aload 20
athrow
24: StackMap locals:
StackMap stack:
aload 17
invokestatic sun.nio.ch.FileChannelImpl.unmap:(Ljava/nio/MappedByteBuffer;)V
end local 17 end local 15 25: StackMap locals:
StackMap stack:
lload 11
lconst_0
lcmp
ifgt 8
26: StackMap locals:
StackMap stack:
lload 9
lload 11
lsub
lstore 15
start local 15 27: aload 1
lload 7
lload 15
ladd
invokevirtual sun.nio.ch.FileChannelImpl.position:(J)Ljava/nio/channels/FileChannel;
pop
28: lload 15
aload 6
monitorexit
29: lreturn
end local 15 end local 13 end local 11 end local 9 end local 7 30: StackMap locals: sun.nio.ch.FileChannelImpl sun.nio.ch.FileChannelImpl long long java.lang.Object
StackMap stack: java.lang.Throwable
aload 6
monitorexit
31: athrow
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Lsun/nio/ch/FileChannelImpl;
0 32 1 src Lsun/nio/ch/FileChannelImpl;
0 32 2 position J
0 32 4 count J
4 30 7 pos J
5 30 9 max J
6 30 11 remaining J
7 30 13 p J
9 25 15 size J
10 25 17 bb Ljava/nio/MappedByteBuffer;
11 15 18 n J
17 21 18 ioe Ljava/io/IOException;
27 30 15 nwritten J
Exception table:
from to target type
10 15 16 Class java.io.IOException
10 19 21 any
3 29 30 any
30 31 30 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
src
position
count
private long transferFromArbitraryChannel(java.nio.channels.ReadableByteChannel, long, long);
descriptor: (Ljava/nio/channels/ReadableByteChannel;JJ)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=14, args_size=4
start local 0 start local 1 start local 2 start local 4 0: lload 4
ldc 8192
invokestatic java.lang.Math.min:(JJ)J
l2i
istore 6
start local 6 1: iload 6
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
astore 7
start local 7 2: lconst_0
lstore 8
start local 8 3: lload 2
lstore 10
start local 10 4: goto 16
5: StackMap locals: sun.nio.ch.FileChannelImpl java.nio.channels.ReadableByteChannel long long int java.nio.ByteBuffer long long
StackMap stack:
aload 7
lload 4
lload 8
lsub
ldc 8192
invokestatic java.lang.Math.min:(JJ)J
l2i
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/ByteBuffer;
pop
6: aload 1
aload 7
invokeinterface java.nio.channels.ReadableByteChannel.read:(Ljava/nio/ByteBuffer;)I
istore 12
start local 12 7: iload 12
ifgt 9
8: goto 17
9: StackMap locals: int
StackMap stack:
aload 7
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/ByteBuffer;
pop
10: aload 0
aload 7
lload 10
invokevirtual sun.nio.ch.FileChannelImpl.write:(Ljava/nio/ByteBuffer;J)I
istore 13
start local 13 11: lload 8
iload 13
i2l
ladd
lstore 8
12: iload 13
iload 12
if_icmpeq 14
13: goto 17
14: StackMap locals: int
StackMap stack:
lload 10
iload 13
i2l
ladd
lstore 10
15: aload 7
invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/ByteBuffer;
pop
end local 13 end local 12 16: StackMap locals:
StackMap stack:
lload 8
lload 4
lcmp
iflt 5
17: StackMap locals:
StackMap stack:
lload 8
18: lreturn
19: StackMap locals:
StackMap stack: java.io.IOException
astore 12
start local 12 20: lload 8
lconst_0
lcmp
ifle 22
21: lload 8
lreturn
22: StackMap locals: java.io.IOException
StackMap stack:
aload 12
athrow
end local 12 end local 10 end local 8 end local 7 end local 6 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lsun/nio/ch/FileChannelImpl;
0 23 1 src Ljava/nio/channels/ReadableByteChannel;
0 23 2 position J
0 23 4 count J
1 23 6 c I
2 23 7 bb Ljava/nio/ByteBuffer;
3 23 8 tw J
4 23 10 pos J
7 16 12 nr I
11 16 13 nw I
20 23 12 x Ljava/io/IOException;
Exception table:
from to target type
4 18 19 Class java.io.IOException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
src
position
count
public long transferFrom(java.nio.channels.ReadableByteChannel, long, long);
descriptor: (Ljava/nio/channels/ReadableByteChannel;JJ)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.ensureOpen:()V
1: aload 1
invokeinterface java.nio.channels.ReadableByteChannel.isOpen:()Z
ifne 3
2: new java.nio.channels.ClosedChannelException
dup
invokespecial java.nio.channels.ClosedChannelException.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.writable:Z
ifne 5
4: new java.nio.channels.NonWritableChannelException
dup
invokespecial java.nio.channels.NonWritableChannelException.<init>:()V
athrow
5: StackMap locals:
StackMap stack:
lload 2
lconst_0
lcmp
iflt 6
lload 4
lconst_0
lcmp
ifge 7
6: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
7: StackMap locals:
StackMap stack:
lload 2
aload 0
invokevirtual sun.nio.ch.FileChannelImpl.size:()J
lcmp
ifle 9
8: lconst_0
lreturn
9: StackMap locals:
StackMap stack:
aload 1
instanceof sun.nio.ch.FileChannelImpl
ifeq 13
10: aload 0
aload 1
checkcast sun.nio.ch.FileChannelImpl
11: lload 2
lload 4
12: invokevirtual sun.nio.ch.FileChannelImpl.transferFromFileChannel:(Lsun/nio/ch/FileChannelImpl;JJ)J
lreturn
13: StackMap locals:
StackMap stack:
aload 0
aload 1
lload 2
lload 4
invokevirtual sun.nio.ch.FileChannelImpl.transferFromArbitraryChannel:(Ljava/nio/channels/ReadableByteChannel;JJ)J
lreturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lsun/nio/ch/FileChannelImpl;
0 14 1 src Ljava/nio/channels/ReadableByteChannel;
0 14 2 position J
0 14 4 count J
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
src
position
count
public int read(java.nio.ByteBuffer, long);
descriptor: (Ljava/nio/ByteBuffer;J)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 2
1: new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
lload 2
lconst_0
lcmp
ifge 4
3: new java.lang.IllegalArgumentException
dup
ldc "Negative position"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.nio.ch.FileChannelImpl.ensureOpen:()V
5: aload 0
getfield sun.nio.ch.FileChannelImpl.readable:Z
ifne 7
6: new java.nio.channels.NonReadableChannelException
dup
invokespecial java.nio.channels.NonReadableChannelException.<init>:()V
athrow
7: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.direct:Z
ifeq 9
8: lload 2
aload 0
getfield sun.nio.ch.FileChannelImpl.alignment:I
invokestatic sun.nio.ch.Util.checkChannelPositionAligned:(JI)V
9: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.nd:Lsun/nio/ch/FileDispatcher;
invokevirtual sun.nio.ch.FileDispatcher.needsPositionLock:()Z
ifeq 15
10: aload 0
getfield sun.nio.ch.FileChannelImpl.positionLock:Ljava/lang/Object;
dup
astore 4
monitorenter
11: aload 0
aload 1
lload 2
invokevirtual sun.nio.ch.FileChannelImpl.readInternal:(Ljava/nio/ByteBuffer;J)I
aload 4
monitorexit
12: ireturn
13: StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer long java.lang.Object
StackMap stack: java.lang.Throwable
aload 4
monitorexit
14: athrow
15: StackMap locals:
StackMap stack:
aload 0
aload 1
lload 2
invokevirtual sun.nio.ch.FileChannelImpl.readInternal:(Ljava/nio/ByteBuffer;J)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lsun/nio/ch/FileChannelImpl;
0 16 1 dst Ljava/nio/ByteBuffer;
0 16 2 position J
Exception table:
from to target type
11 12 13 any
13 14 13 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
dst
position
private int readInternal(java.nio.ByteBuffer, long);
descriptor: (Ljava/nio/ByteBuffer;J)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=8, args_size=3
start local 0 start local 1 start local 2 0: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 1
aload 0
getfield sun.nio.ch.FileChannelImpl.nd:Lsun/nio/ch/FileDispatcher;
invokevirtual sun.nio.ch.FileDispatcher.needsPositionLock:()Z
ifeq 1
aload 0
getfield sun.nio.ch.FileChannelImpl.positionLock:Ljava/lang/Object;
invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
iconst_0
istore 4
start local 4 2: iconst_m1
istore 5
start local 5 3: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.beginBlocking:()V
4: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
invokevirtual sun.nio.ch.NativeThreadSet.add:()I
istore 5
5: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 12
6: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 5
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
7: aload 0
iload 4
ifle 8
iconst_1
goto 9
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer long int int
StackMap stack: sun.nio.ch.FileChannelImpl
8: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer long int int
StackMap stack: sun.nio.ch.FileChannelImpl int
9: invokevirtual sun.nio.ch.FileChannelImpl.endBlocking:(Z)V
10: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 11
iload 4
invokestatic sun.nio.ch.IOStatus.check:(I)Z
ifne 11
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
11: StackMap locals:
StackMap stack:
iconst_m1
ireturn
12: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.fd:Ljava/io/FileDescriptor;
aload 1
lload 2
aload 0
getfield sun.nio.ch.FileChannelImpl.direct:Z
aload 0
getfield sun.nio.ch.FileChannelImpl.alignment:I
aload 0
getfield sun.nio.ch.FileChannelImpl.nd:Lsun/nio/ch/FileDispatcher;
invokestatic sun.nio.ch.IOUtil.read:(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;JZILsun/nio/ch/NativeDispatcher;)I
istore 4
13: iload 4
bipush -3
if_icmpne 14
aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 12
14: StackMap locals:
StackMap stack:
iload 4
invokestatic sun.nio.ch.IOStatus.normalize:(I)I
istore 7
15: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 5
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
16: aload 0
iload 4
ifle 17
iconst_1
goto 18
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer long int int top int
StackMap stack: sun.nio.ch.FileChannelImpl
17: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer long int int top int
StackMap stack: sun.nio.ch.FileChannelImpl int
18: invokevirtual sun.nio.ch.FileChannelImpl.endBlocking:(Z)V
19: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 20
iload 4
invokestatic sun.nio.ch.IOStatus.check:(I)Z
ifne 20
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
20: StackMap locals:
StackMap stack:
iload 7
ireturn
21: StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer long int int
StackMap stack: java.lang.Throwable
astore 6
22: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 5
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
23: aload 0
iload 4
ifle 24
iconst_1
goto 25
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer long int int java.lang.Throwable
StackMap stack: sun.nio.ch.FileChannelImpl
24: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer long int int java.lang.Throwable
StackMap stack: sun.nio.ch.FileChannelImpl int
25: invokevirtual sun.nio.ch.FileChannelImpl.endBlocking:(Z)V
26: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 27
iload 4
invokestatic sun.nio.ch.IOStatus.check:(I)Z
ifne 27
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
27: StackMap locals:
StackMap stack:
aload 6
athrow
end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lsun/nio/ch/FileChannelImpl;
0 28 1 dst Ljava/nio/ByteBuffer;
0 28 2 position J
2 28 4 n I
3 28 5 ti I
Exception table:
from to target type
3 6 21 any
12 15 21 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
dst
position
public int write(java.nio.ByteBuffer, long);
descriptor: (Ljava/nio/ByteBuffer;J)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 2
1: new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
lload 2
lconst_0
lcmp
ifge 4
3: new java.lang.IllegalArgumentException
dup
ldc "Negative position"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.nio.ch.FileChannelImpl.ensureOpen:()V
5: aload 0
getfield sun.nio.ch.FileChannelImpl.writable:Z
ifne 7
6: new java.nio.channels.NonWritableChannelException
dup
invokespecial java.nio.channels.NonWritableChannelException.<init>:()V
athrow
7: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.direct:Z
ifeq 9
8: lload 2
aload 0
getfield sun.nio.ch.FileChannelImpl.alignment:I
invokestatic sun.nio.ch.Util.checkChannelPositionAligned:(JI)V
9: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.nd:Lsun/nio/ch/FileDispatcher;
invokevirtual sun.nio.ch.FileDispatcher.needsPositionLock:()Z
ifeq 15
10: aload 0
getfield sun.nio.ch.FileChannelImpl.positionLock:Ljava/lang/Object;
dup
astore 4
monitorenter
11: aload 0
aload 1
lload 2
invokevirtual sun.nio.ch.FileChannelImpl.writeInternal:(Ljava/nio/ByteBuffer;J)I
aload 4
monitorexit
12: ireturn
13: StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer long java.lang.Object
StackMap stack: java.lang.Throwable
aload 4
monitorexit
14: athrow
15: StackMap locals:
StackMap stack:
aload 0
aload 1
lload 2
invokevirtual sun.nio.ch.FileChannelImpl.writeInternal:(Ljava/nio/ByteBuffer;J)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lsun/nio/ch/FileChannelImpl;
0 16 1 src Ljava/nio/ByteBuffer;
0 16 2 position J
Exception table:
from to target type
11 12 13 any
13 14 13 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
src
position
private int writeInternal(java.nio.ByteBuffer, long);
descriptor: (Ljava/nio/ByteBuffer;J)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=8, args_size=3
start local 0 start local 1 start local 2 0: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 1
aload 0
getfield sun.nio.ch.FileChannelImpl.nd:Lsun/nio/ch/FileDispatcher;
invokevirtual sun.nio.ch.FileDispatcher.needsPositionLock:()Z
ifeq 1
aload 0
getfield sun.nio.ch.FileChannelImpl.positionLock:Ljava/lang/Object;
invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
iconst_0
istore 4
start local 4 2: iconst_m1
istore 5
start local 5 3: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.beginBlocking:()V
4: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
invokevirtual sun.nio.ch.NativeThreadSet.add:()I
istore 5
5: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 12
6: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 5
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
7: aload 0
iload 4
ifle 8
iconst_1
goto 9
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer long int int
StackMap stack: sun.nio.ch.FileChannelImpl
8: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer long int int
StackMap stack: sun.nio.ch.FileChannelImpl int
9: invokevirtual sun.nio.ch.FileChannelImpl.endBlocking:(Z)V
10: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 11
iload 4
invokestatic sun.nio.ch.IOStatus.check:(I)Z
ifne 11
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
11: StackMap locals:
StackMap stack:
iconst_m1
ireturn
12: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.fd:Ljava/io/FileDescriptor;
aload 1
lload 2
aload 0
getfield sun.nio.ch.FileChannelImpl.direct:Z
aload 0
getfield sun.nio.ch.FileChannelImpl.alignment:I
aload 0
getfield sun.nio.ch.FileChannelImpl.nd:Lsun/nio/ch/FileDispatcher;
invokestatic sun.nio.ch.IOUtil.write:(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;JZILsun/nio/ch/NativeDispatcher;)I
istore 4
13: iload 4
bipush -3
if_icmpne 14
aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 12
14: StackMap locals:
StackMap stack:
iload 4
invokestatic sun.nio.ch.IOStatus.normalize:(I)I
istore 7
15: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 5
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
16: aload 0
iload 4
ifle 17
iconst_1
goto 18
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer long int int top int
StackMap stack: sun.nio.ch.FileChannelImpl
17: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer long int int top int
StackMap stack: sun.nio.ch.FileChannelImpl int
18: invokevirtual sun.nio.ch.FileChannelImpl.endBlocking:(Z)V
19: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 20
iload 4
invokestatic sun.nio.ch.IOStatus.check:(I)Z
ifne 20
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
20: StackMap locals:
StackMap stack:
iload 7
ireturn
21: StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer long int int
StackMap stack: java.lang.Throwable
astore 6
22: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 5
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
23: aload 0
iload 4
ifle 24
iconst_1
goto 25
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer long int int java.lang.Throwable
StackMap stack: sun.nio.ch.FileChannelImpl
24: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer long int int java.lang.Throwable
StackMap stack: sun.nio.ch.FileChannelImpl int
25: invokevirtual sun.nio.ch.FileChannelImpl.endBlocking:(Z)V
26: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 27
iload 4
invokestatic sun.nio.ch.IOStatus.check:(I)Z
ifne 27
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
27: StackMap locals:
StackMap stack:
aload 6
athrow
end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lsun/nio/ch/FileChannelImpl;
0 28 1 src Ljava/nio/ByteBuffer;
0 28 2 position J
2 28 4 n I
3 28 5 ti I
Exception table:
from to target type
3 6 21 any
12 15 21 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
src
position
private static void unmap(java.nio.MappedByteBuffer);
descriptor: (Ljava/nio/MappedByteBuffer;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
checkcast sun.nio.ch.DirectBuffer
invokeinterface sun.nio.ch.DirectBuffer.cleaner:()Ljdk/internal/ref/Cleaner;
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
invokevirtual jdk.internal.ref.Cleaner.clean:()V
3: StackMap locals: jdk.internal.ref.Cleaner
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 bb Ljava/nio/MappedByteBuffer;
1 4 1 cl Ljdk/internal/ref/Cleaner;
MethodParameters:
Name Flags
bb
public java.nio.MappedByteBuffer map(java.nio.channels.FileChannel$MapMode, long, long);
descriptor: (Ljava/nio/channels/FileChannel$MapMode;JJ)Ljava/nio/MappedByteBuffer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 4 0: lload 4
ldc 2147483647
lcmp
ifle 2
1: new java.lang.IllegalArgumentException
dup
ldc "Size exceeds Integer.MAX_VALUE"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
ldc "Mode is null"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast java.nio.channels.FileChannel$MapMode
invokevirtual sun.nio.ch.FileChannelImpl.isSync:(Ljava/nio/channels/FileChannel$MapMode;)Z
istore 6
start local 6 3: aload 0
aload 1
invokevirtual sun.nio.ch.FileChannelImpl.toProt:(Ljava/nio/channels/FileChannel$MapMode;)I
istore 7
start local 7 4: aload 0
aload 1
lload 2
lload 4
iload 7
iload 6
invokevirtual sun.nio.ch.FileChannelImpl.mapInternal:(Ljava/nio/channels/FileChannel$MapMode;JJIZ)Lsun/nio/ch/FileChannelImpl$Unmapper;
astore 8
start local 8 5: aload 8
ifnonnull 10
6: new java.io.FileDescriptor
dup
invokespecial java.io.FileDescriptor.<init>:()V
astore 9
start local 9 7: aload 0
getfield sun.nio.ch.FileChannelImpl.writable:Z
ifeq 8
iload 7
ifne 9
8: StackMap locals: sun.nio.ch.FileChannelImpl java.nio.channels.FileChannel$MapMode long long int int sun.nio.ch.FileChannelImpl$Unmapper java.io.FileDescriptor
StackMap stack:
iconst_0
lconst_0
aload 9
aconst_null
iload 6
invokestatic sun.nio.ch.Util.newMappedByteBufferR:(IJLjava/io/FileDescriptor;Ljava/lang/Runnable;Z)Ljava/nio/MappedByteBuffer;
areturn
9: StackMap locals:
StackMap stack:
iconst_0
lconst_0
aload 9
aconst_null
iload 6
invokestatic sun.nio.ch.Util.newMappedByteBuffer:(IJLjava/io/FileDescriptor;Ljava/lang/Runnable;Z)Ljava/nio/MappedByteBuffer;
areturn
end local 9 10: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.writable:Z
ifeq 11
iload 7
ifne 16
11: StackMap locals:
StackMap stack:
aload 8
getfield sun.nio.ch.FileChannelImpl$Unmapper.cap:J
l2i
12: aload 8
getfield sun.nio.ch.FileChannelImpl$Unmapper.address:J
aload 8
getfield sun.nio.ch.FileChannelImpl$Unmapper.pagePosition:I
i2l
ladd
13: aload 8
getfield sun.nio.ch.FileChannelImpl$Unmapper.fd:Ljava/io/FileDescriptor;
14: aload 8
iload 6
15: invokestatic sun.nio.ch.Util.newMappedByteBufferR:(IJLjava/io/FileDescriptor;Ljava/lang/Runnable;Z)Ljava/nio/MappedByteBuffer;
areturn
16: StackMap locals:
StackMap stack:
aload 8
getfield sun.nio.ch.FileChannelImpl$Unmapper.cap:J
l2i
17: aload 8
getfield sun.nio.ch.FileChannelImpl$Unmapper.address:J
aload 8
getfield sun.nio.ch.FileChannelImpl$Unmapper.pagePosition:I
i2l
ladd
18: aload 8
getfield sun.nio.ch.FileChannelImpl$Unmapper.fd:Ljava/io/FileDescriptor;
19: aload 8
iload 6
20: invokestatic sun.nio.ch.Util.newMappedByteBuffer:(IJLjava/io/FileDescriptor;Ljava/lang/Runnable;Z)Ljava/nio/MappedByteBuffer;
areturn
end local 8 end local 7 end local 6 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lsun/nio/ch/FileChannelImpl;
0 21 1 mode Ljava/nio/channels/FileChannel$MapMode;
0 21 2 position J
0 21 4 size J
3 21 6 isSync Z
4 21 7 prot I
5 21 8 unmapper Lsun/nio/ch/FileChannelImpl$Unmapper;
7 10 9 dummy Ljava/io/FileDescriptor;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
mode
position
size
public sun.nio.ch.FileChannelImpl$Unmapper mapInternal(java.nio.channels.FileChannel$MapMode, long, long);
descriptor: (Ljava/nio/channels/FileChannel$MapMode;JJ)Lsun/nio/ch/FileChannelImpl$Unmapper;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 0
aload 1
ldc "Mode is null"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast java.nio.channels.FileChannel$MapMode
invokevirtual sun.nio.ch.FileChannelImpl.isSync:(Ljava/nio/channels/FileChannel$MapMode;)Z
istore 6
start local 6 1: aload 0
aload 1
invokevirtual sun.nio.ch.FileChannelImpl.toProt:(Ljava/nio/channels/FileChannel$MapMode;)I
istore 7
start local 7 2: aload 0
aload 1
lload 2
lload 4
iload 7
iload 6
invokevirtual sun.nio.ch.FileChannelImpl.mapInternal:(Ljava/nio/channels/FileChannel$MapMode;JJIZ)Lsun/nio/ch/FileChannelImpl$Unmapper;
areturn
end local 7 end local 6 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/nio/ch/FileChannelImpl;
0 3 1 mode Ljava/nio/channels/FileChannel$MapMode;
0 3 2 position J
0 3 4 size J
1 3 6 isSync Z
2 3 7 prot I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
mode
position
size
private sun.nio.ch.FileChannelImpl$Unmapper mapInternal(java.nio.channels.FileChannel$MapMode, long, long, int, boolean);
descriptor: (Ljava/nio/channels/FileChannel$MapMode;JJIZ)Lsun/nio/ch/FileChannelImpl$Unmapper;
flags: (0x0002) ACC_PRIVATE
Code:
stack=10, locals=22, args_size=6
start local 0 start local 1 start local 2 start local 4 start local 6 start local 7 0: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.ensureOpen:()V
1: aload 1
ifnonnull 3
2: new java.lang.NullPointerException
dup
ldc "Mode is null"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
lload 2
lconst_0
lcmp
ifge 5
4: new java.lang.IllegalArgumentException
dup
ldc "Negative position"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
lload 4
lconst_0
lcmp
ifge 7
6: new java.lang.IllegalArgumentException
dup
ldc "Negative size"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
lload 2
lload 4
ladd
lconst_0
lcmp
ifge 9
8: new java.lang.IllegalArgumentException
dup
ldc "Position + size overflow"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 6
iload 7
invokevirtual sun.nio.ch.FileChannelImpl.checkMode:(Ljava/nio/channels/FileChannel$MapMode;IZ)V
10: ldc -1
lstore 8
start local 8 11: iconst_m1
istore 10
start local 10 12: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.beginBlocking:()V
13: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
invokevirtual sun.nio.ch.NativeThreadSet.add:()I
istore 10
14: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 18
15: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 10
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
16: aload 0
lload 8
invokestatic sun.nio.ch.IOStatus.checkAll:(J)Z
invokevirtual sun.nio.ch.FileChannelImpl.endBlocking:(Z)V
17: aconst_null
areturn
18: StackMap locals: long int
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.positionLock:Ljava/lang/Object;
dup
astore 14
monitorenter
19: StackMap locals: sun.nio.ch.FileChannelImpl java.nio.channels.FileChannel$MapMode long long int int long int top top top java.lang.Object
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.nd:Lsun/nio/ch/FileDispatcher;
aload 0
getfield sun.nio.ch.FileChannelImpl.fd:Ljava/io/FileDescriptor;
invokevirtual sun.nio.ch.FileDispatcher.size:(Ljava/io/FileDescriptor;)J
lstore 15
start local 15 20: lload 15
ldc -3
lcmp
ifne 21
aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 19
21: StackMap locals: long
StackMap stack:
aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 26
22: aload 14
monitorexit
23: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 10
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
24: aload 0
lload 8
invokestatic sun.nio.ch.IOStatus.checkAll:(J)Z
invokevirtual sun.nio.ch.FileChannelImpl.endBlocking:(Z)V
25: aconst_null
areturn
26: StackMap locals:
StackMap stack:
lload 15
lload 2
lload 4
ladd
lcmp
ifge 36
27: aload 0
getfield sun.nio.ch.FileChannelImpl.writable:Z
ifne 29
28: new java.io.IOException
dup
ldc "Channel not open for writing - cannot extend file to required size"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
29: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.nd:Lsun/nio/ch/FileDispatcher;
aload 0
getfield sun.nio.ch.FileChannelImpl.fd:Ljava/io/FileDescriptor;
lload 2
lload 4
ladd
invokevirtual sun.nio.ch.FileDispatcher.truncate:(Ljava/io/FileDescriptor;J)I
istore 17
start local 17 30: iload 17
bipush -3
if_icmpne 31
aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 29
31: StackMap locals: int
StackMap stack:
aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 36
32: aload 14
monitorexit
33: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 10
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
34: aload 0
lload 8
invokestatic sun.nio.ch.IOStatus.checkAll:(J)Z
invokevirtual sun.nio.ch.FileChannelImpl.endBlocking:(Z)V
35: aconst_null
areturn
end local 17 36: StackMap locals:
StackMap stack:
lload 4
lconst_0
lcmp
ifne 41
37: aload 14
monitorexit
38: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 10
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
39: aload 0
lload 8
invokestatic sun.nio.ch.IOStatus.checkAll:(J)Z
invokevirtual sun.nio.ch.FileChannelImpl.endBlocking:(Z)V
40: aconst_null
areturn
41: StackMap locals:
StackMap stack:
lload 2
getstatic sun.nio.ch.FileChannelImpl.allocationGranularity:J
lrem
l2i
istore 13
start local 13 42: lload 2
iload 13
i2l
lsub
lstore 17
start local 17 43: lload 4
iload 13
i2l
ladd
lstore 11
start local 11 44: aload 0
iload 6
lload 17
lload 11
iload 7
invokevirtual sun.nio.ch.FileChannelImpl.map0:(IJJZ)J
lstore 8
45: goto 56
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.channels.FileChannel$MapMode long long int int long int long int java.lang.Object long long
StackMap stack: java.lang.OutOfMemoryError
46: pop
47: invokestatic java.lang.System.gc:()V
48: ldc 100
invokestatic java.lang.Thread.sleep:(J)V
49: goto 52
StackMap locals:
StackMap stack: java.lang.InterruptedException
50: pop
51: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.interrupt:()V
52: StackMap locals:
StackMap stack:
aload 0
iload 6
lload 17
lload 11
iload 7
invokevirtual sun.nio.ch.FileChannelImpl.map0:(IJJZ)J
lstore 8
53: goto 56
StackMap locals:
StackMap stack: java.lang.OutOfMemoryError
54: astore 19
start local 19 55: new java.io.IOException
dup
ldc "Map failed"
aload 19
invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 19 end local 17 end local 15 56: StackMap locals:
StackMap stack:
aload 14
monitorexit
57: goto 60
end local 13 end local 11 StackMap locals: sun.nio.ch.FileChannelImpl java.nio.channels.FileChannel$MapMode long long int int long int top top top java.lang.Object
StackMap stack: java.lang.Throwable
58: aload 14
monitorexit
59: athrow
start local 11 start local 13 60: StackMap locals: sun.nio.ch.FileChannelImpl java.nio.channels.FileChannel$MapMode long long int int long int long int
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.nd:Lsun/nio/ch/FileDispatcher;
aload 0
getfield sun.nio.ch.FileChannelImpl.fd:Ljava/io/FileDescriptor;
invokevirtual sun.nio.ch.FileDispatcher.duplicateForMapping:(Ljava/io/FileDescriptor;)Ljava/io/FileDescriptor;
astore 14
start local 14 61: goto 65
end local 14 StackMap locals:
StackMap stack: java.io.IOException
62: astore 15
start local 15 63: lload 8
lload 11
invokestatic sun.nio.ch.FileChannelImpl.unmap0:(JJ)I
pop
64: aload 15
athrow
end local 15 start local 14 65: StackMap locals: java.io.FileDescriptor
StackMap stack:
getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 66
lload 8
invokestatic sun.nio.ch.IOStatus.checkAll:(J)Z
ifne 66
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
66: StackMap locals:
StackMap stack:
getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 67
lload 8
getstatic sun.nio.ch.FileChannelImpl.allocationGranularity:J
lrem
lconst_0
lcmp
ifeq 67
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
67: StackMap locals:
StackMap stack:
iload 7
ifeq 69
68: new sun.nio.ch.FileChannelImpl$SyncUnmapper
dup
lload 8
lload 11
lload 4
aload 14
iload 13
invokespecial sun.nio.ch.FileChannelImpl$SyncUnmapper.<init>:(JJJLjava/io/FileDescriptor;I)V
goto 70
69: StackMap locals:
StackMap stack:
new sun.nio.ch.FileChannelImpl$DefaultUnmapper
dup
lload 8
lload 11
lload 4
aload 14
iload 13
invokespecial sun.nio.ch.FileChannelImpl$DefaultUnmapper.<init>:(JJJLjava/io/FileDescriptor;I)V
70: StackMap locals:
StackMap stack: sun.nio.ch.FileChannelImpl$Unmapper
astore 15
start local 15 71: aload 15
astore 21
72: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 10
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
73: aload 0
lload 8
invokestatic sun.nio.ch.IOStatus.checkAll:(J)Z
invokevirtual sun.nio.ch.FileChannelImpl.endBlocking:(Z)V
74: aload 21
areturn
end local 15 end local 14 end local 13 end local 11 75: StackMap locals: sun.nio.ch.FileChannelImpl java.nio.channels.FileChannel$MapMode long long int int long int
StackMap stack: java.lang.Throwable
astore 20
76: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 10
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
77: aload 0
lload 8
invokestatic sun.nio.ch.IOStatus.checkAll:(J)Z
invokevirtual sun.nio.ch.FileChannelImpl.endBlocking:(Z)V
78: aload 20
athrow
end local 10 end local 8 end local 7 end local 6 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 79 0 this Lsun/nio/ch/FileChannelImpl;
0 79 1 mode Ljava/nio/channels/FileChannel$MapMode;
0 79 2 position J
0 79 4 size J
0 79 6 prot I
0 79 7 isSync Z
11 79 8 addr J
12 79 10 ti I
44 58 11 mapSize J
60 75 11 mapSize J
42 58 13 pagePosition I
60 75 13 pagePosition I
20 56 15 filesize J
30 36 17 rv I
43 56 17 mapPosition J
55 56 19 y Ljava/lang/OutOfMemoryError;
61 62 14 mfd Ljava/io/FileDescriptor;
65 75 14 mfd Ljava/io/FileDescriptor;
63 65 15 ioe Ljava/io/IOException;
71 75 15 um Lsun/nio/ch/FileChannelImpl$Unmapper;
Exception table:
from to target type
44 45 46 Class java.lang.OutOfMemoryError
48 49 50 Class java.lang.InterruptedException
52 53 54 Class java.lang.OutOfMemoryError
19 23 58 any
26 33 58 any
36 38 58 any
41 57 58 any
58 59 58 any
60 61 62 Class java.io.IOException
12 15 75 any
18 23 75 any
26 33 75 any
36 38 75 any
41 72 75 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
mode
position
size
prot
isSync
private boolean isSync(java.nio.channels.FileChannel$MapMode);
descriptor: (Ljava/nio/channels/FileChannel$MapMode;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: invokestatic jdk.internal.misc.VM.isModuleSystemInited:()Z
ifne 1
iconst_0
goto 5
1: StackMap locals:
StackMap stack:
aload 1
getstatic jdk.internal.misc.ExtendedMapMode.READ_ONLY_SYNC:Ljava/nio/channels/FileChannel$MapMode;
if_acmpeq 4
2: aload 1
getstatic jdk.internal.misc.ExtendedMapMode.READ_WRITE_SYNC:Ljava/nio/channels/FileChannel$MapMode;
if_acmpeq 4
3: iconst_0
goto 5
StackMap locals:
StackMap stack:
4: iconst_1
StackMap locals:
StackMap stack: int
5: ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/nio/ch/FileChannelImpl;
0 6 1 mode Ljava/nio/channels/FileChannel$MapMode;
MethodParameters:
Name Flags
mode
private int toProt(java.nio.channels.FileChannel$MapMode);
descriptor: (Ljava/nio/channels/FileChannel$MapMode;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
getstatic java.nio.channels.FileChannel$MapMode.READ_ONLY:Ljava/nio/channels/FileChannel$MapMode;
if_acmpne 3
1: iconst_0
istore 2
start local 2 2: goto 16
end local 2 StackMap locals:
StackMap stack:
3: aload 1
getstatic java.nio.channels.FileChannel$MapMode.READ_WRITE:Ljava/nio/channels/FileChannel$MapMode;
if_acmpne 6
4: iconst_1
istore 2
start local 2 5: goto 16
end local 2 StackMap locals:
StackMap stack:
6: aload 1
getstatic java.nio.channels.FileChannel$MapMode.PRIVATE:Ljava/nio/channels/FileChannel$MapMode;
if_acmpne 9
7: iconst_2
istore 2
start local 2 8: goto 16
end local 2 StackMap locals:
StackMap stack:
9: aload 1
getstatic jdk.internal.misc.ExtendedMapMode.READ_ONLY_SYNC:Ljava/nio/channels/FileChannel$MapMode;
if_acmpne 12
10: iconst_0
istore 2
start local 2 11: goto 16
end local 2 StackMap locals:
StackMap stack:
12: aload 1
getstatic jdk.internal.misc.ExtendedMapMode.READ_WRITE_SYNC:Ljava/nio/channels/FileChannel$MapMode;
if_acmpne 15
13: iconst_1
istore 2
start local 2 14: goto 16
end local 2 15: StackMap locals:
StackMap stack:
iconst_m1
istore 2
start local 2 16: StackMap locals: int
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lsun/nio/ch/FileChannelImpl;
0 17 1 mode Ljava/nio/channels/FileChannel$MapMode;
2 3 2 prot I
5 6 2 prot I
8 9 2 prot I
11 12 2 prot I
14 15 2 prot I
16 17 2 prot I
MethodParameters:
Name Flags
mode
private void checkMode(java.nio.channels.FileChannel$MapMode, int, boolean);
descriptor: (Ljava/nio/channels/FileChannel$MapMode;IZ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
iconst_m1
if_icmpne 2
1: new java.lang.UnsupportedOperationException
dup
invokespecial java.lang.UnsupportedOperationException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 1
getstatic java.nio.channels.FileChannel$MapMode.READ_ONLY:Ljava/nio/channels/FileChannel$MapMode;
if_acmpeq 4
aload 1
getstatic jdk.internal.misc.ExtendedMapMode.READ_ONLY_SYNC:Ljava/nio/channels/FileChannel$MapMode;
if_acmpeq 4
aload 0
getfield sun.nio.ch.FileChannelImpl.writable:Z
ifne 4
3: new java.nio.channels.NonWritableChannelException
dup
invokespecial java.nio.channels.NonWritableChannelException.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.readable:Z
ifne 6
5: new java.nio.channels.NonReadableChannelException
dup
invokespecial java.nio.channels.NonReadableChannelException.<init>:()V
athrow
6: StackMap locals:
StackMap stack:
iload 3
ifeq 8
invokestatic jdk.internal.misc.Unsafe.isWritebackEnabled:()Z
ifne 8
7: new java.lang.UnsupportedOperationException
dup
invokespecial java.lang.UnsupportedOperationException.<init>:()V
athrow
8: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/nio/ch/FileChannelImpl;
0 9 1 mode Ljava/nio/channels/FileChannel$MapMode;
0 9 2 prot I
0 9 3 isSync Z
MethodParameters:
Name Flags
mode
prot
isSync
public static jdk.internal.misc.VM$BufferPool getMappedBufferPool();
descriptor: ()Ljdk/internal/misc/VM$BufferPool;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new sun.nio.ch.FileChannelImpl$1
dup
invokespecial sun.nio.ch.FileChannelImpl$1.<init>:()V
areturn
LocalVariableTable:
Start End Slot Name Signature
public static jdk.internal.misc.VM$BufferPool getSyncMappedBufferPool();
descriptor: ()Ljdk/internal/misc/VM$BufferPool;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new sun.nio.ch.FileChannelImpl$2
dup
invokespecial sun.nio.ch.FileChannelImpl$2.<init>:()V
areturn
LocalVariableTable:
Start End Slot Name Signature
private sun.nio.ch.FileLockTable fileLockTable();
descriptor: ()Lsun/nio/ch/FileLockTable;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=1
start local 0 0: aload 0
getfield sun.nio.ch.FileChannelImpl.fileLockTable:Lsun/nio/ch/FileLockTable;
ifnonnull 15
1: aload 0
dup
astore 1
monitorenter
2: aload 0
getfield sun.nio.ch.FileChannelImpl.fileLockTable:Lsun/nio/ch/FileLockTable;
ifnonnull 11
3: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
invokevirtual sun.nio.ch.NativeThreadSet.add:()I
istore 2
start local 2 4: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.ensureOpen:()V
5: aload 0
new sun.nio.ch.FileLockTable
dup
aload 0
aload 0
getfield sun.nio.ch.FileChannelImpl.fd:Ljava/io/FileDescriptor;
invokespecial sun.nio.ch.FileLockTable.<init>:(Ljava/nio/channels/Channel;Ljava/io/FileDescriptor;)V
putfield sun.nio.ch.FileChannelImpl.fileLockTable:Lsun/nio/ch/FileLockTable;
6: goto 10
StackMap locals: sun.nio.ch.FileChannelImpl sun.nio.ch.FileChannelImpl int
StackMap stack: java.lang.Throwable
7: astore 3
8: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 2
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
9: aload 3
athrow
10: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 2
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
end local 2 11: StackMap locals:
StackMap stack:
aload 1
monitorexit
12: goto 15
StackMap locals:
StackMap stack: java.lang.Throwable
13: aload 1
monitorexit
14: athrow
15: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.fileLockTable:Lsun/nio/ch/FileLockTable;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lsun/nio/ch/FileChannelImpl;
4 11 2 ti I
Exception table:
from to target type
4 7 7 any
2 12 13 any
13 14 13 any
Exceptions:
throws java.io.IOException
public java.nio.channels.FileLock lock(long, long, boolean);
descriptor: (JJZ)Ljava/nio/channels/FileLock;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=13, args_size=4
start local 0 start local 1 start local 3 start local 5 0: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.ensureOpen:()V
1: iload 5
ifeq 3
aload 0
getfield sun.nio.ch.FileChannelImpl.readable:Z
ifne 3
2: new java.nio.channels.NonReadableChannelException
dup
invokespecial java.nio.channels.NonReadableChannelException.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
iload 5
ifne 5
aload 0
getfield sun.nio.ch.FileChannelImpl.writable:Z
ifne 5
4: new java.nio.channels.NonWritableChannelException
dup
invokespecial java.nio.channels.NonWritableChannelException.<init>:()V
athrow
5: StackMap locals:
StackMap stack:
new sun.nio.ch.FileLockImpl
dup
aload 0
lload 1
lload 3
iload 5
invokespecial sun.nio.ch.FileLockImpl.<init>:(Ljava/nio/channels/FileChannel;JJZ)V
astore 6
start local 6 6: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.fileLockTable:()Lsun/nio/ch/FileLockTable;
astore 7
start local 7 7: aload 7
aload 6
invokevirtual sun.nio.ch.FileLockTable.add:(Ljava/nio/channels/FileLock;)V
8: iconst_0
istore 8
start local 8 9: iconst_m1
istore 9
start local 9 10: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.beginBlocking:()V
11: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
invokevirtual sun.nio.ch.NativeThreadSet.add:()I
istore 9
12: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 21
13: iload 8
ifne 15
14: aload 7
aload 6
invokevirtual sun.nio.ch.FileLockTable.remove:(Ljava/nio/channels/FileLock;)V
15: StackMap locals: sun.nio.ch.FileChannelImpl long long int sun.nio.ch.FileLockImpl sun.nio.ch.FileLockTable int int
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 9
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
16: aload 0
iload 8
invokevirtual sun.nio.ch.FileChannelImpl.endBlocking:(Z)V
17: goto 20
StackMap locals:
StackMap stack: java.nio.channels.ClosedByInterruptException
18: pop
19: new java.nio.channels.FileLockInterruptionException
dup
invokespecial java.nio.channels.FileLockInterruptionException.<init>:()V
athrow
20: StackMap locals:
StackMap stack:
aconst_null
areturn
21: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.nd:Lsun/nio/ch/FileDispatcher;
aload 0
getfield sun.nio.ch.FileChannelImpl.fd:Ljava/io/FileDescriptor;
iconst_1
lload 1
lload 3
iload 5
invokevirtual sun.nio.ch.FileDispatcher.lock:(Ljava/io/FileDescriptor;ZJJZ)I
istore 10
start local 10 22: iload 10
iconst_2
if_icmpne 23
aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 21
23: StackMap locals: int
StackMap stack:
aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifeq 42
24: iload 10
iconst_1
if_icmpne 31
25: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 26
iload 5
ifne 26
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
26: StackMap locals:
StackMap stack:
new sun.nio.ch.FileLockImpl
dup
aload 0
lload 1
lload 3
27: iconst_0
28: invokespecial sun.nio.ch.FileLockImpl.<init>:(Ljava/nio/channels/FileChannel;JJZ)V
astore 11
start local 11 29: aload 7
aload 6
aload 11
invokevirtual sun.nio.ch.FileLockTable.replace:(Ljava/nio/channels/FileLock;Ljava/nio/channels/FileLock;)V
30: aload 11
astore 6
end local 11 31: StackMap locals:
StackMap stack:
iconst_1
istore 8
end local 10 32: goto 42
StackMap locals: sun.nio.ch.FileChannelImpl long long int sun.nio.ch.FileLockImpl sun.nio.ch.FileLockTable int int
StackMap stack: java.lang.Throwable
33: astore 12
34: iload 8
ifne 36
35: aload 7
aload 6
invokevirtual sun.nio.ch.FileLockTable.remove:(Ljava/nio/channels/FileLock;)V
36: StackMap locals: sun.nio.ch.FileChannelImpl long long int sun.nio.ch.FileLockImpl sun.nio.ch.FileLockTable int int top top java.lang.Throwable
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 9
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
37: aload 0
iload 8
invokevirtual sun.nio.ch.FileChannelImpl.endBlocking:(Z)V
38: goto 41
StackMap locals:
StackMap stack: java.nio.channels.ClosedByInterruptException
39: pop
40: new java.nio.channels.FileLockInterruptionException
dup
invokespecial java.nio.channels.FileLockInterruptionException.<init>:()V
athrow
41: StackMap locals:
StackMap stack:
aload 12
athrow
42: StackMap locals: sun.nio.ch.FileChannelImpl long long int sun.nio.ch.FileLockImpl sun.nio.ch.FileLockTable int int
StackMap stack:
iload 8
ifne 44
43: aload 7
aload 6
invokevirtual sun.nio.ch.FileLockTable.remove:(Ljava/nio/channels/FileLock;)V
44: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 9
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
45: aload 0
iload 8
invokevirtual sun.nio.ch.FileChannelImpl.endBlocking:(Z)V
46: goto 49
StackMap locals:
StackMap stack: java.nio.channels.ClosedByInterruptException
47: pop
48: new java.nio.channels.FileLockInterruptionException
dup
invokespecial java.nio.channels.FileLockInterruptionException.<init>:()V
athrow
49: StackMap locals:
StackMap stack:
aload 6
areturn
end local 9 end local 8 end local 7 end local 6 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 50 0 this Lsun/nio/ch/FileChannelImpl;
0 50 1 position J
0 50 3 size J
0 50 5 shared Z
6 50 6 fli Lsun/nio/ch/FileLockImpl;
7 50 7 flt Lsun/nio/ch/FileLockTable;
9 50 8 completed Z
10 50 9 ti I
22 32 10 n I
29 31 11 fli2 Lsun/nio/ch/FileLockImpl;
Exception table:
from to target type
16 17 18 Class java.nio.channels.ClosedByInterruptException
10 13 33 any
21 33 33 any
37 38 39 Class java.nio.channels.ClosedByInterruptException
45 46 47 Class java.nio.channels.ClosedByInterruptException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
position
size
shared
public java.nio.channels.FileLock tryLock(long, long, boolean);
descriptor: (JJZ)Ljava/nio/channels/FileLock;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=13, args_size=4
start local 0 start local 1 start local 3 start local 5 0: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.ensureOpen:()V
1: iload 5
ifeq 3
aload 0
getfield sun.nio.ch.FileChannelImpl.readable:Z
ifne 3
2: new java.nio.channels.NonReadableChannelException
dup
invokespecial java.nio.channels.NonReadableChannelException.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
iload 5
ifne 5
aload 0
getfield sun.nio.ch.FileChannelImpl.writable:Z
ifne 5
4: new java.nio.channels.NonWritableChannelException
dup
invokespecial java.nio.channels.NonWritableChannelException.<init>:()V
athrow
5: StackMap locals:
StackMap stack:
new sun.nio.ch.FileLockImpl
dup
aload 0
lload 1
lload 3
iload 5
invokespecial sun.nio.ch.FileLockImpl.<init>:(Ljava/nio/channels/FileChannel;JJZ)V
astore 6
start local 6 6: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.fileLockTable:()Lsun/nio/ch/FileLockTable;
astore 7
start local 7 7: aload 7
aload 6
invokevirtual sun.nio.ch.FileLockTable.add:(Ljava/nio/channels/FileLock;)V
8: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
invokevirtual sun.nio.ch.NativeThreadSet.add:()I
istore 9
start local 9 9: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.ensureOpen:()V
10: aload 0
getfield sun.nio.ch.FileChannelImpl.nd:Lsun/nio/ch/FileDispatcher;
aload 0
getfield sun.nio.ch.FileChannelImpl.fd:Ljava/io/FileDescriptor;
iconst_0
lload 1
lload 3
iload 5
invokevirtual sun.nio.ch.FileDispatcher.lock:(Ljava/io/FileDescriptor;ZJJZ)I
istore 8
start local 8 11: goto 15
end local 8 StackMap locals: sun.nio.ch.FileChannelImpl long long int sun.nio.ch.FileLockImpl sun.nio.ch.FileLockTable top int
StackMap stack: java.io.IOException
12: astore 10
start local 10 13: aload 7
aload 6
invokevirtual sun.nio.ch.FileLockTable.remove:(Ljava/nio/channels/FileLock;)V
14: aload 10
athrow
end local 10 start local 8 15: StackMap locals: sun.nio.ch.FileChannelImpl long long int sun.nio.ch.FileLockImpl sun.nio.ch.FileLockTable int int
StackMap stack:
iload 8
iconst_m1
if_icmpne 19
16: aload 7
aload 6
invokevirtual sun.nio.ch.FileLockTable.remove:(Ljava/nio/channels/FileLock;)V
17: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 9
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
18: aconst_null
areturn
19: StackMap locals:
StackMap stack:
iload 8
iconst_1
if_icmpne 28
20: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 21
iload 5
ifne 21
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
21: StackMap locals:
StackMap stack:
new sun.nio.ch.FileLockImpl
dup
aload 0
lload 1
lload 3
22: iconst_0
23: invokespecial sun.nio.ch.FileLockImpl.<init>:(Ljava/nio/channels/FileChannel;JJZ)V
astore 10
start local 10 24: aload 7
aload 6
aload 10
invokevirtual sun.nio.ch.FileLockTable.replace:(Ljava/nio/channels/FileLock;Ljava/nio/channels/FileLock;)V
25: aload 10
astore 12
26: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 9
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
27: aload 12
areturn
end local 10 28: StackMap locals:
StackMap stack:
aload 6
astore 12
29: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 9
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
30: aload 12
areturn
end local 8 31: StackMap locals: sun.nio.ch.FileChannelImpl long long int sun.nio.ch.FileLockImpl sun.nio.ch.FileLockTable top int
StackMap stack: java.lang.Throwable
astore 11
32: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 9
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
33: aload 11
athrow
end local 9 end local 7 end local 6 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Lsun/nio/ch/FileChannelImpl;
0 34 1 position J
0 34 3 size J
0 34 5 shared Z
6 34 6 fli Lsun/nio/ch/FileLockImpl;
7 34 7 flt Lsun/nio/ch/FileLockTable;
11 12 8 result I
15 31 8 result I
9 34 9 ti I
13 15 10 e Ljava/io/IOException;
24 28 10 fli2 Lsun/nio/ch/FileLockImpl;
Exception table:
from to target type
9 11 12 Class java.io.IOException
9 17 31 any
19 26 31 any
28 29 31 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
position
size
shared
void release(sun.nio.ch.FileLockImpl);
descriptor: (Lsun/nio/ch/FileLockImpl;)V
flags: (0x0000)
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
invokevirtual sun.nio.ch.NativeThreadSet.add:()I
istore 2
start local 2 1: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.ensureOpen:()V
2: aload 0
getfield sun.nio.ch.FileChannelImpl.nd:Lsun/nio/ch/FileDispatcher;
aload 0
getfield sun.nio.ch.FileChannelImpl.fd:Ljava/io/FileDescriptor;
aload 1
invokevirtual sun.nio.ch.FileLockImpl.position:()J
aload 1
invokevirtual sun.nio.ch.FileLockImpl.size:()J
invokevirtual sun.nio.ch.FileDispatcher.release:(Ljava/io/FileDescriptor;JJ)V
3: goto 7
StackMap locals: sun.nio.ch.FileChannelImpl sun.nio.ch.FileLockImpl int
StackMap stack: java.lang.Throwable
4: astore 3
5: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 2
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
6: aload 3
athrow
7: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 2
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
8: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 9
aload 0
getfield sun.nio.ch.FileChannelImpl.fileLockTable:Lsun/nio/ch/FileLockTable;
ifnonnull 9
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
9: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.fileLockTable:Lsun/nio/ch/FileLockTable;
aload 1
invokevirtual sun.nio.ch.FileLockTable.remove:(Ljava/nio/channels/FileLock;)V
10: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/nio/ch/FileChannelImpl;
0 11 1 fli Lsun/nio/ch/FileLockImpl;
1 11 2 ti I
Exception table:
from to target type
1 4 4 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
fli
private native long map0(int, long, long, boolean);
descriptor: (IJJZ)J
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
prot
position
length
isSync
private static native int unmap0(long, long);
descriptor: (JJ)I
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
address
length
private native long transferTo0(java.io.FileDescriptor, long, long, java.io.FileDescriptor);
descriptor: (Ljava/io/FileDescriptor;JJLjava/io/FileDescriptor;)J
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
MethodParameters:
Name Flags
src
position
count
dst
private static native long initIDs();
descriptor: ()J
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
public java.nio.channels.SeekableByteChannel position(long);
descriptor: (J)Ljava/nio/channels/SeekableByteChannel;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=2
0: aload 0
lload 1
invokevirtual sun.nio.ch.FileChannelImpl.position:(J)Ljava/nio/channels/FileChannel;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.io.IOException
public java.nio.channels.SeekableByteChannel truncate(long);
descriptor: (J)Ljava/nio/channels/SeekableByteChannel;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=2
0: aload 0
lload 1
invokevirtual sun.nio.ch.FileChannelImpl.truncate:(J)Ljava/nio/channels/FileChannel;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.io.IOException
}
SourceFile: "FileChannelImpl.java"
NestMembers:
sun.nio.ch.FileChannelImpl$1 sun.nio.ch.FileChannelImpl$2 sun.nio.ch.FileChannelImpl$Closer sun.nio.ch.FileChannelImpl$DefaultUnmapper sun.nio.ch.FileChannelImpl$SyncUnmapper sun.nio.ch.FileChannelImpl$Unmapper
InnerClasses:
public abstract Cleanable = java.lang.ref.Cleaner$Cleanable of java.lang.ref.Cleaner
public MapMode = java.nio.channels.FileChannel$MapMode of java.nio.channels.FileChannel
public abstract BufferPool = jdk.internal.misc.VM$BufferPool of jdk.internal.misc.VM
sun.nio.ch.FileChannelImpl$1
sun.nio.ch.FileChannelImpl$2
private Closer = sun.nio.ch.FileChannelImpl$Closer of sun.nio.ch.FileChannelImpl
private DefaultUnmapper = sun.nio.ch.FileChannelImpl$DefaultUnmapper of sun.nio.ch.FileChannelImpl
private SyncUnmapper = sun.nio.ch.FileChannelImpl$SyncUnmapper of sun.nio.ch.FileChannelImpl
private abstract Unmapper = sun.nio.ch.FileChannelImpl$Unmapper of sun.nio.ch.FileChannelImpl