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 jdk.internal.misc.Unsafe unsafe;
descriptor: Ljdk/internal/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 jdk.internal.misc.Unsafe.getUnsafe:()Ljdk/internal/misc/Unsafe;
putstatic sun.nio.fs.LinuxUserDefinedFileAttributeView.unsafe:Ljdk/internal/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:Ljdk/internal/misc/Unsafe;
lload 1
iload 6
i2l
ladd
invokevirtual jdk.internal.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:Ljdk/internal/misc/Unsafe;
aconst_null
lload 1
iload 5
i2l
ladd
aload 8
8: getstatic jdk.internal.misc.Unsafe.ARRAY_BYTE_BASE_OFFSET:I
i2l
iload 7
i2l
9: invokevirtual jdk.internal.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:
iconst_m1
istore 1
start local 1 3: 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
4: goto 7
StackMap locals: sun.nio.fs.LinuxUserDefinedFileAttributeView int
StackMap stack: sun.nio.fs.UnixException
5: astore 2
start local 2 6: aload 2
aload 0
getfield sun.nio.fs.LinuxUserDefinedFileAttributeView.file:Lsun/nio/fs/UnixPath;
invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
end local 2 7: StackMap locals:
StackMap stack:
aconst_null
astore 2
start local 2 8: sipush 1024
istore 3
start local 3 9: iload 3
invokestatic sun.nio.fs.NativeBuffers.getNativeBuffer:(I)Lsun/nio/fs/NativeBuffer;
astore 2
10: StackMap locals: 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 11: 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 12: aload 5
invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
astore 7
13: aload 2
ifnull 15
14: aload 2
invokevirtual sun.nio.fs.NativeBuffer.release:()V
15: 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
16: aload 7
areturn
end local 5 end local 4 17: StackMap locals: sun.nio.fs.LinuxUserDefinedFileAttributeView int sun.nio.fs.NativeBuffer int
StackMap stack: sun.nio.fs.UnixException
astore 4
start local 4 18: aload 4
invokevirtual sun.nio.fs.UnixException.errno:()I
bipush 34
if_icmpne 24
iload 3
ldc 32768
if_icmpge 24
19: aload 2
invokevirtual sun.nio.fs.NativeBuffer.release:()V
20: iload 3
iconst_2
imul
istore 3
21: aconst_null
astore 2
22: iload 3
invokestatic sun.nio.fs.NativeBuffers.getNativeBuffer:(I)Lsun/nio/fs/NativeBuffer;
astore 2
23: goto 10
24: 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;
25: aconst_null
new java.lang.StringBuilder
dup
ldc "Unable to get list of extended attributes: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
26: 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;
27: invokespecial java.nio.file.FileSystemException.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
athrow
end local 4 end local 3 28: StackMap locals: sun.nio.fs.LinuxUserDefinedFileAttributeView int sun.nio.fs.NativeBuffer
StackMap stack: java.lang.Throwable
astore 6
29: aload 2
ifnull 31
30: aload 2
invokevirtual sun.nio.fs.NativeBuffer.release:()V
31: 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
32: aload 6
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lsun/nio/fs/LinuxUserDefinedFileAttributeView;
3 33 1 fd I
6 7 2 x Lsun/nio/fs/UnixException;
8 33 2 buffer Lsun/nio/fs/NativeBuffer;
9 28 3 size I
11 17 4 n I
12 17 5 list Ljava/util/List<Ljava/lang/String;>;
18 28 4 x Lsun/nio/fs/UnixException;
Exception table:
from to target type
3 4 5 Class sun.nio.fs.UnixException
10 13 17 Class sun.nio.fs.UnixException
8 13 28 any
17 28 28 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:
iconst_m1
istore 2
start local 2 3: 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
4: goto 7
StackMap locals: sun.nio.fs.LinuxUserDefinedFileAttributeView java.lang.String int
StackMap stack: sun.nio.fs.UnixException
5: astore 3
start local 3 6: aload 3
aload 0
getfield sun.nio.fs.LinuxUserDefinedFileAttributeView.file:Lsun/nio/fs/UnixPath;
invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
end local 3 7: StackMap locals:
StackMap stack:
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
8: iload 2
invokestatic sun.nio.fs.UnixNativeDispatcher.close:(I)V
9: iload 5
ireturn
10: StackMap locals:
StackMap stack: sun.nio.fs.UnixException
astore 3
start local 3 11: 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;
12: 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;
13: 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;
14: invokespecial java.nio.file.FileSystemException.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
athrow
end local 3 15: StackMap locals:
StackMap stack: java.lang.Throwable
astore 4
16: iload 2
invokestatic sun.nio.fs.UnixNativeDispatcher.close:(I)V
17: aload 4
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lsun/nio/fs/LinuxUserDefinedFileAttributeView;
0 18 1 name Ljava/lang/String;
3 18 2 fd I
6 7 3 x Lsun/nio/fs/UnixException;
11 15 3 x Lsun/nio/fs/UnixException;
Exception table:
from to target type
3 4 5 Class sun.nio.fs.UnixException
7 8 10 Class sun.nio.fs.UnixException
7 8 15 any
10 15 15 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:
iconst_m1
istore 9
start local 9 17: 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
18: goto 21
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
19: astore 10
start local 10 20: aload 10
aload 0
getfield sun.nio.fs.LinuxUserDefinedFileAttributeView.file:Lsun/nio/fs/UnixPath;
invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
end local 10 21: StackMap locals:
StackMap stack:
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 22: iload 5
ifne 29
23: iload 10
ifle 25
24: new sun.nio.fs.UnixException
dup
bipush 34
invokespecial sun.nio.fs.UnixException.<init>:(I)V
athrow
25: StackMap locals: int
StackMap stack:
iload 9
invokestatic sun.nio.fs.UnixNativeDispatcher.close:(I)V
26: aload 6
ifnull 28
27: aload 6
invokevirtual sun.nio.fs.NativeBuffer.release:()V
28: StackMap locals:
StackMap stack:
iconst_0
ireturn
29: StackMap locals:
StackMap stack:
aload 6
ifnull 32
30: aload 2
invokevirtual java.nio.ByteBuffer.arrayOffset:()I
iload 3
iadd
getstatic jdk.internal.misc.Unsafe.ARRAY_BYTE_BASE_OFFSET:I
iadd
istore 11
start local 11 31: getstatic sun.nio.fs.LinuxUserDefinedFileAttributeView.unsafe:Ljdk/internal/misc/Unsafe;
aconst_null
lload 7
aload 2
invokevirtual java.nio.ByteBuffer.array:()[B
iload 11
i2l
iload 10
i2l
invokevirtual jdk.internal.misc.Unsafe.copyMemory:(Ljava/lang/Object;JLjava/lang/Object;JJ)V
end local 11 32: StackMap locals:
StackMap stack:
aload 2
iload 3
iload 10
iadd
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
33: iload 10
istore 13
34: iload 9
invokestatic sun.nio.fs.UnixNativeDispatcher.close:(I)V
35: aload 6
ifnull 37
36: aload 6
invokevirtual sun.nio.fs.NativeBuffer.release:()V
37: 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 38: 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 39: aload 10
invokevirtual sun.nio.fs.UnixException.errno:()I
bipush 34
if_icmpne 41
40: ldc "Insufficient space in buffer"
goto 42
StackMap locals: sun.nio.fs.UnixException
StackMap stack:
41: aload 10
invokevirtual sun.nio.fs.UnixException.getMessage:()Ljava/lang/String;
42: StackMap locals:
StackMap stack: java.lang.String
astore 11
start local 11 43: 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;
44: 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;
45: invokespecial java.nio.file.FileSystemException.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
athrow
end local 11 end local 10 46: 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
47: iload 9
invokestatic sun.nio.fs.UnixNativeDispatcher.close:(I)V
48: aload 12
athrow
49: StackMap locals:
StackMap stack: java.lang.Throwable
astore 14
50: aload 6
ifnull 52
51: aload 6
invokevirtual sun.nio.fs.NativeBuffer.release:()V
52: 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 53 0 this Lsun/nio/fs/LinuxUserDefinedFileAttributeView;
0 53 1 name Ljava/lang/String;
0 53 2 dst Ljava/nio/ByteBuffer;
5 53 3 pos I
6 53 4 lim I
10 53 5 rem I
12 14 6 nb Lsun/nio/fs/NativeBuffer;
15 53 6 nb Lsun/nio/fs/NativeBuffer;
13 14 7 address J
16 53 7 address J
17 53 9 fd I
20 21 10 x Lsun/nio/fs/UnixException;
22 38 10 n I
31 32 11 off I
39 46 10 x Lsun/nio/fs/UnixException;
43 46 11 msg Ljava/lang/String;
Exception table:
from to target type
17 18 19 Class sun.nio.fs.UnixException
21 25 38 Class sun.nio.fs.UnixException
29 34 38 Class sun.nio.fs.UnixException
21 25 46 any
29 34 46 any
38 46 46 any
21 26 49 any
29 35 49 any
38 49 49 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 jdk.internal.misc.Unsafe.ARRAY_BYTE_BASE_OFFSET:I
iadd
istore 9
start local 9 16: getstatic sun.nio.fs.LinuxUserDefinedFileAttributeView.unsafe:Ljdk/internal/misc/Unsafe;
aload 2
invokevirtual java.nio.ByteBuffer.array:()[B
iload 9
i2l
aconst_null
lload 7
iload 5
i2l
invokevirtual jdk.internal.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/ByteBuffer;
pop
21: getstatic sun.nio.fs.LinuxUserDefinedFileAttributeView.unsafe:Ljdk/internal/misc/Unsafe;
aload 9
getstatic jdk.internal.misc.Unsafe.ARRAY_BYTE_BASE_OFFSET:I
i2l
aconst_null
22: lload 7
iload 5
i2l
23: invokevirtual jdk.internal.misc.Unsafe.copyMemory:(Ljava/lang/Object;JLjava/lang/Object;JJ)V
end local 9 24: StackMap locals:
StackMap stack:
iconst_m1
istore 9
start local 9 25: 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
26: goto 29
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
27: astore 10
start local 10 28: aload 10
aload 0
getfield sun.nio.fs.LinuxUserDefinedFileAttributeView.file:Lsun/nio/fs/UnixPath;
invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
end local 10 29: StackMap locals:
StackMap stack:
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
30: aload 2
iload 3
iload 5
iadd
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
31: iload 5
istore 12
32: iload 9
invokestatic sun.nio.fs.UnixNativeDispatcher.close:(I)V
33: aload 6
ifnull 35
34: aload 6
invokevirtual sun.nio.fs.NativeBuffer.release:()V
35: 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
36: 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 37: 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;
38: 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;
39: 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;
40: invokespecial java.nio.file.FileSystemException.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
athrow
end local 10 41: StackMap locals:
StackMap stack: java.lang.Throwable
astore 11
42: iload 9
invokestatic sun.nio.fs.UnixNativeDispatcher.close:(I)V
43: aload 11
athrow
44: StackMap locals:
StackMap stack: java.lang.Throwable
astore 13
45: aload 6
ifnull 47
46: aload 6
invokevirtual sun.nio.fs.NativeBuffer.release:()V
47: 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 48 0 this Lsun/nio/fs/LinuxUserDefinedFileAttributeView;
0 48 1 name Ljava/lang/String;
0 48 2 src Ljava/nio/ByteBuffer;
3 48 3 pos I
4 48 4 lim I
8 48 5 rem I
10 12 6 nb Lsun/nio/fs/NativeBuffer;
13 48 6 nb Lsun/nio/fs/NativeBuffer;
11 12 7 address J
14 48 7 address J
16 17 9 off I
19 24 9 tmp [B
25 48 9 fd I
28 29 10 x Lsun/nio/fs/UnixException;
37 41 10 x Lsun/nio/fs/UnixException;
Exception table:
from to target type
25 26 27 Class sun.nio.fs.UnixException
29 32 36 Class sun.nio.fs.UnixException
29 32 41 any
36 41 41 any
29 33 44 any
36 44 44 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:
iconst_m1
istore 2
start local 2 3: 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
4: goto 7
StackMap locals: sun.nio.fs.LinuxUserDefinedFileAttributeView java.lang.String int
StackMap stack: sun.nio.fs.UnixException
5: astore 3
start local 3 6: aload 3
aload 0
getfield sun.nio.fs.LinuxUserDefinedFileAttributeView.file:Lsun/nio/fs/UnixPath;
invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
end local 3 7: StackMap locals:
StackMap stack:
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
8: goto 16
StackMap locals:
StackMap stack: sun.nio.fs.UnixException
9: astore 3
start local 3 10: 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;
11: 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;
12: invokespecial java.nio.file.FileSystemException.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
athrow
end local 3 13: StackMap locals:
StackMap stack: java.lang.Throwable
astore 4
14: iload 2
invokestatic sun.nio.fs.UnixNativeDispatcher.close:(I)V
15: aload 4
athrow
16: StackMap locals:
StackMap stack:
iload 2
invokestatic sun.nio.fs.UnixNativeDispatcher.close:(I)V
17: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lsun/nio/fs/LinuxUserDefinedFileAttributeView;
0 18 1 name Ljava/lang/String;
3 18 2 fd I
6 7 3 x Lsun/nio/fs/UnixException;
10 13 3 x Lsun/nio/fs/UnixException;
Exception table:
from to target type
3 4 5 Class sun.nio.fs.UnixException
7 8 9 Class sun.nio.fs.UnixException
7 13 13 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:Ljdk/internal/misc/Unsafe;
lload 4
iload 7
i2l
ladd
invokevirtual jdk.internal.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:Ljdk/internal/misc/Unsafe;
aconst_null
lload 4
iload 6
i2l
ladd
aload 9
23: getstatic jdk.internal.misc.Unsafe.ARRAY_BYTE_BASE_OFFSET:I
i2l
iload 8
i2l
24: invokevirtual jdk.internal.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"