public class sun.nio.ch.Net
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.nio.ch.Net
  super_class: java.lang.Object
{
  static final java.net.ProtocolFamily UNSPEC;
    descriptor: Ljava/net/ProtocolFamily;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  private static final boolean exclusiveBind;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final boolean fastLoopback;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static volatile boolean checkedIPv6;
    descriptor: Z
    flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE

  private static volatile boolean isIPv6Available;
    descriptor: Z
    flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE

  private static volatile boolean checkedReusePort;
    descriptor: Z
    flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE

  private static volatile boolean isReusePortAvailable;
    descriptor: Z
    flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE

  private static final java.net.InetAddress anyLocalInet4Address;
    descriptor: Ljava/net/InetAddress;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.net.InetAddress anyLocalInet6Address;
    descriptor: Ljava/net/InetAddress;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.net.InetAddress inet4LoopbackAddress;
    descriptor: Ljava/net/InetAddress;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.net.InetAddress inet6LoopbackAddress;
    descriptor: Ljava/net/InetAddress;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static final sun.net.ext.ExtendedSocketOptions extendedOptions;
    descriptor: Lsun/net/ext/ExtendedSocketOptions;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  public static final int SHUT_RD;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final int SHUT_WR;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int SHUT_RDWR;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final short POLLIN;
    descriptor: S
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final short POLLOUT;
    descriptor: S
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final short POLLERR;
    descriptor: S
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final short POLLHUP;
    descriptor: S
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final short POLLNVAL;
    descriptor: S
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final short POLLCONN;
    descriptor: S
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=2, args_size=0
         0: .line 56
            ldc Lsun/nio/ch/Net;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic sun.nio.ch.Net.$assertionsDisabled:Z
         3: .line 61
            new sun.nio.ch.Net$1
            dup
            invokespecial sun.nio.ch.Net$1.<init>:()V
            putstatic sun.nio.ch.Net.UNSPEC:Ljava/net/ProtocolFamily;
         4: .line 260
            iconst_0
            invokestatic sun.nio.ch.Net.inet4FromInt:(I)Ljava/net/InetAddress;
            putstatic sun.nio.ch.Net.anyLocalInet4Address:Ljava/net/InetAddress;
         5: .line 261
            getstatic sun.nio.ch.Net.$assertionsDisabled:Z
            ifne 8
            getstatic sun.nio.ch.Net.anyLocalInet4Address:Ljava/net/InetAddress;
            instanceof java.net.Inet4Address
            ifeq 7
         6: .line 262
            getstatic sun.nio.ch.Net.anyLocalInet4Address:Ljava/net/InetAddress;
            invokevirtual java.net.InetAddress.isAnyLocalAddress:()Z
            ifne 8
      StackMap locals:
      StackMap stack:
         7: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         8: .line 264
      StackMap locals:
      StackMap stack:
            bipush 16
            newarray 8
            invokestatic java.net.InetAddress.getByAddress:([B)Ljava/net/InetAddress;
            putstatic sun.nio.ch.Net.anyLocalInet6Address:Ljava/net/InetAddress;
         9: .line 265
            getstatic sun.nio.ch.Net.$assertionsDisabled:Z
            ifne 12
            getstatic sun.nio.ch.Net.anyLocalInet6Address:Ljava/net/InetAddress;
            instanceof java.net.Inet6Address
            ifeq 11
        10: .line 266
            getstatic sun.nio.ch.Net.anyLocalInet6Address:Ljava/net/InetAddress;
            invokevirtual java.net.InetAddress.isAnyLocalAddress:()Z
            ifne 12
      StackMap locals:
      StackMap stack:
        11: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        12: .line 268
      StackMap locals:
      StackMap stack:
            ldc 2130706433
            invokestatic sun.nio.ch.Net.inet4FromInt:(I)Ljava/net/InetAddress;
            putstatic sun.nio.ch.Net.inet4LoopbackAddress:Ljava/net/InetAddress;
        13: .line 269
            getstatic sun.nio.ch.Net.$assertionsDisabled:Z
            ifne 16
            getstatic sun.nio.ch.Net.inet4LoopbackAddress:Ljava/net/InetAddress;
            instanceof java.net.Inet4Address
            ifeq 15
        14: .line 270
            getstatic sun.nio.ch.Net.inet4LoopbackAddress:Ljava/net/InetAddress;
            invokevirtual java.net.InetAddress.isLoopbackAddress:()Z
            ifne 16
      StackMap locals:
      StackMap stack:
        15: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        16: .line 272
      StackMap locals:
      StackMap stack:
            bipush 16
            newarray 8
            astore 0 /* bytes */
        start local 0 // byte[] bytes
        17: .line 273
            aload 0 /* bytes */
            bipush 15
            iconst_1
            bastore
        18: .line 274
            aload 0 /* bytes */
            invokestatic java.net.InetAddress.getByAddress:([B)Ljava/net/InetAddress;
            putstatic sun.nio.ch.Net.inet6LoopbackAddress:Ljava/net/InetAddress;
        19: .line 275
            getstatic sun.nio.ch.Net.$assertionsDisabled:Z
            ifne 24
            getstatic sun.nio.ch.Net.inet6LoopbackAddress:Ljava/net/InetAddress;
            instanceof java.net.Inet6Address
            ifeq 21
        20: .line 276
            getstatic sun.nio.ch.Net.inet6LoopbackAddress:Ljava/net/InetAddress;
            invokevirtual java.net.InetAddress.isLoopbackAddress:()Z
            ifne 24
      StackMap locals: byte[]
      StackMap stack:
        21: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 0 // byte[] bytes
        22: .line 277
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 0 /* e */
        start local 0 // java.lang.Exception e
        23: .line 278
            new java.lang.InternalError
            dup
            aload 0 /* e */
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 0 // java.lang.Exception e
        24: .line 383
      StackMap locals:
      StackMap stack:
            invokestatic sun.net.ext.ExtendedSocketOptions.getInstance:()Lsun/net/ext/ExtendedSocketOptions;
        25: .line 382
            putstatic sun.nio.ch.Net.extendedOptions:Lsun/net/ext/ExtendedSocketOptions;
        26: .line 790
            invokestatic sun.nio.ch.IOUtil.load:()V
        27: .line 791
            invokestatic sun.nio.ch.Net.initIDs:()V
        28: .line 793
            invokestatic sun.nio.ch.Net.pollinValue:()S
            putstatic sun.nio.ch.Net.POLLIN:S
        29: .line 794
            invokestatic sun.nio.ch.Net.polloutValue:()S
            putstatic sun.nio.ch.Net.POLLOUT:S
        30: .line 795
            invokestatic sun.nio.ch.Net.pollerrValue:()S
            putstatic sun.nio.ch.Net.POLLERR:S
        31: .line 796
            invokestatic sun.nio.ch.Net.pollhupValue:()S
            putstatic sun.nio.ch.Net.POLLHUP:S
        32: .line 797
            invokestatic sun.nio.ch.Net.pollnvalValue:()S
            putstatic sun.nio.ch.Net.POLLNVAL:S
        33: .line 798
            invokestatic sun.nio.ch.Net.pollconnValue:()S
            putstatic sun.nio.ch.Net.POLLCONN:S
        34: .line 802
            invokestatic sun.nio.ch.Net.isExclusiveBindAvailable:()I
            istore 0 /* availLevel */
        start local 0 // int availLevel
        35: .line 803
            iload 0 /* availLevel */
            iflt 49
        36: .line 805
            ldc "sun.net.useExclusiveBind"
            invokestatic sun.security.action.GetPropertyAction.privilegedGetProperty:(Ljava/lang/String;)Ljava/lang/String;
        37: .line 804
            astore 1 /* exclBindProp */
        start local 1 // java.lang.String exclBindProp
        38: .line 806
            aload 1 /* exclBindProp */
            ifnull 44
        39: .line 807
            aload 1 /* exclBindProp */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 41
        40: .line 808
            iconst_1
            goto 42
      StackMap locals: int java.lang.String
      StackMap stack:
        41: aload 1 /* exclBindProp */
            invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
        42: .line 807
      StackMap locals:
      StackMap stack: int
            putstatic sun.nio.ch.Net.exclusiveBind:Z
        43: .line 809
            goto 50
      StackMap locals:
      StackMap stack:
        44: iload 0 /* availLevel */
            iconst_1
            if_icmpne 47
        45: .line 810
            iconst_1
            putstatic sun.nio.ch.Net.exclusiveBind:Z
        46: .line 811
            goto 50
        47: .line 812
      StackMap locals:
      StackMap stack:
            iconst_0
            putstatic sun.nio.ch.Net.exclusiveBind:Z
        end local 1 // java.lang.String exclBindProp
        48: .line 814
            goto 50
        49: .line 815
      StackMap locals:
      StackMap stack:
            iconst_0
            putstatic sun.nio.ch.Net.exclusiveBind:Z
        50: .line 818
      StackMap locals:
      StackMap stack:
            invokestatic sun.nio.ch.Net.isFastTcpLoopbackRequested:()Z
            putstatic sun.nio.ch.Net.fastLoopback:Z
        end local 0 // int availLevel
        51: .line 819
            return
      LocalVariableTable:
        Start  End  Slot          Name  Signature
           17   22     0         bytes  [B
           23   24     0             e  Ljava/lang/Exception;
           35   51     0    availLevel  I
           38   48     1  exclBindProp  Ljava/lang/String;
      Exception table:
        from    to  target  type
           4    22      22  Class java.lang.Exception

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.nio.ch.Net this
         0: .line 58
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // sun.nio.ch.Net this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/nio/ch/Net;

  static boolean isIPv6Available();
    descriptor: ()Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 84
            getstatic sun.nio.ch.Net.checkedIPv6:Z
            ifne 3
         1: .line 85
            invokestatic sun.nio.ch.Net.isIPv6Available0:()Z
            putstatic sun.nio.ch.Net.isIPv6Available:Z
         2: .line 86
            iconst_1
            putstatic sun.nio.ch.Net.checkedIPv6:Z
         3: .line 88
      StackMap locals:
      StackMap stack:
            getstatic sun.nio.ch.Net.isIPv6Available:Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static boolean isReusePortAvailable();
    descriptor: ()Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 95
            getstatic sun.nio.ch.Net.checkedReusePort:Z
            ifne 3
         1: .line 96
            invokestatic sun.nio.ch.Net.isReusePortAvailable0:()Z
            putstatic sun.nio.ch.Net.isReusePortAvailable:Z
         2: .line 97
            iconst_1
            putstatic sun.nio.ch.Net.checkedReusePort:Z
         3: .line 99
      StackMap locals:
      StackMap stack:
            getstatic sun.nio.ch.Net.isReusePortAvailable:Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static boolean useExclusiveBind();
    descriptor: ()Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 106
            getstatic sun.nio.ch.Net.exclusiveBind:Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static boolean shouldSetBothIPv4AndIPv6Options();
    descriptor: ()Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 116
            invokestatic sun.nio.ch.Net.shouldSetBothIPv4AndIPv6Options0:()Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static boolean canIPv6SocketJoinIPv4Group();
    descriptor: ()Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 123
            invokestatic sun.nio.ch.Net.canIPv6SocketJoinIPv4Group0:()Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static boolean canJoin6WithIPv4Group();
    descriptor: ()Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 131
            invokestatic sun.nio.ch.Net.canJoin6WithIPv4Group0:()Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static boolean canUseIPv6OptionsWithIPv4LocalAddress();
    descriptor: ()Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 139
            invokestatic sun.nio.ch.Net.canUseIPv6OptionsWithIPv4LocalAddress0:()Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.net.InetSocketAddress checkAddress(java.net.SocketAddress);
    descriptor: (Ljava/net/SocketAddress;)Ljava/net/InetSocketAddress;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.net.SocketAddress sa
         0: .line 143
            aload 0 /* sa */
            ifnonnull 2
         1: .line 144
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 145
      StackMap locals:
      StackMap stack:
            aload 0 /* sa */
            instanceof java.net.InetSocketAddress
            ifne 4
         3: .line 146
            new java.nio.channels.UnsupportedAddressTypeException
            dup
            invokespecial java.nio.channels.UnsupportedAddressTypeException.<init>:()V
            athrow
         4: .line 147
      StackMap locals:
      StackMap stack:
            aload 0 /* sa */
            checkcast java.net.InetSocketAddress
            astore 1 /* isa */
        start local 1 // java.net.InetSocketAddress isa
         5: .line 148
            aload 1 /* isa */
            invokevirtual java.net.InetSocketAddress.isUnresolved:()Z
            ifeq 7
         6: .line 149
            new java.nio.channels.UnresolvedAddressException
            dup
            invokespecial java.nio.channels.UnresolvedAddressException.<init>:()V
            athrow
         7: .line 150
      StackMap locals: java.net.InetSocketAddress
      StackMap stack:
            aload 1 /* isa */
            invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
            astore 2 /* addr */
        start local 2 // java.net.InetAddress addr
         8: .line 151
            aload 2 /* addr */
            instanceof java.net.Inet4Address
            ifne 10
            aload 2 /* addr */
            instanceof java.net.Inet6Address
            ifne 10
         9: .line 152
            new java.lang.IllegalArgumentException
            dup
            ldc "Invalid address type"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 153
      StackMap locals: java.net.InetAddress
      StackMap stack:
            aload 1 /* isa */
            areturn
        end local 2 // java.net.InetAddress addr
        end local 1 // java.net.InetSocketAddress isa
        end local 0 // java.net.SocketAddress sa
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0    sa  Ljava/net/SocketAddress;
            5   11     1   isa  Ljava/net/InetSocketAddress;
            8   11     2  addr  Ljava/net/InetAddress;
    MethodParameters:
      Name  Flags
      sa    

  static java.net.InetSocketAddress checkAddress(java.net.SocketAddress, java.net.ProtocolFamily);
    descriptor: (Ljava/net/SocketAddress;Ljava/net/ProtocolFamily;)Ljava/net/InetSocketAddress;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // java.net.SocketAddress sa
        start local 1 // java.net.ProtocolFamily family
         0: .line 157
            aload 0 /* sa */
            invokestatic sun.nio.ch.Net.checkAddress:(Ljava/net/SocketAddress;)Ljava/net/InetSocketAddress;
            astore 2 /* isa */
        start local 2 // java.net.InetSocketAddress isa
         1: .line 158
            aload 1 /* family */
            getstatic java.net.StandardProtocolFamily.INET:Ljava/net/StandardProtocolFamily;
            if_acmpne 5
         2: .line 159
            aload 2 /* isa */
            invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
            astore 3 /* addr */
        start local 3 // java.net.InetAddress addr
         3: .line 160
            aload 3 /* addr */
            instanceof java.net.Inet4Address
            ifne 5
         4: .line 161
            new java.nio.channels.UnsupportedAddressTypeException
            dup
            invokespecial java.nio.channels.UnsupportedAddressTypeException.<init>:()V
            athrow
        end local 3 // java.net.InetAddress addr
         5: .line 163
      StackMap locals: java.net.InetSocketAddress
      StackMap stack:
            aload 2 /* isa */
            areturn
        end local 2 // java.net.InetSocketAddress isa
        end local 1 // java.net.ProtocolFamily family
        end local 0 // java.net.SocketAddress sa
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0      sa  Ljava/net/SocketAddress;
            0    6     1  family  Ljava/net/ProtocolFamily;
            1    6     2     isa  Ljava/net/InetSocketAddress;
            3    5     3    addr  Ljava/net/InetAddress;
    MethodParameters:
        Name  Flags
      sa      
      family  

  static java.net.InetSocketAddress asInetSocketAddress(java.net.SocketAddress);
    descriptor: (Ljava/net/SocketAddress;)Ljava/net/InetSocketAddress;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.net.SocketAddress sa
         0: .line 167
            aload 0 /* sa */
            instanceof java.net.InetSocketAddress
            ifne 2
         1: .line 168
            new java.nio.channels.UnsupportedAddressTypeException
            dup
            invokespecial java.nio.channels.UnsupportedAddressTypeException.<init>:()V
            athrow
         2: .line 169
      StackMap locals:
      StackMap stack:
            aload 0 /* sa */
            checkcast java.net.InetSocketAddress
            areturn
        end local 0 // java.net.SocketAddress sa
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0    sa  Ljava/net/SocketAddress;
    MethodParameters:
      Name  Flags
      sa    

  static void translateToSocketException(java.lang.Exception);
    descriptor: (Ljava/lang/Exception;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.lang.Exception x
         0: .line 175
            aload 0 /* x */
            instanceof java.net.SocketException
            ifeq 2
         1: .line 176
            aload 0 /* x */
            checkcast java.net.SocketException
            athrow
         2: .line 177
      StackMap locals:
      StackMap stack:
            aload 0 /* x */
            astore 1 /* nx */
        start local 1 // java.lang.Exception nx
         3: .line 178
            aload 0 /* x */
            instanceof java.nio.channels.ClosedChannelException
            ifeq 5
         4: .line 179
            new java.net.SocketException
            dup
            ldc "Socket is closed"
            invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
            astore 1 /* nx */
            goto 17
         5: .line 180
      StackMap locals: java.lang.Exception
      StackMap stack:
            aload 0 /* x */
            instanceof java.nio.channels.NotYetConnectedException
            ifeq 7
         6: .line 181
            new java.net.SocketException
            dup
            ldc "Socket is not connected"
            invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
            astore 1 /* nx */
            goto 17
         7: .line 182
      StackMap locals:
      StackMap stack:
            aload 0 /* x */
            instanceof java.nio.channels.AlreadyBoundException
            ifeq 9
         8: .line 183
            new java.net.SocketException
            dup
            ldc "Already bound"
            invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
            astore 1 /* nx */
            goto 17
         9: .line 184
      StackMap locals:
      StackMap stack:
            aload 0 /* x */
            instanceof java.nio.channels.NotYetBoundException
            ifeq 11
        10: .line 185
            new java.net.SocketException
            dup
            ldc "Socket is not bound yet"
            invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
            astore 1 /* nx */
            goto 17
        11: .line 186
      StackMap locals:
      StackMap stack:
            aload 0 /* x */
            instanceof java.nio.channels.UnsupportedAddressTypeException
            ifeq 13
        12: .line 187
            new java.net.SocketException
            dup
            ldc "Unsupported address type"
            invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
            astore 1 /* nx */
            goto 17
        13: .line 188
      StackMap locals:
      StackMap stack:
            aload 0 /* x */
            instanceof java.nio.channels.UnresolvedAddressException
            ifeq 15
        14: .line 189
            new java.net.SocketException
            dup
            ldc "Unresolved address"
            invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
            astore 1 /* nx */
            goto 17
        15: .line 190
      StackMap locals:
      StackMap stack:
            aload 0 /* x */
            instanceof java.io.IOException
            ifeq 17
        16: .line 191
            new java.net.SocketException
            dup
            aload 0 /* x */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
            astore 1 /* nx */
        17: .line 193
      StackMap locals:
      StackMap stack:
            aload 1 /* nx */
            aload 0 /* x */
            if_acmpeq 19
        18: .line 194
            aload 1 /* nx */
            aload 0 /* x */
            invokevirtual java.lang.Exception.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        19: .line 196
      StackMap locals:
      StackMap stack:
            aload 1 /* nx */
            instanceof java.net.SocketException
            ifeq 21
        20: .line 197
            aload 1 /* nx */
            checkcast java.net.SocketException
            athrow
        21: .line 198
      StackMap locals:
      StackMap stack:
            aload 1 /* nx */
            instanceof java.lang.RuntimeException
            ifeq 23
        22: .line 199
            aload 1 /* nx */
            checkcast java.lang.RuntimeException
            athrow
        23: .line 201
      StackMap locals:
      StackMap stack:
            new java.lang.Error
            dup
            ldc "Untranslated exception"
            aload 1 /* nx */
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.lang.Exception nx
        end local 0 // java.lang.Exception x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   24     0     x  Ljava/lang/Exception;
            3   24     1    nx  Ljava/lang/Exception;
    Exceptions:
      throws java.net.SocketException
    MethodParameters:
      Name  Flags
      x     

  static void translateException(java.lang.Exception, boolean);
    descriptor: (Ljava/lang/Exception;Z)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Exception x
        start local 1 // boolean unknownHostForUnresolved
         0: .line 208
            aload 0 /* x */
            instanceof java.io.IOException
            ifeq 2
         1: .line 209
            aload 0 /* x */
            checkcast java.io.IOException
            athrow
         2: .line 212
      StackMap locals:
      StackMap stack:
            iload 1 /* unknownHostForUnresolved */
            ifeq 5
         3: .line 213
            aload 0 /* x */
            instanceof java.nio.channels.UnresolvedAddressException
            ifeq 5
         4: .line 215
            new java.net.UnknownHostException
            dup
            invokespecial java.net.UnknownHostException.<init>:()V
            athrow
         5: .line 217
      StackMap locals:
      StackMap stack:
            aload 0 /* x */
            invokestatic sun.nio.ch.Net.translateToSocketException:(Ljava/lang/Exception;)V
         6: .line 218
            return
        end local 1 // boolean unknownHostForUnresolved
        end local 0 // java.lang.Exception x
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    7     0                         x  Ljava/lang/Exception;
            0    7     1  unknownHostForUnresolved  Z
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                          Name  Flags
      x                         
      unknownHostForUnresolved  

  static void translateException(java.lang.Exception);
    descriptor: (Ljava/lang/Exception;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Exception x
         0: .line 223
            aload 0 /* x */
            iconst_0
            invokestatic sun.nio.ch.Net.translateException:(Ljava/lang/Exception;Z)V
         1: .line 224
            return
        end local 0 // java.lang.Exception x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     x  Ljava/lang/Exception;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      x     

  static java.net.InetSocketAddress getRevealedLocalAddress(java.net.InetSocketAddress);
    descriptor: (Ljava/net/InetSocketAddress;)Ljava/net/InetSocketAddress;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.net.InetSocketAddress addr
         0: .line 230
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 1 /* sm */
        start local 1 // java.lang.SecurityManager sm
         1: .line 231
            aload 0 /* addr */
            ifnull 2
            aload 1 /* sm */
            ifnonnull 3
         2: .line 232
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 0 /* addr */
            areturn
         3: .line 235
      StackMap locals:
      StackMap stack:
            aload 1 /* sm */
            aload 0 /* addr */
            invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
            invokevirtual java.net.InetAddress.getHostAddress:()Ljava/lang/String;
            iconst_m1
            invokevirtual java.lang.SecurityManager.checkConnect:(Ljava/lang/String;I)V
         4: .line 237
            goto 7
      StackMap locals:
      StackMap stack: java.lang.SecurityException
         5: pop
         6: .line 239
            aload 0 /* addr */
            invokevirtual java.net.InetSocketAddress.getPort:()I
            invokestatic sun.nio.ch.Net.getLoopbackAddress:(I)Ljava/net/InetSocketAddress;
            astore 0 /* addr */
         7: .line 241
      StackMap locals:
      StackMap stack:
            aload 0 /* addr */
            areturn
        end local 1 // java.lang.SecurityManager sm
        end local 0 // java.net.InetSocketAddress addr
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  addr  Ljava/net/InetSocketAddress;
            1    8     1    sm  Ljava/lang/SecurityManager;
      Exception table:
        from    to  target  type
           3     4       5  Class java.lang.SecurityException
    MethodParameters:
      Name  Flags
      addr  

  static java.lang.String getRevealedLocalAddressAsString(java.net.InetSocketAddress);
    descriptor: (Ljava/net/InetSocketAddress;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.net.InetSocketAddress addr
         0: .line 245
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            ifnonnull 1
            aload 0 /* addr */
            invokevirtual java.net.InetSocketAddress.toString:()Ljava/lang/String;
            goto 2
         1: .line 246
      StackMap locals:
      StackMap stack:
            aload 0 /* addr */
            invokevirtual java.net.InetSocketAddress.getPort:()I
            invokestatic sun.nio.ch.Net.getLoopbackAddress:(I)Ljava/net/InetSocketAddress;
            invokevirtual java.net.InetSocketAddress.toString:()Ljava/lang/String;
         2: .line 245
      StackMap locals:
      StackMap stack: java.lang.String
            areturn
        end local 0 // java.net.InetSocketAddress addr
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  addr  Ljava/net/InetSocketAddress;
    MethodParameters:
      Name  Flags
      addr  

  private static java.net.InetSocketAddress getLoopbackAddress(int);
    descriptor: (I)Ljava/net/InetSocketAddress;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // int port
         0: .line 250
            new java.net.InetSocketAddress
            dup
            invokestatic java.net.InetAddress.getLoopbackAddress:()Ljava/net/InetAddress;
         1: .line 251
            iload 0 /* port */
         2: .line 250
            invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
            areturn
        end local 0 // int port
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  port  I
    MethodParameters:
      Name  Flags
      port  

  static java.net.InetAddress inet4LoopbackAddress();
    descriptor: ()Ljava/net/InetAddress;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 283
            getstatic sun.nio.ch.Net.inet4LoopbackAddress:Ljava/net/InetAddress;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static java.net.InetAddress inet6LoopbackAddress();
    descriptor: ()Ljava/net/InetAddress;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 287
            getstatic sun.nio.ch.Net.inet6LoopbackAddress:Ljava/net/InetAddress;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static java.net.InetAddress anyLocalAddress(java.net.ProtocolFamily);
    descriptor: (Ljava/net/ProtocolFamily;)Ljava/net/InetAddress;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.net.ProtocolFamily family
         0: .line 296
            aload 0 /* family */
            getstatic java.net.StandardProtocolFamily.INET:Ljava/net/StandardProtocolFamily;
            if_acmpne 2
         1: .line 297
            getstatic sun.nio.ch.Net.anyLocalInet4Address:Ljava/net/InetAddress;
            areturn
         2: .line 298
      StackMap locals:
      StackMap stack:
            aload 0 /* family */
            getstatic java.net.StandardProtocolFamily.INET6:Ljava/net/StandardProtocolFamily;
            if_acmpne 4
         3: .line 299
            getstatic sun.nio.ch.Net.anyLocalInet6Address:Ljava/net/InetAddress;
            areturn
         4: .line 301
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
        end local 0 // java.net.ProtocolFamily family
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0  family  Ljava/net/ProtocolFamily;
    MethodParameters:
        Name  Flags
      family  

  static java.net.Inet4Address anyInet4Address(java.net.NetworkInterface);
    descriptor: (Ljava/net/NetworkInterface;)Ljava/net/Inet4Address;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.net.NetworkInterface interf
         0: .line 310
            new sun.nio.ch.Net$2
            dup
            aload 0 /* interf */
            invokespecial sun.nio.ch.Net$2.<init>:(Ljava/net/NetworkInterface;)V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.net.Inet4Address
            areturn
        end local 0 // java.net.NetworkInterface interf
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  interf  Ljava/net/NetworkInterface;
    MethodParameters:
        Name  Flags
      interf  final

  static int inet4AsInt(java.net.InetAddress);
    descriptor: (Ljava/net/InetAddress;)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.net.InetAddress ia
         0: .line 328
            aload 0 /* ia */
            instanceof java.net.Inet4Address
            ifeq 7
         1: .line 329
            aload 0 /* ia */
            invokevirtual java.net.InetAddress.getAddress:()[B
            astore 1 /* addr */
        start local 1 // byte[] addr
         2: .line 330
            aload 1 /* addr */
            iconst_3
            baload
            sipush 255
            iand
            istore 2 /* address */
        start local 2 // int address
         3: .line 331
            iload 2 /* address */
            aload 1 /* addr */
            iconst_2
            baload
            bipush 8
            ishl
            ldc 65280
            iand
            ior
            istore 2 /* address */
         4: .line 332
            iload 2 /* address */
            aload 1 /* addr */
            iconst_1
            baload
            bipush 16
            ishl
            ldc 16711680
            iand
            ior
            istore 2 /* address */
         5: .line 333
            iload 2 /* address */
            aload 1 /* addr */
            iconst_0
            baload
            bipush 24
            ishl
            ldc -16777216
            iand
            ior
            istore 2 /* address */
         6: .line 334
            iload 2 /* address */
            ireturn
        end local 2 // int address
        end local 1 // byte[] addr
         7: .line 336
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            ldc "Should not reach here"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 0 // java.net.InetAddress ia
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0       ia  Ljava/net/InetAddress;
            2    7     1     addr  [B
            3    7     2  address  I
    MethodParameters:
      Name  Flags
      ia    

  static java.net.InetAddress inet4FromInt(int);
    descriptor: (I)Ljava/net/InetAddress;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // int address
         0: .line 344
            iconst_4
            newarray 8
            astore 1 /* addr */
        start local 1 // byte[] addr
         1: .line 345
            aload 1 /* addr */
            iconst_0
            iload 0 /* address */
            bipush 24
            iushr
            sipush 255
            iand
            i2b
            bastore
         2: .line 346
            aload 1 /* addr */
            iconst_1
            iload 0 /* address */
            bipush 16
            iushr
            sipush 255
            iand
            i2b
            bastore
         3: .line 347
            aload 1 /* addr */
            iconst_2
            iload 0 /* address */
            bipush 8
            iushr
            sipush 255
            iand
            i2b
            bastore
         4: .line 348
            aload 1 /* addr */
            iconst_3
            iload 0 /* address */
            sipush 255
            iand
            i2b
            bastore
         5: .line 350
            aload 1 /* addr */
            invokestatic java.net.InetAddress.getByAddress:([B)Ljava/net/InetAddress;
         6: areturn
         7: .line 351
      StackMap locals: int byte[]
      StackMap stack: java.net.UnknownHostException
            pop
         8: .line 352
            new java.lang.AssertionError
            dup
            ldc "Should not reach here"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 1 // byte[] addr
        end local 0 // int address
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0  address  I
            1    9     1     addr  [B
      Exception table:
        from    to  target  type
           5     6       7  Class java.net.UnknownHostException
    MethodParameters:
         Name  Flags
      address  

  static byte[] inet6AsByteArray(java.net.InetAddress);
    descriptor: (Ljava/net/InetAddress;)[B
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // java.net.InetAddress ia
         0: .line 360
            aload 0 /* ia */
            instanceof java.net.Inet6Address
            ifeq 2
         1: .line 361
            aload 0 /* ia */
            invokevirtual java.net.InetAddress.getAddress:()[B
            areturn
         2: .line 365
      StackMap locals:
      StackMap stack:
            aload 0 /* ia */
            instanceof java.net.Inet4Address
            ifeq 12
         3: .line 366
            aload 0 /* ia */
            invokevirtual java.net.InetAddress.getAddress:()[B
            astore 1 /* ip4address */
        start local 1 // byte[] ip4address
         4: .line 367
            bipush 16
            newarray 8
            astore 2 /* address */
        start local 2 // byte[] address
         5: .line 368
            aload 2 /* address */
            bipush 10
            iconst_m1
            bastore
         6: .line 369
            aload 2 /* address */
            bipush 11
            iconst_m1
            bastore
         7: .line 370
            aload 2 /* address */
            bipush 12
            aload 1 /* ip4address */
            iconst_0
            baload
            bastore
         8: .line 371
            aload 2 /* address */
            bipush 13
            aload 1 /* ip4address */
            iconst_1
            baload
            bastore
         9: .line 372
            aload 2 /* address */
            bipush 14
            aload 1 /* ip4address */
            iconst_2
            baload
            bastore
        10: .line 373
            aload 2 /* address */
            bipush 15
            aload 1 /* ip4address */
            iconst_3
            baload
            bastore
        11: .line 374
            aload 2 /* address */
            areturn
        end local 2 // byte[] address
        end local 1 // byte[] ip4address
        12: .line 377
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            ldc "Should not reach here"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 0 // java.net.InetAddress ia
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   13     0          ia  Ljava/net/InetAddress;
            4   12     1  ip4address  [B
            5   12     2     address  [B
    MethodParameters:
      Name  Flags
      ia    

  static void setSocketOption(java.io.FileDescriptor, java.net.SocketOption<?>, );
    descriptor: (Ljava/io/FileDescriptor;Ljava/net/SocketOption;Ljava/lang/Object;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.io.FileDescriptor fd
        start local 1 // java.net.SocketOption name
        start local 2 // java.lang.Object value
         0: .line 388
            aload 0 /* fd */
            getstatic sun.nio.ch.Net.UNSPEC:Ljava/net/ProtocolFamily;
            aload 1 /* name */
            aload 2 /* value */
            invokestatic sun.nio.ch.Net.setSocketOption:(Ljava/io/FileDescriptor;Ljava/net/ProtocolFamily;Ljava/net/SocketOption;Ljava/lang/Object;)V
         1: .line 389
            return
        end local 2 // java.lang.Object value
        end local 1 // java.net.SocketOption name
        end local 0 // java.io.FileDescriptor fd
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0     fd  Ljava/io/FileDescriptor;
            0    2     1   name  Ljava/net/SocketOption<*>;
            0    2     2  value  Ljava/lang/Object;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/io/FileDescriptor;Ljava/net/SocketOption<*>;Ljava/lang/Object;)V
    MethodParameters:
       Name  Flags
      fd     
      name   
      value  

  static void setSocketOption(java.io.FileDescriptor, java.net.ProtocolFamily, java.net.SocketOption<?>, );
    descriptor: (Ljava/io/FileDescriptor;Ljava/net/ProtocolFamily;Ljava/net/SocketOption;Ljava/lang/Object;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=9, args_size=4
        start local 0 // java.io.FileDescriptor fd
        start local 1 // java.net.ProtocolFamily family
        start local 2 // java.net.SocketOption name
        start local 3 // java.lang.Object value
         0: .line 395
            aload 3 /* value */
            ifnonnull 2
         1: .line 396
            new java.lang.IllegalArgumentException
            dup
            ldc "Invalid option value"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 399
      StackMap locals:
      StackMap stack:
            aload 2 /* name */
            invokeinterface java.net.SocketOption.type:()Ljava/lang/Class;
            astore 4 /* type */
        start local 4 // java.lang.Class type
         3: .line 401
            getstatic sun.nio.ch.Net.extendedOptions:Lsun/net/ext/ExtendedSocketOptions;
            aload 2 /* name */
            invokevirtual sun.net.ext.ExtendedSocketOptions.isOptionSupported:(Ljava/net/SocketOption;)Z
            ifeq 6
         4: .line 402
            getstatic sun.nio.ch.Net.extendedOptions:Lsun/net/ext/ExtendedSocketOptions;
            aload 0 /* fd */
            aload 2 /* name */
            aload 3 /* value */
            invokevirtual sun.net.ext.ExtendedSocketOptions.setOption:(Ljava/io/FileDescriptor;Ljava/net/SocketOption;Ljava/lang/Object;)V
         5: .line 403
            return
         6: .line 406
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 4 /* type */
            ldc Ljava/lang/Integer;
            if_acmpeq 8
            aload 4 /* type */
            ldc Ljava/lang/Boolean;
            if_acmpeq 8
         7: .line 407
            new java.lang.AssertionError
            dup
            ldc "Should not reach here"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         8: .line 410
      StackMap locals:
      StackMap stack:
            aload 2 /* name */
            getstatic java.net.StandardSocketOptions.SO_RCVBUF:Ljava/net/SocketOption;
            if_acmpeq 10
         9: .line 411
            aload 2 /* name */
            getstatic java.net.StandardSocketOptions.SO_SNDBUF:Ljava/net/SocketOption;
            if_acmpne 13
        10: .line 413
      StackMap locals:
      StackMap stack:
            aload 3 /* value */
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 5 /* i */
        start local 5 // int i
        11: .line 414
            iload 5 /* i */
            ifge 13
        12: .line 415
            new java.lang.IllegalArgumentException
            dup
            ldc "Invalid send/receive buffer size"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // int i
        13: .line 417
      StackMap locals:
      StackMap stack:
            aload 2 /* name */
            getstatic java.net.StandardSocketOptions.SO_LINGER:Ljava/net/SocketOption;
            if_acmpne 19
        14: .line 418
            aload 3 /* value */
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 5 /* i */
        start local 5 // int i
        15: .line 419
            iload 5 /* i */
            ifge 17
        16: .line 420
            iconst_m1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            astore 3 /* value */
        17: .line 421
      StackMap locals: int
      StackMap stack:
            iload 5 /* i */
            ldc 65535
            if_icmple 19
        18: .line 422
            ldc 65535
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            astore 3 /* value */
        end local 5 // int i
        19: .line 424
      StackMap locals:
      StackMap stack:
            aload 2 /* name */
            getstatic java.net.StandardSocketOptions.IP_TOS:Ljava/net/SocketOption;
            if_acmpne 23
        20: .line 425
            aload 3 /* value */
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 5 /* i */
        start local 5 // int i
        21: .line 426
            iload 5 /* i */
            iflt 22
            iload 5 /* i */
            sipush 255
            if_icmple 23
        22: .line 427
      StackMap locals: int
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "Invalid IP_TOS value"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // int i
        23: .line 429
      StackMap locals:
      StackMap stack:
            aload 2 /* name */
            getstatic java.net.StandardSocketOptions.IP_MULTICAST_TTL:Ljava/net/SocketOption;
            if_acmpne 27
        24: .line 430
            aload 3 /* value */
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 5 /* i */
        start local 5 // int i
        25: .line 431
            iload 5 /* i */
            iflt 26
            iload 5 /* i */
            sipush 255
            if_icmple 27
        26: .line 432
      StackMap locals: int
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "Invalid TTL/hop value"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // int i
        27: .line 436
      StackMap locals:
      StackMap stack:
            aload 2 /* name */
            aload 1 /* family */
            invokestatic sun.nio.ch.SocketOptionRegistry.findOption:(Ljava/net/SocketOption;Ljava/net/ProtocolFamily;)Lsun/nio/ch/OptionKey;
            astore 5 /* key */
        start local 5 // sun.nio.ch.OptionKey key
        28: .line 437
            aload 5 /* key */
            ifnonnull 30
        29: .line 438
            new java.lang.AssertionError
            dup
            ldc "Option not found"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        30: .line 441
      StackMap locals: sun.nio.ch.OptionKey
      StackMap stack:
            aload 4 /* type */
            ldc Ljava/lang/Integer;
            if_acmpne 33
        31: .line 442
            aload 3 /* value */
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 6 /* arg */
        start local 6 // int arg
        32: .line 443
            goto 37
        end local 6 // int arg
        33: .line 444
      StackMap locals:
      StackMap stack:
            aload 3 /* value */
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            istore 7 /* b */
        start local 7 // boolean b
        34: .line 445
            iload 7 /* b */
            ifeq 35
            iconst_1
            goto 36
      StackMap locals: java.io.FileDescriptor java.net.ProtocolFamily java.net.SocketOption java.lang.Object java.lang.Class sun.nio.ch.OptionKey top int
      StackMap stack:
        35: iconst_0
      StackMap locals:
      StackMap stack: int
        36: istore 6 /* arg */
        end local 7 // boolean b
        start local 6 // int arg
        37: .line 448
      StackMap locals: java.io.FileDescriptor java.net.ProtocolFamily java.net.SocketOption java.lang.Object java.lang.Class sun.nio.ch.OptionKey int
      StackMap stack:
            aload 1 /* family */
            getstatic sun.nio.ch.Net.UNSPEC:Ljava/net/ProtocolFamily;
            if_acmpne 38
            iconst_1
            goto 39
      StackMap locals:
      StackMap stack:
        38: iconst_0
      StackMap locals:
      StackMap stack: int
        39: istore 7 /* mayNeedConversion */
        start local 7 // boolean mayNeedConversion
        40: .line 449
            aload 1 /* family */
            getstatic java.net.StandardProtocolFamily.INET6:Ljava/net/StandardProtocolFamily;
            if_acmpne 41
            iconst_1
            goto 42
      StackMap locals: int
      StackMap stack:
        41: iconst_0
      StackMap locals:
      StackMap stack: int
        42: istore 8 /* isIPv6 */
        start local 8 // boolean isIPv6
        43: .line 450
            aload 0 /* fd */
            iload 7 /* mayNeedConversion */
            aload 5 /* key */
            invokevirtual sun.nio.ch.OptionKey.level:()I
            aload 5 /* key */
            invokevirtual sun.nio.ch.OptionKey.name:()I
            iload 6 /* arg */
            iload 8 /* isIPv6 */
            invokestatic sun.nio.ch.Net.setIntOption0:(Ljava/io/FileDescriptor;ZIIIZ)V
        44: .line 451
            return
        end local 8 // boolean isIPv6
        end local 7 // boolean mayNeedConversion
        end local 6 // int arg
        end local 5 // sun.nio.ch.OptionKey key
        end local 4 // java.lang.Class type
        end local 3 // java.lang.Object value
        end local 2 // java.net.SocketOption name
        end local 1 // java.net.ProtocolFamily family
        end local 0 // java.io.FileDescriptor fd
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   45     0                 fd  Ljava/io/FileDescriptor;
            0   45     1             family  Ljava/net/ProtocolFamily;
            0   45     2               name  Ljava/net/SocketOption<*>;
            0   45     3              value  Ljava/lang/Object;
            3   45     4               type  Ljava/lang/Class<*>;
           11   13     5                  i  I
           15   19     5                  i  I
           21   23     5                  i  I
           25   27     5                  i  I
           28   45     5                key  Lsun/nio/ch/OptionKey;
           32   33     6                arg  I
           37   45     6                arg  I
           34   37     7                  b  Z
           40   45     7  mayNeedConversion  Z
           43   45     8             isIPv6  Z
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/io/FileDescriptor;Ljava/net/ProtocolFamily;Ljava/net/SocketOption<*>;Ljava/lang/Object;)V
    MethodParameters:
        Name  Flags
      fd      
      family  
      name    
      value   

  static  getSocketOption(java.io.FileDescriptor, java.net.SocketOption<?>);
    descriptor: (Ljava/io/FileDescriptor;Ljava/net/SocketOption;)Ljava/lang/Object;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.io.FileDescriptor fd
        start local 1 // java.net.SocketOption name
         0: .line 456
            aload 0 /* fd */
            getstatic sun.nio.ch.Net.UNSPEC:Ljava/net/ProtocolFamily;
            aload 1 /* name */
            invokestatic sun.nio.ch.Net.getSocketOption:(Ljava/io/FileDescriptor;Ljava/net/ProtocolFamily;Ljava/net/SocketOption;)Ljava/lang/Object;
            areturn
        end local 1 // java.net.SocketOption name
        end local 0 // java.io.FileDescriptor fd
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    fd  Ljava/io/FileDescriptor;
            0    1     1  name  Ljava/net/SocketOption<*>;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/io/FileDescriptor;Ljava/net/SocketOption<*>;)Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      fd    
      name  

  static  getSocketOption(java.io.FileDescriptor, java.net.ProtocolFamily, java.net.SocketOption<?>);
    descriptor: (Ljava/io/FileDescriptor;Ljava/net/ProtocolFamily;Ljava/net/SocketOption;)Ljava/lang/Object;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // java.io.FileDescriptor fd
        start local 1 // java.net.ProtocolFamily family
        start local 2 // java.net.SocketOption name
         0: .line 462
            aload 2 /* name */
            invokeinterface java.net.SocketOption.type:()Ljava/lang/Class;
            astore 3 /* type */
        start local 3 // java.lang.Class type
         1: .line 464
            getstatic sun.nio.ch.Net.extendedOptions:Lsun/net/ext/ExtendedSocketOptions;
            aload 2 /* name */
            invokevirtual sun.net.ext.ExtendedSocketOptions.isOptionSupported:(Ljava/net/SocketOption;)Z
            ifeq 3
         2: .line 465
            getstatic sun.nio.ch.Net.extendedOptions:Lsun/net/ext/ExtendedSocketOptions;
            aload 0 /* fd */
            aload 2 /* name */
            invokevirtual sun.net.ext.ExtendedSocketOptions.getOption:(Ljava/io/FileDescriptor;Ljava/net/SocketOption;)Ljava/lang/Object;
            areturn
         3: .line 469
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 3 /* type */
            ldc Ljava/lang/Integer;
            if_acmpeq 5
            aload 3 /* type */
            ldc Ljava/lang/Boolean;
            if_acmpeq 5
         4: .line 470
            new java.lang.AssertionError
            dup
            ldc "Should not reach here"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         5: .line 473
      StackMap locals:
      StackMap stack:
            aload 2 /* name */
            aload 1 /* family */
            invokestatic sun.nio.ch.SocketOptionRegistry.findOption:(Ljava/net/SocketOption;Ljava/net/ProtocolFamily;)Lsun/nio/ch/OptionKey;
            astore 4 /* key */
        start local 4 // sun.nio.ch.OptionKey key
         6: .line 474
            aload 4 /* key */
            ifnonnull 8
         7: .line 475
            new java.lang.AssertionError
            dup
            ldc "Option not found"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         8: .line 477
      StackMap locals: sun.nio.ch.OptionKey
      StackMap stack:
            aload 1 /* family */
            getstatic sun.nio.ch.Net.UNSPEC:Ljava/net/ProtocolFamily;
            if_acmpne 9
            iconst_1
            goto 10
      StackMap locals:
      StackMap stack:
         9: iconst_0
      StackMap locals:
      StackMap stack: int
        10: istore 5 /* mayNeedConversion */
        start local 5 // boolean mayNeedConversion
        11: .line 478
            aload 0 /* fd */
            iload 5 /* mayNeedConversion */
            aload 4 /* key */
            invokevirtual sun.nio.ch.OptionKey.level:()I
            aload 4 /* key */
            invokevirtual sun.nio.ch.OptionKey.name:()I
            invokestatic sun.nio.ch.Net.getIntOption0:(Ljava/io/FileDescriptor;ZII)I
            istore 6 /* value */
        start local 6 // int value
        12: .line 480
            aload 3 /* type */
            ldc Ljava/lang/Integer;
            if_acmpne 14
        13: .line 481
            iload 6 /* value */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
        14: .line 483
      StackMap locals: int int
      StackMap stack:
            iload 6 /* value */
            ifne 15
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            goto 16
      StackMap locals:
      StackMap stack:
        15: getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
      StackMap locals:
      StackMap stack: java.lang.Boolean
        16: areturn
        end local 6 // int value
        end local 5 // boolean mayNeedConversion
        end local 4 // sun.nio.ch.OptionKey key
        end local 3 // java.lang.Class type
        end local 2 // java.net.SocketOption name
        end local 1 // java.net.ProtocolFamily family
        end local 0 // java.io.FileDescriptor fd
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   17     0                 fd  Ljava/io/FileDescriptor;
            0   17     1             family  Ljava/net/ProtocolFamily;
            0   17     2               name  Ljava/net/SocketOption<*>;
            1   17     3               type  Ljava/lang/Class<*>;
            6   17     4                key  Lsun/nio/ch/OptionKey;
           11   17     5  mayNeedConversion  Z
           12   17     6              value  I
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/io/FileDescriptor;Ljava/net/ProtocolFamily;Ljava/net/SocketOption<*>;)Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      fd      
      family  
      name    

  public static boolean isFastTcpLoopbackRequested();
    descriptor: ()Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 489
            ldc "jdk.net.useFastTcpLoopback"
            ldc "false"
            invokestatic sun.security.action.GetPropertyAction.privilegedGetProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
         1: .line 488
            astore 0 /* loopbackProp */
        start local 0 // java.lang.String loopbackProp
         2: .line 490
            aload 0 /* loopbackProp */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 3
            iconst_1
            goto 4
      StackMap locals: java.lang.String
      StackMap stack:
         3: aload 0 /* loopbackProp */
            invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
      StackMap locals:
      StackMap stack: int
         4: ireturn
        end local 0 // java.lang.String loopbackProp
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            2    5     0  loopbackProp  Ljava/lang/String;

  private static native boolean isIPv6Available0();
    descriptor: ()Z
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE

  private static native boolean isReusePortAvailable0();
    descriptor: ()Z
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE

  private static native int isExclusiveBindAvailable();
    descriptor: ()I
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE

  private static native boolean shouldSetBothIPv4AndIPv6Options0();
    descriptor: ()Z
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE

  private static native boolean canIPv6SocketJoinIPv4Group0();
    descriptor: ()Z
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE

  private static native boolean canJoin6WithIPv4Group0();
    descriptor: ()Z
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE

  private static native boolean canUseIPv6OptionsWithIPv4LocalAddress0();
    descriptor: ()Z
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE

  static java.io.FileDescriptor socket(boolean);
    descriptor: (Z)Ljava/io/FileDescriptor;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // boolean stream
         0: .line 513
            getstatic sun.nio.ch.Net.UNSPEC:Ljava/net/ProtocolFamily;
            iload 0 /* stream */
            invokestatic sun.nio.ch.Net.socket:(Ljava/net/ProtocolFamily;Z)Ljava/io/FileDescriptor;
            areturn
        end local 0 // boolean stream
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  stream  Z
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      stream  

  static java.io.FileDescriptor socket(java.net.ProtocolFamily, boolean);
    descriptor: (Ljava/net/ProtocolFamily;Z)Ljava/io/FileDescriptor;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.net.ProtocolFamily family
        start local 1 // boolean stream
         0: .line 517
            invokestatic sun.nio.ch.Net.isIPv6Available:()Z
            ifeq 3
         1: .line 518
            aload 0 /* family */
            getstatic java.net.StandardProtocolFamily.INET:Ljava/net/StandardProtocolFamily;
            if_acmpeq 3
         2: .line 517
            iconst_1
            goto 4
      StackMap locals:
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: istore 2 /* preferIPv6 */
        start local 2 // boolean preferIPv6
         5: .line 519
            iload 2 /* preferIPv6 */
            iload 1 /* stream */
            iconst_0
            getstatic sun.nio.ch.Net.fastLoopback:Z
            invokestatic sun.nio.ch.Net.socket0:(ZZZZ)I
            invokestatic sun.nio.ch.IOUtil.newFD:(I)Ljava/io/FileDescriptor;
            areturn
        end local 2 // boolean preferIPv6
        end local 1 // boolean stream
        end local 0 // java.net.ProtocolFamily family
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0      family  Ljava/net/ProtocolFamily;
            0    6     1      stream  Z
            5    6     2  preferIPv6  Z
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      family  
      stream  

  static java.io.FileDescriptor serverSocket(boolean);
    descriptor: (Z)Ljava/io/FileDescriptor;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // boolean stream
         0: .line 523
            getstatic sun.nio.ch.Net.UNSPEC:Ljava/net/ProtocolFamily;
            iload 0 /* stream */
            invokestatic sun.nio.ch.Net.serverSocket:(Ljava/net/ProtocolFamily;Z)Ljava/io/FileDescriptor;
            areturn
        end local 0 // boolean stream
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  stream  Z
    MethodParameters:
        Name  Flags
      stream  

  static java.io.FileDescriptor serverSocket(java.net.ProtocolFamily, boolean);
    descriptor: (Ljava/net/ProtocolFamily;Z)Ljava/io/FileDescriptor;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.net.ProtocolFamily family
        start local 1 // boolean stream
         0: .line 527
            invokestatic sun.nio.ch.Net.isIPv6Available:()Z
            ifeq 3
         1: .line 528
            aload 0 /* family */
            getstatic java.net.StandardProtocolFamily.INET:Ljava/net/StandardProtocolFamily;
            if_acmpeq 3
         2: .line 527
            iconst_1
            goto 4
      StackMap locals:
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: istore 2 /* preferIPv6 */
        start local 2 // boolean preferIPv6
         5: .line 529
            iload 2 /* preferIPv6 */
            iload 1 /* stream */
            iconst_1
            getstatic sun.nio.ch.Net.fastLoopback:Z
            invokestatic sun.nio.ch.Net.socket0:(ZZZZ)I
            invokestatic sun.nio.ch.IOUtil.newFD:(I)Ljava/io/FileDescriptor;
            areturn
        end local 2 // boolean preferIPv6
        end local 1 // boolean stream
        end local 0 // java.net.ProtocolFamily family
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0      family  Ljava/net/ProtocolFamily;
            0    6     1      stream  Z
            5    6     2  preferIPv6  Z
    MethodParameters:
        Name  Flags
      family  
      stream  

  private static native int socket0(boolean, boolean, boolean, boolean);
    descriptor: (ZZZZ)I
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
              Name  Flags
      preferIPv6    
      stream        
      reuse         
      fastLoopback  

  public static void bind(java.io.FileDescriptor, java.net.InetAddress, int);
    descriptor: (Ljava/io/FileDescriptor;Ljava/net/InetAddress;I)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.io.FileDescriptor fd
        start local 1 // java.net.InetAddress addr
        start local 2 // int port
         0: .line 539
            getstatic sun.nio.ch.Net.UNSPEC:Ljava/net/ProtocolFamily;
            aload 0 /* fd */
            aload 1 /* addr */
            iload 2 /* port */
            invokestatic sun.nio.ch.Net.bind:(Ljava/net/ProtocolFamily;Ljava/io/FileDescriptor;Ljava/net/InetAddress;I)V
         1: .line 540
            return
        end local 2 // int port
        end local 1 // java.net.InetAddress addr
        end local 0 // java.io.FileDescriptor fd
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0    fd  Ljava/io/FileDescriptor;
            0    2     1  addr  Ljava/net/InetAddress;
            0    2     2  port  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      fd    
      addr  
      port  

  static void bind(java.net.ProtocolFamily, java.io.FileDescriptor, java.net.InetAddress, int);
    descriptor: (Ljava/net/ProtocolFamily;Ljava/io/FileDescriptor;Ljava/net/InetAddress;I)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // java.net.ProtocolFamily family
        start local 1 // java.io.FileDescriptor fd
        start local 2 // java.net.InetAddress addr
        start local 3 // int port
         0: .line 545
            invokestatic sun.nio.ch.Net.isIPv6Available:()Z
            ifeq 3
         1: .line 546
            aload 0 /* family */
            getstatic java.net.StandardProtocolFamily.INET:Ljava/net/StandardProtocolFamily;
            if_acmpeq 3
         2: .line 545
            iconst_1
            goto 4
      StackMap locals:
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: istore 4 /* preferIPv6 */
        start local 4 // boolean preferIPv6
         5: .line 547
            aload 2 /* addr */
            invokevirtual java.net.InetAddress.isLinkLocalAddress:()Z
            ifeq 7
         6: .line 548
            aload 2 /* addr */
            invokestatic sun.net.util.IPAddressUtil.toScopedAddress:(Ljava/net/InetAddress;)Ljava/net/InetAddress;
            astore 2 /* addr */
         7: .line 550
      StackMap locals: int
      StackMap stack:
            aload 1 /* fd */
            iload 4 /* preferIPv6 */
            getstatic sun.nio.ch.Net.exclusiveBind:Z
            aload 2 /* addr */
            iload 3 /* port */
            invokestatic sun.nio.ch.Net.bind0:(Ljava/io/FileDescriptor;ZZLjava/net/InetAddress;I)V
         8: .line 551
            return
        end local 4 // boolean preferIPv6
        end local 3 // int port
        end local 2 // java.net.InetAddress addr
        end local 1 // java.io.FileDescriptor fd
        end local 0 // java.net.ProtocolFamily family
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0      family  Ljava/net/ProtocolFamily;
            0    9     1          fd  Ljava/io/FileDescriptor;
            0    9     2        addr  Ljava/net/InetAddress;
            0    9     3        port  I
            5    9     4  preferIPv6  Z
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      family  
      fd      
      addr    
      port    

  private static native void bind0(java.io.FileDescriptor, boolean, boolean, java.net.InetAddress, int);
    descriptor: (Ljava/io/FileDescriptor;ZZLjava/net/InetAddress;I)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      fd           
      preferIPv6   
      useExclBind  
      addr         
      port         

  static native void listen(java.io.FileDescriptor, int);
    descriptor: (Ljava/io/FileDescriptor;I)V
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      fd       
      backlog  

  static int connect(java.io.FileDescriptor, java.net.InetAddress, int);
    descriptor: (Ljava/io/FileDescriptor;Ljava/net/InetAddress;I)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.io.FileDescriptor fd
        start local 1 // java.net.InetAddress remote
        start local 2 // int remotePort
         0: .line 563
            getstatic sun.nio.ch.Net.UNSPEC:Ljava/net/ProtocolFamily;
            aload 0 /* fd */
            aload 1 /* remote */
            iload 2 /* remotePort */
            invokestatic sun.nio.ch.Net.connect:(Ljava/net/ProtocolFamily;Ljava/io/FileDescriptor;Ljava/net/InetAddress;I)I
            ireturn
        end local 2 // int remotePort
        end local 1 // java.net.InetAddress remote
        end local 0 // java.io.FileDescriptor fd
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0          fd  Ljava/io/FileDescriptor;
            0    1     1      remote  Ljava/net/InetAddress;
            0    1     2  remotePort  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      fd          
      remote      
      remotePort  

  static int connect(java.net.ProtocolFamily, java.io.FileDescriptor, java.net.InetAddress, int);
    descriptor: (Ljava/net/ProtocolFamily;Ljava/io/FileDescriptor;Ljava/net/InetAddress;I)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // java.net.ProtocolFamily family
        start local 1 // java.io.FileDescriptor fd
        start local 2 // java.net.InetAddress remote
        start local 3 // int remotePort
         0: .line 569
            aload 2 /* remote */
            invokevirtual java.net.InetAddress.isLinkLocalAddress:()Z
            ifeq 2
         1: .line 570
            aload 2 /* remote */
            invokestatic sun.net.util.IPAddressUtil.toScopedAddress:(Ljava/net/InetAddress;)Ljava/net/InetAddress;
            astore 2 /* remote */
         2: .line 572
      StackMap locals:
      StackMap stack:
            invokestatic sun.nio.ch.Net.isIPv6Available:()Z
            ifeq 5
         3: .line 573
            aload 0 /* family */
            getstatic java.net.StandardProtocolFamily.INET:Ljava/net/StandardProtocolFamily;
            if_acmpeq 5
         4: .line 572
            iconst_1
            goto 6
      StackMap locals:
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: istore 4 /* preferIPv6 */
        start local 4 // boolean preferIPv6
         7: .line 574
            iload 4 /* preferIPv6 */
            aload 1 /* fd */
            aload 2 /* remote */
            iload 3 /* remotePort */
            invokestatic sun.nio.ch.Net.connect0:(ZLjava/io/FileDescriptor;Ljava/net/InetAddress;I)I
            ireturn
        end local 4 // boolean preferIPv6
        end local 3 // int remotePort
        end local 2 // java.net.InetAddress remote
        end local 1 // java.io.FileDescriptor fd
        end local 0 // java.net.ProtocolFamily family
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0      family  Ljava/net/ProtocolFamily;
            0    8     1          fd  Ljava/io/FileDescriptor;
            0    8     2      remote  Ljava/net/InetAddress;
            0    8     3  remotePort  I
            7    8     4  preferIPv6  Z
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      family      
      fd          
      remote      
      remotePort  

  private static native int connect0(boolean, java.io.FileDescriptor, java.net.InetAddress, int);
    descriptor: (ZLjava/io/FileDescriptor;Ljava/net/InetAddress;I)I
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      preferIPv6  
      fd          
      remote      
      remotePort  

  public static native int accept(java.io.FileDescriptor, java.io.FileDescriptor, java.net.InetSocketAddress[]);
    descriptor: (Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;[Ljava/net/InetSocketAddress;)I
    flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      fd     
      newfd  
      isaa   

  static native void shutdown(java.io.FileDescriptor, int);
    descriptor: (Ljava/io/FileDescriptor;I)V
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      fd    
      how   

  private static native int localPort(java.io.FileDescriptor);
    descriptor: (Ljava/io/FileDescriptor;)I
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      fd    

  private static native java.net.InetAddress localInetAddress(java.io.FileDescriptor);
    descriptor: (Ljava/io/FileDescriptor;)Ljava/net/InetAddress;
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      fd    

  public static java.net.InetSocketAddress localAddress(java.io.FileDescriptor);
    descriptor: (Ljava/io/FileDescriptor;)Ljava/net/InetSocketAddress;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.io.FileDescriptor fd
         0: .line 603
            new java.net.InetSocketAddress
            dup
            aload 0 /* fd */
            invokestatic sun.nio.ch.Net.localInetAddress:(Ljava/io/FileDescriptor;)Ljava/net/InetAddress;
            aload 0 /* fd */
            invokestatic sun.nio.ch.Net.localPort:(Ljava/io/FileDescriptor;)I
            invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
            areturn
        end local 0 // java.io.FileDescriptor fd
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    fd  Ljava/io/FileDescriptor;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      fd    

  private static native int remotePort(java.io.FileDescriptor);
    descriptor: (Ljava/io/FileDescriptor;)I
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      fd    

  private static native java.net.InetAddress remoteInetAddress(java.io.FileDescriptor);
    descriptor: (Ljava/io/FileDescriptor;)Ljava/net/InetAddress;
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      fd    

  static java.net.InetSocketAddress remoteAddress(java.io.FileDescriptor);
    descriptor: (Ljava/io/FileDescriptor;)Ljava/net/InetSocketAddress;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.io.FileDescriptor fd
         0: .line 615
            new java.net.InetSocketAddress
            dup
            aload 0 /* fd */
            invokestatic sun.nio.ch.Net.remoteInetAddress:(Ljava/io/FileDescriptor;)Ljava/net/InetAddress;
            aload 0 /* fd */
            invokestatic sun.nio.ch.Net.remotePort:(Ljava/io/FileDescriptor;)I
            invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
            areturn
        end local 0 // java.io.FileDescriptor fd
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    fd  Ljava/io/FileDescriptor;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      fd    

  private static native int getIntOption0(java.io.FileDescriptor, boolean, int, int);
    descriptor: (Ljava/io/FileDescriptor;ZII)I
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                   Name  Flags
      fd                 
      mayNeedConversion  
      level              
      opt                

  private static native void setIntOption0(java.io.FileDescriptor, boolean, int, int, int, boolean);
    descriptor: (Ljava/io/FileDescriptor;ZIIIZ)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                   Name  Flags
      fd                 
      mayNeedConversion  
      level              
      opt                
      arg                
      isIPv6             

  static native int poll(java.io.FileDescriptor, int, long);
    descriptor: (Ljava/io/FileDescriptor;IJ)I
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      fd       
      events   
      timeout  

  static int pollNow(java.io.FileDescriptor, int);
    descriptor: (Ljava/io/FileDescriptor;I)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.io.FileDescriptor fd
        start local 1 // int events
         0: .line 639
            aload 0 /* fd */
            iload 1 /* events */
            lconst_0
            invokestatic sun.nio.ch.Net.poll:(Ljava/io/FileDescriptor;IJ)I
            ireturn
        end local 1 // int events
        end local 0 // java.io.FileDescriptor fd
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0      fd  Ljava/io/FileDescriptor;
            0    1     1  events  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      fd      
      events  

  public static native boolean pollConnect(java.io.FileDescriptor, long);
    descriptor: (Ljava/io/FileDescriptor;J)Z
    flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      fd       
      timeout  

  static boolean pollConnectNow(java.io.FileDescriptor);
    descriptor: (Ljava/io/FileDescriptor;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.io.FileDescriptor fd
         0: .line 660
            aload 0 /* fd */
            lconst_0
            invokestatic sun.nio.ch.Net.pollConnect:(Ljava/io/FileDescriptor;J)Z
            ireturn
        end local 0 // java.io.FileDescriptor fd
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    fd  Ljava/io/FileDescriptor;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      fd    

  static native int available(java.io.FileDescriptor);
    descriptor: (Ljava/io/FileDescriptor;)I
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      fd    

  static native int sendOOB(java.io.FileDescriptor, byte);
    descriptor: (Ljava/io/FileDescriptor;B)I
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      fd    
      data  

  static int join4(java.io.FileDescriptor, int, int, int);
    descriptor: (Ljava/io/FileDescriptor;III)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // java.io.FileDescriptor fd
        start local 1 // int group
        start local 2 // int interf
        start local 3 // int source
         0: .line 682
            iconst_1
            aload 0 /* fd */
            iload 1 /* group */
            iload 2 /* interf */
            iload 3 /* source */
            invokestatic sun.nio.ch.Net.joinOrDrop4:(ZLjava/io/FileDescriptor;III)I
            ireturn
        end local 3 // int source
        end local 2 // int interf
        end local 1 // int group
        end local 0 // java.io.FileDescriptor fd
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0      fd  Ljava/io/FileDescriptor;
            0    1     1   group  I
            0    1     2  interf  I
            0    1     3  source  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      fd      
      group   
      interf  
      source  

  static void drop4(java.io.FileDescriptor, int, int, int);
    descriptor: (Ljava/io/FileDescriptor;III)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // java.io.FileDescriptor fd
        start local 1 // int group
        start local 2 // int interf
        start local 3 // int source
         0: .line 691
            iconst_0
            aload 0 /* fd */
            iload 1 /* group */
            iload 2 /* interf */
            iload 3 /* source */
            invokestatic sun.nio.ch.Net.joinOrDrop4:(ZLjava/io/FileDescriptor;III)I
            pop
         1: .line 692
            return
        end local 3 // int source
        end local 2 // int interf
        end local 1 // int group
        end local 0 // java.io.FileDescriptor fd
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0      fd  Ljava/io/FileDescriptor;
            0    2     1   group  I
            0    2     2  interf  I
            0    2     3  source  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      fd      
      group   
      interf  
      source  

  private static native int joinOrDrop4(boolean, java.io.FileDescriptor, int, int, int);
    descriptor: (ZLjava/io/FileDescriptor;III)I
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      join    
      fd      
      group   
      interf  
      source  

  static int block4(java.io.FileDescriptor, int, int, int);
    descriptor: (Ljava/io/FileDescriptor;III)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // java.io.FileDescriptor fd
        start local 1 // int group
        start local 2 // int interf
        start local 3 // int source
         0: .line 703
            iconst_1
            aload 0 /* fd */
            iload 1 /* group */
            iload 2 /* interf */
            iload 3 /* source */
            invokestatic sun.nio.ch.Net.blockOrUnblock4:(ZLjava/io/FileDescriptor;III)I
            ireturn
        end local 3 // int source
        end local 2 // int interf
        end local 1 // int group
        end local 0 // java.io.FileDescriptor fd
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0      fd  Ljava/io/FileDescriptor;
            0    1     1   group  I
            0    1     2  interf  I
            0    1     3  source  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      fd      
      group   
      interf  
      source  

  static void unblock4(java.io.FileDescriptor, int, int, int);
    descriptor: (Ljava/io/FileDescriptor;III)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // java.io.FileDescriptor fd
        start local 1 // int group
        start local 2 // int interf
        start local 3 // int source
         0: .line 712
            iconst_0
            aload 0 /* fd */
            iload 1 /* group */
            iload 2 /* interf */
            iload 3 /* source */
            invokestatic sun.nio.ch.Net.blockOrUnblock4:(ZLjava/io/FileDescriptor;III)I
            pop
         1: .line 713
            return
        end local 3 // int source
        end local 2 // int interf
        end local 1 // int group
        end local 0 // java.io.FileDescriptor fd
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0      fd  Ljava/io/FileDescriptor;
            0    2     1   group  I
            0    2     2  interf  I
            0    2     3  source  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      fd      
      group   
      interf  
      source  

  private static native int blockOrUnblock4(boolean, java.io.FileDescriptor, int, int, int);
    descriptor: (ZLjava/io/FileDescriptor;III)I
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      block   
      fd      
      group   
      interf  
      source  

  static int join6(java.io.FileDescriptor, byte[], int, byte[]);
    descriptor: (Ljava/io/FileDescriptor;[BI[B)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // java.io.FileDescriptor fd
        start local 1 // byte[] group
        start local 2 // int index
        start local 3 // byte[] source
         0: .line 725
            iconst_1
            aload 0 /* fd */
            aload 1 /* group */
            iload 2 /* index */
            aload 3 /* source */
            invokestatic sun.nio.ch.Net.joinOrDrop6:(ZLjava/io/FileDescriptor;[BI[B)I
            ireturn
        end local 3 // byte[] source
        end local 2 // int index
        end local 1 // byte[] group
        end local 0 // java.io.FileDescriptor fd
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0      fd  Ljava/io/FileDescriptor;
            0    1     1   group  [B
            0    1     2   index  I
            0    1     3  source  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      fd      
      group   
      index   
      source  

  static void drop6(java.io.FileDescriptor, byte[], int, byte[]);
    descriptor: (Ljava/io/FileDescriptor;[BI[B)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // java.io.FileDescriptor fd
        start local 1 // byte[] group
        start local 2 // int index
        start local 3 // byte[] source
         0: .line 734
            iconst_0
            aload 0 /* fd */
            aload 1 /* group */
            iload 2 /* index */
            aload 3 /* source */
            invokestatic sun.nio.ch.Net.joinOrDrop6:(ZLjava/io/FileDescriptor;[BI[B)I
            pop
         1: .line 735
            return
        end local 3 // byte[] source
        end local 2 // int index
        end local 1 // byte[] group
        end local 0 // java.io.FileDescriptor fd
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0      fd  Ljava/io/FileDescriptor;
            0    2     1   group  [B
            0    2     2   index  I
            0    2     3  source  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      fd      
      group   
      index   
      source  

  private static native int joinOrDrop6(boolean, java.io.FileDescriptor, byte[], int, byte[]);
    descriptor: (ZLjava/io/FileDescriptor;[BI[B)I
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      join    
      fd      
      group   
      index   
      source  

  static int block6(java.io.FileDescriptor, byte[], int, byte[]);
    descriptor: (Ljava/io/FileDescriptor;[BI[B)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // java.io.FileDescriptor fd
        start local 1 // byte[] group
        start local 2 // int index
        start local 3 // byte[] source
         0: .line 746
            iconst_1
            aload 0 /* fd */
            aload 1 /* group */
            iload 2 /* index */
            aload 3 /* source */
            invokestatic sun.nio.ch.Net.blockOrUnblock6:(ZLjava/io/FileDescriptor;[BI[B)I
            ireturn
        end local 3 // byte[] source
        end local 2 // int index
        end local 1 // byte[] group
        end local 0 // java.io.FileDescriptor fd
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0      fd  Ljava/io/FileDescriptor;
            0    1     1   group  [B
            0    1     2   index  I
            0    1     3  source  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      fd      
      group   
      index   
      source  

  static void unblock6(java.io.FileDescriptor, byte[], int, byte[]);
    descriptor: (Ljava/io/FileDescriptor;[BI[B)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // java.io.FileDescriptor fd
        start local 1 // byte[] group
        start local 2 // int index
        start local 3 // byte[] source
         0: .line 755
            iconst_0
            aload 0 /* fd */
            aload 1 /* group */
            iload 2 /* index */
            aload 3 /* source */
            invokestatic sun.nio.ch.Net.blockOrUnblock6:(ZLjava/io/FileDescriptor;[BI[B)I
            pop
         1: .line 756
            return
        end local 3 // byte[] source
        end local 2 // int index
        end local 1 // byte[] group
        end local 0 // java.io.FileDescriptor fd
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0      fd  Ljava/io/FileDescriptor;
            0    2     1   group  [B
            0    2     2   index  I
            0    2     3  source  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      fd      
      group   
      index   
      source  

  static native int blockOrUnblock6(boolean, java.io.FileDescriptor, byte[], int, byte[]);
    descriptor: (ZLjava/io/FileDescriptor;[BI[B)I
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      block   
      fd      
      group   
      index   
      source  

  static native void setInterface4(java.io.FileDescriptor, int);
    descriptor: (Ljava/io/FileDescriptor;I)V
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      fd      
      interf  

  static native int getInterface4(java.io.FileDescriptor);
    descriptor: (Ljava/io/FileDescriptor;)I
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      fd    

  static native void setInterface6(java.io.FileDescriptor, int);
    descriptor: (Ljava/io/FileDescriptor;I)V
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      fd     
      index  

  static native int getInterface6(java.io.FileDescriptor);
    descriptor: (Ljava/io/FileDescriptor;)I
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      fd    

  private static native void initIDs();
    descriptor: ()V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE

  static native short pollinValue();
    descriptor: ()S
    flags: (0x0108) ACC_STATIC, ACC_NATIVE

  static native short polloutValue();
    descriptor: ()S
    flags: (0x0108) ACC_STATIC, ACC_NATIVE

  static native short pollerrValue();
    descriptor: ()S
    flags: (0x0108) ACC_STATIC, ACC_NATIVE

  static native short pollhupValue();
    descriptor: ()S
    flags: (0x0108) ACC_STATIC, ACC_NATIVE

  static native short pollnvalValue();
    descriptor: ()S
    flags: (0x0108) ACC_STATIC, ACC_NATIVE

  static native short pollconnValue();
    descriptor: ()S
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
}
SourceFile: "Net.java"
NestMembers:
  sun.nio.ch.Net$1  sun.nio.ch.Net$2
InnerClasses:
  sun.nio.ch.Net$1
  sun.nio.ch.Net$2