class sun.nio.fs.SolarisWatchService$Poller extends sun.nio.fs.AbstractPoller
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: sun.nio.fs.SolarisWatchService$Poller
  super_class: sun.nio.fs.AbstractPoller
{
  private static final int MAX_EVENT_COUNT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 128

  private static final int FILE_REMOVED;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 112

  private static final int FILE_EXCEPTION;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1610612848

  private final long bufferAddress;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final sun.nio.fs.SolarisWatchService watcher;
    descriptor: Lsun/nio/fs/SolarisWatchService;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int port;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.Map<sun.nio.fs.UnixFileKey, sun.nio.fs.SolarisWatchService$SolarisWatchKey> fileKey2WatchKey;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Lsun/nio/fs/UnixFileKey;Lsun/nio/fs/SolarisWatchService$SolarisWatchKey;>;

  private final java.util.Map<java.lang.Long, sun.nio.fs.SolarisWatchService$Node> object2Node;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/Long;Lsun/nio/fs/SolarisWatchService$Node;>;

  final sun.nio.fs.SolarisWatchService this$0;
    descriptor: Lsun/nio/fs/SolarisWatchService;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  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: .line 216
            ldc Lsun/nio/fs/SolarisWatchService;
            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.SolarisWatchService$Poller.$assertionsDisabled:Z
         3: .line 227
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(sun.nio.fs.SolarisWatchService, sun.nio.fs.UnixFileSystem, sun.nio.fs.SolarisWatchService, int);
    descriptor: (Lsun/nio/fs/SolarisWatchService;Lsun/nio/fs/UnixFileSystem;Lsun/nio/fs/SolarisWatchService;I)V
    flags: (0x0000) 
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // sun.nio.fs.SolarisWatchService$Poller this
        start local 2 // sun.nio.fs.UnixFileSystem fs
        start local 3 // sun.nio.fs.SolarisWatchService watcher
        start local 4 // int port
         0: .line 246
            aload 0 /* this */
            aload 1
            putfield sun.nio.fs.SolarisWatchService$Poller.this$0:Lsun/nio/fs/SolarisWatchService;
            aload 0 /* this */
            invokespecial sun.nio.fs.AbstractPoller.<init>:()V
         1: .line 247
            aload 0 /* this */
            aload 3 /* watcher */
            putfield sun.nio.fs.SolarisWatchService$Poller.watcher:Lsun/nio/fs/SolarisWatchService;
         2: .line 248
            aload 0 /* this */
            iload 4 /* port */
            putfield sun.nio.fs.SolarisWatchService$Poller.port:I
         3: .line 249
            aload 0 /* this */
         4: .line 250
            getstatic sun.nio.fs.SolarisWatchService.unsafe:Lsun/misc/Unsafe;
            getstatic sun.nio.fs.SolarisWatchService.SIZEOF_PORT_EVENT:I
            sipush 128
            imul
            i2l
            invokevirtual sun.misc.Unsafe.allocateMemory:(J)J
         5: .line 249
            putfield sun.nio.fs.SolarisWatchService$Poller.bufferAddress:J
         6: .line 251
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield sun.nio.fs.SolarisWatchService$Poller.fileKey2WatchKey:Ljava/util/Map;
         7: .line 252
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield sun.nio.fs.SolarisWatchService$Poller.object2Node:Ljava/util/Map;
         8: .line 253
            return
        end local 4 // int port
        end local 3 // sun.nio.fs.SolarisWatchService watcher
        end local 2 // sun.nio.fs.UnixFileSystem fs
        end local 0 // sun.nio.fs.SolarisWatchService$Poller this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lsun/nio/fs/SolarisWatchService$Poller;
            0    9     2       fs  Lsun/nio/fs/UnixFileSystem;
            0    9     3  watcher  Lsun/nio/fs/SolarisWatchService;
            0    9     4     port  I
    MethodParameters:
         Name  Flags
      this$0   final
      fs       
      watcher  
      port     

  void wakeup();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // sun.nio.fs.SolarisWatchService$Poller this
         0: .line 259
            aload 0 /* this */
            getfield sun.nio.fs.SolarisWatchService$Poller.port:I
            iconst_0
            invokestatic sun.nio.fs.SolarisWatchService.portSend:(II)V
         1: .line 260
            goto 4
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
         2: astore 1 /* x */
        start local 1 // sun.nio.fs.UnixException x
         3: .line 261
            new java.io.IOException
            dup
            aload 1 /* x */
            invokevirtual sun.nio.fs.UnixException.errorString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // sun.nio.fs.UnixException x
         4: .line 263
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.nio.fs.SolarisWatchService$Poller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/nio/fs/SolarisWatchService$Poller;
            3    4     1     x  Lsun/nio/fs/UnixException;
      Exception table:
        from    to  target  type
           0     1       2  Class sun.nio.fs.UnixException
    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=9, locals=11, args_size=4
        start local 0 // sun.nio.fs.SolarisWatchService$Poller this
        start local 1 // java.nio.file.Path obj
        start local 2 // java.util.Set events
        start local 3 // java.nio.file.WatchEvent$Modifier[] modifiers
         0: .line 271
            aload 3 /* modifiers */
            arraylength
            ifle 10
         1: .line 272
            aload 3 /* modifiers */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 9
      StackMap locals: sun.nio.fs.SolarisWatchService$Poller java.nio.file.Path java.util.Set java.nio.file.WatchEvent$Modifier[] top int int java.nio.file.WatchEvent$Modifier[]
      StackMap stack:
         2: aload 7
            iload 5
            aaload
            astore 4 /* modifier */
        start local 4 // java.nio.file.WatchEvent$Modifier modifier
         3: .line 273
            aload 4 /* modifier */
            ifnonnull 5
         4: .line 274
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            areturn
         5: .line 275
      StackMap locals: sun.nio.fs.SolarisWatchService$Poller java.nio.file.Path java.util.Set java.nio.file.WatchEvent$Modifier[] java.nio.file.WatchEvent$Modifier int int java.nio.file.WatchEvent$Modifier[]
      StackMap stack:
            aload 4 /* modifier */
            instanceof com.sun.nio.file.SensitivityWatchEventModifier
            ifeq 7
         6: .line 276
            goto 8
         7: .line 277
      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 4 // java.nio.file.WatchEvent$Modifier modifier
         8: .line 272
      StackMap locals: sun.nio.fs.SolarisWatchService$Poller java.nio.file.Path java.util.Set java.nio.file.WatchEvent$Modifier[] top int int java.nio.file.WatchEvent$Modifier[]
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
         9: iload 5
            iload 6
            if_icmplt 2
        10: .line 281
      StackMap locals: sun.nio.fs.SolarisWatchService$Poller java.nio.file.Path java.util.Set java.nio.file.WatchEvent$Modifier[]
      StackMap stack:
            aload 1 /* obj */
            checkcast sun.nio.fs.UnixPath
            astore 4 /* dir */
        start local 4 // sun.nio.fs.UnixPath dir
        11: .line 284
            aconst_null
            astore 5 /* attrs */
        start local 5 // sun.nio.fs.UnixFileAttributes attrs
        12: .line 286
            aload 4 /* dir */
            iconst_1
            invokestatic sun.nio.fs.UnixFileAttributes.get:(Lsun/nio/fs/UnixPath;Z)Lsun/nio/fs/UnixFileAttributes;
            astore 5 /* attrs */
        13: .line 287
            goto 16
      StackMap locals: sun.nio.fs.SolarisWatchService$Poller java.nio.file.Path java.util.Set java.nio.file.WatchEvent$Modifier[] sun.nio.fs.UnixPath sun.nio.fs.UnixFileAttributes
      StackMap stack: sun.nio.fs.UnixException
        14: astore 6 /* x */
        start local 6 // sun.nio.fs.UnixException x
        15: .line 288
            aload 6 /* x */
            aload 4 /* dir */
            invokevirtual sun.nio.fs.UnixException.asIOException:(Lsun/nio/fs/UnixPath;)Ljava/io/IOException;
            areturn
        end local 6 // sun.nio.fs.UnixException x
        16: .line 290
      StackMap locals:
      StackMap stack:
            aload 5 /* attrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.isDirectory:()Z
            ifne 18
        17: .line 291
            new java.nio.file.NotDirectoryException
            dup
            aload 4 /* dir */
            invokevirtual sun.nio.fs.UnixPath.getPathForExceptionMessage:()Ljava/lang/String;
            invokespecial java.nio.file.NotDirectoryException.<init>:(Ljava/lang/String;)V
            areturn
        18: .line 296
      StackMap locals:
      StackMap stack:
            aload 5 /* attrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.fileKey:()Lsun/nio/fs/UnixFileKey;
            astore 6 /* fileKey */
        start local 6 // sun.nio.fs.UnixFileKey fileKey
        19: .line 297
            aload 0 /* this */
            getfield sun.nio.fs.SolarisWatchService$Poller.fileKey2WatchKey:Ljava/util/Map;
            aload 6 /* fileKey */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.nio.fs.SolarisWatchService$SolarisWatchKey
            astore 7 /* watchKey */
        start local 7 // sun.nio.fs.SolarisWatchService$SolarisWatchKey watchKey
        20: .line 298
            aload 7 /* watchKey */
            ifnull 23
        21: .line 299
            aload 0 /* this */
            aload 7 /* watchKey */
            aload 2 /* events */
            invokevirtual sun.nio.fs.SolarisWatchService$Poller.updateEvents:(Lsun/nio/fs/SolarisWatchService$SolarisWatchKey;Ljava/util/Set;)V
        22: .line 300
            aload 7 /* watchKey */
            areturn
        23: .line 304
      StackMap locals: sun.nio.fs.UnixFileKey sun.nio.fs.SolarisWatchService$SolarisWatchKey
      StackMap stack:
            lconst_0
            lstore 8 /* object */
        start local 8 // long object
        24: .line 306
            aload 0 /* this */
            aload 4 /* dir */
            bipush 6
            invokevirtual sun.nio.fs.SolarisWatchService$Poller.registerImpl:(Lsun/nio/fs/UnixPath;I)J
            lstore 8 /* object */
        25: .line 307
            goto 28
      StackMap locals: sun.nio.fs.SolarisWatchService$Poller java.nio.file.Path java.util.Set java.nio.file.WatchEvent$Modifier[] sun.nio.fs.UnixPath sun.nio.fs.UnixFileAttributes sun.nio.fs.UnixFileKey sun.nio.fs.SolarisWatchService$SolarisWatchKey long
      StackMap stack: sun.nio.fs.UnixException
        26: astore 10 /* x */
        start local 10 // sun.nio.fs.UnixException x
        27: .line 308
            aload 10 /* x */
            aload 4 /* dir */
            invokevirtual sun.nio.fs.UnixException.asIOException:(Lsun/nio/fs/UnixPath;)Ljava/io/IOException;
            areturn
        end local 10 // sun.nio.fs.UnixException x
        28: .line 312
      StackMap locals:
      StackMap stack:
            new sun.nio.fs.SolarisWatchService$SolarisWatchKey
            dup
            aload 0 /* this */
            getfield sun.nio.fs.SolarisWatchService$Poller.this$0:Lsun/nio/fs/SolarisWatchService;
            aload 0 /* this */
            getfield sun.nio.fs.SolarisWatchService$Poller.watcher:Lsun/nio/fs/SolarisWatchService;
            aload 4 /* dir */
            aload 6 /* fileKey */
            lload 8 /* object */
            aload 2 /* events */
            invokespecial sun.nio.fs.SolarisWatchService$SolarisWatchKey.<init>:(Lsun/nio/fs/SolarisWatchService;Lsun/nio/fs/SolarisWatchService;Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixFileKey;JLjava/util/Set;)V
            astore 7 /* watchKey */
        29: .line 313
            aload 0 /* this */
            getfield sun.nio.fs.SolarisWatchService$Poller.object2Node:Ljava/util/Map;
            lload 8 /* object */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aload 7 /* watchKey */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        30: .line 314
            aload 0 /* this */
            getfield sun.nio.fs.SolarisWatchService$Poller.fileKey2WatchKey:Ljava/util/Map;
            aload 6 /* fileKey */
            aload 7 /* watchKey */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        31: .line 317
            aload 0 /* this */
            aload 4 /* dir */
            aload 7 /* watchKey */
            iconst_0
            invokevirtual sun.nio.fs.SolarisWatchService$Poller.registerChildren:(Lsun/nio/fs/UnixPath;Lsun/nio/fs/SolarisWatchService$SolarisWatchKey;Z)V
        32: .line 319
            aload 7 /* watchKey */
            areturn
        end local 8 // long object
        end local 7 // sun.nio.fs.SolarisWatchService$SolarisWatchKey watchKey
        end local 6 // sun.nio.fs.UnixFileKey fileKey
        end local 5 // sun.nio.fs.UnixFileAttributes attrs
        end local 4 // sun.nio.fs.UnixPath dir
        end local 3 // java.nio.file.WatchEvent$Modifier[] modifiers
        end local 2 // java.util.Set events
        end local 1 // java.nio.file.Path obj
        end local 0 // sun.nio.fs.SolarisWatchService$Poller this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   33     0       this  Lsun/nio/fs/SolarisWatchService$Poller;
            0   33     1        obj  Ljava/nio/file/Path;
            0   33     2     events  Ljava/util/Set<+Ljava/nio/file/WatchEvent$Kind<*>;>;
            0   33     3  modifiers  [Ljava/nio/file/WatchEvent$Modifier;
            3    8     4   modifier  Ljava/nio/file/WatchEvent$Modifier;
           11   33     4        dir  Lsun/nio/fs/UnixPath;
           12   33     5      attrs  Lsun/nio/fs/UnixFileAttributes;
           15   16     6          x  Lsun/nio/fs/UnixException;
           19   33     6    fileKey  Lsun/nio/fs/UnixFileKey;
           20   33     7   watchKey  Lsun/nio/fs/SolarisWatchService$SolarisWatchKey;
           24   33     8     object  J
           27   28    10          x  Lsun/nio/fs/UnixException;
      Exception table:
        from    to  target  type
          12    13      14  Class sun.nio.fs.UnixException
          24    25      26  Class sun.nio.fs.UnixException
    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=4, locals=8, args_size=2
        start local 0 // sun.nio.fs.SolarisWatchService$Poller this
        start local 1 // java.nio.file.WatchKey obj
         0: .line 325
            aload 1 /* obj */
            checkcast sun.nio.fs.SolarisWatchService$SolarisWatchKey
            astore 2 /* key */
        start local 2 // sun.nio.fs.SolarisWatchService$SolarisWatchKey key
         1: .line 326
            aload 2 /* key */
            invokevirtual sun.nio.fs.SolarisWatchService$SolarisWatchKey.isValid:()Z
            ifeq 15
         2: .line 327
            aload 0 /* this */
            getfield sun.nio.fs.SolarisWatchService$Poller.fileKey2WatchKey:Ljava/util/Map;
            aload 2 /* key */
            invokevirtual sun.nio.fs.SolarisWatchService$SolarisWatchKey.getFileKey:()Lsun/nio/fs/UnixFileKey;
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 330
            aload 2 /* key */
            getfield sun.nio.fs.SolarisWatchService$SolarisWatchKey.children:Ljava/util/Map;
            ifnull 11
         4: .line 331
            aload 2 /* key */
            getfield sun.nio.fs.SolarisWatchService$SolarisWatchKey.children:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 10
      StackMap locals: sun.nio.fs.SolarisWatchService$Poller java.nio.file.WatchKey sun.nio.fs.SolarisWatchService$SolarisWatchKey top java.util.Iterator
      StackMap stack:
         5: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 3 /* entry */
        start local 3 // java.util.Map$Entry entry
         6: .line 332
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast sun.nio.fs.SolarisWatchService$EntryNode
            astore 5 /* node */
        start local 5 // sun.nio.fs.SolarisWatchService$EntryNode node
         7: .line 333
            aload 5 /* node */
            invokevirtual sun.nio.fs.SolarisWatchService$EntryNode.object:()J
            lstore 6 /* object */
        start local 6 // long object
         8: .line 334
            aload 0 /* this */
            getfield sun.nio.fs.SolarisWatchService$Poller.object2Node:Ljava/util/Map;
            lload 6 /* object */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 335
            aload 0 /* this */
            lload 6 /* object */
            iconst_1
            invokevirtual sun.nio.fs.SolarisWatchService$Poller.releaseObject:(JZ)V
        end local 6 // long object
        end local 5 // sun.nio.fs.SolarisWatchService$EntryNode node
        end local 3 // java.util.Map$Entry entry
        10: .line 331
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        11: .line 340
      StackMap locals: sun.nio.fs.SolarisWatchService$Poller java.nio.file.WatchKey sun.nio.fs.SolarisWatchService$SolarisWatchKey
      StackMap stack:
            aload 2 /* key */
            invokevirtual sun.nio.fs.SolarisWatchService$SolarisWatchKey.object:()J
            lstore 3 /* object */
        start local 3 // long object
        12: .line 341
            aload 0 /* this */
            getfield sun.nio.fs.SolarisWatchService$Poller.object2Node:Ljava/util/Map;
            lload 3 /* object */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        13: .line 342
            aload 0 /* this */
            lload 3 /* object */
            iconst_1
            invokevirtual sun.nio.fs.SolarisWatchService$Poller.releaseObject:(JZ)V
        14: .line 345
            aload 2 /* key */
            invokevirtual sun.nio.fs.SolarisWatchService$SolarisWatchKey.invalidate:()V
        end local 3 // long object
        15: .line 347
      StackMap locals:
      StackMap stack:
            return
        end local 2 // sun.nio.fs.SolarisWatchService$SolarisWatchKey key
        end local 1 // java.nio.file.WatchKey obj
        end local 0 // sun.nio.fs.SolarisWatchService$Poller this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   16     0    this  Lsun/nio/fs/SolarisWatchService$Poller;
            0   16     1     obj  Ljava/nio/file/WatchKey;
            1   16     2     key  Lsun/nio/fs/SolarisWatchService$SolarisWatchKey;
            6   10     3   entry  Ljava/util/Map$Entry<Ljava/nio/file/Path;Lsun/nio/fs/SolarisWatchService$EntryNode;>;
            7   10     5    node  Lsun/nio/fs/SolarisWatchService$EntryNode;
            8   10     6  object  J
           12   15     3  object  J
    MethodParameters:
      Name  Flags
      obj   

  void implCloseAll();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // sun.nio.fs.SolarisWatchService$Poller this
         0: .line 353
            aload 0 /* this */
            getfield sun.nio.fs.SolarisWatchService$Poller.object2Node:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 2
            goto 3
      StackMap locals: sun.nio.fs.SolarisWatchService$Poller top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Long
            astore 1 /* object */
        start local 1 // java.lang.Long object
         2: .line 354
            aload 0 /* this */
            aload 1 /* object */
            invokevirtual java.lang.Long.longValue:()J
            iconst_1
            invokevirtual sun.nio.fs.SolarisWatchService$Poller.releaseObject:(JZ)V
        end local 1 // java.lang.Long object
         3: .line 353
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 358
            aload 0 /* this */
            getfield sun.nio.fs.SolarisWatchService$Poller.fileKey2WatchKey:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 2
            goto 7
      StackMap locals:
      StackMap stack:
         5: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 1 /* entry */
        start local 1 // java.util.Map$Entry entry
         6: .line 359
            aload 1 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast sun.nio.fs.SolarisWatchService$SolarisWatchKey
            invokevirtual sun.nio.fs.SolarisWatchService$SolarisWatchKey.invalidate:()V
        end local 1 // java.util.Map$Entry entry
         7: .line 358
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         8: .line 363
            aload 0 /* this */
            getfield sun.nio.fs.SolarisWatchService$Poller.object2Node:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
         9: .line 364
            aload 0 /* this */
            getfield sun.nio.fs.SolarisWatchService$Poller.fileKey2WatchKey:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
        10: .line 367
            getstatic sun.nio.fs.SolarisWatchService.unsafe:Lsun/misc/Unsafe;
            aload 0 /* this */
            getfield sun.nio.fs.SolarisWatchService$Poller.bufferAddress:J
            invokevirtual sun.misc.Unsafe.freeMemory:(J)V
        11: .line 368
            aload 0 /* this */
            getfield sun.nio.fs.SolarisWatchService$Poller.port:I
            invokestatic sun.nio.fs.UnixNativeDispatcher.close:(I)V
        12: .line 369
            return
        end local 0 // sun.nio.fs.SolarisWatchService$Poller this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   13     0    this  Lsun/nio/fs/SolarisWatchService$Poller;
            2    3     1  object  Ljava/lang/Long;
            6    7     1   entry  Ljava/util/Map$Entry<Lsun/nio/fs/UnixFileKey;Lsun/nio/fs/SolarisWatchService$SolarisWatchKey;>;

  public void run();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // sun.nio.fs.SolarisWatchService$Poller this
         0: .line 379
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.fs.SolarisWatchService$Poller.port:I
            aload 0 /* this */
            getfield sun.nio.fs.SolarisWatchService$Poller.bufferAddress:J
            sipush 128
            invokestatic sun.nio.fs.SolarisWatchService.portGetn:(IJI)I
            istore 1 /* n */
        start local 1 // int n
         1: .line 380
            getstatic sun.nio.fs.SolarisWatchService$Poller.$assertionsDisabled:Z
            ifne 2
            iload 1 /* n */
            ifgt 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 382
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.fs.SolarisWatchService$Poller.bufferAddress:J
            lstore 2 /* address */
        start local 2 // long address
         3: .line 383
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 10
         5: .line 384
      StackMap locals: long int
      StackMap stack:
            aload 0 /* this */
            lload 2 /* address */
            invokevirtual sun.nio.fs.SolarisWatchService$Poller.processEvent:(J)Z
            istore 5 /* shutdown */
        start local 5 // boolean shutdown
         6: .line 385
            iload 5 /* shutdown */
            ifeq 8
         7: .line 386
            return
         8: .line 387
      StackMap locals: int
      StackMap stack:
            lload 2 /* address */
            getstatic sun.nio.fs.SolarisWatchService.SIZEOF_PORT_EVENT:I
            i2l
            ladd
            lstore 2 /* address */
        end local 5 // boolean shutdown
         9: .line 383
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 4 /* i */
            iload 1 /* n */
            if_icmplt 5
        end local 4 // int i
        end local 2 // long address
        end local 1 // int n
        11: .line 378
            goto 0
        12: .line 390
      StackMap locals: sun.nio.fs.SolarisWatchService$Poller
      StackMap stack: sun.nio.fs.UnixException
            astore 1 /* x */
        start local 1 // sun.nio.fs.UnixException x
        13: .line 391
            aload 1 /* x */
            invokevirtual sun.nio.fs.UnixException.printStackTrace:()V
        end local 1 // sun.nio.fs.UnixException x
        14: .line 393
            return
        end local 0 // sun.nio.fs.SolarisWatchService$Poller this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   15     0      this  Lsun/nio/fs/SolarisWatchService$Poller;
            1   11     1         n  I
            3   11     2   address  J
            4   11     4         i  I
            6    9     5  shutdown  Z
           13   14     1         x  Lsun/nio/fs/UnixException;
      Exception table:
        from    to  target  type
           0     7      12  Class sun.nio.fs.UnixException
           8    12      12  Class sun.nio.fs.UnixException

  boolean processEvent(long);
    descriptor: (J)Z
    flags: (0x0000) 
    Code:
      stack=5, locals=12, args_size=2
        start local 0 // sun.nio.fs.SolarisWatchService$Poller this
        start local 1 // long address
         0: .line 402
            getstatic sun.nio.fs.SolarisWatchService.unsafe:Lsun/misc/Unsafe;
            lload 1 /* address */
            ldc 4
            ladd
            invokevirtual sun.misc.Unsafe.getShort:(J)S
            istore 3 /* source */
        start local 3 // short source
         1: .line 404
            getstatic sun.nio.fs.SolarisWatchService.unsafe:Lsun/misc/Unsafe;
            lload 1 /* address */
            ldc 8
            ladd
            invokevirtual sun.misc.Unsafe.getAddress:(J)J
            lstore 4 /* object */
        start local 4 // long object
         2: .line 406
            getstatic sun.nio.fs.SolarisWatchService.unsafe:Lsun/misc/Unsafe;
            lload 1 /* address */
            lconst_0
            ladd
            invokevirtual sun.misc.Unsafe.getInt:(J)I
            istore 6 /* events */
        start local 6 // int events
         3: .line 409
            iload 3 /* source */
            bipush 7
            if_icmpeq 9
         4: .line 410
            iload 3 /* source */
            iconst_3
            if_icmpne 8
         5: .line 412
            aload 0 /* this */
            invokevirtual sun.nio.fs.SolarisWatchService$Poller.processRequests:()Z
            istore 7 /* shutdown */
        start local 7 // boolean shutdown
         6: .line 413
            iload 7 /* shutdown */
            ifeq 8
         7: .line 414
            iconst_1
            ireturn
        end local 7 // boolean shutdown
         8: .line 416
      StackMap locals: int long int
      StackMap stack:
            iconst_0
            ireturn
         9: .line 420
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.fs.SolarisWatchService$Poller.object2Node:Ljava/util/Map;
            lload 4 /* object */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.nio.fs.SolarisWatchService$Node
            astore 7 /* node */
        start local 7 // sun.nio.fs.SolarisWatchService$Node node
        10: .line 421
            aload 7 /* node */
            ifnonnull 12
        11: .line 423
            iconst_0
            ireturn
        12: .line 429
      StackMap locals: sun.nio.fs.SolarisWatchService$Node
      StackMap stack:
            iconst_1
            istore 8 /* reregister */
        start local 8 // boolean reregister
        13: .line 434
            aload 7 /* node */
            instanceof sun.nio.fs.SolarisWatchService$SolarisWatchKey
            istore 9 /* isDirectory */
        start local 9 // boolean isDirectory
        14: .line 435
            iload 9 /* isDirectory */
            ifeq 17
        15: .line 436
            aload 0 /* this */
            aload 7 /* node */
            checkcast sun.nio.fs.SolarisWatchService$SolarisWatchKey
            iload 6 /* events */
            invokevirtual sun.nio.fs.SolarisWatchService$Poller.processDirectoryEvents:(Lsun/nio/fs/SolarisWatchService$SolarisWatchKey;I)V
        16: .line 437
            goto 20
        17: .line 438
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            aload 7 /* node */
            checkcast sun.nio.fs.SolarisWatchService$EntryNode
            iload 6 /* events */
            invokevirtual sun.nio.fs.SolarisWatchService$Poller.processEntryEvents:(Lsun/nio/fs/SolarisWatchService$EntryNode;I)Z
            istore 10 /* ignore */
        start local 10 // boolean ignore
        18: .line 439
            iload 10 /* ignore */
            ifeq 20
        19: .line 440
            iconst_0
            istore 8 /* reregister */
        end local 10 // boolean ignore
        20: .line 444
      StackMap locals:
      StackMap stack:
            iload 8 /* reregister */
            ifeq 31
        21: .line 446
            bipush 6
            istore 6 /* events */
        22: .line 447
            iload 9 /* isDirectory */
            ifne 23
            iload 6 /* events */
            ldc 268435456
            ior
            istore 6 /* events */
        23: .line 448
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.fs.SolarisWatchService$Poller.port:I
        24: .line 449
            bipush 7
        25: .line 450
            lload 4 /* object */
        26: .line 451
            iload 6 /* events */
        27: .line 448
            invokestatic sun.nio.fs.SolarisWatchService.portAssociate:(IIJI)V
        28: .line 452
            goto 31
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
        29: pop
        30: .line 454
            iconst_0
            istore 8 /* reregister */
        31: .line 460
      StackMap locals:
      StackMap stack:
            iload 8 /* reregister */
            ifne 43
        32: .line 462
            aload 0 /* this */
            getfield sun.nio.fs.SolarisWatchService$Poller.object2Node:Ljava/util/Map;
            lload 4 /* object */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        33: .line 463
            aload 0 /* this */
            lload 4 /* object */
            iconst_0
            invokevirtual sun.nio.fs.SolarisWatchService$Poller.releaseObject:(JZ)V
        34: .line 466
            iload 9 /* isDirectory */
            ifeq 40
        35: .line 467
            aload 7 /* node */
            checkcast sun.nio.fs.SolarisWatchService$SolarisWatchKey
            astore 10 /* key */
        start local 10 // sun.nio.fs.SolarisWatchService$SolarisWatchKey key
        36: .line 468
            aload 0 /* this */
            getfield sun.nio.fs.SolarisWatchService$Poller.fileKey2WatchKey:Ljava/util/Map;
            aload 10 /* key */
            invokevirtual sun.nio.fs.SolarisWatchService$SolarisWatchKey.getFileKey:()Lsun/nio/fs/UnixFileKey;
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        37: .line 469
            aload 10 /* key */
            invokevirtual sun.nio.fs.SolarisWatchService$SolarisWatchKey.invalidate:()V
        38: .line 470
            aload 10 /* key */
            invokevirtual sun.nio.fs.SolarisWatchService$SolarisWatchKey.signal:()V
        end local 10 // sun.nio.fs.SolarisWatchService$SolarisWatchKey key
        39: .line 471
            goto 43
        40: .line 473
      StackMap locals:
      StackMap stack:
            aload 7 /* node */
            checkcast sun.nio.fs.SolarisWatchService$EntryNode
            astore 10 /* entry */
        start local 10 // sun.nio.fs.SolarisWatchService$EntryNode entry
        41: .line 474
            aload 10 /* entry */
            invokevirtual sun.nio.fs.SolarisWatchService$EntryNode.parent:()Lsun/nio/fs/SolarisWatchService$DirectoryNode;
            checkcast sun.nio.fs.SolarisWatchService$SolarisWatchKey
            astore 11 /* key */
        start local 11 // sun.nio.fs.SolarisWatchService$SolarisWatchKey key
        42: .line 475
            aload 11 /* key */
            aload 10 /* entry */
            invokevirtual sun.nio.fs.SolarisWatchService$EntryNode.name:()Ljava/nio/file/Path;
            invokevirtual sun.nio.fs.SolarisWatchService$SolarisWatchKey.removeChild:(Ljava/nio/file/Path;)V
        end local 11 // sun.nio.fs.SolarisWatchService$SolarisWatchKey key
        end local 10 // sun.nio.fs.SolarisWatchService$EntryNode entry
        43: .line 479
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 9 // boolean isDirectory
        end local 8 // boolean reregister
        end local 7 // sun.nio.fs.SolarisWatchService$Node node
        end local 6 // int events
        end local 4 // long object
        end local 3 // short source
        end local 1 // long address
        end local 0 // sun.nio.fs.SolarisWatchService$Poller this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   44     0         this  Lsun/nio/fs/SolarisWatchService$Poller;
            0   44     1      address  J
            1   44     3       source  S
            2   44     4       object  J
            3   44     6       events  I
            6    8     7     shutdown  Z
           10   44     7         node  Lsun/nio/fs/SolarisWatchService$Node;
           13   44     8   reregister  Z
           14   44     9  isDirectory  Z
           18   20    10       ignore  Z
           36   39    10          key  Lsun/nio/fs/SolarisWatchService$SolarisWatchKey;
           41   43    10        entry  Lsun/nio/fs/SolarisWatchService$EntryNode;
           42   43    11          key  Lsun/nio/fs/SolarisWatchService$SolarisWatchKey;
      Exception table:
        from    to  target  type
          21    28      29  Class sun.nio.fs.UnixException
    MethodParameters:
         Name  Flags
      address  

  void processDirectoryEvents(sun.nio.fs.SolarisWatchService$SolarisWatchKey, int);
    descriptor: (Lsun/nio/fs/SolarisWatchService$SolarisWatchKey;I)V
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // sun.nio.fs.SolarisWatchService$Poller this
        start local 1 // sun.nio.fs.SolarisWatchService$SolarisWatchKey key
        start local 2 // int mask
         0: .line 487
            iload 2 /* mask */
            bipush 6
            iand
            ifeq 4
         1: .line 488
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual sun.nio.fs.SolarisWatchService$SolarisWatchKey.getDirectory:()Lsun/nio/fs/UnixPath;
            aload 1 /* key */
         2: .line 489
            aload 1 /* key */
            invokevirtual sun.nio.fs.SolarisWatchService$SolarisWatchKey.events:()Ljava/util/Set;
            getstatic java.nio.file.StandardWatchEventKinds.ENTRY_CREATE:Ljava/nio/file/WatchEvent$Kind;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
         3: .line 488
            invokevirtual sun.nio.fs.SolarisWatchService$Poller.registerChildren:(Lsun/nio/fs/UnixPath;Lsun/nio/fs/SolarisWatchService$SolarisWatchKey;Z)V
         4: .line 491
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int mask
        end local 1 // sun.nio.fs.SolarisWatchService$SolarisWatchKey key
        end local 0 // sun.nio.fs.SolarisWatchService$Poller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/nio/fs/SolarisWatchService$Poller;
            0    5     1   key  Lsun/nio/fs/SolarisWatchService$SolarisWatchKey;
            0    5     2  mask  I
    MethodParameters:
      Name  Flags
      key   
      mask  

  boolean processEntryEvents(sun.nio.fs.SolarisWatchService$EntryNode, int);
    descriptor: (Lsun/nio/fs/SolarisWatchService$EntryNode;I)Z
    flags: (0x0000) 
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // sun.nio.fs.SolarisWatchService$Poller this
        start local 1 // sun.nio.fs.SolarisWatchService$EntryNode node
        start local 2 // int mask
         0: .line 498
            aload 1 /* node */
            invokevirtual sun.nio.fs.SolarisWatchService$EntryNode.parent:()Lsun/nio/fs/SolarisWatchService$DirectoryNode;
            checkcast sun.nio.fs.SolarisWatchService$SolarisWatchKey
            astore 3 /* key */
        start local 3 // sun.nio.fs.SolarisWatchService$SolarisWatchKey key
         1: .line 499
            aload 3 /* key */
            invokevirtual sun.nio.fs.SolarisWatchService$SolarisWatchKey.events:()Ljava/util/Set;
            astore 4 /* events */
        start local 4 // java.util.Set events
         2: .line 500
            aload 4 /* events */
            ifnonnull 4
         3: .line 502
            iconst_1
            ireturn
         4: .line 506
      StackMap locals: sun.nio.fs.SolarisWatchService$SolarisWatchKey java.util.Set
      StackMap stack:
            iload 2 /* mask */
            bipush 6
            iand
            ifeq 7
         5: .line 507
            aload 4 /* events */
            getstatic java.nio.file.StandardWatchEventKinds.ENTRY_MODIFY:Ljava/nio/file/WatchEvent$Kind;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 509
            aload 3 /* key */
            getstatic java.nio.file.StandardWatchEventKinds.ENTRY_MODIFY:Ljava/nio/file/WatchEvent$Kind;
            aload 1 /* node */
            invokevirtual sun.nio.fs.SolarisWatchService$EntryNode.name:()Ljava/nio/file/Path;
            invokevirtual sun.nio.fs.SolarisWatchService$SolarisWatchKey.signalEvent:(Ljava/nio/file/WatchEvent$Kind;Ljava/lang/Object;)V
         7: .line 513
      StackMap locals:
      StackMap stack:
            iload 2 /* mask */
            bipush 112
            iand
            ifeq 16
         8: .line 514
            aload 4 /* events */
            getstatic java.nio.file.StandardWatchEventKinds.ENTRY_DELETE:Ljava/nio/file/WatchEvent$Kind;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 16
         9: .line 522
            iconst_1
            istore 5 /* removed */
        start local 5 // boolean removed
        10: .line 525
            aload 3 /* key */
            invokevirtual sun.nio.fs.SolarisWatchService$SolarisWatchKey.getDirectory:()Lsun/nio/fs/UnixPath;
            aload 1 /* node */
            invokevirtual sun.nio.fs.SolarisWatchService$EntryNode.name:()Ljava/nio/file/Path;
            invokevirtual sun.nio.fs.UnixPath.resolve:(Ljava/nio/file/Path;)Lsun/nio/fs/UnixPath;
            iconst_0
            invokestatic sun.nio.fs.UnixFileAttributes.get:(Lsun/nio/fs/UnixPath;Z)Lsun/nio/fs/UnixFileAttributes;
            pop
        11: .line 526
            iconst_0
            istore 5 /* removed */
        12: .line 527
            goto 14
      StackMap locals: sun.nio.fs.SolarisWatchService$Poller sun.nio.fs.SolarisWatchService$EntryNode int sun.nio.fs.SolarisWatchService$SolarisWatchKey java.util.Set int
      StackMap stack: sun.nio.fs.UnixException
        13: pop
        14: .line 529
      StackMap locals:
      StackMap stack:
            iload 5 /* removed */
            ifeq 16
        15: .line 530
            aload 3 /* key */
            getstatic java.nio.file.StandardWatchEventKinds.ENTRY_DELETE:Ljava/nio/file/WatchEvent$Kind;
            aload 1 /* node */
            invokevirtual sun.nio.fs.SolarisWatchService$EntryNode.name:()Ljava/nio/file/Path;
            invokevirtual sun.nio.fs.SolarisWatchService$SolarisWatchKey.signalEvent:(Ljava/nio/file/WatchEvent$Kind;Ljava/lang/Object;)V
        end local 5 // boolean removed
        16: .line 532
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 4 // java.util.Set events
        end local 3 // sun.nio.fs.SolarisWatchService$SolarisWatchKey key
        end local 2 // int mask
        end local 1 // sun.nio.fs.SolarisWatchService$EntryNode node
        end local 0 // sun.nio.fs.SolarisWatchService$Poller this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   17     0     this  Lsun/nio/fs/SolarisWatchService$Poller;
            0   17     1     node  Lsun/nio/fs/SolarisWatchService$EntryNode;
            0   17     2     mask  I
            1   17     3      key  Lsun/nio/fs/SolarisWatchService$SolarisWatchKey;
            2   17     4   events  Ljava/util/Set<+Ljava/nio/file/WatchEvent$Kind<*>;>;
           10   16     5  removed  Z
      Exception table:
        from    to  target  type
          10    12      13  Class sun.nio.fs.UnixException
    MethodParameters:
      Name  Flags
      node  
      mask  

  void registerChildren(sun.nio.fs.UnixPath, sun.nio.fs.SolarisWatchService$SolarisWatchKey, boolean);
    descriptor: (Lsun/nio/fs/UnixPath;Lsun/nio/fs/SolarisWatchService$SolarisWatchKey;Z)V
    flags: (0x0000) 
    Code:
      stack=6, locals=13, args_size=4
        start local 0 // sun.nio.fs.SolarisWatchService$Poller this
        start local 1 // sun.nio.fs.UnixPath dir
        start local 2 // sun.nio.fs.SolarisWatchService$SolarisWatchKey parent
        start local 3 // boolean sendEvents
         0: .line 549
            ldc 268435456
            istore 4 /* events */
        start local 4 // int events
         1: .line 550
            aload 2 /* parent */
            invokevirtual sun.nio.fs.SolarisWatchService$SolarisWatchKey.events:()Ljava/util/Set;
            getstatic java.nio.file.StandardWatchEventKinds.ENTRY_MODIFY:Ljava/nio/file/WatchEvent$Kind;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 551
            iload 4 /* events */
            bipush 6
            ior
            istore 4 /* events */
         3: .line 553
      StackMap locals: int
      StackMap stack:
            aconst_null
            astore 5 /* stream */
        start local 5 // java.nio.file.DirectoryStream stream
         4: .line 555
            aload 1 /* dir */
            invokestatic java.nio.file.Files.newDirectoryStream:(Ljava/nio/file/Path;)Ljava/nio/file/DirectoryStream;
            astore 5 /* stream */
         5: .line 556
            goto 8
      StackMap locals: sun.nio.fs.SolarisWatchService$Poller sun.nio.fs.UnixPath sun.nio.fs.SolarisWatchService$SolarisWatchKey int int java.nio.file.DirectoryStream
      StackMap stack: java.io.IOException
         6: pop
         7: .line 558
            return
         8: .line 561
      StackMap locals:
      StackMap stack:
            aload 5 /* stream */
            invokeinterface java.nio.file.DirectoryStream.iterator:()Ljava/util/Iterator;
            astore 7
            goto 23
      StackMap locals: sun.nio.fs.SolarisWatchService$Poller sun.nio.fs.UnixPath sun.nio.fs.SolarisWatchService$SolarisWatchKey int int java.nio.file.DirectoryStream top java.util.Iterator
      StackMap stack:
         9: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.nio.file.Path
            astore 6 /* entry */
        start local 6 // java.nio.file.Path entry
        10: .line 562
            aload 6 /* entry */
            invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
            astore 8 /* name */
        start local 8 // java.nio.file.Path name
        11: .line 565
            aload 2 /* parent */
            aload 8 /* name */
            invokevirtual sun.nio.fs.SolarisWatchService$SolarisWatchKey.getChild:(Ljava/nio/file/Path;)Lsun/nio/fs/SolarisWatchService$EntryNode;
            ifnull 13
        12: .line 566
            goto 23
        13: .line 569
      StackMap locals: sun.nio.fs.SolarisWatchService$Poller sun.nio.fs.UnixPath sun.nio.fs.SolarisWatchService$SolarisWatchKey int int java.nio.file.DirectoryStream java.nio.file.Path java.util.Iterator java.nio.file.Path
      StackMap stack:
            iload 3 /* sendEvents */
            ifeq 15
        14: .line 570
            aload 2 /* parent */
            getstatic java.nio.file.StandardWatchEventKinds.ENTRY_CREATE:Ljava/nio/file/WatchEvent$Kind;
            aload 8 /* name */
            invokevirtual sun.nio.fs.SolarisWatchService$SolarisWatchKey.signalEvent:(Ljava/nio/file/WatchEvent$Kind;Ljava/lang/Object;)V
        15: .line 574
      StackMap locals:
      StackMap stack:
            lconst_0
            lstore 9 /* object */
        start local 9 // long object
        16: .line 576
            aload 0 /* this */
            aload 6 /* entry */
            checkcast sun.nio.fs.UnixPath
            iload 4 /* events */
            invokevirtual sun.nio.fs.SolarisWatchService$Poller.registerImpl:(Lsun/nio/fs/UnixPath;I)J
            lstore 9 /* object */
        17: .line 577
            goto 20
      StackMap locals: sun.nio.fs.SolarisWatchService$Poller sun.nio.fs.UnixPath sun.nio.fs.SolarisWatchService$SolarisWatchKey int int java.nio.file.DirectoryStream java.nio.file.Path java.util.Iterator java.nio.file.Path long
      StackMap stack: sun.nio.fs.UnixException
        18: pop
        19: .line 579
            goto 23
        20: .line 583
      StackMap locals:
      StackMap stack:
            new sun.nio.fs.SolarisWatchService$EntryNode
            dup
            lload 9 /* object */
            aload 6 /* entry */
            invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
            aload 2 /* parent */
            invokespecial sun.nio.fs.SolarisWatchService$EntryNode.<init>:(JLjava/nio/file/Path;Lsun/nio/fs/SolarisWatchService$DirectoryNode;)V
            astore 11 /* node */
        start local 11 // sun.nio.fs.SolarisWatchService$EntryNode node
        21: .line 585
            aload 2 /* parent */
            aload 6 /* entry */
            invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
            aload 11 /* node */
            invokevirtual sun.nio.fs.SolarisWatchService$SolarisWatchKey.addChild:(Ljava/nio/file/Path;Lsun/nio/fs/SolarisWatchService$EntryNode;)V
        22: .line 586
            aload 0 /* this */
            getfield sun.nio.fs.SolarisWatchService$Poller.object2Node:Ljava/util/Map;
            lload 9 /* object */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aload 11 /* node */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 11 // sun.nio.fs.SolarisWatchService$EntryNode node
        end local 9 // long object
        end local 8 // java.nio.file.Path name
        end local 6 // java.nio.file.Path entry
        23: .line 561
      StackMap locals: sun.nio.fs.SolarisWatchService$Poller sun.nio.fs.UnixPath sun.nio.fs.SolarisWatchService$SolarisWatchKey int int java.nio.file.DirectoryStream top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        24: .line 588
            goto 34
      StackMap locals: sun.nio.fs.SolarisWatchService$Poller sun.nio.fs.UnixPath sun.nio.fs.SolarisWatchService$SolarisWatchKey int int java.nio.file.DirectoryStream
      StackMap stack: java.util.ConcurrentModificationException
        25: pop
        26: .line 592
            aload 5 /* stream */
            invokeinterface java.nio.file.DirectoryStream.close:()V
        27: .line 593
            goto 37
      StackMap locals:
      StackMap stack: java.io.IOException
        28: pop
            goto 37
        29: .line 590
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 12
        30: .line 592
            aload 5 /* stream */
            invokeinterface java.nio.file.DirectoryStream.close:()V
        31: .line 593
            goto 33
      StackMap locals: sun.nio.fs.SolarisWatchService$Poller sun.nio.fs.UnixPath sun.nio.fs.SolarisWatchService$SolarisWatchKey int int java.nio.file.DirectoryStream top top top top top top java.lang.Throwable
      StackMap stack: java.io.IOException
        32: pop
        33: .line 594
      StackMap locals:
      StackMap stack:
            aload 12
            athrow
        34: .line 592
      StackMap locals: sun.nio.fs.SolarisWatchService$Poller sun.nio.fs.UnixPath sun.nio.fs.SolarisWatchService$SolarisWatchKey int int java.nio.file.DirectoryStream
      StackMap stack:
            aload 5 /* stream */
            invokeinterface java.nio.file.DirectoryStream.close:()V
        35: .line 593
            goto 37
      StackMap locals:
      StackMap stack: java.io.IOException
        36: pop
        37: .line 595
      StackMap locals:
      StackMap stack:
            return
        end local 5 // java.nio.file.DirectoryStream stream
        end local 4 // int events
        end local 3 // boolean sendEvents
        end local 2 // sun.nio.fs.SolarisWatchService$SolarisWatchKey parent
        end local 1 // sun.nio.fs.UnixPath dir
        end local 0 // sun.nio.fs.SolarisWatchService$Poller this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   38     0        this  Lsun/nio/fs/SolarisWatchService$Poller;
            0   38     1         dir  Lsun/nio/fs/UnixPath;
            0   38     2      parent  Lsun/nio/fs/SolarisWatchService$SolarisWatchKey;
            0   38     3  sendEvents  Z
            1   38     4      events  I
            4   38     5      stream  Ljava/nio/file/DirectoryStream<Ljava/nio/file/Path;>;
           10   23     6       entry  Ljava/nio/file/Path;
           11   23     8        name  Ljava/nio/file/Path;
           16   23     9      object  J
           21   23    11        node  Lsun/nio/fs/SolarisWatchService$EntryNode;
      Exception table:
        from    to  target  type
           4     5       6  Class java.io.IOException
          16    17      18  Class sun.nio.fs.UnixException
           8    24      25  Class java.util.ConcurrentModificationException
          26    27      28  Class java.io.IOException
           8    26      29  any
          30    31      32  Class java.io.IOException
          34    35      36  Class java.io.IOException
    MethodParameters:
            Name  Flags
      dir         
      parent      
      sendEvents  

  void updateEvents(sun.nio.fs.SolarisWatchService$SolarisWatchKey, java.util.Set<? extends java.nio.file.WatchEvent$Kind<?>>);
    descriptor: (Lsun/nio/fs/SolarisWatchService$SolarisWatchKey;Ljava/util/Set;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=10, args_size=3
        start local 0 // sun.nio.fs.SolarisWatchService$Poller this
        start local 1 // sun.nio.fs.SolarisWatchService$SolarisWatchKey key
        start local 2 // java.util.Set events
         0: .line 604
            aload 1 /* key */
            invokevirtual sun.nio.fs.SolarisWatchService$SolarisWatchKey.events:()Ljava/util/Set;
         1: .line 605
            getstatic java.nio.file.StandardWatchEventKinds.ENTRY_MODIFY:Ljava/nio/file/WatchEvent$Kind;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
         2: .line 604
            istore 3 /* wasModifyEnabled */
        start local 3 // boolean wasModifyEnabled
         3: .line 606
            aload 1 /* key */
            aload 2 /* events */
            invokevirtual sun.nio.fs.SolarisWatchService$SolarisWatchKey.setEvents:(Ljava/util/Set;)V
         4: .line 609
            aload 2 /* events */
         5: .line 610
            getstatic java.nio.file.StandardWatchEventKinds.ENTRY_MODIFY:Ljava/nio/file/WatchEvent$Kind;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
         6: .line 609
            istore 4 /* isModifyEnabled */
        start local 4 // boolean isModifyEnabled
         7: .line 611
            iload 3 /* wasModifyEnabled */
            iload 4 /* isModifyEnabled */
            if_icmpne 9
         8: .line 612
            return
         9: .line 616
      StackMap locals: int int
      StackMap stack:
            aload 1 /* key */
            getfield sun.nio.fs.SolarisWatchService$SolarisWatchKey.children:Ljava/util/Map;
            ifnull 24
        10: .line 617
            ldc 268435456
            istore 5 /* ev */
        start local 5 // int ev
        11: .line 618
            iload 4 /* isModifyEnabled */
            ifeq 13
        12: .line 619
            iload 5 /* ev */
            bipush 6
            ior
            istore 5 /* ev */
        13: .line 621
      StackMap locals: int
      StackMap stack:
            aload 1 /* key */
            getfield sun.nio.fs.SolarisWatchService$SolarisWatchKey.children:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 23
      StackMap locals: sun.nio.fs.SolarisWatchService$Poller sun.nio.fs.SolarisWatchService$SolarisWatchKey java.util.Set int int int top java.util.Iterator
      StackMap stack:
        14: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 6 /* entry */
        start local 6 // java.util.Map$Entry entry
        15: .line 622
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast sun.nio.fs.SolarisWatchService$EntryNode
            invokevirtual sun.nio.fs.SolarisWatchService$EntryNode.object:()J
            lstore 8 /* object */
        start local 8 // long object
        16: .line 624
            aload 0 /* this */
            getfield sun.nio.fs.SolarisWatchService$Poller.port:I
        17: .line 625
            bipush 7
        18: .line 626
            lload 8 /* object */
        19: .line 627
            iload 5 /* ev */
        20: .line 624
            invokestatic sun.nio.fs.SolarisWatchService.portAssociate:(IIJI)V
        21: .line 628
            goto 23
      StackMap locals: sun.nio.fs.SolarisWatchService$Poller sun.nio.fs.SolarisWatchService$SolarisWatchKey java.util.Set int int int java.util.Map$Entry java.util.Iterator long
      StackMap stack: sun.nio.fs.UnixException
        22: pop
        end local 8 // long object
        end local 6 // java.util.Map$Entry entry
        23: .line 621
      StackMap locals: sun.nio.fs.SolarisWatchService$Poller sun.nio.fs.SolarisWatchService$SolarisWatchKey java.util.Set int int int top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 14
        end local 5 // int ev
        24: .line 633
      StackMap locals: sun.nio.fs.SolarisWatchService$Poller sun.nio.fs.SolarisWatchService$SolarisWatchKey java.util.Set int int
      StackMap stack:
            return
        end local 4 // boolean isModifyEnabled
        end local 3 // boolean wasModifyEnabled
        end local 2 // java.util.Set events
        end local 1 // sun.nio.fs.SolarisWatchService$SolarisWatchKey key
        end local 0 // sun.nio.fs.SolarisWatchService$Poller this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   25     0              this  Lsun/nio/fs/SolarisWatchService$Poller;
            0   25     1               key  Lsun/nio/fs/SolarisWatchService$SolarisWatchKey;
            0   25     2            events  Ljava/util/Set<+Ljava/nio/file/WatchEvent$Kind<*>;>;
            3   25     3  wasModifyEnabled  Z
            7   25     4   isModifyEnabled  Z
           11   24     5                ev  I
           15   23     6             entry  Ljava/util/Map$Entry<Ljava/nio/file/Path;Lsun/nio/fs/SolarisWatchService$EntryNode;>;
           16   23     8            object  J
      Exception table:
        from    to  target  type
          16    21      22  Class sun.nio.fs.UnixException
    Signature: (Lsun/nio/fs/SolarisWatchService$SolarisWatchKey;Ljava/util/Set<+Ljava/nio/file/WatchEvent$Kind<*>;>;)V
    MethodParameters:
        Name  Flags
      key     
      events  

  long registerImpl(sun.nio.fs.UnixPath, int);
    descriptor: (Lsun/nio/fs/UnixPath;I)J
    flags: (0x0000) 
    Code:
      stack=9, locals=10, args_size=3
        start local 0 // sun.nio.fs.SolarisWatchService$Poller this
        start local 1 // sun.nio.fs.UnixPath dir
        start local 2 // int events
         0: .line 644
            aload 1 /* dir */
            invokevirtual sun.nio.fs.UnixPath.getByteArrayForSysCalls:()[B
            astore 3 /* path */
        start local 3 // byte[] path
         1: .line 645
            aload 3 /* path */
            arraylength
            istore 4 /* len */
        start local 4 // int len
         2: .line 646
            getstatic sun.nio.fs.SolarisWatchService.unsafe:Lsun/misc/Unsafe;
            iload 4 /* len */
            iconst_1
            iadd
            i2l
            invokevirtual sun.misc.Unsafe.allocateMemory:(J)J
            lstore 5 /* name */
        start local 5 // long name
         3: .line 647
            getstatic sun.nio.fs.SolarisWatchService.unsafe:Lsun/misc/Unsafe;
            aload 3 /* path */
            getstatic sun.misc.Unsafe.ARRAY_BYTE_BASE_OFFSET:I
            i2l
            aconst_null
         4: .line 648
            lload 5 /* name */
            iload 4 /* len */
            i2l
         5: .line 647
            invokevirtual sun.misc.Unsafe.copyMemory:(Ljava/lang/Object;JLjava/lang/Object;JJ)V
         6: .line 649
            getstatic sun.nio.fs.SolarisWatchService.unsafe:Lsun/misc/Unsafe;
            lload 5 /* name */
            iload 4 /* len */
            i2l
            ladd
            iconst_0
            invokevirtual sun.misc.Unsafe.putByte:(JB)V
         7: .line 653
            getstatic sun.nio.fs.SolarisWatchService.unsafe:Lsun/misc/Unsafe;
            getstatic sun.nio.fs.SolarisWatchService.SIZEOF_FILEOBJ:I
            i2l
            invokevirtual sun.misc.Unsafe.allocateMemory:(J)J
            lstore 7 /* object */
        start local 7 // long object
         8: .line 654
            getstatic sun.nio.fs.SolarisWatchService.unsafe:Lsun/misc/Unsafe;
            aconst_null
            lload 7 /* object */
            getstatic sun.nio.fs.SolarisWatchService.SIZEOF_FILEOBJ:I
            i2l
            iconst_0
            invokevirtual sun.misc.Unsafe.setMemory:(Ljava/lang/Object;JJB)V
         9: .line 655
            getstatic sun.nio.fs.SolarisWatchService.unsafe:Lsun/misc/Unsafe;
            lload 7 /* object */
            getstatic sun.nio.fs.SolarisWatchService.OFFSET_FO_NAME:I
            i2l
            ladd
            lload 5 /* name */
            invokevirtual sun.misc.Unsafe.putAddress:(JJ)V
        10: .line 659
            aload 0 /* this */
            getfield sun.nio.fs.SolarisWatchService$Poller.port:I
        11: .line 660
            bipush 7
        12: .line 661
            lload 7 /* object */
        13: .line 662
            iload 2 /* events */
        14: .line 659
            invokestatic sun.nio.fs.SolarisWatchService.portAssociate:(IIJI)V
        15: .line 663
            goto 22
      StackMap locals: sun.nio.fs.SolarisWatchService$Poller sun.nio.fs.UnixPath int byte[] int long long
      StackMap stack: sun.nio.fs.UnixException
        16: astore 9 /* x */
        start local 9 // sun.nio.fs.UnixException x
        17: .line 665
            aload 9 /* x */
            invokevirtual sun.nio.fs.UnixException.errno:()I
            bipush 11
            if_icmpne 19
        18: .line 666
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc "The maximum number of objects associated with the port has been reached"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        19: .line 670
      StackMap locals: sun.nio.fs.UnixException
      StackMap stack:
            getstatic sun.nio.fs.SolarisWatchService.unsafe:Lsun/misc/Unsafe;
            lload 5 /* name */
            invokevirtual sun.misc.Unsafe.freeMemory:(J)V
        20: .line 671
            getstatic sun.nio.fs.SolarisWatchService.unsafe:Lsun/misc/Unsafe;
            lload 7 /* object */
            invokevirtual sun.misc.Unsafe.freeMemory:(J)V
        21: .line 672
            aload 9 /* x */
            athrow
        end local 9 // sun.nio.fs.UnixException x
        22: .line 674
      StackMap locals:
      StackMap stack:
            lload 7 /* object */
            lreturn
        end local 7 // long object
        end local 5 // long name
        end local 4 // int len
        end local 3 // byte[] path
        end local 2 // int events
        end local 1 // sun.nio.fs.UnixPath dir
        end local 0 // sun.nio.fs.SolarisWatchService$Poller this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   23     0    this  Lsun/nio/fs/SolarisWatchService$Poller;
            0   23     1     dir  Lsun/nio/fs/UnixPath;
            0   23     2  events  I
            1   23     3    path  [B
            2   23     4     len  I
            3   23     5    name  J
            8   23     7  object  J
           17   22     9       x  Lsun/nio/fs/UnixException;
      Exception table:
        from    to  target  type
          10    15      16  Class sun.nio.fs.UnixException
    Exceptions:
      throws sun.nio.fs.UnixException
    MethodParameters:
        Name  Flags
      dir     
      events  

  void releaseObject(long, boolean);
    descriptor: (JZ)V
    flags: (0x0000) 
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // sun.nio.fs.SolarisWatchService$Poller this
        start local 1 // long object
        start local 3 // boolean dissociate
         0: .line 683
            iload 3 /* dissociate */
            ifeq 4
         1: .line 685
            aload 0 /* this */
            getfield sun.nio.fs.SolarisWatchService$Poller.port:I
            bipush 7
            lload 1 /* object */
            invokestatic sun.nio.fs.SolarisWatchService.portDissociate:(IIJ)V
         2: .line 686
            goto 4
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
         3: pop
         4: .line 692
      StackMap locals:
      StackMap stack:
            getstatic sun.nio.fs.SolarisWatchService.unsafe:Lsun/misc/Unsafe;
            lload 1 /* object */
            getstatic sun.nio.fs.SolarisWatchService.OFFSET_FO_NAME:I
            i2l
            ladd
            invokevirtual sun.misc.Unsafe.getAddress:(J)J
            lstore 4 /* name */
        start local 4 // long name
         5: .line 693
            getstatic sun.nio.fs.SolarisWatchService.unsafe:Lsun/misc/Unsafe;
            lload 4 /* name */
            invokevirtual sun.misc.Unsafe.freeMemory:(J)V
         6: .line 694
            getstatic sun.nio.fs.SolarisWatchService.unsafe:Lsun/misc/Unsafe;
            lload 1 /* object */
            invokevirtual sun.misc.Unsafe.freeMemory:(J)V
         7: .line 695
            return
        end local 4 // long name
        end local 3 // boolean dissociate
        end local 1 // long object
        end local 0 // sun.nio.fs.SolarisWatchService$Poller this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lsun/nio/fs/SolarisWatchService$Poller;
            0    8     1      object  J
            0    8     3  dissociate  Z
            5    8     4        name  J
      Exception table:
        from    to  target  type
           1     2       3  Class sun.nio.fs.UnixException
    MethodParameters:
            Name  Flags
      object      
      dissociate  
}
SourceFile: "SolarisWatchService.java"
NestHost: sun.nio.fs.SolarisWatchService
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
  private abstract DirectoryNode = sun.nio.fs.SolarisWatchService$DirectoryNode of sun.nio.fs.SolarisWatchService
  private EntryNode = sun.nio.fs.SolarisWatchService$EntryNode of sun.nio.fs.SolarisWatchService
  private abstract Node = sun.nio.fs.SolarisWatchService$Node of sun.nio.fs.SolarisWatchService
  private Poller = sun.nio.fs.SolarisWatchService$Poller of sun.nio.fs.SolarisWatchService
  private SolarisWatchKey = sun.nio.fs.SolarisWatchService$SolarisWatchKey of sun.nio.fs.SolarisWatchService