class sun.nio.fs.WindowsWatchService$Poller extends sun.nio.fs.AbstractPoller
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.nio.fs.WindowsWatchService$Poller
super_class: sun.nio.fs.AbstractPoller
{
private static final short SIZEOF_DWORD;
descriptor: S
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private static final short SIZEOF_OVERLAPPED;
descriptor: S
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 32
private static final short OFFSETOF_NEXTENTRYOFFSET;
descriptor: S
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final short OFFSETOF_ACTION;
descriptor: S
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private static final short OFFSETOF_FILENAMELENGTH;
descriptor: S
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8
private static final short OFFSETOF_FILENAME;
descriptor: S
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 12
private static final int CHANGES_BUFFER_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16384
private final sun.nio.fs.WindowsFileSystem fs;
descriptor: Lsun/nio/fs/WindowsFileSystem;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final sun.nio.fs.WindowsWatchService watcher;
descriptor: Lsun/nio/fs/WindowsWatchService;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final long port;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Map<java.lang.Integer, sun.nio.fs.WindowsWatchService$WindowsWatchKey> ck2key;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/Integer;Lsun/nio/fs/WindowsWatchService$WindowsWatchKey;>;
private final java.util.Map<sun.nio.fs.WindowsWatchService$FileKey, sun.nio.fs.WindowsWatchService$WindowsWatchKey> fk2key;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Lsun/nio/fs/WindowsWatchService$FileKey;Lsun/nio/fs/WindowsWatchService$WindowsWatchKey;>;
private int lastCompletionKey;
descriptor: I
flags: (0x0002) ACC_PRIVATE
final sun.nio.fs.WindowsWatchService this$0;
descriptor: Lsun/nio/fs/WindowsWatchService;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(sun.nio.fs.WindowsWatchService, sun.nio.fs.WindowsFileSystem, sun.nio.fs.WindowsWatchService, long);
descriptor: (Lsun/nio/fs/WindowsWatchService;Lsun/nio/fs/WindowsFileSystem;Lsun/nio/fs/WindowsWatchService;J)V
flags: (0x0000)
Code:
stack=3, locals=6, args_size=5
start local 0 start local 2 start local 3 start local 4 0: aload 0
aload 1
putfield sun.nio.fs.WindowsWatchService$Poller.this$0:Lsun/nio/fs/WindowsWatchService;
aload 0
invokespecial sun.nio.fs.AbstractPoller.<init>:()V
1: aload 0
aload 2
putfield sun.nio.fs.WindowsWatchService$Poller.fs:Lsun/nio/fs/WindowsFileSystem;
2: aload 0
aload 3
putfield sun.nio.fs.WindowsWatchService$Poller.watcher:Lsun/nio/fs/WindowsWatchService;
3: aload 0
lload 4
putfield sun.nio.fs.WindowsWatchService$Poller.port:J
4: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield sun.nio.fs.WindowsWatchService$Poller.ck2key:Ljava/util/Map;
5: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield sun.nio.fs.WindowsWatchService$Poller.fk2key:Ljava/util/Map;
6: aload 0
iconst_0
putfield sun.nio.fs.WindowsWatchService$Poller.lastCompletionKey:I
7: return
end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/nio/fs/WindowsWatchService$Poller;
0 8 2 fs Lsun/nio/fs/WindowsFileSystem;
0 8 3 watcher Lsun/nio/fs/WindowsWatchService;
0 8 4 port J
MethodParameters:
Name Flags
this$0 final
fs
watcher
port
void wakeup();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.nio.fs.WindowsWatchService$Poller.port:J
lconst_0
invokestatic sun.nio.fs.WindowsNativeDispatcher.PostQueuedCompletionStatus:(JJ)V
1: goto 4
StackMap locals:
StackMap stack: sun.nio.fs.WindowsException
2: astore 1
start local 1 3: new java.io.IOException
dup
aload 1
invokevirtual sun.nio.fs.WindowsException.getMessage:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 1 4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/nio/fs/WindowsWatchService$Poller;
3 4 1 x Lsun/nio/fs/WindowsException;
Exception table:
from to target type
0 1 2 Class sun.nio.fs.WindowsException
Exceptions:
throws java.io.IOException
implRegister(java.nio.file.Path, java.util.Set<? extends java.nio.file.WatchEvent$Kind<?>>, java.nio.file.WatchEvent$Modifier[]);
descriptor: (Ljava/nio/file/Path;Ljava/util/Set;[Ljava/nio/file/WatchEvent$Modifier;)Ljava/lang/Object;
flags: (0x0080) ACC_VARARGS
Code:
stack=11, locals=24, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
checkcast sun.nio.fs.WindowsPath
astore 4
start local 4 1: iconst_0
istore 5
start local 5 2: aload 3
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 13
StackMap locals: sun.nio.fs.WindowsWatchService$Poller java.nio.file.Path java.util.Set java.nio.file.WatchEvent$Modifier[] sun.nio.fs.WindowsPath int top int int java.nio.file.WatchEvent$Modifier[]
StackMap stack:
3: aload 9
iload 7
aaload
astore 6
start local 6 4: aload 6
getstatic com.sun.nio.file.ExtendedWatchEventModifier.FILE_TREE:Lcom/sun/nio/file/ExtendedWatchEventModifier;
if_acmpne 7
5: iconst_1
istore 5
6: goto 12
7: StackMap locals: sun.nio.fs.WindowsWatchService$Poller java.nio.file.Path java.util.Set java.nio.file.WatchEvent$Modifier[] sun.nio.fs.WindowsPath int java.nio.file.WatchEvent$Modifier int int java.nio.file.WatchEvent$Modifier[]
StackMap stack:
aload 6
ifnonnull 9
8: new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
areturn
9: StackMap locals:
StackMap stack:
aload 6
instanceof com.sun.nio.file.SensitivityWatchEventModifier
ifeq 11
10: goto 12
11: StackMap locals:
StackMap stack:
new java.lang.UnsupportedOperationException
dup
ldc "Modifier not supported"
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
areturn
end local 6 12: StackMap locals: sun.nio.fs.WindowsWatchService$Poller java.nio.file.Path java.util.Set java.nio.file.WatchEvent$Modifier[] sun.nio.fs.WindowsPath int top int int java.nio.file.WatchEvent$Modifier[]
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
13: iload 7
iload 8
if_icmplt 3
14: aload 4
invokevirtual sun.nio.fs.WindowsPath.getPathForWin32Calls:()Ljava/lang/String;
15: iconst_1
16: bipush 7
17: iconst_3
18: ldc 1107296256
19: invokestatic sun.nio.fs.WindowsNativeDispatcher.CreateFile:(Ljava/lang/String;IIII)J
lstore 6
start local 6 20: goto 23
end local 6 StackMap locals: sun.nio.fs.WindowsWatchService$Poller java.nio.file.Path java.util.Set java.nio.file.WatchEvent$Modifier[] sun.nio.fs.WindowsPath int
StackMap stack: sun.nio.fs.WindowsException
21: astore 8
start local 8 22: aload 8
aload 4
invokevirtual sun.nio.fs.WindowsException.asIOException:(Lsun/nio/fs/WindowsPath;)Ljava/io/IOException;
areturn
end local 8 start local 6 23: StackMap locals: long
StackMap stack:
iconst_0
istore 8
start local 8 24: lload 6
invokestatic sun.nio.fs.WindowsFileAttributes.readAttributes:(J)Lsun/nio/fs/WindowsFileAttributes;
astore 9
start local 9 25: goto 30
end local 9 StackMap locals: sun.nio.fs.WindowsWatchService$Poller java.nio.file.Path java.util.Set java.nio.file.WatchEvent$Modifier[] sun.nio.fs.WindowsPath int long int
StackMap stack: sun.nio.fs.WindowsException
26: astore 10
start local 10 27: aload 10
aload 4
invokevirtual sun.nio.fs.WindowsException.asIOException:(Lsun/nio/fs/WindowsPath;)Ljava/io/IOException;
astore 23
28: iload 8
ifne 29
lload 6
invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
29: StackMap locals: sun.nio.fs.WindowsWatchService$Poller java.nio.file.Path java.util.Set java.nio.file.WatchEvent$Modifier[] sun.nio.fs.WindowsPath int long int top sun.nio.fs.WindowsException top top top top top top top top top top top top java.lang.Object
StackMap stack:
aload 23
areturn
end local 10 start local 9 30: StackMap locals: sun.nio.fs.WindowsWatchService$Poller java.nio.file.Path java.util.Set java.nio.file.WatchEvent$Modifier[] sun.nio.fs.WindowsPath int long int sun.nio.fs.WindowsFileAttributes
StackMap stack:
aload 9
invokevirtual sun.nio.fs.WindowsFileAttributes.isDirectory:()Z
ifne 34
31: new java.nio.file.NotDirectoryException
dup
aload 4
invokevirtual sun.nio.fs.WindowsPath.getPathForExceptionMessage:()Ljava/lang/String;
invokespecial java.nio.file.NotDirectoryException.<init>:(Ljava/lang/String;)V
astore 23
32: iload 8
ifne 33
lload 6
invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
33: StackMap locals: sun.nio.fs.WindowsWatchService$Poller java.nio.file.Path java.util.Set java.nio.file.WatchEvent$Modifier[] sun.nio.fs.WindowsPath int long int sun.nio.fs.WindowsFileAttributes top top top top top top top top top top top top top java.lang.Object
StackMap stack:
aload 23
areturn
34: StackMap locals: sun.nio.fs.WindowsWatchService$Poller java.nio.file.Path java.util.Set java.nio.file.WatchEvent$Modifier[] sun.nio.fs.WindowsPath int long int sun.nio.fs.WindowsFileAttributes
StackMap stack:
new sun.nio.fs.WindowsWatchService$FileKey
dup
aload 9
invokevirtual sun.nio.fs.WindowsFileAttributes.volSerialNumber:()I
35: aload 9
invokevirtual sun.nio.fs.WindowsFileAttributes.fileIndexHigh:()I
36: aload 9
invokevirtual sun.nio.fs.WindowsFileAttributes.fileIndexLow:()I
37: invokespecial sun.nio.fs.WindowsWatchService$FileKey.<init>:(III)V
astore 10
start local 10 38: aload 0
getfield sun.nio.fs.WindowsWatchService$Poller.fk2key:Ljava/util/Map;
aload 10
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.nio.fs.WindowsWatchService$WindowsWatchKey
astore 11
start local 11 39: aload 11
ifnull 44
iload 5
aload 11
invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.watchSubtree:()Z
if_icmpne 44
40: aload 11
aload 2
invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.setEvents:(Ljava/util/Set;)V
41: aload 11
astore 23
42: iload 8
ifne 43
lload 6
invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
43: StackMap locals: sun.nio.fs.WindowsWatchService$Poller java.nio.file.Path java.util.Set java.nio.file.WatchEvent$Modifier[] sun.nio.fs.WindowsPath int long int sun.nio.fs.WindowsFileAttributes sun.nio.fs.WindowsWatchService$FileKey sun.nio.fs.WindowsWatchService$WindowsWatchKey top top top top top top top top top top top java.lang.Object
StackMap stack:
aload 23
areturn
44: StackMap locals: sun.nio.fs.WindowsWatchService$Poller java.nio.file.Path java.util.Set java.nio.file.WatchEvent$Modifier[] sun.nio.fs.WindowsPath int long int sun.nio.fs.WindowsFileAttributes sun.nio.fs.WindowsWatchService$FileKey sun.nio.fs.WindowsWatchService$WindowsWatchKey
StackMap stack:
aload 0
dup
getfield sun.nio.fs.WindowsWatchService$Poller.lastCompletionKey:I
iconst_1
iadd
dup_x1
putfield sun.nio.fs.WindowsWatchService$Poller.lastCompletionKey:I
istore 12
start local 12 45: iload 12
ifne 47
46: aload 0
dup
getfield sun.nio.fs.WindowsWatchService$Poller.lastCompletionKey:I
iconst_1
iadd
dup_x1
putfield sun.nio.fs.WindowsWatchService$Poller.lastCompletionKey:I
istore 12
47: StackMap locals: int
StackMap stack:
lload 6
aload 0
getfield sun.nio.fs.WindowsWatchService$Poller.port:J
iload 12
i2l
invokestatic sun.nio.fs.WindowsNativeDispatcher.CreateIoCompletionPort:(JJJ)J
pop2
48: goto 53
StackMap locals:
StackMap stack: sun.nio.fs.WindowsException
49: astore 13
start local 13 50: new java.io.IOException
dup
aload 13
invokevirtual sun.nio.fs.WindowsException.getMessage:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
astore 23
51: iload 8
ifne 52
lload 6
invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
52: StackMap locals: sun.nio.fs.WindowsWatchService$Poller java.nio.file.Path java.util.Set java.nio.file.WatchEvent$Modifier[] sun.nio.fs.WindowsPath int long int sun.nio.fs.WindowsFileAttributes sun.nio.fs.WindowsWatchService$FileKey sun.nio.fs.WindowsWatchService$WindowsWatchKey int sun.nio.fs.WindowsException top top top top top top top top top java.lang.Object
StackMap stack:
aload 23
areturn
end local 13 53: StackMap locals: sun.nio.fs.WindowsWatchService$Poller java.nio.file.Path java.util.Set java.nio.file.WatchEvent$Modifier[] sun.nio.fs.WindowsPath int long int sun.nio.fs.WindowsFileAttributes sun.nio.fs.WindowsWatchService$FileKey sun.nio.fs.WindowsWatchService$WindowsWatchKey int
StackMap stack:
sipush 16420
istore 13
start local 13 54: iload 13
invokestatic sun.nio.fs.NativeBuffers.getNativeBuffer:(I)Lsun/nio/fs/NativeBuffer;
astore 14
start local 14 55: aload 14
invokevirtual sun.nio.fs.NativeBuffer.address:()J
lstore 15
start local 15 56: lload 15
iload 13
i2l
ladd
ldc 32
lsub
lstore 17
start local 17 57: lload 17
ldc 4
lsub
lstore 19
start local 19 58: lload 6
59: lload 15
60: sipush 16384
61: iload 5
62: sipush 351
63: lload 19
64: lload 17
65: invokestatic sun.nio.fs.WindowsNativeDispatcher.ReadDirectoryChangesW:(JJIZIJJ)V
66: goto 72
StackMap locals: sun.nio.fs.WindowsWatchService$Poller java.nio.file.Path java.util.Set java.nio.file.WatchEvent$Modifier[] sun.nio.fs.WindowsPath int long int sun.nio.fs.WindowsFileAttributes sun.nio.fs.WindowsWatchService$FileKey sun.nio.fs.WindowsWatchService$WindowsWatchKey int int sun.nio.fs.NativeBuffer long long long
StackMap stack: sun.nio.fs.WindowsException
67: astore 21
start local 21 68: aload 14
invokevirtual sun.nio.fs.NativeBuffer.release:()V
69: new java.io.IOException
dup
aload 21
invokevirtual sun.nio.fs.WindowsException.getMessage:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
astore 23
70: iload 8
ifne 71
lload 6
invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
71: StackMap locals: sun.nio.fs.WindowsWatchService$Poller java.nio.file.Path java.util.Set java.nio.file.WatchEvent$Modifier[] sun.nio.fs.WindowsPath int long int sun.nio.fs.WindowsFileAttributes sun.nio.fs.WindowsWatchService$FileKey sun.nio.fs.WindowsWatchService$WindowsWatchKey int int sun.nio.fs.NativeBuffer long long long sun.nio.fs.WindowsException top java.lang.Object
StackMap stack:
aload 23
areturn
end local 21 72: StackMap locals: sun.nio.fs.WindowsWatchService$Poller java.nio.file.Path java.util.Set java.nio.file.WatchEvent$Modifier[] sun.nio.fs.WindowsPath int long int sun.nio.fs.WindowsFileAttributes sun.nio.fs.WindowsWatchService$FileKey sun.nio.fs.WindowsWatchService$WindowsWatchKey int int sun.nio.fs.NativeBuffer long long long
StackMap stack:
aload 11
ifnonnull 80
73: new sun.nio.fs.WindowsWatchService$WindowsWatchKey
dup
aload 0
getfield sun.nio.fs.WindowsWatchService$Poller.this$0:Lsun/nio/fs/WindowsWatchService;
aload 4
aload 0
getfield sun.nio.fs.WindowsWatchService$Poller.watcher:Lsun/nio/fs/WindowsWatchService;
aload 10
invokespecial sun.nio.fs.WindowsWatchService$WindowsWatchKey.<init>:(Lsun/nio/fs/WindowsWatchService;Ljava/nio/file/Path;Lsun/nio/fs/AbstractWatchService;Lsun/nio/fs/WindowsWatchService$FileKey;)V
74: lload 6
aload 2
iload 5
aload 14
lload 19
75: lload 17
iload 12
76: invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.init:(JLjava/util/Set;ZLsun/nio/fs/NativeBuffer;JJI)Lsun/nio/fs/WindowsWatchService$WindowsWatchKey;
77: astore 21
start local 21 78: aload 0
getfield sun.nio.fs.WindowsWatchService$Poller.fk2key:Ljava/util/Map;
aload 10
aload 21
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
79: goto 85
end local 21 80: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.fs.WindowsWatchService$Poller.ck2key:Ljava/util/Map;
aload 11
invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.completionKey:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
81: aload 11
invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.releaseResources:()V
82: aload 11
lload 6
aload 2
iload 5
aload 14
83: lload 19
lload 17
iload 12
84: invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.init:(JLjava/util/Set;ZLsun/nio/fs/NativeBuffer;JJI)Lsun/nio/fs/WindowsWatchService$WindowsWatchKey;
astore 21
start local 21 85: StackMap locals: sun.nio.fs.WindowsWatchService$WindowsWatchKey
StackMap stack:
aload 0
getfield sun.nio.fs.WindowsWatchService$Poller.ck2key:Ljava/util/Map;
iload 12
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 21
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
86: iconst_1
istore 8
87: aload 21
astore 23
88: iload 8
ifne 89
lload 6
invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
89: StackMap locals: sun.nio.fs.WindowsWatchService$Poller java.nio.file.Path java.util.Set java.nio.file.WatchEvent$Modifier[] sun.nio.fs.WindowsPath int long int sun.nio.fs.WindowsFileAttributes sun.nio.fs.WindowsWatchService$FileKey sun.nio.fs.WindowsWatchService$WindowsWatchKey int int sun.nio.fs.NativeBuffer long long long sun.nio.fs.WindowsWatchService$WindowsWatchKey top java.lang.Object
StackMap stack:
aload 23
areturn
end local 21 end local 19 end local 17 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 90: StackMap locals: sun.nio.fs.WindowsWatchService$Poller java.nio.file.Path java.util.Set java.nio.file.WatchEvent$Modifier[] sun.nio.fs.WindowsPath int long int
StackMap stack: java.lang.Throwable
astore 22
91: iload 8
ifne 92
lload 6
invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
92: StackMap locals: sun.nio.fs.WindowsWatchService$Poller java.nio.file.Path java.util.Set java.nio.file.WatchEvent$Modifier[] sun.nio.fs.WindowsPath int long int top top top top top top top top top top top top top java.lang.Throwable
StackMap stack:
aload 22
athrow
end local 8 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 93 0 this Lsun/nio/fs/WindowsWatchService$Poller;
0 93 1 obj Ljava/nio/file/Path;
0 93 2 events Ljava/util/Set<+Ljava/nio/file/WatchEvent$Kind<*>;>;
0 93 3 modifiers [Ljava/nio/file/WatchEvent$Modifier;
1 93 4 dir Lsun/nio/fs/WindowsPath;
2 93 5 watchSubtree Z
4 12 6 modifier Ljava/nio/file/WatchEvent$Modifier;
20 21 6 handle J
23 93 6 handle J
22 23 8 x Lsun/nio/fs/WindowsException;
24 93 8 registered Z
25 26 9 attrs Lsun/nio/fs/WindowsFileAttributes;
30 90 9 attrs Lsun/nio/fs/WindowsFileAttributes;
27 30 10 x Lsun/nio/fs/WindowsException;
38 90 10 fk Lsun/nio/fs/WindowsWatchService$FileKey;
39 90 11 existing Lsun/nio/fs/WindowsWatchService$WindowsWatchKey;
45 90 12 completionKey I
50 53 13 x Lsun/nio/fs/WindowsException;
54 90 13 size I
55 90 14 buffer Lsun/nio/fs/NativeBuffer;
56 90 15 bufferAddress J
57 90 17 overlappedAddress J
58 90 19 countAddress J
68 72 21 x Lsun/nio/fs/WindowsException;
78 80 21 watchKey Lsun/nio/fs/WindowsWatchService$WindowsWatchKey;
85 90 21 watchKey Lsun/nio/fs/WindowsWatchService$WindowsWatchKey;
Exception table:
from to target type
14 20 21 Class sun.nio.fs.WindowsException
24 25 26 Class sun.nio.fs.WindowsException
47 48 49 Class sun.nio.fs.WindowsException
58 66 67 Class sun.nio.fs.WindowsException
24 28 90 any
30 32 90 any
34 42 90 any
44 51 90 any
53 70 90 any
72 88 90 any
Signature: (Ljava/nio/file/Path;Ljava/util/Set<+Ljava/nio/file/WatchEvent$Kind<*>;>;[Ljava/nio/file/WatchEvent$Modifier;)Ljava/lang/Object;
MethodParameters:
Name Flags
obj
events
modifiers
void implCancelKey(java.nio.file.WatchKey);
descriptor: (Ljava/nio/file/WatchKey;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
checkcast sun.nio.fs.WindowsWatchService$WindowsWatchKey
astore 2
start local 2 1: aload 2
invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.isValid:()Z
ifeq 5
2: aload 0
getfield sun.nio.fs.WindowsWatchService$Poller.fk2key:Ljava/util/Map;
aload 2
invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.fileKey:()Lsun/nio/fs/WindowsWatchService$FileKey;
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
3: aload 0
getfield sun.nio.fs.WindowsWatchService$Poller.ck2key:Ljava/util/Map;
aload 2
invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.completionKey:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
4: aload 2
invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.invalidate:()V
5: StackMap locals: sun.nio.fs.WindowsWatchService$WindowsWatchKey
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/nio/fs/WindowsWatchService$Poller;
0 6 1 obj Ljava/nio/file/WatchKey;
1 6 2 key Lsun/nio/fs/WindowsWatchService$WindowsWatchKey;
MethodParameters:
Name Flags
obj
void implCloseAll();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield sun.nio.fs.WindowsWatchService$Poller.ck2key:Ljava/util/Map;
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 2
goto 3
StackMap locals: sun.nio.fs.WindowsWatchService$Poller top java.util.Iterator
StackMap stack:
1: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 1
start local 1 2: aload 1
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast sun.nio.fs.WindowsWatchService$WindowsWatchKey
invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.invalidate:()V
end local 1 3: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
4: aload 0
getfield sun.nio.fs.WindowsWatchService$Poller.fk2key:Ljava/util/Map;
invokeinterface java.util.Map.clear:()V
5: aload 0
getfield sun.nio.fs.WindowsWatchService$Poller.ck2key:Ljava/util/Map;
invokeinterface java.util.Map.clear:()V
6: aload 0
getfield sun.nio.fs.WindowsWatchService$Poller.port:J
invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/nio/fs/WindowsWatchService$Poller;
2 3 1 entry Ljava/util/Map$Entry<Ljava/lang/Integer;Lsun/nio/fs/WindowsWatchService$WindowsWatchKey;>;
private java.nio.file.WatchEvent$Kind<?> translateActionToEvent(int);
descriptor: (I)Ljava/nio/file/WatchEvent$Kind;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iload 1
tableswitch { // 1 - 5
1: 2
2: 3
3: 1
4: 3
5: 2
default: 4
}
1: StackMap locals:
StackMap stack:
getstatic java.nio.file.StandardWatchEventKinds.ENTRY_MODIFY:Ljava/nio/file/WatchEvent$Kind;
areturn
2: StackMap locals:
StackMap stack:
getstatic java.nio.file.StandardWatchEventKinds.ENTRY_CREATE:Ljava/nio/file/WatchEvent$Kind;
areturn
3: StackMap locals:
StackMap stack:
getstatic java.nio.file.StandardWatchEventKinds.ENTRY_DELETE:Ljava/nio/file/WatchEvent$Kind;
areturn
4: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/nio/fs/WindowsWatchService$Poller;
0 5 1 action I
Signature: (I)Ljava/nio/file/WatchEvent$Kind<*>;
MethodParameters:
Name Flags
action
private void processEvents(sun.nio.fs.WindowsWatchService$WindowsWatchKey, int);
descriptor: (Lsun/nio/fs/WindowsWatchService$WindowsWatchKey;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=11, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.buffer:()Lsun/nio/fs/NativeBuffer;
invokevirtual sun.nio.fs.NativeBuffer.address:()J
lstore 3
start local 3 1: StackMap locals: long
StackMap stack:
aload 0
getfield sun.nio.fs.WindowsWatchService$Poller.this$0:Lsun/nio/fs/WindowsWatchService;
getfield sun.nio.fs.WindowsWatchService.unsafe:Lsun/misc/Unsafe;
lload 3
ldc 4
ladd
invokevirtual sun.misc.Unsafe.getInt:(J)I
istore 6
start local 6 2: aload 0
iload 6
invokevirtual sun.nio.fs.WindowsWatchService$Poller.translateActionToEvent:(I)Ljava/nio/file/WatchEvent$Kind;
astore 7
start local 7 3: aload 1
invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.events:()Ljava/util/Set;
aload 7
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 14
4: aload 0
getfield sun.nio.fs.WindowsWatchService$Poller.this$0:Lsun/nio/fs/WindowsWatchService;
getfield sun.nio.fs.WindowsWatchService.unsafe:Lsun/misc/Unsafe;
lload 3
ldc 8
ladd
invokevirtual sun.misc.Unsafe.getInt:(J)I
istore 8
start local 8 5: iload 8
iconst_2
irem
ifeq 7
6: new java.lang.AssertionError
dup
ldc "FileNameLength.FileNameLength is not a multiple of 2"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
7: StackMap locals: sun.nio.fs.WindowsWatchService$Poller sun.nio.fs.WindowsWatchService$WindowsWatchKey int long top int java.nio.file.WatchEvent$Kind int
StackMap stack:
iload 8
iconst_2
idiv
newarray 5
astore 9
start local 9 8: aload 0
getfield sun.nio.fs.WindowsWatchService$Poller.this$0:Lsun/nio/fs/WindowsWatchService;
getfield sun.nio.fs.WindowsWatchService.unsafe:Lsun/misc/Unsafe;
aconst_null
lload 3
ldc 12
ladd
aload 9
9: getstatic sun.misc.Unsafe.ARRAY_CHAR_BASE_OFFSET:I
i2l
iload 8
i2l
10: invokevirtual sun.misc.Unsafe.copyMemory:(Ljava/lang/Object;JLjava/lang/Object;JJ)V
11: aload 0
getfield sun.nio.fs.WindowsWatchService$Poller.fs:Lsun/nio/fs/WindowsFileSystem;
new java.lang.String
dup
aload 9
invokespecial java.lang.String.<init>:([C)V
invokestatic sun.nio.fs.WindowsPath.createFromNormalizedPath:(Lsun/nio/fs/WindowsFileSystem;Ljava/lang/String;)Lsun/nio/fs/WindowsPath;
12: astore 10
start local 10 13: aload 1
aload 7
aload 10
invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.signalEvent:(Ljava/nio/file/WatchEvent$Kind;Ljava/lang/Object;)V
end local 10 end local 9 end local 8 14: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.fs.WindowsWatchService$Poller.this$0:Lsun/nio/fs/WindowsWatchService;
getfield sun.nio.fs.WindowsWatchService.unsafe:Lsun/misc/Unsafe;
lload 3
lconst_0
ladd
invokevirtual sun.misc.Unsafe.getInt:(J)I
istore 5
start local 5 15: lload 3
iload 5
i2l
ladd
lstore 3
end local 7 end local 6 16: iload 5
ifne 1
17: return
end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lsun/nio/fs/WindowsWatchService$Poller;
0 18 1 key Lsun/nio/fs/WindowsWatchService$WindowsWatchKey;
0 18 2 size I
1 18 3 address J
15 18 5 nextOffset I
2 16 6 action I
3 16 7 kind Ljava/nio/file/WatchEvent$Kind<*>;
5 14 8 nameLengthInBytes I
8 14 9 nameAsArray [C
13 14 10 name Lsun/nio/fs/WindowsPath;
MethodParameters:
Name Flags
key
size
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=11, locals=6, args_size=1
start local 0 0: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.fs.WindowsWatchService$Poller.port:J
invokestatic sun.nio.fs.WindowsNativeDispatcher.GetQueuedCompletionStatus:(J)Lsun/nio/fs/WindowsNativeDispatcher$CompletionStatus;
astore 1
start local 1 1: goto 5
end local 1 StackMap locals:
StackMap stack: sun.nio.fs.WindowsException
2: astore 2
start local 2 3: aload 2
invokevirtual sun.nio.fs.WindowsException.printStackTrace:()V
4: return
end local 2 start local 1 5: StackMap locals: sun.nio.fs.WindowsNativeDispatcher$CompletionStatus
StackMap stack:
aload 1
invokevirtual sun.nio.fs.WindowsNativeDispatcher$CompletionStatus.completionKey:()J
lconst_0
lcmp
ifne 9
6: aload 0
invokevirtual sun.nio.fs.WindowsWatchService$Poller.processRequests:()Z
istore 2
start local 2 7: iload 2
ifeq 0
8: return
end local 2 9: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.fs.WindowsWatchService$Poller.ck2key:Ljava/util/Map;
aload 1
invokevirtual sun.nio.fs.WindowsNativeDispatcher$CompletionStatus.completionKey:()J
l2i
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.nio.fs.WindowsWatchService$WindowsWatchKey
astore 2
start local 2 10: aload 2
ifnonnull 12
11: goto 0
12: StackMap locals: sun.nio.fs.WindowsWatchService$WindowsWatchKey
StackMap stack:
iconst_0
istore 3
start local 3 13: aload 1
invokevirtual sun.nio.fs.WindowsNativeDispatcher$CompletionStatus.error:()I
istore 4
start local 4 14: aload 1
invokevirtual sun.nio.fs.WindowsNativeDispatcher$CompletionStatus.bytesTransferred:()I
istore 5
start local 5 15: iload 4
sipush 1022
if_icmpne 18
16: aload 2
getstatic java.nio.file.StandardWatchEventKinds.OVERFLOW:Ljava/nio/file/WatchEvent$Kind;
aconst_null
invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.signalEvent:(Ljava/nio/file/WatchEvent$Kind;Ljava/lang/Object;)V
17: goto 37
StackMap locals: int int int
StackMap stack:
18: iload 4
ifeq 21
iload 4
sipush 234
if_icmpeq 21
19: iconst_1
istore 3
20: goto 37
21: StackMap locals:
StackMap stack:
iload 5
ifle 24
22: aload 0
aload 2
iload 5
invokevirtual sun.nio.fs.WindowsWatchService$Poller.processEvents:(Lsun/nio/fs/WindowsWatchService$WindowsWatchKey;I)V
23: goto 26
StackMap locals:
StackMap stack:
24: iload 4
ifne 26
25: aload 2
getstatic java.nio.file.StandardWatchEventKinds.OVERFLOW:Ljava/nio/file/WatchEvent$Kind;
aconst_null
invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.signalEvent:(Ljava/nio/file/WatchEvent$Kind;Ljava/lang/Object;)V
26: StackMap locals:
StackMap stack:
aload 2
invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.handle:()J
27: aload 2
invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.buffer:()Lsun/nio/fs/NativeBuffer;
invokevirtual sun.nio.fs.NativeBuffer.address:()J
28: sipush 16384
29: aload 2
invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.watchSubtree:()Z
30: sipush 351
31: aload 2
invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.countAddress:()J
32: aload 2
invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.overlappedAddress:()J
33: invokestatic sun.nio.fs.WindowsNativeDispatcher.ReadDirectoryChangesW:(JJIZIJJ)V
34: goto 37
StackMap locals:
StackMap stack: sun.nio.fs.WindowsException
35: pop
36: iconst_1
istore 3
37: StackMap locals:
StackMap stack:
iload 3
ifeq 0
38: aload 0
aload 2
invokevirtual sun.nio.fs.WindowsWatchService$Poller.implCancelKey:(Ljava/nio/file/WatchKey;)V
39: aload 2
invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.signal:()V
end local 5 end local 4 end local 3 end local 2 end local 1 40: goto 0
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 41 0 this Lsun/nio/fs/WindowsWatchService$Poller;
1 2 1 info Lsun/nio/fs/WindowsNativeDispatcher$CompletionStatus;
5 40 1 info Lsun/nio/fs/WindowsNativeDispatcher$CompletionStatus;
3 5 2 x Lsun/nio/fs/WindowsException;
7 9 2 shutdown Z
10 40 2 key Lsun/nio/fs/WindowsWatchService$WindowsWatchKey;
13 40 3 criticalError Z
14 40 4 errorCode I
15 40 5 messageSize I
Exception table:
from to target type
0 1 2 Class sun.nio.fs.WindowsException
26 34 35 Class sun.nio.fs.WindowsException
}
SourceFile: "WindowsWatchService.java"
NestHost: sun.nio.fs.WindowsWatchService
InnerClasses:
public abstract Kind = java.nio.file.WatchEvent$Kind of java.nio.file.WatchEvent
public abstract Modifier = java.nio.file.WatchEvent$Modifier of java.nio.file.WatchEvent
public abstract Entry = java.util.Map$Entry of java.util.Map
CompletionStatus = sun.nio.fs.WindowsNativeDispatcher$CompletionStatus of sun.nio.fs.WindowsNativeDispatcher
private FileKey = sun.nio.fs.WindowsWatchService$FileKey of sun.nio.fs.WindowsWatchService
private Poller = sun.nio.fs.WindowsWatchService$Poller of sun.nio.fs.WindowsWatchService
private WindowsWatchKey = sun.nio.fs.WindowsWatchService$WindowsWatchKey of sun.nio.fs.WindowsWatchService