class sun.nio.fs.LinuxUserDefinedFileAttributeView extends sun.nio.fs.AbstractUserDefinedFileAttributeView
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.nio.fs.LinuxUserDefinedFileAttributeView
super_class: sun.nio.fs.AbstractUserDefinedFileAttributeView
{
private static final sun.misc.Unsafe unsafe;
descriptor: Lsun/misc/Unsafe;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String USER_NAMESPACE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "user."
private static final int XATTR_NAME_MAX;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 255
private final sun.nio.fs.UnixPath file;
descriptor: Lsun/nio/fs/UnixPath;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean followLinks;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
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=1, locals=0, args_size=0
0: ldc Lsun/nio/fs/LinuxUserDefinedFileAttributeView;
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.fs.LinuxUserDefinedFileAttributeView.$assertionsDisabled:Z
3: invokestatic sun.misc.Unsafe.getUnsafe:()Lsun/misc/Unsafe;
putstatic sun.nio.fs.LinuxUserDefinedFileAttributeView.unsafe:Lsun/misc/Unsafe;
4: return
LocalVariableTable:
Start End Slot Name Signature
private byte[] nameAsBytes(sun.nio.fs.UnixPath, java.lang.String);
descriptor: (Lsun/nio/fs/UnixPath;Ljava/lang/String;)[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 2
1: new java.lang.NullPointerException
dup
ldc "'name' is null"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "user."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
3: aload 2
invokestatic sun.nio.fs.Util.toBytes:(Ljava/lang/String;)[B
astore 3
start local 3 4: aload 3
arraylength
sipush 255
if_icmple 8
5: new java.nio.file.FileSystemException
dup
aload 1
invokevirtual sun.nio.fs.UnixPath.getPathForExceptionMessage:()Ljava/lang/String;
6: aconst_null
new java.lang.StringBuilder
dup
ldc "'"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "' is too big"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: invokespecial java.nio.file.FileSystemException.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
athrow
8: StackMap locals: byte[]
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/nio/fs/LinuxUserDefinedFileAttributeView;
0 9 1 file Lsun/nio/fs/UnixPath;
0 9 2 name Ljava/lang/String;
4 9 3 bytes [B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
file
name
private java.util.List<java.lang.String> asList(long, int);
descriptor: (JI)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=10, args_size=3
start local 0 start local 1 start local 3 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 1: iconst_0
istore 5
start local 5 2: iconst_0
istore 6
start local 6 3: goto 16
4: StackMap locals: java.util.List int int
StackMap stack:
getstatic sun.nio.fs.LinuxUserDefinedFileAttributeView.unsafe:Lsun/misc/Unsafe;
lload 1
iload 6
i2l
ladd
invokevirtual sun.misc.Unsafe.getByte:(J)B
ifne 15
5: iload 6
iload 5
isub
istore 7
start local 7 6: iload 7
newarray 8
astore 8
start local 8 7: getstatic sun.nio.fs.LinuxUserDefinedFileAttributeView.unsafe:Lsun/misc/Unsafe;
aconst_null
lload 1
iload 5
i2l
ladd
aload 8
8: getstatic sun.misc.Unsafe.ARRAY_BYTE_BASE_OFFSET:I
i2l
iload 7
i2l
9: invokevirtual sun.misc.Unsafe.copyMemory:(Ljava/lang/Object;JLjava/lang/Object;JJ)V
10: aload 8
invokestatic sun.nio.fs.Util.toString:([B)Ljava/lang/String;
astore 9
start local 9 11: aload 9
ldc "user."
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 14
12: aload 9
ldc "user."
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 9
13: aload 4
aload 9
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
14: StackMap locals: int byte[] java.lang.String
StackMap stack:
iload 6
iconst_1
iadd
istore 5
end local 9 end local 8 end local 7 15: StackMap locals:
StackMap stack:
iinc 6 1
16: StackMap locals:
StackMap stack:
iload 6
iload 3
if_icmplt 4
17: aload 4
areturn
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 18 0 this Lsun/nio/fs/LinuxUserDefinedFileAttributeView;
0 18 1 address J
0 18 3 size I
1 18 4 list Ljava/util/List<Ljava/lang/String;>;
2 18 5 start I
3 18 6 pos I
6 15 7 len I
7 15 8 value [B
11 15 9 s Ljava/lang/String;
Signature: (JI)Ljava/util/List<Ljava/lang/String;>;
MethodParameters:
Name Flags
address
size
void <init>(sun.nio.fs.UnixPath, boolean);
descriptor: (Lsun/nio/fs/UnixPath;Z)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial sun.nio.fs.AbstractUserDefinedFileAttributeView.<init>:()V
1: aload 0
aload 1
putfield sun.nio.fs.LinuxUserDefinedFileAttributeView.file:Lsun/nio/fs/UnixPath;
2: aload 0
iload 2
putfield sun.nio.fs.LinuxUserDefinedFileAttributeView.followLinks:Z
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/nio/fs/LinuxUserDefinedFileAttributeView;
0 4 1 file Lsun/nio/fs/UnixPath;
0 4 2 followLinks Z
MethodParameters:
Name Flags
file
followLinks
public java.util.List<java.lang.String> list();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=8, args_size=1
start local 0 0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
ifnull 2
1: aload 0
aload 0
getfield sun.nio.fs.LinuxUserDefinedFileAttributeView.file:Lsun/nio/fs/UnixPath;
invokevirtual sun.nio.fs.UnixPath.getPathForPermissionCheck:()Ljava/lang/String;
iconst_1
iconst_0
invokevirtual sun.nio.fs.LinuxUserDefinedFileAttributeView.checkAccess:(Ljava/lang/String;ZZ)V
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.fs.LinuxUserDefinedFileAttributeView.file:Lsun/nio/fs/UnixPath;
aload 0
getfield sun.nio.fs.LinuxUserDefinedFileAttributeView.followLinks:Z
invokevirtual sun.nio.fs.UnixPath.openForAttributeAccess:(Z)I
istore 1
start local 1 3: aconst_null
astore 2
start local 2 4: sipush 1024
istore 3
start local 3 5: iload 3
invokestatic sun.nio.fs.NativeBuffers.getNativeBuffer:(I)Lsun/nio/fs/NativeBuffer;
astore 2
6: StackMap locals: int sun.nio.fs.NativeBuffer int
StackMap stack:
iload 1
aload 2
invokevirtual sun.nio.fs.NativeBuffer.address:()J
iload 3
invokestatic sun.nio.fs.LinuxNativeDispatcher.flistxattr:(IJI)I
istore 4
start local 4 7: aload 0
aload 2
invokevirtual sun.nio.fs.NativeBuffer.address:()J
iload 4
invokevirtual sun.nio.fs.LinuxUserDefinedFileAttributeView.asList:(JI)Ljava/util/List;
astore 5
start local 5 8: aload 5
invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
astore 7
9: aload 2
ifnull 11
10: aload 2
invokevirtual sun.nio.fs.NativeBuffer.release:()V
11: StackMap locals: sun.nio.fs.LinuxUserDefinedFileAttributeView int sun.nio.fs.NativeBuffer int int java.util.List top java.util.List
StackMap stack:
iload 1
invokestatic sun.nio.fs.UnixNativeDispatcher.close:(I)V
12: aload 7
areturn
end local 5 end local 4 13: StackMap locals: sun.nio.fs.LinuxUserDefinedFileAttributeView int sun.nio.fs.NativeBuffer int
StackMap stack: sun.nio.fs.UnixException
astore 4
start local 4 14: aload 4
invokevirtual sun.nio.fs.UnixException.errno:()I
bipush 34
if_icmpne 20
iload 3
ldc 32768
if_icmpge 20
15: aload 2
invokevirtual sun.nio.fs.NativeBuffer.release:()V
16: iload 3
iconst_2
imul
istore 3
17: aconst_null
astore 2
18: iload 3
invokestatic sun.nio.fs.NativeBuffers.getNativeBuffer:(I)Lsun/nio/fs/NativeBuffer;
astore 2
19: goto 6
20: StackMap locals: sun.nio.fs.UnixException
StackMap stack:
new java.nio.file.FileSystemException
dup
aload 0
getfield sun.nio.fs.LinuxUserDefinedFileAttributeView.file:Lsun/nio/fs/UnixPath;
invokevirtual sun.nio.fs.UnixPath.getPathForExceptionMessage:()Ljava/lang/String;
21: aconst_null
new java.lang.StringBuilder
dup
ldc "Unable to get list of extended attributes: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
22: aload 4
invokevirtual sun.nio.fs.UnixException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
23: invokespecial java.nio.file.FileSystemException.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
athrow
end local 4 end local 3 24: StackMap locals: sun.nio.fs.LinuxUserDefinedFileAttributeView int sun.nio.fs.NativeBuffer
StackMap stack: java.lang.Throwable
astore 6
25: aload 2
ifnull 27
26: aload 2
invokevirtual sun.nio.fs.NativeBuffer.release:()V
27: StackMap locals: sun.nio.fs.LinuxUserDefinedFileAttributeView int sun.nio.fs.NativeBuffer top top top java.lang.Throwable
StackMap stack:
iload 1
invokestatic sun.nio.fs.UnixNativeDispatcher.close:(I)V
28: aload 6
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lsun/nio/fs/LinuxUserDefinedFileAttributeView;
3 29 1 fd I
4 29 2 buffer Lsun/nio/fs/NativeBuffer;
5 24 3 size I
7 13 4 n I
8 13 5 list Ljava/util/List<Ljava/lang/String;>;
14 24 4 x Lsun/nio/fs/UnixException;
Exception table:
from to target type
6 9 13 Class sun.nio.fs.UnixException
4 9 24 any
13 24 24 any
Exceptions:
throws java.io.IOException
Signature: ()Ljava/util/List<Ljava/lang/String;>;
public int size(java.lang.String);
descriptor: (Ljava/lang/String;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=6, args_size=2
start local 0 start local 1 0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
ifnull 2
1: aload 0
aload 0
getfield sun.nio.fs.LinuxUserDefinedFileAttributeView.file:Lsun/nio/fs/UnixPath;
invokevirtual sun.nio.fs.UnixPath.getPathForPermissionCheck:()Ljava/lang/String;
iconst_1
iconst_0
invokevirtual sun.nio.fs.LinuxUserDefinedFileAttributeView.checkAccess:(Ljava/lang/String;ZZ)V
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.fs.LinuxUserDefinedFileAttributeView.file:Lsun/nio/fs/UnixPath;
aload 0
getfield sun.nio.fs.LinuxUserDefinedFileAttributeView.followLinks:Z
invokevirtual sun.nio.fs.UnixPath.openForAttributeAccess:(Z)I
istore 2
start local 2 3: iload 2
aload 0
aload 0
getfield sun.nio.fs.LinuxUserDefinedFileAttributeView.file:Lsun/nio/fs/UnixPath;
aload 1
invokevirtual sun.nio.fs.LinuxUserDefinedFileAttributeView.nameAsBytes:(Lsun/nio/fs/UnixPath;Ljava/lang/String;)[B
lconst_0
iconst_0
invokestatic sun.nio.fs.LinuxNativeDispatcher.fgetxattr:(I[BJI)I
istore 5
4: iload 2
invokestatic sun.nio.fs.UnixNativeDispatcher.close:(I)V
5: iload 5
ireturn
6: StackMap locals: sun.nio.fs.LinuxUserDefinedFileAttributeView java.lang.String int
StackMap stack: sun.nio.fs.UnixException
astore 3
start local 3 7: new java.nio.file.FileSystemException
dup
aload 0
getfield sun.nio.fs.LinuxUserDefinedFileAttributeView.file:Lsun/nio/fs/UnixPath;
invokevirtual sun.nio.fs.UnixPath.getPathForExceptionMessage:()Ljava/lang/String;
8: aconst_null
new java.lang.StringBuilder
dup
ldc "Unable to get size of extended attribute '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
9: ldc "': "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual sun.nio.fs.UnixException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
10: invokespecial java.nio.file.FileSystemException.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
athrow
end local 3 11: StackMap locals:
StackMap stack: java.lang.Throwable
astore 4
12: iload 2
invokestatic sun.nio.fs.UnixNativeDispatcher.close:(I)V
13: aload 4
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lsun/nio/fs/LinuxUserDefinedFileAttributeView;
0 14 1 name Ljava/lang/String;
3 14 2 fd I
7 11 3 x Lsun/nio/fs/UnixException;
Exception table:
from to target type
3 4 6 Class sun.nio.fs.UnixException
3 4 11 any
6 11 11 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
name
public int read(java.lang.String, java.nio.ByteBuffer);
descriptor: (Ljava/lang/String;Ljava/nio/ByteBuffer;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=15, args_size=3
start local 0 start local 1 start local 2 0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
ifnull 2
1: aload 0
aload 0
getfield sun.nio.fs.LinuxUserDefinedFileAttributeView.file:Lsun/nio/fs/UnixPath;
invokevirtual sun.nio.fs.UnixPath.getPathForPermissionCheck:()Ljava/lang/String;
iconst_1
iconst_0
invokevirtual sun.nio.fs.LinuxUserDefinedFileAttributeView.checkAccess:(Ljava/lang/String;ZZ)V
2: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.nio.ByteBuffer.isReadOnly:()Z
ifeq 4
3: new java.lang.IllegalArgumentException
dup
ldc "Read-only buffer"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.nio.ByteBuffer.position:()I
istore 3
start local 3 5: aload 2
invokevirtual java.nio.ByteBuffer.limit:()I
istore 4
start local 4 6: getstatic sun.nio.fs.LinuxUserDefinedFileAttributeView.$assertionsDisabled:Z
ifne 7
iload 3
iload 4
if_icmple 7
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
7: StackMap locals: int int
StackMap stack:
iload 3
iload 4
if_icmpgt 8
iload 4
iload 3
isub
goto 9
StackMap locals:
StackMap stack:
8: iconst_0
StackMap locals:
StackMap stack: int
9: istore 5
start local 5 10: aload 2
instanceof sun.nio.ch.DirectBuffer
ifeq 14
11: aconst_null
astore 6
start local 6 12: aload 2
checkcast sun.nio.ch.DirectBuffer
invokeinterface sun.nio.ch.DirectBuffer.address:()J
iload 3
i2l
ladd
lstore 7
start local 7 13: goto 16
end local 7 end local 6 14: StackMap locals: int
StackMap stack:
iload 5
invokestatic sun.nio.fs.NativeBuffers.getNativeBuffer:(I)Lsun/nio/fs/NativeBuffer;
astore 6
start local 6 15: aload 6
invokevirtual sun.nio.fs.NativeBuffer.address:()J
lstore 7
start local 7 16: StackMap locals: sun.nio.fs.NativeBuffer long
StackMap stack:
aload 0
getfield sun.nio.fs.LinuxUserDefinedFileAttributeView.file:Lsun/nio/fs/UnixPath;
aload 0
getfield sun.nio.fs.LinuxUserDefinedFileAttributeView.followLinks:Z
invokevirtual sun.nio.fs.UnixPath.openForAttributeAccess:(Z)I
istore 9
start local 9 17: iload 9
aload 0
aload 0
getfield sun.nio.fs.LinuxUserDefinedFileAttributeView.file:Lsun/nio/fs/UnixPath;
aload 1
invokevirtual sun.nio.fs.LinuxUserDefinedFileAttributeView.nameAsBytes:(Lsun/nio/fs/UnixPath;Ljava/lang/String;)[B
lload 7
iload 5
invokestatic sun.nio.fs.LinuxNativeDispatcher.fgetxattr:(I[BJI)I
istore 10
start local 10 18: iload 5
ifne 25
19: iload 10
ifle 21
20: new sun.nio.fs.UnixException
dup
bipush 34
invokespecial sun.nio.fs.UnixException.<init>:(I)V
athrow
21: StackMap locals: int int
StackMap stack:
iload 9
invokestatic sun.nio.fs.UnixNativeDispatcher.close:(I)V
22: aload 6
ifnull 24
23: aload 6
invokevirtual sun.nio.fs.NativeBuffer.release:()V
24: StackMap locals:
StackMap stack:
iconst_0
ireturn
25: StackMap locals:
StackMap stack:
aload 6
ifnull 28
26: aload 2
invokevirtual java.nio.ByteBuffer.arrayOffset:()I
iload 3
iadd
getstatic sun.misc.Unsafe.ARRAY_BYTE_BASE_OFFSET:I
iadd
istore 11
start local 11 27: getstatic sun.nio.fs.LinuxUserDefinedFileAttributeView.unsafe:Lsun/misc/Unsafe;
aconst_null
lload 7
aload 2
invokevirtual java.nio.ByteBuffer.array:()[B
iload 11
i2l
iload 10
i2l
invokevirtual sun.misc.Unsafe.copyMemory:(Ljava/lang/Object;JLjava/lang/Object;JJ)V
end local 11 28: StackMap locals:
StackMap stack:
aload 2
iload 3
iload 10
iadd
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
29: iload 10
istore 13
30: iload 9
invokestatic sun.nio.fs.UnixNativeDispatcher.close:(I)V
31: aload 6
ifnull 33
32: aload 6
invokevirtual sun.nio.fs.NativeBuffer.release:()V
33: StackMap locals: sun.nio.fs.LinuxUserDefinedFileAttributeView java.lang.String java.nio.ByteBuffer int int int sun.nio.fs.NativeBuffer long int int top top int
StackMap stack:
iload 13
ireturn
end local 10 34: StackMap locals: sun.nio.fs.LinuxUserDefinedFileAttributeView java.lang.String java.nio.ByteBuffer int int int sun.nio.fs.NativeBuffer long int
StackMap stack: sun.nio.fs.UnixException
astore 10
start local 10 35: aload 10
invokevirtual sun.nio.fs.UnixException.errno:()I
bipush 34
if_icmpne 37
36: ldc "Insufficient space in buffer"
goto 38
StackMap locals: sun.nio.fs.UnixException
StackMap stack:
37: aload 10
invokevirtual sun.nio.fs.UnixException.getMessage:()Ljava/lang/String;
38: StackMap locals:
StackMap stack: java.lang.String
astore 11
start local 11 39: new java.nio.file.FileSystemException
dup
aload 0
getfield sun.nio.fs.LinuxUserDefinedFileAttributeView.file:Lsun/nio/fs/UnixPath;
invokevirtual sun.nio.fs.UnixPath.getPathForExceptionMessage:()Ljava/lang/String;
40: aconst_null
new java.lang.StringBuilder
dup
ldc "Error reading extended attribute '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "': "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 11
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
41: invokespecial java.nio.file.FileSystemException.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
athrow
end local 11 end local 10 42: StackMap locals: sun.nio.fs.LinuxUserDefinedFileAttributeView java.lang.String java.nio.ByteBuffer int int int sun.nio.fs.NativeBuffer long int
StackMap stack: java.lang.Throwable
astore 12
43: iload 9
invokestatic sun.nio.fs.UnixNativeDispatcher.close:(I)V
44: aload 12
athrow
45: StackMap locals:
StackMap stack: java.lang.Throwable
astore 14
46: aload 6
ifnull 48
47: aload 6
invokevirtual sun.nio.fs.NativeBuffer.release:()V
48: StackMap locals: sun.nio.fs.LinuxUserDefinedFileAttributeView java.lang.String java.nio.ByteBuffer int int int sun.nio.fs.NativeBuffer long int top top top top java.lang.Throwable
StackMap stack:
aload 14
athrow
end local 9 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 49 0 this Lsun/nio/fs/LinuxUserDefinedFileAttributeView;
0 49 1 name Ljava/lang/String;
0 49 2 dst Ljava/nio/ByteBuffer;
5 49 3 pos I
6 49 4 lim I
10 49 5 rem I
12 14 6 nb Lsun/nio/fs/NativeBuffer;
15 49 6 nb Lsun/nio/fs/NativeBuffer;
13 14 7 address J
16 49 7 address J
17 49 9 fd I
18 34 10 n I
27 28 11 off I
35 42 10 x Lsun/nio/fs/UnixException;
39 42 11 msg Ljava/lang/String;
Exception table:
from to target type
17 21 34 Class sun.nio.fs.UnixException
25 30 34 Class sun.nio.fs.UnixException
17 21 42 any
25 30 42 any
34 42 42 any
17 22 45 any
25 31 45 any
34 45 45 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
name
dst
public int write(java.lang.String, java.nio.ByteBuffer);
descriptor: (Ljava/lang/String;Ljava/nio/ByteBuffer;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=14, args_size=3
start local 0 start local 1 start local 2 0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
ifnull 2
1: aload 0
aload 0
getfield sun.nio.fs.LinuxUserDefinedFileAttributeView.file:Lsun/nio/fs/UnixPath;
invokevirtual sun.nio.fs.UnixPath.getPathForPermissionCheck:()Ljava/lang/String;
iconst_0
iconst_1
invokevirtual sun.nio.fs.LinuxUserDefinedFileAttributeView.checkAccess:(Ljava/lang/String;ZZ)V
2: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.nio.ByteBuffer.position:()I
istore 3
start local 3 3: aload 2
invokevirtual java.nio.ByteBuffer.limit:()I
istore 4
start local 4 4: getstatic sun.nio.fs.LinuxUserDefinedFileAttributeView.$assertionsDisabled:Z
ifne 5
iload 3
iload 4
if_icmple 5
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals: int int
StackMap stack:
iload 3
iload 4
if_icmpgt 6
iload 4
iload 3
isub
goto 7
StackMap locals:
StackMap stack:
6: iconst_0
StackMap locals:
StackMap stack: int
7: istore 5
start local 5 8: aload 2
instanceof sun.nio.ch.DirectBuffer
ifeq 12
9: aconst_null
astore 6
start local 6 10: aload 2
checkcast sun.nio.ch.DirectBuffer
invokeinterface sun.nio.ch.DirectBuffer.address:()J
iload 3
i2l
ladd
lstore 7
start local 7 11: goto 24
end local 7 end local 6 12: StackMap locals: int
StackMap stack:
iload 5
invokestatic sun.nio.fs.NativeBuffers.getNativeBuffer:(I)Lsun/nio/fs/NativeBuffer;
astore 6
start local 6 13: aload 6
invokevirtual sun.nio.fs.NativeBuffer.address:()J
lstore 7
start local 7 14: aload 2
invokevirtual java.nio.ByteBuffer.hasArray:()Z
ifeq 18
15: aload 2
invokevirtual java.nio.ByteBuffer.arrayOffset:()I
iload 3
iadd
getstatic sun.misc.Unsafe.ARRAY_BYTE_BASE_OFFSET:I
iadd
istore 9
start local 9 16: getstatic sun.nio.fs.LinuxUserDefinedFileAttributeView.unsafe:Lsun/misc/Unsafe;
aload 2
invokevirtual java.nio.ByteBuffer.array:()[B
iload 9
i2l
aconst_null
lload 7
iload 5
i2l
invokevirtual sun.misc.Unsafe.copyMemory:(Ljava/lang/Object;JLjava/lang/Object;JJ)V
end local 9 17: goto 24
18: StackMap locals: sun.nio.fs.NativeBuffer long
StackMap stack:
iload 5
newarray 8
astore 9
start local 9 19: aload 2
aload 9
invokevirtual java.nio.ByteBuffer.get:([B)Ljava/nio/ByteBuffer;
pop
20: aload 2
iload 3
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
21: getstatic sun.nio.fs.LinuxUserDefinedFileAttributeView.unsafe:Lsun/misc/Unsafe;
aload 9
getstatic sun.misc.Unsafe.ARRAY_BYTE_BASE_OFFSET:I
i2l
aconst_null
22: lload 7
iload 5
i2l
23: invokevirtual sun.misc.Unsafe.copyMemory:(Ljava/lang/Object;JLjava/lang/Object;JJ)V
end local 9 24: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.fs.LinuxUserDefinedFileAttributeView.file:Lsun/nio/fs/UnixPath;
aload 0
getfield sun.nio.fs.LinuxUserDefinedFileAttributeView.followLinks:Z
invokevirtual sun.nio.fs.UnixPath.openForAttributeAccess:(Z)I
istore 9
start local 9 25: iload 9
aload 0
aload 0
getfield sun.nio.fs.LinuxUserDefinedFileAttributeView.file:Lsun/nio/fs/UnixPath;
aload 1
invokevirtual sun.nio.fs.LinuxUserDefinedFileAttributeView.nameAsBytes:(Lsun/nio/fs/UnixPath;Ljava/lang/String;)[B
lload 7
iload 5
invokestatic sun.nio.fs.LinuxNativeDispatcher.fsetxattr:(I[BJI)V
26: aload 2
iload 3
iload 5
iadd
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
27: iload 5
istore 12
28: iload 9
invokestatic sun.nio.fs.UnixNativeDispatcher.close:(I)V
29: aload 6
ifnull 31
30: aload 6
invokevirtual sun.nio.fs.NativeBuffer.release:()V
31: StackMap locals: sun.nio.fs.LinuxUserDefinedFileAttributeView java.lang.String java.nio.ByteBuffer int int int sun.nio.fs.NativeBuffer long int top top int
StackMap stack:
iload 12
ireturn
32: StackMap locals: sun.nio.fs.LinuxUserDefinedFileAttributeView java.lang.String java.nio.ByteBuffer int int int sun.nio.fs.NativeBuffer long int
StackMap stack: sun.nio.fs.UnixException
astore 10
start local 10 33: new java.nio.file.FileSystemException
dup
aload 0
getfield sun.nio.fs.LinuxUserDefinedFileAttributeView.file:Lsun/nio/fs/UnixPath;
invokevirtual sun.nio.fs.UnixPath.getPathForExceptionMessage:()Ljava/lang/String;
34: aconst_null
new java.lang.StringBuilder
dup
ldc "Error writing extended attribute '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "': "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
35: aload 10
invokevirtual sun.nio.fs.UnixException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
36: invokespecial java.nio.file.FileSystemException.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
athrow
end local 10 37: StackMap locals:
StackMap stack: java.lang.Throwable
astore 11
38: iload 9
invokestatic sun.nio.fs.UnixNativeDispatcher.close:(I)V
39: aload 11
athrow
40: StackMap locals:
StackMap stack: java.lang.Throwable
astore 13
41: aload 6
ifnull 43
42: aload 6
invokevirtual sun.nio.fs.NativeBuffer.release:()V
43: StackMap locals: sun.nio.fs.LinuxUserDefinedFileAttributeView java.lang.String java.nio.ByteBuffer int int int sun.nio.fs.NativeBuffer long int top top top java.lang.Throwable
StackMap stack:
aload 13
athrow
end local 9 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 44 0 this Lsun/nio/fs/LinuxUserDefinedFileAttributeView;
0 44 1 name Ljava/lang/String;
0 44 2 src Ljava/nio/ByteBuffer;
3 44 3 pos I
4 44 4 lim I
8 44 5 rem I
10 12 6 nb Lsun/nio/fs/NativeBuffer;
13 44 6 nb Lsun/nio/fs/NativeBuffer;
11 12 7 address J
14 44 7 address J
16 17 9 off I
19 24 9 tmp [B
25 44 9 fd I
33 37 10 x Lsun/nio/fs/UnixException;
Exception table:
from to target type
25 28 32 Class sun.nio.fs.UnixException
25 28 37 any
32 37 37 any
25 29 40 any
32 40 40 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
name
src
public void delete(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=2
start local 0 start local 1 0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
ifnull 2
1: aload 0
aload 0
getfield sun.nio.fs.LinuxUserDefinedFileAttributeView.file:Lsun/nio/fs/UnixPath;
invokevirtual sun.nio.fs.UnixPath.getPathForPermissionCheck:()Ljava/lang/String;
iconst_0
iconst_1
invokevirtual sun.nio.fs.LinuxUserDefinedFileAttributeView.checkAccess:(Ljava/lang/String;ZZ)V
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.fs.LinuxUserDefinedFileAttributeView.file:Lsun/nio/fs/UnixPath;
aload 0
getfield sun.nio.fs.LinuxUserDefinedFileAttributeView.followLinks:Z
invokevirtual sun.nio.fs.UnixPath.openForAttributeAccess:(Z)I
istore 2
start local 2 3: iload 2
aload 0
aload 0
getfield sun.nio.fs.LinuxUserDefinedFileAttributeView.file:Lsun/nio/fs/UnixPath;
aload 1
invokevirtual sun.nio.fs.LinuxUserDefinedFileAttributeView.nameAsBytes:(Lsun/nio/fs/UnixPath;Ljava/lang/String;)[B
invokestatic sun.nio.fs.LinuxNativeDispatcher.fremovexattr:(I[B)V
4: goto 12
StackMap locals: sun.nio.fs.LinuxUserDefinedFileAttributeView java.lang.String int
StackMap stack: sun.nio.fs.UnixException
5: astore 3
start local 3 6: new java.nio.file.FileSystemException
dup
aload 0
getfield sun.nio.fs.LinuxUserDefinedFileAttributeView.file:Lsun/nio/fs/UnixPath;
invokevirtual sun.nio.fs.UnixPath.getPathForExceptionMessage:()Ljava/lang/String;
7: aconst_null
new java.lang.StringBuilder
dup
ldc "Unable to delete extended attribute '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "': "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual sun.nio.fs.UnixException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: invokespecial java.nio.file.FileSystemException.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
athrow
end local 3 9: StackMap locals:
StackMap stack: java.lang.Throwable
astore 4
10: iload 2
invokestatic sun.nio.fs.UnixNativeDispatcher.close:(I)V
11: aload 4
athrow
12: StackMap locals:
StackMap stack:
iload 2
invokestatic sun.nio.fs.UnixNativeDispatcher.close:(I)V
13: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lsun/nio/fs/LinuxUserDefinedFileAttributeView;
0 14 1 name Ljava/lang/String;
3 14 2 fd I
6 9 3 x Lsun/nio/fs/UnixException;
Exception table:
from to target type
3 4 5 Class sun.nio.fs.UnixException
3 9 9 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
name
static void copyExtendedAttributes(int, int);
descriptor: (II)V
flags: (0x0008) ACC_STATIC
Code:
stack=9, locals=11, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: sipush 1024
istore 3
start local 3 2: iload 3
invokestatic sun.nio.fs.NativeBuffers.getNativeBuffer:(I)Lsun/nio/fs/NativeBuffer;
astore 2
3: StackMap locals: sun.nio.fs.NativeBuffer int
StackMap stack:
iload 0
aload 2
invokevirtual sun.nio.fs.NativeBuffer.address:()J
iload 3
invokestatic sun.nio.fs.LinuxNativeDispatcher.flistxattr:(IJI)I
istore 3
4: goto 15
5: StackMap locals:
StackMap stack: sun.nio.fs.UnixException
astore 4
start local 4 6: aload 4
invokevirtual sun.nio.fs.UnixException.errno:()I
bipush 34
if_icmpne 12
iload 3
ldc 32768
if_icmpge 12
7: aload 2
invokevirtual sun.nio.fs.NativeBuffer.release:()V
8: iload 3
iconst_2
imul
istore 3
9: aconst_null
astore 2
10: iload 3
invokestatic sun.nio.fs.NativeBuffers.getNativeBuffer:(I)Lsun/nio/fs/NativeBuffer;
astore 2
11: goto 3
12: StackMap locals: sun.nio.fs.UnixException
StackMap stack:
aload 2
ifnull 14
13: aload 2
invokevirtual sun.nio.fs.NativeBuffer.release:()V
14: StackMap locals:
StackMap stack:
return
end local 4 15: StackMap locals:
StackMap stack:
aload 2
invokevirtual sun.nio.fs.NativeBuffer.address:()J
lstore 4
start local 4 16: iconst_0
istore 6
start local 6 17: iconst_0
istore 7
start local 7 18: goto 30
19: StackMap locals: long int int
StackMap stack:
getstatic sun.nio.fs.LinuxUserDefinedFileAttributeView.unsafe:Lsun/misc/Unsafe;
lload 4
iload 7
i2l
ladd
invokevirtual sun.misc.Unsafe.getByte:(J)B
ifne 29
20: iload 7
iload 6
isub
istore 8
start local 8 21: iload 8
newarray 8
astore 9
start local 9 22: getstatic sun.nio.fs.LinuxUserDefinedFileAttributeView.unsafe:Lsun/misc/Unsafe;
aconst_null
lload 4
iload 6
i2l
ladd
aload 9
23: getstatic sun.misc.Unsafe.ARRAY_BYTE_BASE_OFFSET:I
i2l
iload 8
i2l
24: invokevirtual sun.misc.Unsafe.copyMemory:(Ljava/lang/Object;JLjava/lang/Object;JJ)V
25: iload 0
aload 9
iload 1
invokestatic sun.nio.fs.LinuxUserDefinedFileAttributeView.copyExtendedAttribute:(I[BI)V
26: goto 28
StackMap locals: int int sun.nio.fs.NativeBuffer int long int int int byte[]
StackMap stack: sun.nio.fs.UnixException
27: pop
28: StackMap locals:
StackMap stack:
iload 7
iconst_1
iadd
istore 6
end local 9 end local 8 29: StackMap locals:
StackMap stack:
iinc 7 1
30: StackMap locals:
StackMap stack:
iload 7
iload 3
if_icmplt 19
end local 7 end local 6 end local 4 end local 3 31: goto 36
StackMap locals: int int sun.nio.fs.NativeBuffer
StackMap stack: java.lang.Throwable
32: astore 10
33: aload 2
ifnull 35
34: aload 2
invokevirtual sun.nio.fs.NativeBuffer.release:()V
35: StackMap locals: int int sun.nio.fs.NativeBuffer top top top top top top top java.lang.Throwable
StackMap stack:
aload 10
athrow
36: StackMap locals: int int sun.nio.fs.NativeBuffer
StackMap stack:
aload 2
ifnull 38
37: aload 2
invokevirtual sun.nio.fs.NativeBuffer.release:()V
38: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 39 0 ofd I
0 39 1 nfd I
1 39 2 buffer Lsun/nio/fs/NativeBuffer;
2 31 3 size I
6 15 4 x Lsun/nio/fs/UnixException;
16 31 4 address J
17 31 6 start I
18 31 7 pos I
21 29 8 len I
22 29 9 name [B
Exception table:
from to target type
3 4 5 Class sun.nio.fs.UnixException
25 26 27 Class sun.nio.fs.UnixException
1 12 32 any
15 32 32 any
MethodParameters:
Name Flags
ofd
nfd
private static void copyExtendedAttribute(int, byte[], int);
descriptor: (I[BI)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=8, args_size=3
start local 0 start local 1 start local 2 0: iload 0
aload 1
lconst_0
iconst_0
invokestatic sun.nio.fs.LinuxNativeDispatcher.fgetxattr:(I[BJI)I
istore 3
start local 3 1: iload 3
invokestatic sun.nio.fs.NativeBuffers.getNativeBuffer:(I)Lsun/nio/fs/NativeBuffer;
astore 4
start local 4 2: aload 4
invokevirtual sun.nio.fs.NativeBuffer.address:()J
lstore 5
start local 5 3: iload 0
aload 1
lload 5
iload 3
invokestatic sun.nio.fs.LinuxNativeDispatcher.fgetxattr:(I[BJI)I
istore 3
4: iload 2
aload 1
lload 5
iload 3
invokestatic sun.nio.fs.LinuxNativeDispatcher.fsetxattr:(I[BJI)V
end local 5 5: goto 9
StackMap locals: int byte[] int int sun.nio.fs.NativeBuffer
StackMap stack: java.lang.Throwable
6: astore 7
7: aload 4
invokevirtual sun.nio.fs.NativeBuffer.release:()V
8: aload 7
athrow
9: StackMap locals:
StackMap stack:
aload 4
invokevirtual sun.nio.fs.NativeBuffer.release:()V
10: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 ofd I
0 11 1 name [B
0 11 2 nfd I
1 11 3 size I
2 11 4 buffer Lsun/nio/fs/NativeBuffer;
3 5 5 address J
Exception table:
from to target type
2 6 6 any
Exceptions:
throws sun.nio.fs.UnixException
MethodParameters:
Name Flags
ofd
name
nfd
}
SourceFile: "LinuxUserDefinedFileAttributeView.java"