class com.sun.tools.jdi.SharedMemoryTransportService extends com.sun.jdi.connect.spi.TransportService
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.sun.tools.jdi.SharedMemoryTransportService
  super_class: com.sun.jdi.connect.spi.TransportService
{
  private java.util.ResourceBundle messages;
    descriptor: Ljava/util/ResourceBundle;
    flags: (0x0002) ACC_PRIVATE

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.jdi.SharedMemoryTransportService this
         0: .line 68
            aload 0 /* this */
            invokespecial com.sun.jdi.connect.spi.TransportService.<init>:()V
         1: .line 37
            aload 0 /* this */
            aconst_null
            putfield com.sun.tools.jdi.SharedMemoryTransportService.messages:Ljava/util/ResourceBundle;
         2: .line 69
            ldc "dt_shmem"
            invokestatic java.lang.System.loadLibrary:(Ljava/lang/String;)V
         3: .line 70
            aload 0 /* this */
            invokevirtual com.sun.tools.jdi.SharedMemoryTransportService.initialize:()V
         4: .line 71
            return
        end local 0 // com.sun.tools.jdi.SharedMemoryTransportService this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/tools/jdi/SharedMemoryTransportService;

  public java.lang.String name();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.jdi.SharedMemoryTransportService this
         0: .line 74
            ldc "SharedMemory"
            areturn
        end local 0 // com.sun.tools.jdi.SharedMemoryTransportService this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/jdi/SharedMemoryTransportService;

  public java.lang.String defaultAddress();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.jdi.SharedMemoryTransportService this
         0: .line 78
            ldc "javadebug"
            areturn
        end local 0 // com.sun.tools.jdi.SharedMemoryTransportService this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/jdi/SharedMemoryTransportService;

  public java.lang.String description();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.sun.tools.jdi.SharedMemoryTransportService this
         0: .line 85
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         1: .line 86
            aload 0 /* this */
            getfield com.sun.tools.jdi.SharedMemoryTransportService.messages:Ljava/util/ResourceBundle;
            ifnonnull 3
         2: .line 87
            aload 0 /* this */
            ldc "com.sun.tools.jdi.resources.jdi"
            invokestatic java.util.ResourceBundle.getBundle:(Ljava/lang/String;)Ljava/util/ResourceBundle;
            putfield com.sun.tools.jdi.SharedMemoryTransportService.messages:Ljava/util/ResourceBundle;
         3: .line 85
      StackMap locals: com.sun.tools.jdi.SharedMemoryTransportService
      StackMap stack:
            aload 1
            monitorexit
         4: goto 7
      StackMap locals:
      StackMap stack: java.lang.Throwable
         5: aload 1
            monitorexit
         6: athrow
         7: .line 90
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.jdi.SharedMemoryTransportService.messages:Ljava/util/ResourceBundle;
            ldc "memory_transportservice.description"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // com.sun.tools.jdi.SharedMemoryTransportService this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/sun/tools/jdi/SharedMemoryTransportService;
      Exception table:
        from    to  target  type
           1     4       5  any
           5     6       5  any

  public com.sun.jdi.connect.spi.TransportService$Capabilities capabilities();
    descriptor: ()Lcom/sun/jdi/connect/spi/TransportService$Capabilities;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.jdi.SharedMemoryTransportService this
         0: .line 94
            new com.sun.tools.jdi.SharedMemoryTransportServiceCapabilities
            dup
            invokespecial com.sun.tools.jdi.SharedMemoryTransportServiceCapabilities.<init>:()V
            areturn
        end local 0 // com.sun.tools.jdi.SharedMemoryTransportService this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/jdi/SharedMemoryTransportService;

  private native void initialize();
    descriptor: ()V
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE

  private native long startListening0(java.lang.String);
    descriptor: (Ljava/lang/String;)J
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      address  

  private native long attach0(java.lang.String, long);
    descriptor: (Ljava/lang/String;J)J
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    Exceptions:
      throws java.io.IOException
    MethodParameters:
               Name  Flags
      address        
      attachTimeout  

  private native void stopListening0(long);
    descriptor: (J)V
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      id    

  private native long accept0(long, long);
    descriptor: (JJ)J
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    Exceptions:
      throws java.io.IOException
    MethodParameters:
               Name  Flags
      id             
      acceptTimeout  

  private native java.lang.String name(long);
    descriptor: (J)Ljava/lang/String;
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      id    

  public com.sun.jdi.connect.spi.Connection attach(java.lang.String, long, long);
    descriptor: (Ljava/lang/String;JJ)Lcom/sun/jdi/connect/spi/Connection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=4
        start local 0 // com.sun.tools.jdi.SharedMemoryTransportService this
        start local 1 // java.lang.String address
        start local 2 // long attachTimeout
        start local 4 // long handshakeTimeout
         0: .line 105
            aload 1 /* address */
            ifnonnull 2
         1: .line 106
            new java.lang.NullPointerException
            dup
            ldc "address is null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 108
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* address */
            lload 2 /* attachTimeout */
            invokevirtual com.sun.tools.jdi.SharedMemoryTransportService.attach0:(Ljava/lang/String;J)J
            lstore 6 /* id */
        start local 6 // long id
         3: .line 109
            new com.sun.tools.jdi.SharedMemoryConnection
            dup
            lload 6 /* id */
            invokespecial com.sun.tools.jdi.SharedMemoryConnection.<init>:(J)V
            astore 8 /* conn */
        start local 8 // com.sun.tools.jdi.SharedMemoryConnection conn
         4: .line 110
            aload 8 /* conn */
            lload 4 /* handshakeTimeout */
            invokevirtual com.sun.tools.jdi.SharedMemoryConnection.handshake:(J)V
         5: .line 111
            aload 8 /* conn */
            areturn
        end local 8 // com.sun.tools.jdi.SharedMemoryConnection conn
        end local 6 // long id
        end local 4 // long handshakeTimeout
        end local 2 // long attachTimeout
        end local 1 // java.lang.String address
        end local 0 // com.sun.tools.jdi.SharedMemoryTransportService this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    6     0              this  Lcom/sun/tools/jdi/SharedMemoryTransportService;
            0    6     1           address  Ljava/lang/String;
            0    6     2     attachTimeout  J
            0    6     4  handshakeTimeout  J
            3    6     6                id  J
            4    6     8              conn  Lcom/sun/tools/jdi/SharedMemoryConnection;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                  Name  Flags
      address           
      attachTimeout     
      handshakeTimeout  

  public com.sun.jdi.connect.spi.TransportService$ListenKey startListening(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/sun/jdi/connect/spi/TransportService$ListenKey;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=2
        start local 0 // com.sun.tools.jdi.SharedMemoryTransportService this
        start local 1 // java.lang.String address
         0: .line 115
            aload 1 /* address */
            ifnull 1
            aload 1 /* address */
            invokevirtual java.lang.String.length:()I
            ifne 2
         1: .line 116
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.tools.jdi.SharedMemoryTransportService.defaultAddress:()Ljava/lang/String;
            astore 1 /* address */
         2: .line 118
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* address */
            invokevirtual com.sun.tools.jdi.SharedMemoryTransportService.startListening0:(Ljava/lang/String;)J
            lstore 2 /* id */
        start local 2 // long id
         3: .line 119
            new com.sun.tools.jdi.SharedMemoryTransportService$SharedMemoryListenKey
            dup
            lload 2 /* id */
            aload 0 /* this */
            lload 2 /* id */
            invokevirtual com.sun.tools.jdi.SharedMemoryTransportService.name:(J)Ljava/lang/String;
            invokespecial com.sun.tools.jdi.SharedMemoryTransportService$SharedMemoryListenKey.<init>:(JLjava/lang/String;)V
            areturn
        end local 2 // long id
        end local 1 // java.lang.String address
        end local 0 // com.sun.tools.jdi.SharedMemoryTransportService this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lcom/sun/tools/jdi/SharedMemoryTransportService;
            0    4     1  address  Ljava/lang/String;
            3    4     2       id  J
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      address  

  public com.sun.jdi.connect.spi.TransportService$ListenKey startListening();
    descriptor: ()Lcom/sun/jdi/connect/spi/TransportService$ListenKey;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.jdi.SharedMemoryTransportService this
         0: .line 123
            aload 0 /* this */
            aconst_null
            invokevirtual com.sun.tools.jdi.SharedMemoryTransportService.startListening:(Ljava/lang/String;)Lcom/sun/jdi/connect/spi/TransportService$ListenKey;
            areturn
        end local 0 // com.sun.tools.jdi.SharedMemoryTransportService this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/jdi/SharedMemoryTransportService;
    Exceptions:
      throws java.io.IOException

  public void stopListening(com.sun.jdi.connect.spi.TransportService$ListenKey);
    descriptor: (Lcom/sun/jdi/connect/spi/TransportService$ListenKey;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // com.sun.tools.jdi.SharedMemoryTransportService this
        start local 1 // com.sun.jdi.connect.spi.TransportService$ListenKey listener
         0: .line 127
            aload 1 /* listener */
            instanceof com.sun.tools.jdi.SharedMemoryTransportService$SharedMemoryListenKey
            ifne 2
         1: .line 128
            new java.lang.IllegalArgumentException
            dup
            ldc "Invalid listener"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 132
      StackMap locals:
      StackMap stack:
            aload 1 /* listener */
            checkcast com.sun.tools.jdi.SharedMemoryTransportService$SharedMemoryListenKey
            astore 4 /* key */
        start local 4 // com.sun.tools.jdi.SharedMemoryTransportService$SharedMemoryListenKey key
         3: .line 133
            aload 4 /* key */
            dup
            astore 5
            monitorenter
         4: .line 134
            aload 4 /* key */
            invokevirtual com.sun.tools.jdi.SharedMemoryTransportService$SharedMemoryListenKey.id:()J
            lstore 2 /* id */
        start local 2 // long id
         5: .line 135
            lload 2 /* id */
            lconst_0
            lcmp
            ifne 7
         6: .line 136
            new java.lang.IllegalArgumentException
            dup
            ldc "Invalid listener"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 140
      StackMap locals: long com.sun.tools.jdi.SharedMemoryTransportService$SharedMemoryListenKey com.sun.tools.jdi.SharedMemoryTransportService$SharedMemoryListenKey
      StackMap stack:
            aload 4 /* key */
            lconst_0
            invokevirtual com.sun.tools.jdi.SharedMemoryTransportService$SharedMemoryListenKey.setId:(J)V
         8: .line 133
            aload 5
            monitorexit
         9: goto 12
        end local 2 // long id
      StackMap locals: com.sun.tools.jdi.SharedMemoryTransportService com.sun.jdi.connect.spi.TransportService$ListenKey top top com.sun.tools.jdi.SharedMemoryTransportService$SharedMemoryListenKey com.sun.tools.jdi.SharedMemoryTransportService$SharedMemoryListenKey
      StackMap stack: java.lang.Throwable
        10: aload 5
            monitorexit
        11: athrow
        start local 2 // long id
        12: .line 142
      StackMap locals: com.sun.tools.jdi.SharedMemoryTransportService com.sun.jdi.connect.spi.TransportService$ListenKey long com.sun.tools.jdi.SharedMemoryTransportService$SharedMemoryListenKey
      StackMap stack:
            aload 0 /* this */
            lload 2 /* id */
            invokevirtual com.sun.tools.jdi.SharedMemoryTransportService.stopListening0:(J)V
        13: .line 143
            return
        end local 4 // com.sun.tools.jdi.SharedMemoryTransportService$SharedMemoryListenKey key
        end local 2 // long id
        end local 1 // com.sun.jdi.connect.spi.TransportService$ListenKey listener
        end local 0 // com.sun.tools.jdi.SharedMemoryTransportService this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0      this  Lcom/sun/tools/jdi/SharedMemoryTransportService;
            0   14     1  listener  Lcom/sun/jdi/connect/spi/TransportService$ListenKey;
            5   10     2        id  J
           12   14     2        id  J
            3   14     4       key  Lcom/sun/tools/jdi/SharedMemoryTransportService$SharedMemoryListenKey;
      Exception table:
        from    to  target  type
           4     9      10  any
          10    11      10  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      listener  

  public com.sun.jdi.connect.spi.Connection accept(com.sun.jdi.connect.spi.TransportService$ListenKey, long, long);
    descriptor: (Lcom/sun/jdi/connect/spi/TransportService$ListenKey;JJ)Lcom/sun/jdi/connect/spi/Connection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=12, args_size=4
        start local 0 // com.sun.tools.jdi.SharedMemoryTransportService this
        start local 1 // com.sun.jdi.connect.spi.TransportService$ListenKey listener
        start local 2 // long acceptTimeout
        start local 4 // long handshakeTimeout
         0: .line 146
            aload 1 /* listener */
            instanceof com.sun.tools.jdi.SharedMemoryTransportService$SharedMemoryListenKey
            ifne 2
         1: .line 147
            new java.lang.IllegalArgumentException
            dup
            ldc "Invalid listener"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 151
      StackMap locals:
      StackMap stack:
            aload 1 /* listener */
            checkcast com.sun.tools.jdi.SharedMemoryTransportService$SharedMemoryListenKey
            astore 8 /* key */
        start local 8 // com.sun.tools.jdi.SharedMemoryTransportService$SharedMemoryListenKey key
         3: .line 152
            aload 8 /* key */
            dup
            astore 9
            monitorenter
         4: .line 153
            aload 8 /* key */
            invokevirtual com.sun.tools.jdi.SharedMemoryTransportService$SharedMemoryListenKey.id:()J
            lstore 6 /* transportId */
        start local 6 // long transportId
         5: .line 154
            lload 6 /* transportId */
            lconst_0
            lcmp
            ifne 7
         6: .line 155
            new java.lang.IllegalArgumentException
            dup
            ldc "Invalid listener"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 152
      StackMap locals: long com.sun.tools.jdi.SharedMemoryTransportService$SharedMemoryListenKey com.sun.tools.jdi.SharedMemoryTransportService$SharedMemoryListenKey
      StackMap stack:
            aload 9
            monitorexit
         8: goto 11
        end local 6 // long transportId
      StackMap locals: com.sun.tools.jdi.SharedMemoryTransportService com.sun.jdi.connect.spi.TransportService$ListenKey long long top top com.sun.tools.jdi.SharedMemoryTransportService$SharedMemoryListenKey com.sun.tools.jdi.SharedMemoryTransportService$SharedMemoryListenKey
      StackMap stack: java.lang.Throwable
         9: aload 9
            monitorexit
        10: athrow
        start local 6 // long transportId
        11: .line 164
      StackMap locals: com.sun.tools.jdi.SharedMemoryTransportService com.sun.jdi.connect.spi.TransportService$ListenKey long long long com.sun.tools.jdi.SharedMemoryTransportService$SharedMemoryListenKey
      StackMap stack:
            aload 0 /* this */
            lload 6 /* transportId */
            lload 2 /* acceptTimeout */
            invokevirtual com.sun.tools.jdi.SharedMemoryTransportService.accept0:(JJ)J
            lstore 9 /* connectId */
        start local 9 // long connectId
        12: .line 165
            new com.sun.tools.jdi.SharedMemoryConnection
            dup
            lload 9 /* connectId */
            invokespecial com.sun.tools.jdi.SharedMemoryConnection.<init>:(J)V
            astore 11 /* conn */
        start local 11 // com.sun.tools.jdi.SharedMemoryConnection conn
        13: .line 166
            aload 11 /* conn */
            lload 4 /* handshakeTimeout */
            invokevirtual com.sun.tools.jdi.SharedMemoryConnection.handshake:(J)V
        14: .line 167
            aload 11 /* conn */
            areturn
        end local 11 // com.sun.tools.jdi.SharedMemoryConnection conn
        end local 9 // long connectId
        end local 8 // com.sun.tools.jdi.SharedMemoryTransportService$SharedMemoryListenKey key
        end local 6 // long transportId
        end local 4 // long handshakeTimeout
        end local 2 // long acceptTimeout
        end local 1 // com.sun.jdi.connect.spi.TransportService$ListenKey listener
        end local 0 // com.sun.tools.jdi.SharedMemoryTransportService this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   15     0              this  Lcom/sun/tools/jdi/SharedMemoryTransportService;
            0   15     1          listener  Lcom/sun/jdi/connect/spi/TransportService$ListenKey;
            0   15     2     acceptTimeout  J
            0   15     4  handshakeTimeout  J
            5    9     6       transportId  J
           11   15     6       transportId  J
            3   15     8               key  Lcom/sun/tools/jdi/SharedMemoryTransportService$SharedMemoryListenKey;
           12   15     9         connectId  J
           13   15    11              conn  Lcom/sun/tools/jdi/SharedMemoryConnection;
      Exception table:
        from    to  target  type
           4     8       9  any
           9    10       9  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                  Name  Flags
      listener          
      acceptTimeout     
      handshakeTimeout  
}
SourceFile: "SharedMemoryTransportService.java"
NestMembers:
  com.sun.tools.jdi.SharedMemoryTransportService$SharedMemoryListenKey
InnerClasses:
  public abstract Capabilities = com.sun.jdi.connect.spi.TransportService$Capabilities of com.sun.jdi.connect.spi.TransportService
  public abstract ListenKey = com.sun.jdi.connect.spi.TransportService$ListenKey of com.sun.jdi.connect.spi.TransportService
  SharedMemoryListenKey = com.sun.tools.jdi.SharedMemoryTransportService$SharedMemoryListenKey of com.sun.tools.jdi.SharedMemoryTransportService