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 sun.nio.ch.NativeDispatcher nd;
descriptor: Lsun/nio/ch/NativeDispatcher;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static long allocationGranularity;
descriptor: J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.lang.reflect.Field isAMappedBufferField;
descriptor: Ljava/lang/reflect/Field;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private java.io.FileDescriptor fd;
descriptor: Ljava/io/FileDescriptor;
flags: (0x0002) ACC_PRIVATE
private boolean writable;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean readable;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean appending;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.lang.Object parent;
descriptor: Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
private sun.nio.ch.NativeThreadSet threads;
descriptor: Lsun/nio/ch/NativeThreadSet;
flags: (0x0002) ACC_PRIVATE
private java.lang.Object positionLock;
descriptor: Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
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 int TRANSFER_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8192
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
public static final int NO_LOCK;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: -1
public static final int LOCKED;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 0
public static final int RET_EX_LOCK;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int INTERRUPTED;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private volatile sun.nio.ch.FileChannelImpl$FileLockTable fileLockTable;
descriptor: Lsun/nio/ch/FileChannelImpl$FileLockTable;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private static boolean isSharedFileLockTable;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static volatile boolean propertyChecked;
descriptor: Z
flags: (0x004a) ACC_PRIVATE, ACC_STATIC, 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: iconst_1
putstatic sun.nio.ch.FileChannelImpl.transferSupported:Z
4: iconst_1
putstatic sun.nio.ch.FileChannelImpl.pipeSupported:Z
5: iconst_1
putstatic sun.nio.ch.FileChannelImpl.fileSupported:Z
6: invokestatic sun.nio.ch.IOUtil.load:()V
7: invokestatic sun.nio.ch.FileChannelImpl.initIDs:()J
putstatic sun.nio.ch.FileChannelImpl.allocationGranularity:J
8: new sun.nio.ch.FileDispatcher
dup
invokespecial sun.nio.ch.FileDispatcher.<init>:()V
putstatic sun.nio.ch.FileChannelImpl.nd:Lsun/nio/ch/NativeDispatcher;
9: ldc "java.nio.MappedByteBuffer"
10: ldc "isAMappedBuffer"
11: invokestatic sun.nio.ch.Reflect.lookupField:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/reflect/Field;
putstatic sun.nio.ch.FileChannelImpl.isAMappedBufferField:Ljava/lang/reflect/Field;
12: return
LocalVariableTable:
Start End Slot Name Signature
private void <init>(java.io.FileDescriptor, boolean, boolean, java.lang.Object, boolean);
descriptor: (Ljava/io/FileDescriptor;ZZLjava/lang/Object;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 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 2
putfield sun.nio.ch.FileChannelImpl.readable:Z
5: aload 0
iload 3
putfield sun.nio.ch.FileChannelImpl.writable:Z
6: aload 0
aload 4
putfield sun.nio.ch.FileChannelImpl.parent:Ljava/lang/Object;
7: aload 0
iload 5
putfield sun.nio.ch.FileChannelImpl.appending:Z
8: return
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 9 0 this Lsun/nio/ch/FileChannelImpl;
0 9 1 fd Ljava/io/FileDescriptor;
0 9 2 readable Z
0 9 3 writable Z
0 9 4 parent Ljava/lang/Object;
0 9 5 append Z
MethodParameters:
Name Flags
fd
readable
writable
parent
append
public static java.nio.channels.FileChannel open(java.io.FileDescriptor, boolean, boolean, java.lang.Object);
descriptor: (Ljava/io/FileDescriptor;ZZLjava/lang/Object;)Ljava/nio/channels/FileChannel;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new sun.nio.ch.FileChannelImpl
dup
aload 0
iload 1
iload 2
aload 3
iconst_0
invokespecial sun.nio.ch.FileChannelImpl.<init>:(Ljava/io/FileDescriptor;ZZLjava/lang/Object;Z)V
areturn
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 readable Z
0 1 2 writable Z
0 1 3 parent Ljava/lang/Object;
MethodParameters:
Name Flags
fd
readable
writable
parent
public static java.nio.channels.FileChannel open(java.io.FileDescriptor, boolean, boolean, java.lang.Object, boolean);
descriptor: (Ljava/io/FileDescriptor;ZZLjava/lang/Object;Z)Ljava/nio/channels/FileChannel;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new sun.nio.ch.FileChannelImpl
dup
aload 0
iload 1
iload 2
aload 3
iload 4
invokespecial sun.nio.ch.FileChannelImpl.<init>:(Ljava/io/FileDescriptor;ZZLjava/lang/Object;Z)V
areturn
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 readable Z
0 1 2 writable Z
0 1 3 parent Ljava/lang/Object;
0 1 4 append Z
MethodParameters:
Name Flags
fd
readable
writable
parent
append
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
protected void implCloseChannel();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=1, args_size=1
start local 0 0: getstatic sun.nio.ch.FileChannelImpl.nd:Lsun/nio/ch/NativeDispatcher;
aload 0
getfield sun.nio.ch.FileChannelImpl.fd:Ljava/io/FileDescriptor;
invokevirtual sun.nio.ch.NativeDispatcher.preClose:(Ljava/io/FileDescriptor;)V
1: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
invokevirtual sun.nio.ch.NativeThreadSet.signal:()V
2: aload 0
getfield sun.nio.ch.FileChannelImpl.fileLockTable:Lsun/nio/ch/FileChannelImpl$FileLockTable;
ifnull 4
3: aload 0
getfield sun.nio.ch.FileChannelImpl.fileLockTable:Lsun/nio/ch/FileChannelImpl$FileLockTable;
new sun.nio.ch.FileChannelImpl$1
dup
aload 0
invokespecial sun.nio.ch.FileChannelImpl$1.<init>:(Lsun/nio/ch/FileChannelImpl;)V
invokeinterface sun.nio.ch.FileChannelImpl$FileLockTable.removeAll:(Lsun/nio/ch/FileChannelImpl$FileLockTable$Releaser;)V
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.parent:Ljava/lang/Object;
ifnull 12
5: aload 0
getfield sun.nio.ch.FileChannelImpl.parent:Ljava/lang/Object;
instanceof java.io.FileInputStream
ifeq 7
6: aload 0
getfield sun.nio.ch.FileChannelImpl.parent:Ljava/lang/Object;
checkcast java.io.FileInputStream
invokevirtual java.io.FileInputStream.close:()V
goto 13
7: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.parent:Ljava/lang/Object;
instanceof java.io.FileOutputStream
ifeq 9
8: aload 0
getfield sun.nio.ch.FileChannelImpl.parent:Ljava/lang/Object;
checkcast java.io.FileOutputStream
invokevirtual java.io.FileOutputStream.close:()V
goto 13
9: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.parent:Ljava/lang/Object;
instanceof java.io.RandomAccessFile
ifeq 11
10: aload 0
getfield sun.nio.ch.FileChannelImpl.parent:Ljava/lang/Object;
checkcast java.io.RandomAccessFile
invokevirtual java.io.RandomAccessFile.close:()V
goto 13
11: StackMap locals:
StackMap stack:
getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 13
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
12: StackMap locals:
StackMap stack:
getstatic sun.nio.ch.FileChannelImpl.nd:Lsun/nio/ch/NativeDispatcher;
aload 0
getfield sun.nio.ch.FileChannelImpl.fd:Ljava/io/FileDescriptor;
invokevirtual sun.nio.ch.NativeDispatcher.close:(Ljava/io/FileDescriptor;)V
13: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lsun/nio/ch/FileChannelImpl;
Exceptions:
throws java.io.IOException
public int read(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, 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: iconst_0
istore 3
start local 3 5: iconst_m1
istore 4
start local 4 6: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.begin:()V
7: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 15
8: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 4
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
9: aload 0
iload 3
ifle 10
iconst_1
goto 11
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer java.lang.Object int int
StackMap stack: sun.nio.ch.FileChannelImpl
10: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer java.lang.Object int int
StackMap stack: sun.nio.ch.FileChannelImpl int
11: invokevirtual sun.nio.ch.FileChannelImpl.end:(Z)V
12: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 13
iload 3
invokestatic sun.nio.ch.IOStatus.check:(I)Z
ifne 13
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
StackMap locals:
StackMap stack:
13: aload 2
monitorexit
14: iconst_0
ireturn
15: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
invokevirtual sun.nio.ch.NativeThreadSet.add:()I
istore 4
16: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.fd:Ljava/io/FileDescriptor;
aload 1
ldc -1
getstatic sun.nio.ch.FileChannelImpl.nd:Lsun/nio/ch/NativeDispatcher;
aload 0
getfield sun.nio.ch.FileChannelImpl.positionLock:Ljava/lang/Object;
invokestatic sun.nio.ch.IOUtil.read:(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;JLsun/nio/ch/NativeDispatcher;Ljava/lang/Object;)I
istore 3
17: iload 3
bipush -3
if_icmpne 18
aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 16
18: StackMap locals:
StackMap stack:
iload 3
invokestatic sun.nio.ch.IOStatus.normalize:(I)I
istore 6
19: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 4
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
20: aload 0
iload 3
ifle 21
iconst_1
goto 22
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer java.lang.Object int int top int
StackMap stack: sun.nio.ch.FileChannelImpl
21: 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
22: invokevirtual sun.nio.ch.FileChannelImpl.end:(Z)V
23: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 24
iload 3
invokestatic sun.nio.ch.IOStatus.check:(I)Z
ifne 24
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
24: StackMap locals:
StackMap stack:
aload 2
monitorexit
25: iload 6
ireturn
26: StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer java.lang.Object int int
StackMap stack: java.lang.Throwable
astore 5
27: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 4
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
28: aload 0
iload 3
ifle 29
iconst_1
goto 30
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer java.lang.Object int int java.lang.Throwable
StackMap stack: sun.nio.ch.FileChannelImpl
29: 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
30: invokevirtual sun.nio.ch.FileChannelImpl.end:(Z)V
31: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 32
iload 3
invokestatic sun.nio.ch.IOStatus.check:(I)Z
ifne 32
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
32: StackMap locals:
StackMap stack:
aload 5
athrow
end local 4 end local 3 33: StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer java.lang.Object
StackMap stack: java.lang.Throwable
aload 2
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 dst Ljava/nio/ByteBuffer;
5 33 3 n I
6 33 4 ti I
Exception table:
from to target type
6 8 26 any
15 19 26 any
4 14 33 any
15 25 33 any
26 34 33 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
dst
private long read0(java.nio.ByteBuffer[]);
descriptor: ([Ljava/nio/ByteBuffer;)J
flags: (0x0002) ACC_PRIVATE
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: 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: lconst_0
lstore 3
start local 3 5: iconst_m1
istore 5
start local 5 6: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.begin:()V
7: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 15
8: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 5
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
9: aload 0
lload 3
lconst_0
lcmp
ifle 10
iconst_1
goto 11
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer[] java.lang.Object long int
StackMap stack: sun.nio.ch.FileChannelImpl
10: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer[] java.lang.Object long int
StackMap stack: sun.nio.ch.FileChannelImpl int
11: invokevirtual sun.nio.ch.FileChannelImpl.end:(Z)V
12: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 13
lload 3
invokestatic sun.nio.ch.IOStatus.check:(J)Z
ifne 13
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
StackMap locals:
StackMap stack:
13: aload 2
monitorexit
14: lconst_0
lreturn
15: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
invokevirtual sun.nio.ch.NativeThreadSet.add:()I
istore 5
16: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.fd:Ljava/io/FileDescriptor;
aload 1
getstatic sun.nio.ch.FileChannelImpl.nd:Lsun/nio/ch/NativeDispatcher;
invokestatic sun.nio.ch.IOUtil.read:(Ljava/io/FileDescriptor;[Ljava/nio/ByteBuffer;Lsun/nio/ch/NativeDispatcher;)J
lstore 3
17: lload 3
ldc -3
lcmp
ifne 18
aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 16
18: StackMap locals:
StackMap stack:
lload 3
invokestatic sun.nio.ch.IOStatus.normalize:(J)J
lstore 7
19: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 5
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
20: aload 0
lload 3
lconst_0
lcmp
ifle 21
iconst_1
goto 22
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer[] java.lang.Object long int top long
StackMap stack: sun.nio.ch.FileChannelImpl
21: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer[] java.lang.Object long int top long
StackMap stack: sun.nio.ch.FileChannelImpl int
22: invokevirtual sun.nio.ch.FileChannelImpl.end:(Z)V
23: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 24
lload 3
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 2
monitorexit
25: lload 7
lreturn
26: StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer[] java.lang.Object long int
StackMap stack: java.lang.Throwable
astore 6
27: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 5
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
28: aload 0
lload 3
lconst_0
lcmp
ifle 29
iconst_1
goto 30
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer[] java.lang.Object long int java.lang.Throwable
StackMap stack: sun.nio.ch.FileChannelImpl
29: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer[] java.lang.Object long int java.lang.Throwable
StackMap stack: sun.nio.ch.FileChannelImpl int
30: invokevirtual sun.nio.ch.FileChannelImpl.end:(Z)V
31: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 32
lload 3
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 6
athrow
end local 5 end local 3 33: StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer[] java.lang.Object
StackMap stack: java.lang.Throwable
aload 2
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 dsts [Ljava/nio/ByteBuffer;
5 33 3 n J
6 33 5 ti I
Exception table:
from to target type
6 8 26 any
15 19 26 any
4 14 33 any
15 25 33 any
26 34 33 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
dsts
public long read(java.nio.ByteBuffer[], int, int);
descriptor: ([Ljava/nio/ByteBuffer;II)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
iflt 1
iload 3
iflt 1
iload 2
aload 1
arraylength
iload 3
isub
if_icmple 2
1: StackMap locals:
StackMap stack:
new java.lang.IndexOutOfBoundsException
dup
invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
iload 3
invokestatic sun.nio.ch.Util.subsequence:([Ljava/nio/ByteBuffer;II)[Ljava/nio/ByteBuffer;
invokevirtual sun.nio.ch.FileChannelImpl.read0:([Ljava/nio/ByteBuffer;)J
lreturn
end local 3 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 dsts [Ljava/nio/ByteBuffer;
0 3 2 offset I
0 3 3 length I
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=6, 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: iconst_0
istore 3
start local 3 5: iconst_m1
istore 4
start local 4 6: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.begin:()V
7: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 15
8: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 4
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
9: aload 0
iload 3
ifle 10
iconst_1
goto 11
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer java.lang.Object int int
StackMap stack: sun.nio.ch.FileChannelImpl
10: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer java.lang.Object int int
StackMap stack: sun.nio.ch.FileChannelImpl int
11: invokevirtual sun.nio.ch.FileChannelImpl.end:(Z)V
12: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 13
iload 3
invokestatic sun.nio.ch.IOStatus.check:(I)Z
ifne 13
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
StackMap locals:
StackMap stack:
13: aload 2
monitorexit
14: iconst_0
ireturn
15: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
invokevirtual sun.nio.ch.NativeThreadSet.add:()I
istore 4
16: aload 0
getfield sun.nio.ch.FileChannelImpl.appending:Z
ifeq 18
17: aload 0
aload 0
invokevirtual sun.nio.ch.FileChannelImpl.size:()J
invokevirtual sun.nio.ch.FileChannelImpl.position:(J)Ljava/nio/channels/FileChannel;
pop
18: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.fd:Ljava/io/FileDescriptor;
aload 1
ldc -1
getstatic sun.nio.ch.FileChannelImpl.nd:Lsun/nio/ch/NativeDispatcher;
aload 0
getfield sun.nio.ch.FileChannelImpl.positionLock:Ljava/lang/Object;
invokestatic sun.nio.ch.IOUtil.write:(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;JLsun/nio/ch/NativeDispatcher;Ljava/lang/Object;)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.end:(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.end:(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;
5 35 3 n I
6 35 4 ti I
Exception table:
from to target type
6 8 28 any
15 21 28 any
4 14 35 any
15 27 35 any
28 36 35 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
src
private long write0(java.nio.ByteBuffer[]);
descriptor: ([Ljava/nio/ByteBuffer;)J
flags: (0x0002) ACC_PRIVATE
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: 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: lconst_0
lstore 3
start local 3 5: iconst_m1
istore 5
start local 5 6: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.begin:()V
7: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 15
8: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 5
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
9: aload 0
lload 3
lconst_0
lcmp
ifle 10
iconst_1
goto 11
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer[] java.lang.Object long int
StackMap stack: sun.nio.ch.FileChannelImpl
10: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer[] java.lang.Object long int
StackMap stack: sun.nio.ch.FileChannelImpl int
11: invokevirtual sun.nio.ch.FileChannelImpl.end:(Z)V
12: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 13
lload 3
invokestatic sun.nio.ch.IOStatus.check:(J)Z
ifne 13
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
StackMap locals:
StackMap stack:
13: aload 2
monitorexit
14: lconst_0
lreturn
15: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
invokevirtual sun.nio.ch.NativeThreadSet.add:()I
istore 5
16: aload 0
getfield sun.nio.ch.FileChannelImpl.appending:Z
ifeq 18
17: aload 0
aload 0
invokevirtual sun.nio.ch.FileChannelImpl.size:()J
invokevirtual sun.nio.ch.FileChannelImpl.position:(J)Ljava/nio/channels/FileChannel;
pop
18: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.fd:Ljava/io/FileDescriptor;
aload 1
getstatic sun.nio.ch.FileChannelImpl.nd:Lsun/nio/ch/NativeDispatcher;
invokestatic sun.nio.ch.IOUtil.write:(Ljava/io/FileDescriptor;[Ljava/nio/ByteBuffer;Lsun/nio/ch/NativeDispatcher;)J
lstore 3
19: lload 3
ldc -3
lcmp
ifne 20
aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 18
20: StackMap locals:
StackMap stack:
lload 3
invokestatic sun.nio.ch.IOStatus.normalize:(J)J
lstore 7
21: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 5
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
22: aload 0
lload 3
lconst_0
lcmp
ifle 23
iconst_1
goto 24
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer[] java.lang.Object long int top long
StackMap stack: sun.nio.ch.FileChannelImpl
23: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer[] java.lang.Object long int top long
StackMap stack: sun.nio.ch.FileChannelImpl int
24: invokevirtual sun.nio.ch.FileChannelImpl.end:(Z)V
25: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 26
lload 3
invokestatic sun.nio.ch.IOStatus.check:(J)Z
ifne 26
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
26: StackMap locals:
StackMap stack:
aload 2
monitorexit
27: lload 7
lreturn
28: StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer[] java.lang.Object long int
StackMap stack: java.lang.Throwable
astore 6
29: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 5
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
30: aload 0
lload 3
lconst_0
lcmp
ifle 31
iconst_1
goto 32
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer[] java.lang.Object long 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 long int java.lang.Throwable
StackMap stack: sun.nio.ch.FileChannelImpl int
32: invokevirtual sun.nio.ch.FileChannelImpl.end:(Z)V
33: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 34
lload 3
invokestatic sun.nio.ch.IOStatus.check:(J)Z
ifne 34
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
34: StackMap locals:
StackMap stack:
aload 6
athrow
end local 5 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 srcs [Ljava/nio/ByteBuffer;
5 35 3 n J
6 35 5 ti I
Exception table:
from to target type
6 8 28 any
15 21 28 any
4 14 35 any
15 27 35 any
28 36 35 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
srcs
public long write(java.nio.ByteBuffer[], int, int);
descriptor: ([Ljava/nio/ByteBuffer;II)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
iflt 1
iload 3
iflt 1
iload 2
aload 1
arraylength
iload 3
isub
if_icmple 2
1: StackMap locals:
StackMap stack:
new java.lang.IndexOutOfBoundsException
dup
invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
iload 3
invokestatic sun.nio.ch.Util.subsequence:([Ljava/nio/ByteBuffer;II)[Ljava/nio/ByteBuffer;
invokevirtual sun.nio.ch.FileChannelImpl.write0:([Ljava/nio/ByteBuffer;)J
lreturn
end local 3 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 srcs [Ljava/nio/ByteBuffer;
0 3 2 offset I
0 3 3 length I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
srcs
offset
length
public long position();
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.begin:()V
5: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 13
6: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 4
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
7: aload 0
lload 2
ldc -1
lcmp
ifle 8
iconst_1
goto 9
StackMap locals: sun.nio.ch.FileChannelImpl java.lang.Object long int
StackMap stack: sun.nio.ch.FileChannelImpl
8: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl java.lang.Object long int
StackMap stack: sun.nio.ch.FileChannelImpl int
9: invokevirtual sun.nio.ch.FileChannelImpl.end:(Z)V
10: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 11
lload 2
invokestatic sun.nio.ch.IOStatus.check:(J)Z
ifne 11
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
StackMap locals:
StackMap stack:
11: aload 1
monitorexit
12: lconst_0
lreturn
13: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
invokevirtual sun.nio.ch.NativeThreadSet.add:()I
istore 4
14: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.nio.ch.FileChannelImpl.fd:Ljava/io/FileDescriptor;
ldc -1
invokevirtual sun.nio.ch.FileChannelImpl.position0:(Ljava/io/FileDescriptor;J)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.end:(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.end:(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 p J
4 31 4 ti I
Exception table:
from to target type
4 6 24 any
13 17 24 any
2 12 31 any
13 23 31 any
24 32 31 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.begin:()V
7: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 15
8: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 6
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
9: aload 0
lload 4
ldc -1
lcmp
ifle 10
iconst_1
goto 11
StackMap locals: sun.nio.ch.FileChannelImpl long java.lang.Object long int
StackMap stack: sun.nio.ch.FileChannelImpl
10: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl long java.lang.Object long int
StackMap stack: sun.nio.ch.FileChannelImpl int
11: invokevirtual sun.nio.ch.FileChannelImpl.end:(Z)V
12: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 13
lload 4
invokestatic sun.nio.ch.IOStatus.check:(J)Z
ifne 13
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
StackMap locals:
StackMap stack:
13: aload 3
monitorexit
14: aconst_null
areturn
15: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
invokevirtual sun.nio.ch.NativeThreadSet.add:()I
istore 6
16: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.nio.ch.FileChannelImpl.fd:Ljava/io/FileDescriptor;
lload 1
invokevirtual sun.nio.ch.FileChannelImpl.position0:(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.end:(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.end:(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 8 26 any
15 19 26 any
4 14 33 any
15 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.begin:()V
5: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 13
6: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 4
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
7: aload 0
lload 2
ldc -1
lcmp
ifle 8
iconst_1
goto 9
StackMap locals: sun.nio.ch.FileChannelImpl java.lang.Object long int
StackMap stack: sun.nio.ch.FileChannelImpl
8: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl java.lang.Object long int
StackMap stack: sun.nio.ch.FileChannelImpl int
9: invokevirtual sun.nio.ch.FileChannelImpl.end:(Z)V
10: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 11
lload 2
invokestatic sun.nio.ch.IOStatus.check:(J)Z
ifne 11
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
StackMap locals:
StackMap stack:
11: aload 1
monitorexit
12: ldc -1
lreturn
13: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
invokevirtual sun.nio.ch.NativeThreadSet.add:()I
istore 4
14: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.nio.ch.FileChannelImpl.fd:Ljava/io/FileDescriptor;
invokevirtual sun.nio.ch.FileChannelImpl.size0:(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.end:(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.end:(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 6 24 any
13 17 24 any
2 12 31 any
13 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=10, 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:
lload 1
aload 0
invokevirtual sun.nio.ch.FileChannelImpl.size:()J
lcmp
ifle 5
4: aload 0
areturn
5: StackMap locals:
StackMap stack:
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.positionLock:Ljava/lang/Object;
dup
astore 3
monitorenter
8: iconst_m1
istore 4
start local 4 9: ldc -1
lstore 5
start local 5 10: iconst_m1
istore 7
start local 7 11: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.begin:()V
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
StackMap stack: sun.nio.ch.FileChannelImpl
15: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl long java.lang.Object int long int
StackMap stack: sun.nio.ch.FileChannelImpl int
16: invokevirtual sun.nio.ch.FileChannelImpl.end:(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.threads:Lsun/nio/ch/NativeThreadSet;
invokevirtual sun.nio.ch.NativeThreadSet.add:()I
istore 7
21: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.nio.ch.FileChannelImpl.fd:Ljava/io/FileDescriptor;
ldc -1
invokevirtual sun.nio.ch.FileChannelImpl.position0:(Ljava/io/FileDescriptor;J)J
lstore 5
22: lload 5
ldc -3
lcmp
ifne 23
aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 21
23: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 31
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
iload 4
iconst_m1
if_icmple 26
iconst_1
goto 27
StackMap locals:
StackMap stack: sun.nio.ch.FileChannelImpl
26: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl long java.lang.Object int long int
StackMap stack: sun.nio.ch.FileChannelImpl int
27: invokevirtual sun.nio.ch.FileChannelImpl.end:(Z)V
28: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 29
iload 4
invokestatic sun.nio.ch.IOStatus.check:(I)Z
ifne 29
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
StackMap locals:
StackMap stack:
29: aload 3
monitorexit
30: aconst_null
areturn
31: StackMap locals:
StackMap stack:
getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 32
lload 5
lconst_0
lcmp
ifge 32
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
32: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.nio.ch.FileChannelImpl.fd:Ljava/io/FileDescriptor;
lload 1
invokevirtual sun.nio.ch.FileChannelImpl.truncate0:(Ljava/io/FileDescriptor;J)I
istore 4
33: iload 4
bipush -3
if_icmpne 34
aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 32
34: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 42
35: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 7
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
36: aload 0
iload 4
iconst_m1
if_icmple 37
iconst_1
goto 38
StackMap locals:
StackMap stack: sun.nio.ch.FileChannelImpl
37: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl long java.lang.Object int long int
StackMap stack: sun.nio.ch.FileChannelImpl int
38: invokevirtual sun.nio.ch.FileChannelImpl.end:(Z)V
39: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 40
iload 4
invokestatic sun.nio.ch.IOStatus.check:(I)Z
ifne 40
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
StackMap locals:
StackMap stack:
40: aload 3
monitorexit
41: aconst_null
areturn
42: StackMap locals:
StackMap stack:
lload 5
lload 1
lcmp
ifle 44
43: lload 1
lstore 5
44: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.nio.ch.FileChannelImpl.fd:Ljava/io/FileDescriptor;
lload 5
invokevirtual sun.nio.ch.FileChannelImpl.position0:(Ljava/io/FileDescriptor;J)J
l2i
istore 4
45: iload 4
bipush -3
if_icmpne 46
aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 44
46: StackMap locals:
StackMap stack:
aload 0
astore 9
47: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 7
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
48: aload 0
iload 4
iconst_m1
if_icmple 49
iconst_1
goto 50
StackMap locals: sun.nio.ch.FileChannelImpl long java.lang.Object int long int top java.nio.channels.FileChannel
StackMap stack: sun.nio.ch.FileChannelImpl
49: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl long java.lang.Object int long int top java.nio.channels.FileChannel
StackMap stack: sun.nio.ch.FileChannelImpl int
50: invokevirtual sun.nio.ch.FileChannelImpl.end:(Z)V
51: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 52
iload 4
invokestatic sun.nio.ch.IOStatus.check:(I)Z
ifne 52
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
52: StackMap locals:
StackMap stack:
aload 3
monitorexit
53: aload 9
areturn
54: StackMap locals: sun.nio.ch.FileChannelImpl long java.lang.Object int long int
StackMap stack: java.lang.Throwable
astore 8
55: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 7
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
56: aload 0
iload 4
iconst_m1
if_icmple 57
iconst_1
goto 58
StackMap locals: sun.nio.ch.FileChannelImpl long java.lang.Object int long int java.lang.Throwable
StackMap stack: sun.nio.ch.FileChannelImpl
57: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl long java.lang.Object int long int java.lang.Throwable
StackMap stack: sun.nio.ch.FileChannelImpl int
58: invokevirtual sun.nio.ch.FileChannelImpl.end:(Z)V
59: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 60
iload 4
invokestatic sun.nio.ch.IOStatus.check:(I)Z
ifne 60
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
60: StackMap locals:
StackMap stack:
aload 8
athrow
end local 7 end local 5 end local 4 61: StackMap locals: sun.nio.ch.FileChannelImpl long java.lang.Object
StackMap stack: java.lang.Throwable
aload 3
monitorexit
62: athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 63 0 this Lsun/nio/ch/FileChannelImpl;
0 63 1 size J
9 61 4 rv I
10 61 5 p J
11 61 7 ti I
Exception table:
from to target type
11 13 54 any
20 24 54 any
31 35 54 any
42 47 54 any
8 19 61 any
20 30 61 any
31 41 61 any
42 53 61 any
54 62 61 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
size
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.begin:()V
4: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 11
5: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 3
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
6: aload 0
iload 2
iconst_m1
if_icmple 7
iconst_1
goto 8
StackMap locals: sun.nio.ch.FileChannelImpl int int int
StackMap stack: sun.nio.ch.FileChannelImpl
7: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl int int int
StackMap stack: sun.nio.ch.FileChannelImpl int
8: invokevirtual sun.nio.ch.FileChannelImpl.end:(Z)V
9: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 10
iload 2
invokestatic sun.nio.ch.IOStatus.check:(I)Z
ifne 10
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
10: StackMap locals:
StackMap stack:
return
11: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
invokevirtual sun.nio.ch.NativeThreadSet.add:()I
istore 3
12: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.nio.ch.FileChannelImpl.fd:Ljava/io/FileDescriptor;
iload 1
invokevirtual sun.nio.ch.FileChannelImpl.force0:(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.end:(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.end:(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 5 15 any
11 15 15 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
metaData
private long transferToDirectly(long, int, java.nio.channels.WritableByteChannel);
descriptor: (JILjava/nio/channels/WritableByteChannel;)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, 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 12
StackMap locals:
StackMap stack:
8: aload 4
instanceof sun.nio.ch.SelChImpl
ifeq 12
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 sun.nio.ch.SelChImpl
invokeinterface sun.nio.ch.SelChImpl.getFD:()Ljava/io/FileDescriptor;
astore 5
12: StackMap locals:
StackMap stack:
aload 5
ifnonnull 14
13: ldc -4
lreturn
14: 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 15: aload 5
invokestatic sun.nio.ch.IOUtil.fdVal:(Ljava/io/FileDescriptor;)I
istore 7
start local 7 16: iload 6
iload 7
if_icmpne 18
17: ldc -4
lreturn
18: StackMap locals: int int
StackMap stack:
ldc -1
lstore 8
start local 8 19: iconst_m1
istore 10
start local 10 20: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.begin:()V
21: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 27
22: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 10
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
23: aload 0
lload 8
ldc -1
lcmp
ifle 24
iconst_1
goto 25
StackMap locals: sun.nio.ch.FileChannelImpl long int java.nio.channels.WritableByteChannel java.io.FileDescriptor int int long int
StackMap stack: sun.nio.ch.FileChannelImpl
24: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl long int java.nio.channels.WritableByteChannel java.io.FileDescriptor int int long int
StackMap stack: sun.nio.ch.FileChannelImpl int
25: invokevirtual sun.nio.ch.FileChannelImpl.end:(Z)V
26: ldc -1
lreturn
27: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
invokevirtual sun.nio.ch.NativeThreadSet.add:()I
istore 10
28: StackMap locals:
StackMap stack:
aload 0
iload 6
lload 1
iload 3
i2l
iload 7
invokevirtual sun.nio.ch.FileChannelImpl.transferTo0:(IJJI)J
lstore 8
29: lload 8
ldc -3
lcmp
ifne 30
aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 28
30: StackMap locals:
StackMap stack:
lload 8
ldc -6
lcmp
ifne 40
31: aload 4
instanceof sun.nio.ch.SinkChannelImpl
ifeq 33
32: iconst_0
putstatic sun.nio.ch.FileChannelImpl.pipeSupported:Z
33: StackMap locals:
StackMap stack:
aload 4
instanceof sun.nio.ch.FileChannelImpl
ifeq 35
34: iconst_0
putstatic sun.nio.ch.FileChannelImpl.fileSupported:Z
35: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 10
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
36: aload 0
lload 8
ldc -1
lcmp
ifle 37
iconst_1
goto 38
StackMap locals:
StackMap stack: sun.nio.ch.FileChannelImpl
37: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl long int java.nio.channels.WritableByteChannel java.io.FileDescriptor int int long int
StackMap stack: sun.nio.ch.FileChannelImpl int
38: invokevirtual sun.nio.ch.FileChannelImpl.end:(Z)V
39: ldc -6
lreturn
40: StackMap locals:
StackMap stack:
lload 8
ldc -4
lcmp
ifne 47
41: iconst_0
putstatic sun.nio.ch.FileChannelImpl.transferSupported:Z
42: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 10
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
43: aload 0
lload 8
ldc -1
lcmp
ifle 44
iconst_1
goto 45
StackMap locals:
StackMap stack: sun.nio.ch.FileChannelImpl
44: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl long int java.nio.channels.WritableByteChannel java.io.FileDescriptor int int long int
StackMap stack: sun.nio.ch.FileChannelImpl int
45: invokevirtual sun.nio.ch.FileChannelImpl.end:(Z)V
46: ldc -4
lreturn
47: StackMap locals:
StackMap stack:
lload 8
invokestatic sun.nio.ch.IOStatus.normalize:(J)J
lstore 12
48: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 10
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
49: aload 0
lload 8
ldc -1
lcmp
ifle 50
iconst_1
goto 51
StackMap locals: sun.nio.ch.FileChannelImpl long int java.nio.channels.WritableByteChannel java.io.FileDescriptor int int long int top long
StackMap stack: sun.nio.ch.FileChannelImpl
50: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl long int java.nio.channels.WritableByteChannel java.io.FileDescriptor int int long int top long
StackMap stack: sun.nio.ch.FileChannelImpl int
51: invokevirtual sun.nio.ch.FileChannelImpl.end:(Z)V
52: lload 12
lreturn
53: StackMap locals: sun.nio.ch.FileChannelImpl long int java.nio.channels.WritableByteChannel java.io.FileDescriptor int int long int
StackMap stack: java.lang.Throwable
astore 11
54: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 10
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
55: aload 0
lload 8
ldc -1
lcmp
ifle 56
iconst_1
goto 57
StackMap locals: sun.nio.ch.FileChannelImpl long int java.nio.channels.WritableByteChannel java.io.FileDescriptor int int long int java.lang.Throwable
StackMap stack: sun.nio.ch.FileChannelImpl
56: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl long int java.nio.channels.WritableByteChannel java.io.FileDescriptor int int long int java.lang.Throwable
StackMap stack: sun.nio.ch.FileChannelImpl int
57: invokevirtual sun.nio.ch.FileChannelImpl.end:(Z)V
58: aload 11
athrow
end local 10 end local 8 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 59 0 this Lsun/nio/ch/FileChannelImpl;
0 59 1 position J
0 59 3 icount I
0 59 4 target Ljava/nio/channels/WritableByteChannel;
3 59 5 targetFD Ljava/io/FileDescriptor;
15 59 6 thisFDVal I
16 59 7 targetFDVal I
19 59 8 n J
20 59 10 ti I
Exception table:
from to target type
20 22 53 any
27 35 53 any
40 42 53 any
47 48 53 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
position
icount
target
private long transferToTrustedChannel(long, int, java.nio.channels.WritableByteChannel);
descriptor: (JILjava/nio/channels/WritableByteChannel;)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=9, args_size=4
start local 0 start local 1 start local 3 start local 4 0: aload 4
instanceof sun.nio.ch.FileChannelImpl
ifne 3
1: aload 4
instanceof sun.nio.ch.SelChImpl
ifne 3
2: ldc -4
lreturn
3: StackMap locals:
StackMap stack:
aconst_null
astore 5
start local 5 4: aload 0
getstatic java.nio.channels.FileChannel$MapMode.READ_ONLY:Ljava/nio/channels/FileChannel$MapMode;
lload 1
iload 3
i2l
invokevirtual sun.nio.ch.FileChannelImpl.map:(Ljava/nio/channels/FileChannel$MapMode;JJ)Ljava/nio/MappedByteBuffer;
astore 5
5: aload 4
aload 5
invokeinterface java.nio.channels.WritableByteChannel.write:(Ljava/nio/ByteBuffer;)I
i2l
lstore 7
6: aload 5
ifnull 8
7: aload 5
invokestatic sun.nio.ch.FileChannelImpl.unmap:(Ljava/nio/MappedByteBuffer;)V
8: StackMap locals: sun.nio.ch.FileChannelImpl long int java.nio.channels.WritableByteChannel java.nio.MappedByteBuffer top long
StackMap stack:
lload 7
lreturn
9: StackMap locals: sun.nio.ch.FileChannelImpl long int java.nio.channels.WritableByteChannel java.nio.MappedByteBuffer
StackMap stack: java.lang.Throwable
astore 6
10: aload 5
ifnull 12
11: aload 5
invokestatic sun.nio.ch.FileChannelImpl.unmap:(Ljava/nio/MappedByteBuffer;)V
12: StackMap locals: java.lang.Throwable
StackMap stack:
aload 6
athrow
end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lsun/nio/ch/FileChannelImpl;
0 13 1 position J
0 13 3 icount I
0 13 4 target Ljava/nio/channels/WritableByteChannel;
4 13 5 dbb Ljava/nio/MappedByteBuffer;
Exception table:
from to target type
4 6 9 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
position
icount
target
private long transferToArbitraryChannel(long, int, java.nio.channels.WritableByteChannel);
descriptor: (JILjava/nio/channels/WritableByteChannel;)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=16, 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 sun.nio.ch.Util.getTemporaryDirectBuffer:(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: aload 6
invokestatic sun.nio.ch.Util.erase:(Ljava/nio/ByteBuffer;)V
5: goto 17
6: 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/Buffer;
pop
7: aload 0
aload 6
lload 9
invokevirtual sun.nio.ch.FileChannelImpl.read:(Ljava/nio/ByteBuffer;J)I
istore 11
start local 11 8: iload 11
ifgt 10
9: goto 18
10: StackMap locals: int
StackMap stack:
aload 6
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
11: aload 4
aload 6
invokeinterface java.nio.channels.WritableByteChannel.write:(Ljava/nio/ByteBuffer;)I
istore 12
start local 12 12: lload 7
iload 12
i2l
ladd
lstore 7
13: iload 12
iload 11
if_icmpeq 15
14: goto 18
15: StackMap locals: int
StackMap stack:
lload 9
iload 12
i2l
ladd
lstore 9
16: aload 6
invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
pop
end local 12 end local 11 17: StackMap locals:
StackMap stack:
lload 7
iload 3
i2l
lcmp
iflt 6
18: StackMap locals:
StackMap stack:
lload 7
lstore 14
19: aload 6
invokestatic sun.nio.ch.Util.releaseTemporaryDirectBuffer:(Ljava/nio/ByteBuffer;)V
20: lload 14
lreturn
21: StackMap locals:
StackMap stack: java.io.IOException
astore 11
start local 11 22: lload 7
lconst_0
lcmp
ifle 26
23: lload 7
lstore 14
24: aload 6
invokestatic sun.nio.ch.Util.releaseTemporaryDirectBuffer:(Ljava/nio/ByteBuffer;)V
25: lload 14
lreturn
26: StackMap locals: java.io.IOException
StackMap stack:
aload 11
athrow
end local 11 27: StackMap locals: sun.nio.ch.FileChannelImpl long int java.nio.channels.WritableByteChannel int java.nio.ByteBuffer long long
StackMap stack: java.lang.Throwable
astore 13
28: aload 6
invokestatic sun.nio.ch.Util.releaseTemporaryDirectBuffer:(Ljava/nio/ByteBuffer;)V
29: aload 13
athrow
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 30 0 this Lsun/nio/ch/FileChannelImpl;
0 30 1 position J
0 30 3 icount I
0 30 4 target Ljava/nio/channels/WritableByteChannel;
1 30 5 c I
2 30 6 bb Ljava/nio/ByteBuffer;
3 30 7 tw J
4 30 9 pos J
8 17 11 nr I
12 17 12 nw I
22 27 11 x Ljava/io/IOException;
Exception table:
from to target type
4 19 21 Class java.io.IOException
4 19 27 any
21 24 27 any
26 27 27 any
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=5, 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
aload 5
invokevirtual sun.nio.ch.FileChannelImpl.transferToTrustedChannel:(JILjava/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=16, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 1
getfield sun.nio.ch.FileChannelImpl.positionLock:Ljava/lang/Object;
dup
astore 6
monitorenter
1: aload 1
invokevirtual sun.nio.ch.FileChannelImpl.position:()J
lstore 7
start local 7 2: lload 4
ldc 2147483647
invokestatic java.lang.Math.min:(JJ)J
3: aload 1
invokevirtual sun.nio.ch.FileChannelImpl.size:()J
lload 7
lsub
4: invokestatic java.lang.Math.min:(JJ)J
l2i
istore 9
start local 9 5: aload 1
getstatic java.nio.channels.FileChannel$MapMode.READ_ONLY:Ljava/nio/channels/FileChannel$MapMode;
lload 7
iload 9
i2l
invokevirtual sun.nio.ch.FileChannelImpl.map:(Ljava/nio/channels/FileChannel$MapMode;JJ)Ljava/nio/MappedByteBuffer;
astore 10
start local 10 6: aload 0
aload 10
lload 2
invokevirtual sun.nio.ch.FileChannelImpl.write:(Ljava/nio/ByteBuffer;J)I
i2l
lstore 11
start local 11 7: aload 1
lload 7
lload 11
ladd
invokevirtual sun.nio.ch.FileChannelImpl.position:(J)Ljava/nio/channels/FileChannel;
pop
8: lload 11
lstore 14
9: aload 10
invokestatic sun.nio.ch.FileChannelImpl.unmap:(Ljava/nio/MappedByteBuffer;)V
10: aload 6
monitorexit
11: lload 14
lreturn
end local 11 12: StackMap locals: sun.nio.ch.FileChannelImpl sun.nio.ch.FileChannelImpl long long java.lang.Object long int java.nio.MappedByteBuffer
StackMap stack: java.lang.Throwable
astore 13
13: aload 10
invokestatic sun.nio.ch.FileChannelImpl.unmap:(Ljava/nio/MappedByteBuffer;)V
14: aload 13
athrow
end local 10 end local 9 end local 7 15: StackMap locals: sun.nio.ch.FileChannelImpl sun.nio.ch.FileChannelImpl long long java.lang.Object
StackMap stack: java.lang.Throwable
aload 6
monitorexit
16: athrow
end local 4 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 src Lsun/nio/ch/FileChannelImpl;
0 17 2 position J
0 17 4 count J
2 15 7 p J
5 15 9 icount I
6 15 10 bb Ljava/nio/MappedByteBuffer;
7 12 11 n J
Exception table:
from to target type
6 9 12 any
1 11 15 any
12 16 15 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=17, 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 sun.nio.ch.Util.getTemporaryDirectBuffer:(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: aload 7
invokestatic sun.nio.ch.Util.erase:(Ljava/nio/ByteBuffer;)V
5: goto 17
6: 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/Buffer;
pop
7: aload 1
aload 7
invokeinterface java.nio.channels.ReadableByteChannel.read:(Ljava/nio/ByteBuffer;)I
istore 12
start local 12 8: iload 12
ifgt 10
9: goto 18
10: StackMap locals: int
StackMap stack:
aload 7
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
11: aload 0
aload 7
lload 10
invokevirtual sun.nio.ch.FileChannelImpl.write:(Ljava/nio/ByteBuffer;J)I
istore 13
start local 13 12: lload 8
iload 13
i2l
ladd
lstore 8
13: iload 13
iload 12
if_icmpeq 15
14: goto 18
15: StackMap locals: int
StackMap stack:
lload 10
iload 13
i2l
ladd
lstore 10
16: aload 7
invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
pop
end local 13 end local 12 17: StackMap locals:
StackMap stack:
lload 8
lload 4
lcmp
iflt 6
18: StackMap locals:
StackMap stack:
lload 8
lstore 15
19: aload 7
invokestatic sun.nio.ch.Util.releaseTemporaryDirectBuffer:(Ljava/nio/ByteBuffer;)V
20: lload 15
lreturn
21: StackMap locals:
StackMap stack: java.io.IOException
astore 12
start local 12 22: lload 8
lconst_0
lcmp
ifle 26
23: lload 8
lstore 15
24: aload 7
invokestatic sun.nio.ch.Util.releaseTemporaryDirectBuffer:(Ljava/nio/ByteBuffer;)V
25: lload 15
lreturn
26: StackMap locals: java.io.IOException
StackMap stack:
aload 12
athrow
end local 12 27: StackMap locals: sun.nio.ch.FileChannelImpl java.nio.channels.ReadableByteChannel long long int java.nio.ByteBuffer long long
StackMap stack: java.lang.Throwable
astore 14
28: aload 7
invokestatic sun.nio.ch.Util.releaseTemporaryDirectBuffer:(Ljava/nio/ByteBuffer;)V
29: aload 14
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 30 0 this Lsun/nio/ch/FileChannelImpl;
0 30 1 src Ljava/nio/channels/ReadableByteChannel;
0 30 2 position J
0 30 4 count J
1 30 6 c I
2 30 7 bb Ljava/nio/ByteBuffer;
3 30 8 tw J
4 30 10 pos J
8 17 12 nr I
12 17 13 nw I
22 27 12 x Ljava/io/IOException;
Exception table:
from to target type
4 19 21 Class java.io.IOException
4 19 27 any
21 24 27 any
26 27 27 any
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=6, locals=8, 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
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:
aload 0
invokevirtual sun.nio.ch.FileChannelImpl.ensureOpen:()V
7: iconst_0
istore 4
start local 4 8: iconst_m1
istore 5
start local 5 9: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.begin:()V
10: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 17
11: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 5
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
12: aload 0
iload 4
ifle 13
iconst_1
goto 14
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer long int int
StackMap stack: sun.nio.ch.FileChannelImpl
13: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer long int int
StackMap stack: sun.nio.ch.FileChannelImpl int
14: invokevirtual sun.nio.ch.FileChannelImpl.end:(Z)V
15: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 16
iload 4
invokestatic sun.nio.ch.IOStatus.check:(I)Z
ifne 16
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
16: StackMap locals:
StackMap stack:
iconst_m1
ireturn
17: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
invokevirtual sun.nio.ch.NativeThreadSet.add:()I
istore 5
18: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.fd:Ljava/io/FileDescriptor;
aload 1
lload 2
getstatic sun.nio.ch.FileChannelImpl.nd:Lsun/nio/ch/NativeDispatcher;
aload 0
getfield sun.nio.ch.FileChannelImpl.positionLock:Ljava/lang/Object;
invokestatic sun.nio.ch.IOUtil.read:(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;JLsun/nio/ch/NativeDispatcher;Ljava/lang/Object;)I
istore 4
19: iload 4
bipush -3
if_icmpne 20
aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 18
20: StackMap locals:
StackMap stack:
iload 4
invokestatic sun.nio.ch.IOStatus.normalize:(I)I
istore 7
21: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 5
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
22: aload 0
iload 4
ifle 23
iconst_1
goto 24
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer long int int top int
StackMap stack: sun.nio.ch.FileChannelImpl
23: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer long int int top int
StackMap stack: sun.nio.ch.FileChannelImpl int
24: invokevirtual sun.nio.ch.FileChannelImpl.end:(Z)V
25: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 26
iload 4
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:
iload 7
ireturn
27: StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer long int int
StackMap stack: java.lang.Throwable
astore 6
28: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 5
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
29: aload 0
iload 4
ifle 30
iconst_1
goto 31
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer long int int java.lang.Throwable
StackMap stack: sun.nio.ch.FileChannelImpl
30: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer long int int java.lang.Throwable
StackMap stack: sun.nio.ch.FileChannelImpl int
31: invokevirtual sun.nio.ch.FileChannelImpl.end:(Z)V
32: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 33
iload 4
invokestatic sun.nio.ch.IOStatus.check:(I)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 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Lsun/nio/ch/FileChannelImpl;
0 34 1 dst Ljava/nio/ByteBuffer;
0 34 2 position J
8 34 4 n I
9 34 5 ti I
Exception table:
from to target type
9 11 27 any
17 21 27 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=6, locals=8, 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
getfield sun.nio.ch.FileChannelImpl.writable:Z
ifne 6
5: new java.nio.channels.NonWritableChannelException
dup
invokespecial java.nio.channels.NonWritableChannelException.<init>:()V
athrow
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.nio.ch.FileChannelImpl.ensureOpen:()V
7: iconst_0
istore 4
start local 4 8: iconst_m1
istore 5
start local 5 9: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.begin:()V
10: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 17
11: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 5
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
12: aload 0
iload 4
ifle 13
iconst_1
goto 14
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer long int int
StackMap stack: sun.nio.ch.FileChannelImpl
13: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer long int int
StackMap stack: sun.nio.ch.FileChannelImpl int
14: invokevirtual sun.nio.ch.FileChannelImpl.end:(Z)V
15: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 16
iload 4
invokestatic sun.nio.ch.IOStatus.check:(I)Z
ifne 16
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
16: StackMap locals:
StackMap stack:
iconst_m1
ireturn
17: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
invokevirtual sun.nio.ch.NativeThreadSet.add:()I
istore 5
18: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.fd:Ljava/io/FileDescriptor;
aload 1
lload 2
getstatic sun.nio.ch.FileChannelImpl.nd:Lsun/nio/ch/NativeDispatcher;
aload 0
getfield sun.nio.ch.FileChannelImpl.positionLock:Ljava/lang/Object;
invokestatic sun.nio.ch.IOUtil.write:(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;JLsun/nio/ch/NativeDispatcher;Ljava/lang/Object;)I
istore 4
19: iload 4
bipush -3
if_icmpne 20
aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 18
20: StackMap locals:
StackMap stack:
iload 4
invokestatic sun.nio.ch.IOStatus.normalize:(I)I
istore 7
21: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 5
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
22: aload 0
iload 4
ifle 23
iconst_1
goto 24
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer long int int top int
StackMap stack: sun.nio.ch.FileChannelImpl
23: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer long int int top int
StackMap stack: sun.nio.ch.FileChannelImpl int
24: invokevirtual sun.nio.ch.FileChannelImpl.end:(Z)V
25: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 26
iload 4
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:
iload 7
ireturn
27: StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer long int int
StackMap stack: java.lang.Throwable
astore 6
28: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 5
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
29: aload 0
iload 4
ifle 30
iconst_1
goto 31
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer long int int java.lang.Throwable
StackMap stack: sun.nio.ch.FileChannelImpl
30: iconst_0
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.ByteBuffer long int int java.lang.Throwable
StackMap stack: sun.nio.ch.FileChannelImpl int
31: invokevirtual sun.nio.ch.FileChannelImpl.end:(Z)V
32: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 33
iload 4
invokestatic sun.nio.ch.IOStatus.check:(I)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 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Lsun/nio/ch/FileChannelImpl;
0 34 1 src Ljava/nio/ByteBuffer;
0 34 2 position J
8 34 4 n I
9 34 5 ti I
Exception table:
from to target type
9 11 27 any
17 21 27 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:()Lsun/misc/Cleaner;
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
invokevirtual sun.misc.Cleaner.clean:()V
3: StackMap locals: sun.misc.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 Lsun/misc/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=19, 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: lload 2
lconst_0
lcmp
ifge 3
2: new java.lang.IllegalArgumentException
dup
ldc "Negative position"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
lload 4
lconst_0
lcmp
ifge 5
4: new java.lang.IllegalArgumentException
dup
ldc "Negative size"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
lload 2
lload 4
ladd
lconst_0
lcmp
ifge 7
6: new java.lang.IllegalArgumentException
dup
ldc "Position + size overflow"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
lload 4
ldc 2147483647
lcmp
ifle 9
8: new java.lang.IllegalArgumentException
dup
ldc "Size exceeds Integer.MAX_VALUE"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
iconst_m1
istore 6
start local 6 10: aload 1
getstatic java.nio.channels.FileChannel$MapMode.READ_ONLY:Ljava/nio/channels/FileChannel$MapMode;
if_acmpne 12
11: iconst_0
istore 6
goto 16
12: StackMap locals: int
StackMap stack:
aload 1
getstatic java.nio.channels.FileChannel$MapMode.READ_WRITE:Ljava/nio/channels/FileChannel$MapMode;
if_acmpne 14
13: iconst_1
istore 6
goto 16
14: StackMap locals:
StackMap stack:
aload 1
getstatic java.nio.channels.FileChannel$MapMode.PRIVATE:Ljava/nio/channels/FileChannel$MapMode;
if_acmpne 16
15: iconst_2
istore 6
16: StackMap locals:
StackMap stack:
getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 17
iload 6
ifge 17
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
17: StackMap locals:
StackMap stack:
aload 1
getstatic java.nio.channels.FileChannel$MapMode.READ_ONLY:Ljava/nio/channels/FileChannel$MapMode;
if_acmpeq 19
aload 0
getfield sun.nio.ch.FileChannelImpl.writable:Z
ifne 19
18: new java.nio.channels.NonWritableChannelException
dup
invokespecial java.nio.channels.NonWritableChannelException.<init>:()V
athrow
19: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.readable:Z
ifne 21
20: new java.nio.channels.NonReadableChannelException
dup
invokespecial java.nio.channels.NonReadableChannelException.<init>:()V
athrow
21: StackMap locals:
StackMap stack:
ldc -1
lstore 7
start local 7 22: iconst_m1
istore 9
start local 9 23: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.begin:()V
24: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 28
25: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 9
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
26: aload 0
lload 7
invokestatic sun.nio.ch.IOStatus.checkAll:(J)Z
invokevirtual sun.nio.ch.FileChannelImpl.end:(Z)V
27: aconst_null
areturn
28: StackMap locals: long int
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
invokevirtual sun.nio.ch.NativeThreadSet.add:()I
istore 9
29: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.size:()J
lload 2
lload 4
ladd
lcmp
ifge 34
30: aload 0
getfield sun.nio.ch.FileChannelImpl.writable:Z
ifne 32
31: 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
32: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.nio.ch.FileChannelImpl.fd:Ljava/io/FileDescriptor;
lload 2
lload 4
ladd
invokevirtual sun.nio.ch.FileChannelImpl.truncate0:(Ljava/io/FileDescriptor;J)I
istore 10
start local 10 33: iload 10
bipush -3
if_icmpne 34
aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 32
end local 10 34: StackMap locals:
StackMap stack:
lload 4
lconst_0
lcmp
ifne 45
35: lconst_0
lstore 7
36: aload 0
getfield sun.nio.ch.FileChannelImpl.writable:Z
ifeq 37
iload 6
ifne 41
37: StackMap locals:
StackMap stack:
iconst_0
lconst_0
aconst_null
invokestatic sun.nio.ch.Util.newMappedByteBufferR:(IJLjava/lang/Runnable;)Ljava/nio/MappedByteBuffer;
astore 18
38: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 9
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
39: aload 0
lload 7
invokestatic sun.nio.ch.IOStatus.checkAll:(J)Z
invokevirtual sun.nio.ch.FileChannelImpl.end:(Z)V
40: aload 18
areturn
41: StackMap locals:
StackMap stack:
iconst_0
lconst_0
aconst_null
invokestatic sun.nio.ch.Util.newMappedByteBuffer:(IJLjava/lang/Runnable;)Ljava/nio/MappedByteBuffer;
astore 18
42: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 9
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
43: aload 0
lload 7
invokestatic sun.nio.ch.IOStatus.checkAll:(J)Z
invokevirtual sun.nio.ch.FileChannelImpl.end:(Z)V
44: aload 18
areturn
45: StackMap locals:
StackMap stack:
lload 2
getstatic sun.nio.ch.FileChannelImpl.allocationGranularity:J
lrem
l2i
istore 10
start local 10 46: lload 2
iload 10
i2l
lsub
lstore 11
start local 11 47: lload 4
iload 10
i2l
ladd
lstore 13
start local 13 48: aload 0
iload 6
lload 11
lload 13
invokevirtual sun.nio.ch.FileChannelImpl.map0:(IJJ)J
lstore 7
49: goto 60
StackMap locals: sun.nio.ch.FileChannelImpl java.nio.channels.FileChannel$MapMode long long int long int int long long
StackMap stack: java.lang.OutOfMemoryError
50: pop
51: invokestatic java.lang.System.gc:()V
52: ldc 100
invokestatic java.lang.Thread.sleep:(J)V
53: goto 56
StackMap locals:
StackMap stack: java.lang.InterruptedException
54: pop
55: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.interrupt:()V
56: StackMap locals:
StackMap stack:
aload 0
iload 6
lload 11
lload 13
invokevirtual sun.nio.ch.FileChannelImpl.map0:(IJJ)J
lstore 7
57: goto 60
StackMap locals:
StackMap stack: java.lang.OutOfMemoryError
58: astore 15
start local 15 59: new java.io.IOException
dup
ldc "Map failed"
aload 15
invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 15 60: StackMap locals:
StackMap stack:
getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 61
lload 7
invokestatic sun.nio.ch.IOStatus.checkAll:(J)Z
ifne 61
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
61: StackMap locals:
StackMap stack:
getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 62
lload 7
getstatic sun.nio.ch.FileChannelImpl.allocationGranularity:J
lrem
lconst_0
lcmp
ifeq 62
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
62: StackMap locals:
StackMap stack:
lload 4
l2i
istore 15
start local 15 63: new sun.nio.ch.FileChannelImpl$Unmapper
dup
lload 7
lload 4
iload 10
i2l
ladd
invokespecial sun.nio.ch.FileChannelImpl$Unmapper.<init>:(JJ)V
astore 16
start local 16 64: aload 0
getfield sun.nio.ch.FileChannelImpl.writable:Z
ifeq 65
iload 6
ifne 69
65: StackMap locals: int sun.nio.ch.FileChannelImpl$Unmapper
StackMap stack:
iload 15
lload 7
iload 10
i2l
ladd
aload 16
invokestatic sun.nio.ch.Util.newMappedByteBufferR:(IJLjava/lang/Runnable;)Ljava/nio/MappedByteBuffer;
astore 18
66: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 9
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
67: aload 0
lload 7
invokestatic sun.nio.ch.IOStatus.checkAll:(J)Z
invokevirtual sun.nio.ch.FileChannelImpl.end:(Z)V
68: aload 18
areturn
69: StackMap locals:
StackMap stack:
iload 15
lload 7
iload 10
i2l
ladd
aload 16
invokestatic sun.nio.ch.Util.newMappedByteBuffer:(IJLjava/lang/Runnable;)Ljava/nio/MappedByteBuffer;
astore 18
70: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 9
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
71: aload 0
lload 7
invokestatic sun.nio.ch.IOStatus.checkAll:(J)Z
invokevirtual sun.nio.ch.FileChannelImpl.end:(Z)V
72: aload 18
areturn
end local 16 end local 15 end local 13 end local 11 end local 10 73: StackMap locals: sun.nio.ch.FileChannelImpl java.nio.channels.FileChannel$MapMode long long int long int
StackMap stack: java.lang.Throwable
astore 17
74: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 9
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
75: aload 0
lload 7
invokestatic sun.nio.ch.IOStatus.checkAll:(J)Z
invokevirtual sun.nio.ch.FileChannelImpl.end:(Z)V
76: aload 17
athrow
end local 9 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 77 0 this Lsun/nio/ch/FileChannelImpl;
0 77 1 mode Ljava/nio/channels/FileChannel$MapMode;
0 77 2 position J
0 77 4 size J
10 77 6 imode I
22 77 7 addr J
23 77 9 ti I
33 34 10 rv I
46 73 10 pagePosition I
47 73 11 mapPosition J
48 73 13 mapSize J
59 60 15 y Ljava/lang/OutOfMemoryError;
63 73 15 isize I
64 73 16 um Lsun/nio/ch/FileChannelImpl$Unmapper;
Exception table:
from to target type
48 49 50 Class java.lang.OutOfMemoryError
52 53 54 Class java.lang.InterruptedException
56 57 58 Class java.lang.OutOfMemoryError
23 25 73 any
28 38 73 any
41 42 73 any
45 66 73 any
69 70 73 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
mode
position
size
private static boolean isSharedFileLockTable();
descriptor: ()Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=0
0: getstatic sun.nio.ch.FileChannelImpl.propertyChecked:Z
ifne 15
1: ldc Lsun/nio/ch/FileChannelImpl;
dup
astore 0
monitorenter
2: getstatic sun.nio.ch.FileChannelImpl.propertyChecked:Z
ifne 11
3: new sun.security.action.GetPropertyAction
dup
4: ldc "sun.nio.ch.disableSystemWideOverlappingFileLockCheck"
5: invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;)V
6: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
astore 1
start local 1 7: aload 1
ifnull 8
aload 1
ldc "false"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 8
iconst_0
goto 9
StackMap locals: java.lang.Class java.lang.String
StackMap stack:
8: iconst_1
StackMap locals:
StackMap stack: int
9: putstatic sun.nio.ch.FileChannelImpl.isSharedFileLockTable:Z
10: iconst_1
putstatic sun.nio.ch.FileChannelImpl.propertyChecked:Z
end local 1 11: StackMap locals:
StackMap stack:
aload 0
monitorexit
12: goto 15
StackMap locals:
StackMap stack: java.lang.Throwable
13: aload 0
monitorexit
14: athrow
15: StackMap locals:
StackMap stack:
getstatic sun.nio.ch.FileChannelImpl.isSharedFileLockTable:Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
7 11 1 value Ljava/lang/String;
Exception table:
from to target type
2 12 13 any
13 14 13 any
private sun.nio.ch.FileChannelImpl$FileLockTable fileLockTable();
descriptor: ()Lsun/nio/ch/FileChannelImpl$FileLockTable;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.nio.ch.FileChannelImpl.fileLockTable:Lsun/nio/ch/FileChannelImpl$FileLockTable;
ifnonnull 11
1: aload 0
dup
astore 1
monitorenter
2: aload 0
getfield sun.nio.ch.FileChannelImpl.fileLockTable:Lsun/nio/ch/FileChannelImpl$FileLockTable;
ifnonnull 7
3: aload 0
invokestatic sun.nio.ch.FileChannelImpl.isSharedFileLockTable:()Z
ifeq 5
4: new sun.nio.ch.FileChannelImpl$SharedFileLockTable
dup
aload 0
invokespecial sun.nio.ch.FileChannelImpl$SharedFileLockTable.<init>:(Lsun/nio/ch/FileChannelImpl;)V
goto 6
StackMap locals: sun.nio.ch.FileChannelImpl sun.nio.ch.FileChannelImpl
StackMap stack: sun.nio.ch.FileChannelImpl
5: new sun.nio.ch.FileChannelImpl$SimpleFileLockTable
dup
invokespecial sun.nio.ch.FileChannelImpl$SimpleFileLockTable.<init>:()V
6: StackMap locals: sun.nio.ch.FileChannelImpl sun.nio.ch.FileChannelImpl
StackMap stack: sun.nio.ch.FileChannelImpl sun.nio.ch.FileChannelImpl$FileLockTable
putfield sun.nio.ch.FileChannelImpl.fileLockTable:Lsun/nio/ch/FileChannelImpl$FileLockTable;
7: StackMap locals:
StackMap stack:
aload 1
monitorexit
8: goto 11
StackMap locals:
StackMap stack: java.lang.Throwable
9: aload 1
monitorexit
10: athrow
11: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.fileLockTable:Lsun/nio/ch/FileChannelImpl$FileLockTable;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/nio/ch/FileChannelImpl;
Exception table:
from to target type
2 8 9 any
9 10 9 any
public java.nio.channels.FileLock lock(long, long, boolean);
descriptor: (JJZ)Ljava/nio/channels/FileLock;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=14, 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/FileChannelImpl$FileLockTable;
astore 7
start local 7 7: aload 7
aload 6
invokeinterface sun.nio.ch.FileChannelImpl$FileLockTable.add:(Ljava/nio/channels/FileLock;)V
8: iconst_1
istore 8
start local 8 9: iconst_m1
istore 9
start local 9 10: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.begin:()V
11: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.isOpen:()Z
ifne 18
12: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 9
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
13: aload 0
iload 8
invokevirtual sun.nio.ch.FileChannelImpl.end:(Z)V
14: goto 17
StackMap locals: sun.nio.ch.FileChannelImpl long long int sun.nio.ch.FileLockImpl sun.nio.ch.FileChannelImpl$FileLockTable int int
StackMap stack: java.nio.channels.ClosedByInterruptException
15: pop
16: new java.nio.channels.FileLockInterruptionException
dup
invokespecial java.nio.channels.FileLockInterruptionException.<init>:()V
athrow
17: StackMap locals:
StackMap stack:
aconst_null
areturn
18: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
invokevirtual sun.nio.ch.NativeThreadSet.add:()I
istore 9
19: aload 0
aload 0
getfield sun.nio.ch.FileChannelImpl.fd:Ljava/io/FileDescriptor;
iconst_1
lload 1
lload 3
iload 5
invokevirtual sun.nio.ch.FileChannelImpl.lock0:(Ljava/io/FileDescriptor;ZJJZ)I
istore 10
start local 10 20: iload 10
iconst_1
if_icmpne 33
21: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 22
iload 5
ifne 22
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
22: StackMap locals: int
StackMap stack:
new sun.nio.ch.FileLockImpl
dup
aload 0
lload 1
lload 3
23: iconst_0
24: invokespecial sun.nio.ch.FileLockImpl.<init>:(Ljava/nio/channels/FileChannel;JJZ)V
astore 11
start local 11 25: aload 7
aload 6
aload 11
invokeinterface sun.nio.ch.FileChannelImpl$FileLockTable.replace:(Ljava/nio/channels/FileLock;Ljava/nio/channels/FileLock;)V
26: aload 11
astore 13
27: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 9
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
28: aload 0
iload 8
invokevirtual sun.nio.ch.FileChannelImpl.end:(Z)V
29: goto 32
StackMap locals: sun.nio.ch.FileChannelImpl long long int sun.nio.ch.FileLockImpl sun.nio.ch.FileChannelImpl$FileLockTable int int int sun.nio.ch.FileLockImpl top java.nio.channels.FileLock
StackMap stack: java.nio.channels.ClosedByInterruptException
30: pop
31: new java.nio.channels.FileLockInterruptionException
dup
invokespecial java.nio.channels.FileLockInterruptionException.<init>:()V
athrow
32: StackMap locals:
StackMap stack:
aload 13
areturn
end local 11 33: StackMap locals: sun.nio.ch.FileChannelImpl long long int sun.nio.ch.FileLockImpl sun.nio.ch.FileChannelImpl$FileLockTable int int int
StackMap stack:
iload 10
iconst_2
if_icmpeq 34
iload 10
iconst_m1
if_icmpne 47
34: StackMap locals:
StackMap stack:
aload 7
aload 6
invokeinterface sun.nio.ch.FileChannelImpl$FileLockTable.remove:(Ljava/nio/channels/FileLock;)V
35: iconst_0
istore 8
end local 10 36: goto 47
StackMap locals: sun.nio.ch.FileChannelImpl long long int sun.nio.ch.FileLockImpl sun.nio.ch.FileChannelImpl$FileLockTable int int
StackMap stack: java.io.IOException
37: astore 10
start local 10 38: aload 7
aload 6
invokeinterface sun.nio.ch.FileChannelImpl$FileLockTable.remove:(Ljava/nio/channels/FileLock;)V
39: aload 10
athrow
end local 10 40: StackMap locals:
StackMap stack: java.lang.Throwable
astore 12
41: aload 0
getfield sun.nio.ch.FileChannelImpl.threads:Lsun/nio/ch/NativeThreadSet;
iload 9
invokevirtual sun.nio.ch.NativeThreadSet.remove:(I)V
42: aload 0
iload 8
invokevirtual sun.nio.ch.FileChannelImpl.end:(Z)V
43: goto 46
StackMap locals: sun.nio.ch.FileChannelImpl long long int sun.nio.ch.FileLockImpl sun.nio.ch.FileChannelImpl$FileLockTable int int top top java.lang.Throwable
StackMap stack: java.nio.channels.ClosedByInterruptException
44: pop
45: new java.nio.channels.FileLockInterruptionException
dup
invokespecial java.nio.channels.FileLockInterruptionException.<init>:()V
athrow
46: StackMap locals:
StackMap stack:
aload 12
athrow
47: StackMap locals: sun.nio.ch.FileChannelImpl long long int sun.nio.ch.FileLockImpl sun.nio.ch.FileChannelImpl$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
48: aload 0
iload 8
invokevirtual sun.nio.ch.FileChannelImpl.end:(Z)V
49: goto 52
StackMap locals:
StackMap stack: java.nio.channels.ClosedByInterruptException
50: pop
51: new java.nio.channels.FileLockInterruptionException
dup
invokespecial java.nio.channels.FileLockInterruptionException.<init>:()V
athrow
52: 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 53 0 this Lsun/nio/ch/FileChannelImpl;
0 53 1 position J
0 53 3 size J
0 53 5 shared Z
6 53 6 fli Lsun/nio/ch/FileLockImpl;
7 53 7 flt Lsun/nio/ch/FileChannelImpl$FileLockTable;
9 53 8 i Z
10 53 9 ti I
20 36 10 result I
25 33 11 fli2 Lsun/nio/ch/FileLockImpl;
38 40 10 e Ljava/io/IOException;
Exception table:
from to target type
13 14 15 Class java.nio.channels.ClosedByInterruptException
28 29 30 Class java.nio.channels.ClosedByInterruptException
10 12 37 Class java.io.IOException
18 27 37 Class java.io.IOException
33 36 37 Class java.io.IOException
10 12 40 any
18 27 40 any
33 40 40 any
42 43 44 Class java.nio.channels.ClosedByInterruptException
48 49 50 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=10, 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/FileChannelImpl$FileLockTable;
astore 7
start local 7 7: aload 7
aload 6
invokeinterface sun.nio.ch.FileChannelImpl$FileLockTable.add:(Ljava/nio/channels/FileLock;)V
8: aload 0
aload 0
getfield sun.nio.ch.FileChannelImpl.fd:Ljava/io/FileDescriptor;
iconst_0
lload 1
lload 3
iload 5
invokevirtual sun.nio.ch.FileChannelImpl.lock0:(Ljava/io/FileDescriptor;ZJJZ)I
istore 8
start local 8 9: iload 8
iconst_m1
if_icmpne 12
10: aload 7
aload 6
invokeinterface sun.nio.ch.FileChannelImpl$FileLockTable.remove:(Ljava/nio/channels/FileLock;)V
11: aconst_null
areturn
12: StackMap locals: sun.nio.ch.FileLockImpl sun.nio.ch.FileChannelImpl$FileLockTable int
StackMap stack:
iload 8
iconst_1
if_icmpne 19
13: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 14
iload 5
ifne 14
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
14: StackMap locals:
StackMap stack:
new sun.nio.ch.FileLockImpl
dup
aload 0
lload 1
lload 3
15: iconst_0
16: invokespecial sun.nio.ch.FileLockImpl.<init>:(Ljava/nio/channels/FileChannel;JJZ)V
astore 9
start local 9 17: aload 7
aload 6
aload 9
invokeinterface sun.nio.ch.FileChannelImpl$FileLockTable.replace:(Ljava/nio/channels/FileLock;Ljava/nio/channels/FileLock;)V
18: aload 9
areturn
end local 9 19: StackMap locals:
StackMap stack:
aload 6
areturn
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 20 0 this Lsun/nio/ch/FileChannelImpl;
0 20 1 position J
0 20 3 size J
0 20 5 shared Z
6 20 6 fli Lsun/nio/ch/FileLockImpl;
7 20 7 flt Lsun/nio/ch/FileChannelImpl$FileLockTable;
9 20 8 result I
17 19 9 fli2 Lsun/nio/ch/FileLockImpl;
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=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.nio.ch.FileChannelImpl.ensureOpen:()V
1: aload 0
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.FileChannelImpl.release0:(Ljava/io/FileDescriptor;JJ)V
2: getstatic sun.nio.ch.FileChannelImpl.$assertionsDisabled:Z
ifne 3
aload 0
getfield sun.nio.ch.FileChannelImpl.fileLockTable:Lsun/nio/ch/FileChannelImpl$FileLockTable;
ifnonnull 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.FileChannelImpl.fileLockTable:Lsun/nio/ch/FileChannelImpl$FileLockTable;
aload 1
invokeinterface sun.nio.ch.FileChannelImpl$FileLockTable.remove:(Ljava/nio/channels/FileLock;)V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/nio/ch/FileChannelImpl;
0 5 1 fli Lsun/nio/ch/FileLockImpl;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
fli
native int lock0(java.io.FileDescriptor, boolean, long, long, boolean);
descriptor: (Ljava/io/FileDescriptor;ZJJZ)I
flags: (0x0100) ACC_NATIVE
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
fd
blocking
pos
size
shared
native void release0(java.io.FileDescriptor, long, long);
descriptor: (Ljava/io/FileDescriptor;JJ)V
flags: (0x0100) ACC_NATIVE
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
fd
pos
size
private native long map0(int, long, long);
descriptor: (IJJ)J
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
prot
position
length
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 int force0(java.io.FileDescriptor, boolean);
descriptor: (Ljava/io/FileDescriptor;Z)I
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
MethodParameters:
Name Flags
fd
metaData
private native int truncate0(java.io.FileDescriptor, long);
descriptor: (Ljava/io/FileDescriptor;J)I
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
MethodParameters:
Name Flags
fd
size
private native long transferTo0(int, long, long, int);
descriptor: (IJJI)J
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
MethodParameters:
Name Flags
src
position
count
dst
private native long position0(java.io.FileDescriptor, long);
descriptor: (Ljava/io/FileDescriptor;J)J
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
MethodParameters:
Name Flags
fd
offset
private native long size0(java.io.FileDescriptor);
descriptor: (Ljava/io/FileDescriptor;)J
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
MethodParameters:
Name Flags
fd
private static native long initIDs();
descriptor: ()J
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
}
SourceFile: "FileChannelImpl.java"
NestMembers:
sun.nio.ch.FileChannelImpl$1 sun.nio.ch.FileChannelImpl$FileLockReference sun.nio.ch.FileChannelImpl$FileLockTable sun.nio.ch.FileChannelImpl$FileLockTable$Releaser sun.nio.ch.FileChannelImpl$SharedFileLockTable sun.nio.ch.FileChannelImpl$SimpleFileLockTable sun.nio.ch.FileChannelImpl$Unmapper
InnerClasses:
public MapMode = java.nio.channels.FileChannel$MapMode of java.nio.channels.FileChannel
sun.nio.ch.FileChannelImpl$1
private FileLockReference = sun.nio.ch.FileChannelImpl$FileLockReference of sun.nio.ch.FileChannelImpl
private abstract FileLockTable = sun.nio.ch.FileChannelImpl$FileLockTable of sun.nio.ch.FileChannelImpl
public abstract Releaser = sun.nio.ch.FileChannelImpl$FileLockTable$Releaser of sun.nio.ch.FileChannelImpl$FileLockTable
private SharedFileLockTable = sun.nio.ch.FileChannelImpl$SharedFileLockTable of sun.nio.ch.FileChannelImpl
private SimpleFileLockTable = sun.nio.ch.FileChannelImpl$SimpleFileLockTable of sun.nio.ch.FileChannelImpl
private Unmapper = sun.nio.ch.FileChannelImpl$Unmapper of sun.nio.ch.FileChannelImpl