public class com.sun.jmx.remote.internal.ArrayNotificationBuffer implements com.sun.jmx.remote.internal.NotificationBuffer
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.jmx.remote.internal.ArrayNotificationBuffer
super_class: java.lang.Object
{
private boolean disposed;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private static final java.lang.Object globalLock;
descriptor: Ljava/lang/Object;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.HashMap<javax.management.MBeanServer, com.sun.jmx.remote.internal.ArrayNotificationBuffer> mbsToBuffer;
descriptor: Ljava/util/HashMap;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/HashMap<Ljavax/management/MBeanServer;Lcom/sun/jmx/remote/internal/ArrayNotificationBuffer;>;
private final java.util.Collection<com.sun.jmx.remote.internal.ArrayNotificationBuffer$ShareBuffer> sharers;
descriptor: Ljava/util/Collection;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Collection<Lcom/sun/jmx/remote/internal/ArrayNotificationBuffer$ShareBuffer;>;
private final javax.management.NotificationListener bufferListener;
descriptor: Ljavax/management/NotificationListener;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static final javax.management.QueryExp broadcasterQuery;
descriptor: Ljavax/management/QueryExp;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final javax.management.NotificationFilter creationFilter;
descriptor: Ljavax/management/NotificationFilter;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final javax.management.NotificationListener creationListener;
descriptor: Ljavax/management/NotificationListener;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static final com.sun.jmx.remote.util.ClassLogger logger;
descriptor: Lcom/sun/jmx/remote/util/ClassLogger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final javax.management.MBeanServer mBeanServer;
descriptor: Ljavax/management/MBeanServer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.sun.jmx.remote.internal.ArrayQueue<com.sun.jmx.remote.internal.ArrayNotificationBuffer$NamedNotification> queue;
descriptor: Lcom/sun/jmx/remote/internal/ArrayQueue;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lcom/sun/jmx/remote/internal/ArrayQueue<Lcom/sun/jmx/remote/internal/ArrayNotificationBuffer$NamedNotification;>;
private int queueSize;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private long earliestSequenceNumber;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private long nextSequenceNumber;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private java.util.Set<javax.management.ObjectName> createdDuringQuery;
descriptor: Ljava/util/Set;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Set<Ljavax/management/ObjectName;>;
static final java.lang.String broadcasterClass;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=1, args_size=0
0: new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.globalLock:Ljava/lang/Object;
1: new java.util.HashMap
dup
iconst_1
invokespecial java.util.HashMap.<init>:(I)V
2: putstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.mbsToBuffer:Ljava/util/HashMap;
3: new com.sun.jmx.remote.internal.ArrayNotificationBuffer$BroadcasterQuery
dup
invokespecial com.sun.jmx.remote.internal.ArrayNotificationBuffer$BroadcasterQuery.<init>:()V
putstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.broadcasterQuery:Ljavax/management/QueryExp;
4: new javax.management.NotificationFilterSupport
dup
invokespecial javax.management.NotificationFilterSupport.<init>:()V
astore 0
start local 0 5: aload 0
ldc "JMX.mbean.registered"
invokevirtual javax.management.NotificationFilterSupport.enableType:(Ljava/lang/String;)V
6: aload 0
putstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.creationFilter:Ljavax/management/NotificationFilter;
end local 0 7: new com.sun.jmx.remote.util.ClassLogger
dup
ldc "javax.management.remote.misc"
8: ldc "ArrayNotificationBuffer"
9: invokespecial com.sun.jmx.remote.util.ClassLogger.<init>:(Ljava/lang/String;Ljava/lang/String;)V
10: putstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
11: ldc Ljavax/management/NotificationBroadcaster;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
12: putstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.broadcasterClass:Ljava/lang/String;
13: return
LocalVariableTable:
Start End Slot Name Signature
5 7 0 nfs Ljavax/management/NotificationFilterSupport;
public static com.sun.jmx.remote.internal.NotificationBuffer getNotificationBuffer(javax.management.MBeanServer, java.util.Map);
descriptor: (Ljavax/management/MBeanServer;Ljava/util/Map;)Lcom/sun/jmx/remote/internal/NotificationBuffer;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
astore 1
2: StackMap locals:
StackMap stack:
aload 1
invokestatic com.sun.jmx.remote.util.EnvHelp.getNotifBufferSize:(Ljava/util/Map;)I
istore 2
start local 2 3: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.globalLock:Ljava/lang/Object;
dup
astore 6
monitorenter
4: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.mbsToBuffer:Ljava/util/HashMap;
aload 0
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.jmx.remote.internal.ArrayNotificationBuffer
astore 3
start local 3 5: aload 3
ifnonnull 6
iconst_1
goto 7
StackMap locals: javax.management.MBeanServer java.util.Map int com.sun.jmx.remote.internal.ArrayNotificationBuffer top top java.lang.Object
StackMap stack:
6: iconst_0
StackMap locals:
StackMap stack: int
7: istore 4
start local 4 8: iload 4
ifeq 11
9: new com.sun.jmx.remote.internal.ArrayNotificationBuffer
dup
aload 0
iload 2
invokespecial com.sun.jmx.remote.internal.ArrayNotificationBuffer.<init>:(Ljavax/management/MBeanServer;I)V
astore 3
10: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.mbsToBuffer:Ljava/util/HashMap;
aload 0
aload 3
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
11: StackMap locals: javax.management.MBeanServer java.util.Map int com.sun.jmx.remote.internal.ArrayNotificationBuffer int top java.lang.Object
StackMap stack:
new com.sun.jmx.remote.internal.ArrayNotificationBuffer$ShareBuffer
dup
aload 3
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
iload 2
invokespecial com.sun.jmx.remote.internal.ArrayNotificationBuffer$ShareBuffer.<init>:(Lcom/sun/jmx/remote/internal/ArrayNotificationBuffer;I)V
astore 5
start local 5 12: aload 6
monitorexit
13: goto 16
end local 5 end local 4 end local 3 StackMap locals: javax.management.MBeanServer java.util.Map int top top top java.lang.Object
StackMap stack: java.lang.Throwable
14: aload 6
monitorexit
15: athrow
start local 3 start local 4 start local 5 16: StackMap locals: javax.management.MBeanServer java.util.Map int com.sun.jmx.remote.internal.ArrayNotificationBuffer int com.sun.jmx.remote.internal.NotificationBuffer
StackMap stack:
iload 4
ifeq 18
17: aload 3
invokevirtual com.sun.jmx.remote.internal.ArrayNotificationBuffer.createListeners:()V
18: StackMap locals:
StackMap stack:
aload 5
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 mbs Ljavax/management/MBeanServer;
0 19 1 env Ljava/util/Map;
3 19 2 queueSize I
5 14 3 buf Lcom/sun/jmx/remote/internal/ArrayNotificationBuffer;
16 19 3 buf Lcom/sun/jmx/remote/internal/ArrayNotificationBuffer;
8 14 4 create Z
16 19 4 create Z
12 14 5 sharer Lcom/sun/jmx/remote/internal/NotificationBuffer;
16 19 5 sharer Lcom/sun/jmx/remote/internal/NotificationBuffer;
Exception table:
from to target type
4 13 14 any
14 15 14 any
MethodParameters:
Name Flags
mbs
env
static void removeNotificationBuffer(javax.management.MBeanServer);
descriptor: (Ljavax/management/MBeanServer;)V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.globalLock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.mbsToBuffer:Ljava/util/HashMap;
aload 0
invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 1
monitorexit
3: goto 6
StackMap locals: javax.management.MBeanServer java.lang.Object
StackMap stack: java.lang.Throwable
4: aload 1
monitorexit
5: athrow
6: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 mbs Ljavax/management/MBeanServer;
Exception table:
from to target type
1 3 4 any
4 5 4 any
MethodParameters:
Name Flags
mbs
void addSharer(com.sun.jmx.remote.internal.ArrayNotificationBuffer$ShareBuffer);
descriptor: (Lcom/sun/jmx/remote/internal/ArrayNotificationBuffer$ShareBuffer;)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.globalLock:Ljava/lang/Object;
dup
astore 2
monitorenter
1: aload 0
dup
astore 3
monitorenter
2: aload 1
invokevirtual com.sun.jmx.remote.internal.ArrayNotificationBuffer$ShareBuffer.getSize:()I
aload 0
getfield com.sun.jmx.remote.internal.ArrayNotificationBuffer.queueSize:I
if_icmple 4
3: aload 0
aload 1
invokevirtual com.sun.jmx.remote.internal.ArrayNotificationBuffer$ShareBuffer.getSize:()I
invokevirtual com.sun.jmx.remote.internal.ArrayNotificationBuffer.resize:(I)V
4: StackMap locals: java.lang.Object com.sun.jmx.remote.internal.ArrayNotificationBuffer
StackMap stack:
aload 3
monitorexit
5: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
6: aload 3
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jmx.remote.internal.ArrayNotificationBuffer.sharers:Ljava/util/Collection;
aload 1
invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
pop
9: aload 2
monitorexit
10: goto 13
StackMap locals:
StackMap stack: java.lang.Throwable
11: aload 2
monitorexit
12: athrow
13: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/sun/jmx/remote/internal/ArrayNotificationBuffer;
0 14 1 sharer Lcom/sun/jmx/remote/internal/ArrayNotificationBuffer$ShareBuffer;
Exception table:
from to target type
2 5 6 any
6 7 6 any
1 10 11 any
11 12 11 any
MethodParameters:
Name Flags
sharer
private void removeSharer(com.sun.jmx.remote.internal.ArrayNotificationBuffer$ShareBuffer);
descriptor: (Lcom/sun/jmx/remote/internal/ArrayNotificationBuffer$ShareBuffer;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=8, args_size=2
start local 0 start local 1 0: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.globalLock:Ljava/lang/Object;
dup
astore 3
monitorenter
1: aload 0
getfield com.sun.jmx.remote.internal.ArrayNotificationBuffer.sharers:Ljava/util/Collection;
aload 1
invokeinterface java.util.Collection.remove:(Ljava/lang/Object;)Z
pop
2: aload 0
getfield com.sun.jmx.remote.internal.ArrayNotificationBuffer.sharers:Ljava/util/Collection;
invokeinterface java.util.Collection.isEmpty:()Z
istore 2
start local 2 3: iload 2
ifeq 5
4: aload 0
getfield com.sun.jmx.remote.internal.ArrayNotificationBuffer.mBeanServer:Ljavax/management/MBeanServer;
invokestatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.removeNotificationBuffer:(Ljavax/management/MBeanServer;)V
goto 14
5: StackMap locals: int java.lang.Object
StackMap stack:
iconst_0
istore 4
start local 4 6: aload 0
getfield com.sun.jmx.remote.internal.ArrayNotificationBuffer.sharers:Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 6
goto 11
StackMap locals: com.sun.jmx.remote.internal.ArrayNotificationBuffer com.sun.jmx.remote.internal.ArrayNotificationBuffer$ShareBuffer int java.lang.Object int top java.util.Iterator
StackMap stack:
7: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.jmx.remote.internal.ArrayNotificationBuffer$ShareBuffer
astore 5
start local 5 8: aload 5
invokevirtual com.sun.jmx.remote.internal.ArrayNotificationBuffer$ShareBuffer.getSize:()I
istore 7
start local 7 9: iload 7
iload 4
if_icmple 11
10: iload 7
istore 4
end local 7 end local 5 11: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
12: iload 4
aload 0
getfield com.sun.jmx.remote.internal.ArrayNotificationBuffer.queueSize:I
if_icmpge 14
13: aload 0
iload 4
invokevirtual com.sun.jmx.remote.internal.ArrayNotificationBuffer.resize:(I)V
end local 4 14: StackMap locals: com.sun.jmx.remote.internal.ArrayNotificationBuffer com.sun.jmx.remote.internal.ArrayNotificationBuffer$ShareBuffer int java.lang.Object
StackMap stack:
aload 3
monitorexit
15: goto 18
end local 2 StackMap locals: com.sun.jmx.remote.internal.ArrayNotificationBuffer com.sun.jmx.remote.internal.ArrayNotificationBuffer$ShareBuffer top java.lang.Object
StackMap stack: java.lang.Throwable
16: aload 3
monitorexit
17: athrow
start local 2 18: StackMap locals: com.sun.jmx.remote.internal.ArrayNotificationBuffer com.sun.jmx.remote.internal.ArrayNotificationBuffer$ShareBuffer int
StackMap stack:
iload 2
ifeq 27
19: aload 0
dup
astore 3
monitorenter
20: aload 0
iconst_1
putfield com.sun.jmx.remote.internal.ArrayNotificationBuffer.disposed:Z
21: aload 0
invokevirtual java.lang.Object.notifyAll:()V
22: aload 3
monitorexit
23: goto 26
StackMap locals: com.sun.jmx.remote.internal.ArrayNotificationBuffer com.sun.jmx.remote.internal.ArrayNotificationBuffer$ShareBuffer int com.sun.jmx.remote.internal.ArrayNotificationBuffer
StackMap stack: java.lang.Throwable
24: aload 3
monitorexit
25: athrow
26: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.jmx.remote.internal.ArrayNotificationBuffer.destroyListeners:()V
27: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lcom/sun/jmx/remote/internal/ArrayNotificationBuffer;
0 28 1 sharer Lcom/sun/jmx/remote/internal/ArrayNotificationBuffer$ShareBuffer;
3 16 2 empty Z
18 28 2 empty Z
6 14 4 max I
8 11 5 buf Lcom/sun/jmx/remote/internal/ArrayNotificationBuffer$ShareBuffer;
9 11 7 bufsize I
Exception table:
from to target type
1 15 16 any
16 17 16 any
20 23 24 any
24 25 24 any
MethodParameters:
Name Flags
sharer
private synchronized void resize(int);
descriptor: (I)V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
aload 0
getfield com.sun.jmx.remote.internal.ArrayNotificationBuffer.queueSize:I
if_icmpne 3
1: return
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.jmx.remote.internal.ArrayNotificationBuffer.dropNotification:()V
3: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jmx.remote.internal.ArrayNotificationBuffer.queue:Lcom/sun/jmx/remote/internal/ArrayQueue;
invokevirtual com.sun.jmx.remote.internal.ArrayQueue.size:()I
iload 1
if_icmpgt 2
4: aload 0
getfield com.sun.jmx.remote.internal.ArrayNotificationBuffer.queue:Lcom/sun/jmx/remote/internal/ArrayQueue;
iload 1
invokevirtual com.sun.jmx.remote.internal.ArrayQueue.resize:(I)V
5: aload 0
iload 1
putfield com.sun.jmx.remote.internal.ArrayNotificationBuffer.queueSize:I
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/jmx/remote/internal/ArrayNotificationBuffer;
0 7 1 newSize I
MethodParameters:
Name Flags
newSize
private void <init>(javax.management.MBeanServer, int);
descriptor: (Ljavax/management/MBeanServer;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield com.sun.jmx.remote.internal.ArrayNotificationBuffer.disposed:Z
2: aload 0
new java.util.HashSet
dup
iconst_1
invokespecial java.util.HashSet.<init>:(I)V
putfield com.sun.jmx.remote.internal.ArrayNotificationBuffer.sharers:Ljava/util/Collection;
3: aload 0
new com.sun.jmx.remote.internal.ArrayNotificationBuffer$BufferListener
dup
aload 0
invokespecial com.sun.jmx.remote.internal.ArrayNotificationBuffer$BufferListener.<init>:(Lcom/sun/jmx/remote/internal/ArrayNotificationBuffer;)V
putfield com.sun.jmx.remote.internal.ArrayNotificationBuffer.bufferListener:Ljavax/management/NotificationListener;
4: aload 0
5: new com.sun.jmx.remote.internal.ArrayNotificationBuffer$1
dup
aload 0
invokespecial com.sun.jmx.remote.internal.ArrayNotificationBuffer$1.<init>:(Lcom/sun/jmx/remote/internal/ArrayNotificationBuffer;)V
putfield com.sun.jmx.remote.internal.ArrayNotificationBuffer.creationListener:Ljavax/management/NotificationListener;
6: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
invokevirtual com.sun.jmx.remote.util.ClassLogger.traceOn:()Z
ifeq 8
7: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "Constructor"
new java.lang.StringBuilder
dup
ldc "queueSize="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
8: StackMap locals: com.sun.jmx.remote.internal.ArrayNotificationBuffer javax.management.MBeanServer int
StackMap stack:
aload 1
ifnull 9
iload 2
iconst_1
if_icmpge 10
9: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Bad args"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield com.sun.jmx.remote.internal.ArrayNotificationBuffer.mBeanServer:Ljavax/management/MBeanServer;
11: aload 0
iload 2
putfield com.sun.jmx.remote.internal.ArrayNotificationBuffer.queueSize:I
12: aload 0
new com.sun.jmx.remote.internal.ArrayQueue
dup
iload 2
invokespecial com.sun.jmx.remote.internal.ArrayQueue.<init>:(I)V
putfield com.sun.jmx.remote.internal.ArrayNotificationBuffer.queue:Lcom/sun/jmx/remote/internal/ArrayQueue;
13: aload 0
invokestatic java.lang.System.currentTimeMillis:()J
putfield com.sun.jmx.remote.internal.ArrayNotificationBuffer.earliestSequenceNumber:J
14: aload 0
aload 0
getfield com.sun.jmx.remote.internal.ArrayNotificationBuffer.earliestSequenceNumber:J
putfield com.sun.jmx.remote.internal.ArrayNotificationBuffer.nextSequenceNumber:J
15: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "Constructor"
ldc "ends"
invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
16: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/sun/jmx/remote/internal/ArrayNotificationBuffer;
0 17 1 mbs Ljavax/management/MBeanServer;
0 17 2 queueSize I
MethodParameters:
Name Flags
mbs
queueSize
private synchronized boolean isDisposed();
descriptor: ()Z
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.jmx.remote.internal.ArrayNotificationBuffer.disposed:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jmx/remote/internal/ArrayNotificationBuffer;
public void dispose();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: new java.lang.UnsupportedOperationException
dup
invokespecial java.lang.UnsupportedOperationException.<init>:()V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jmx/remote/internal/ArrayNotificationBuffer;
public javax.management.remote.NotificationResult fetchNotifications(com.sun.jmx.remote.internal.NotificationBufferFilter, long, long, int);
descriptor: (Lcom/sun/jmx/remote/internal/NotificationBufferFilter;JJI)Ljavax/management/remote/NotificationResult;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=18, args_size=5
start local 0 start local 1 start local 2 start local 4 start local 6 0: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "fetchNotifications"
ldc "starts"
invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
1: lload 2
lconst_0
lcmp
iflt 2
aload 0
invokevirtual com.sun.jmx.remote.internal.ArrayNotificationBuffer.isDisposed:()Z
ifeq 10
2: StackMap locals:
StackMap stack:
aload 0
dup
astore 7
monitorenter
3: new javax.management.remote.NotificationResult
dup
aload 0
invokevirtual com.sun.jmx.remote.internal.ArrayNotificationBuffer.earliestSequenceNumber:()J
4: aload 0
invokevirtual com.sun.jmx.remote.internal.ArrayNotificationBuffer.nextSequenceNumber:()J
5: iconst_0
anewarray javax.management.remote.TargetedNotification
6: invokespecial javax.management.remote.NotificationResult.<init>:(JJ[Ljavax/management/remote/TargetedNotification;)V
aload 7
monitorexit
7: areturn
8: StackMap locals: com.sun.jmx.remote.internal.ArrayNotificationBuffer com.sun.jmx.remote.internal.NotificationBufferFilter long long int com.sun.jmx.remote.internal.ArrayNotificationBuffer
StackMap stack: java.lang.Throwable
aload 7
monitorexit
9: athrow
10: StackMap locals:
StackMap stack:
aload 1
ifnull 13
11: lload 2
lconst_0
lcmp
iflt 13
lload 4
lconst_0
lcmp
iflt 13
12: iload 6
ifge 15
13: StackMap locals:
StackMap stack:
getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "fetchNotifications"
ldc "Bad args"
invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
14: new java.lang.IllegalArgumentException
dup
ldc "Bad args to fetch"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals:
StackMap stack:
getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
invokevirtual com.sun.jmx.remote.util.ClassLogger.debugOn:()Z
ifeq 22
16: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "fetchNotifications"
17: new java.lang.StringBuilder
dup
ldc "filter="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "; startSeq="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
18: lload 2
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc "; timeout="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 4
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
19: ldc "; max="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 6
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
20: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
21: invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
22: StackMap locals:
StackMap stack:
lload 2
aload 0
invokevirtual com.sun.jmx.remote.internal.ArrayNotificationBuffer.nextSequenceNumber:()J
lcmp
ifle 28
23: new java.lang.StringBuilder
dup
ldc "Start sequence number too big: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
24: lload 2
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " > "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual com.sun.jmx.remote.internal.ArrayNotificationBuffer.nextSequenceNumber:()J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
25: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 7
start local 7 26: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "fetchNotifications"
aload 7
invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
27: new java.lang.IllegalArgumentException
dup
aload 7
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 7 28: StackMap locals:
StackMap stack:
invokestatic java.lang.System.currentTimeMillis:()J
lload 4
ladd
lstore 7
start local 7 29: lload 7
lconst_0
lcmp
ifge 31
30: ldc 9223372036854775807
lstore 7
31: StackMap locals: long
StackMap stack:
getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
invokevirtual com.sun.jmx.remote.util.ClassLogger.debugOn:()Z
ifeq 33
32: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "fetchNotifications"
new java.lang.StringBuilder
dup
ldc "endTime="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 7
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/String;)V
33: StackMap locals:
StackMap stack:
ldc -1
lstore 9
start local 9 34: lload 2
lstore 11
start local 11 35: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
36: astore 13
start local 13 37: StackMap locals: long long java.util.List
StackMap stack:
getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "fetchNotifications"
ldc "main loop starts"
invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/String;)V
38: aload 0
dup
astore 15
monitorenter
39: lload 9
lconst_0
lcmp
ifge 51
40: aload 0
invokevirtual com.sun.jmx.remote.internal.ArrayNotificationBuffer.earliestSequenceNumber:()J
lstore 9
41: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
invokevirtual com.sun.jmx.remote.util.ClassLogger.debugOn:()Z
ifeq 45
42: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "fetchNotifications"
43: new java.lang.StringBuilder
dup
ldc "earliestSeq="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 9
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
44: invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/String;)V
45: StackMap locals: com.sun.jmx.remote.internal.ArrayNotificationBuffer com.sun.jmx.remote.internal.NotificationBufferFilter long long int long long long java.util.List top com.sun.jmx.remote.internal.ArrayNotificationBuffer
StackMap stack:
lload 11
lload 9
lcmp
ifge 52
46: lload 9
lstore 11
47: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "fetchNotifications"
48: ldc "nextSeq=earliestSeq"
49: invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/String;)V
50: goto 52
51: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.jmx.remote.internal.ArrayNotificationBuffer.earliestSequenceNumber:()J
lstore 9
52: StackMap locals:
StackMap stack:
lload 11
lload 9
lcmp
ifge 60
53: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "fetchNotifications"
54: new java.lang.StringBuilder
dup
ldc "nextSeq="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 11
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " < "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "earliestSeq="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
55: lload 9
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " so may have lost notifs"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
56: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
57: invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
58: aload 15
monitorexit
59: goto 141
60: StackMap locals:
StackMap stack:
lload 11
aload 0
invokevirtual com.sun.jmx.remote.internal.ArrayNotificationBuffer.nextSequenceNumber:()J
lcmp
ifge 87
61: aload 0
lload 11
invokevirtual com.sun.jmx.remote.internal.ArrayNotificationBuffer.notificationAt:(J)Lcom/sun/jmx/remote/internal/ArrayNotificationBuffer$NamedNotification;
astore 14
start local 14 62: aload 1
instanceof com.sun.jmx.remote.internal.ServerNotifForwarder$NotifForwarderBufferFilter
ifne 79
63: aload 0
getfield com.sun.jmx.remote.internal.ArrayNotificationBuffer.mBeanServer:Ljavax/management/MBeanServer;
64: aload 14
invokevirtual com.sun.jmx.remote.internal.ArrayNotificationBuffer$NamedNotification.getObjectName:()Ljavax/management/ObjectName;
ldc "addNotificationListener"
65: invokestatic com.sun.jmx.remote.internal.ServerNotifForwarder.checkMBeanPermission:(Ljavax/management/MBeanServer;Ljavax/management/ObjectName;Ljava/lang/String;)V
66: goto 79
StackMap locals: com.sun.jmx.remote.internal.ArrayNotificationBuffer com.sun.jmx.remote.internal.NotificationBufferFilter long long int long long long java.util.List com.sun.jmx.remote.internal.ArrayNotificationBuffer$NamedNotification com.sun.jmx.remote.internal.ArrayNotificationBuffer
StackMap stack: javax.management.InstanceNotFoundException
67: astore 16
start local 16 68: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
invokevirtual com.sun.jmx.remote.util.ClassLogger.debugOn:()Z
ifeq 70
69: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "fetchNotifications"
new java.lang.StringBuilder
dup
ldc "candidate: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 14
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " skipped. exception "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 16
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/String;)V
70: StackMap locals: javax.management.InstanceNotFoundException
StackMap stack:
lload 11
lconst_1
ladd
lstore 11
71: aload 15
monitorexit
72: goto 37
end local 16 73: StackMap locals: com.sun.jmx.remote.internal.ArrayNotificationBuffer com.sun.jmx.remote.internal.NotificationBufferFilter long long int long long long java.util.List com.sun.jmx.remote.internal.ArrayNotificationBuffer$NamedNotification com.sun.jmx.remote.internal.ArrayNotificationBuffer
StackMap stack: java.lang.SecurityException
astore 16
start local 16 74: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
invokevirtual com.sun.jmx.remote.util.ClassLogger.debugOn:()Z
ifeq 76
75: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "fetchNotifications"
new java.lang.StringBuilder
dup
ldc "candidate: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 14
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " skipped. exception "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 16
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/String;)V
76: StackMap locals: java.lang.SecurityException
StackMap stack:
lload 11
lconst_1
ladd
lstore 11
77: aload 15
monitorexit
78: goto 37
end local 16 79: StackMap locals:
StackMap stack:
getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
invokevirtual com.sun.jmx.remote.util.ClassLogger.debugOn:()Z
ifeq 115
80: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "fetchNotifications"
new java.lang.StringBuilder
dup
ldc "candidate: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
81: aload 14
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
82: invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/String;)V
83: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "fetchNotifications"
new java.lang.StringBuilder
dup
ldc "nextSeq now "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
84: lload 11
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
85: invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/String;)V
86: goto 115
end local 14 87: StackMap locals: com.sun.jmx.remote.internal.ArrayNotificationBuffer com.sun.jmx.remote.internal.NotificationBufferFilter long long int long long long java.util.List top com.sun.jmx.remote.internal.ArrayNotificationBuffer
StackMap stack:
aload 13
invokeinterface java.util.List.size:()I
ifle 93
88: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "fetchNotifications"
89: ldc "no more notifs but have some so don't wait"
90: invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/String;)V
91: aload 15
monitorexit
92: goto 141
93: StackMap locals:
StackMap stack:
lload 7
invokestatic java.lang.System.currentTimeMillis:()J
lsub
lstore 16
start local 16 94: lload 16
lconst_0
lcmp
ifgt 98
95: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "fetchNotifications"
ldc "timeout"
invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/String;)V
96: aload 15
monitorexit
97: goto 141
98: StackMap locals: long
StackMap stack:
aload 0
invokevirtual com.sun.jmx.remote.internal.ArrayNotificationBuffer.isDisposed:()Z
ifeq 108
99: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
invokevirtual com.sun.jmx.remote.util.ClassLogger.debugOn:()Z
ifeq 103
100: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "fetchNotifications"
101: ldc "dispose callled, no wait"
102: invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/String;)V
103: StackMap locals:
StackMap stack:
new javax.management.remote.NotificationResult
dup
aload 0
invokevirtual com.sun.jmx.remote.internal.ArrayNotificationBuffer.earliestSequenceNumber:()J
104: aload 0
invokevirtual com.sun.jmx.remote.internal.ArrayNotificationBuffer.nextSequenceNumber:()J
105: iconst_0
anewarray javax.management.remote.TargetedNotification
106: invokespecial javax.management.remote.NotificationResult.<init>:(JJ[Ljavax/management/remote/TargetedNotification;)V
aload 15
monitorexit
107: areturn
108: StackMap locals:
StackMap stack:
getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
invokevirtual com.sun.jmx.remote.util.ClassLogger.debugOn:()Z
ifeq 112
109: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "fetchNotifications"
110: new java.lang.StringBuilder
dup
ldc "wait("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 16
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
111: invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/String;)V
112: StackMap locals:
StackMap stack:
aload 0
lload 16
invokevirtual java.lang.Object.wait:(J)V
113: aload 15
monitorexit
114: goto 37
end local 16 start local 14 115: StackMap locals: com.sun.jmx.remote.internal.ArrayNotificationBuffer com.sun.jmx.remote.internal.NotificationBufferFilter long long int long long long java.util.List com.sun.jmx.remote.internal.ArrayNotificationBuffer$NamedNotification com.sun.jmx.remote.internal.ArrayNotificationBuffer
StackMap stack:
aload 15
monitorexit
116: goto 119
end local 14 StackMap locals: com.sun.jmx.remote.internal.ArrayNotificationBuffer com.sun.jmx.remote.internal.NotificationBufferFilter long long int long long long java.util.List top com.sun.jmx.remote.internal.ArrayNotificationBuffer
StackMap stack: java.lang.Throwable
117: aload 15
monitorexit
118: athrow
start local 14 119: StackMap locals: com.sun.jmx.remote.internal.ArrayNotificationBuffer com.sun.jmx.remote.internal.NotificationBufferFilter long long int long long long java.util.List com.sun.jmx.remote.internal.ArrayNotificationBuffer$NamedNotification
StackMap stack:
aload 14
invokevirtual com.sun.jmx.remote.internal.ArrayNotificationBuffer$NamedNotification.getObjectName:()Ljavax/management/ObjectName;
astore 15
start local 15 120: aload 14
invokevirtual com.sun.jmx.remote.internal.ArrayNotificationBuffer$NamedNotification.getNotification:()Ljavax/management/Notification;
astore 16
start local 16 121: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
122: astore 17
start local 17 123: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "fetchNotifications"
124: ldc "applying filter to candidate"
125: invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/String;)V
126: aload 1
aload 17
aload 15
aload 16
invokeinterface com.sun.jmx.remote.internal.NotificationBufferFilter.apply:(Ljava/util/List;Ljavax/management/ObjectName;Ljavax/management/Notification;)V
127: aload 17
invokeinterface java.util.List.size:()I
ifle 139
128: iload 6
ifgt 133
129: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "fetchNotifications"
130: ldc "reached maxNotifications"
131: invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/String;)V
132: goto 141
133: StackMap locals: javax.management.ObjectName javax.management.Notification java.util.List
StackMap stack:
iinc 6 -1
134: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
invokevirtual com.sun.jmx.remote.util.ClassLogger.debugOn:()Z
ifeq 138
135: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "fetchNotifications"
new java.lang.StringBuilder
dup
ldc "add: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
136: aload 17
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
137: invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/String;)V
138: StackMap locals:
StackMap stack:
aload 13
aload 17
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
139: StackMap locals:
StackMap stack:
lload 11
lconst_1
ladd
lstore 11
end local 17 end local 16 end local 15 end local 14 140: goto 37
141: StackMap locals: com.sun.jmx.remote.internal.ArrayNotificationBuffer com.sun.jmx.remote.internal.NotificationBufferFilter long long int long long long java.util.List
StackMap stack:
aload 13
invokeinterface java.util.List.size:()I
istore 14
start local 14 142: iload 14
anewarray javax.management.remote.TargetedNotification
143: astore 15
start local 15 144: aload 13
aload 15
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
pop
145: new javax.management.remote.NotificationResult
dup
lload 9
lload 11
aload 15
invokespecial javax.management.remote.NotificationResult.<init>:(JJ[Ljavax/management/remote/TargetedNotification;)V
146: astore 16
start local 16 147: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
invokevirtual com.sun.jmx.remote.util.ClassLogger.debugOn:()Z
ifeq 149
148: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "fetchNotifications"
aload 16
invokevirtual javax.management.remote.NotificationResult.toString:()Ljava/lang/String;
invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/String;)V
149: StackMap locals: int javax.management.remote.TargetedNotification[] javax.management.remote.NotificationResult
StackMap stack:
getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "fetchNotifications"
ldc "ends"
invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
150: aload 16
areturn
end local 16 end local 15 end local 14 end local 13 end local 11 end local 9 end local 7 end local 6 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 151 0 this Lcom/sun/jmx/remote/internal/ArrayNotificationBuffer;
0 151 1 filter Lcom/sun/jmx/remote/internal/NotificationBufferFilter;
0 151 2 startSequenceNumber J
0 151 4 timeout J
0 151 6 maxNotifications I
26 28 7 msg Ljava/lang/String;
29 151 7 endTime J
34 151 9 earliestSeq J
35 151 11 nextSeq J
37 151 13 notifs Ljava/util/List<Ljavax/management/remote/TargetedNotification;>;
62 87 14 candidate Lcom/sun/jmx/remote/internal/ArrayNotificationBuffer$NamedNotification;
115 117 14 candidate Lcom/sun/jmx/remote/internal/ArrayNotificationBuffer$NamedNotification;
119 140 14 candidate Lcom/sun/jmx/remote/internal/ArrayNotificationBuffer$NamedNotification;
68 73 16 e Ljavax/management/InstanceNotFoundException;
74 79 16 e Ljava/lang/SecurityException;
94 115 16 toWait J
120 140 15 name Ljavax/management/ObjectName;
121 140 16 notif Ljavax/management/Notification;
123 140 17 matchedNotifs Ljava/util/List<Ljavax/management/remote/TargetedNotification;>;
142 151 14 nnotifs I
144 151 15 resultNotifs [Ljavax/management/remote/TargetedNotification;
147 151 16 nr Ljavax/management/remote/NotificationResult;
Exception table:
from to target type
3 7 8 any
8 9 8 any
63 66 67 Class javax.management.InstanceNotFoundException
63 66 73 Class java.lang.SecurityException
39 59 117 any
60 72 117 any
73 78 117 any
79 92 117 any
93 97 117 any
98 107 117 any
108 114 117 any
115 116 117 any
117 118 117 any
Exceptions:
throws java.lang.InterruptedException
MethodParameters:
Name Flags
filter
startSequenceNumber
timeout
maxNotifications
synchronized long earliestSequenceNumber();
descriptor: ()J
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.jmx.remote.internal.ArrayNotificationBuffer.earliestSequenceNumber:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jmx/remote/internal/ArrayNotificationBuffer;
synchronized long nextSequenceNumber();
descriptor: ()J
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.jmx.remote.internal.ArrayNotificationBuffer.nextSequenceNumber:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jmx/remote/internal/ArrayNotificationBuffer;
synchronized void addNotification(com.sun.jmx.remote.internal.ArrayNotificationBuffer$NamedNotification);
descriptor: (Lcom/sun/jmx/remote/internal/ArrayNotificationBuffer$NamedNotification;)V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
invokevirtual com.sun.jmx.remote.util.ClassLogger.traceOn:()Z
ifeq 10
1: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "addNotification"
aload 1
invokevirtual com.sun.jmx.remote.internal.ArrayNotificationBuffer$NamedNotification.toString:()Ljava/lang/String;
invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
2: goto 10
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.jmx.remote.internal.ArrayNotificationBuffer.dropNotification:()V
4: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
invokevirtual com.sun.jmx.remote.util.ClassLogger.debugOn:()Z
ifeq 10
5: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "addNotification"
6: new java.lang.StringBuilder
dup
ldc "dropped oldest notif, earliestSeq="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
7: aload 0
getfield com.sun.jmx.remote.internal.ArrayNotificationBuffer.earliestSequenceNumber:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
8: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
9: invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/String;)V
10: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jmx.remote.internal.ArrayNotificationBuffer.queue:Lcom/sun/jmx/remote/internal/ArrayQueue;
invokevirtual com.sun.jmx.remote.internal.ArrayQueue.size:()I
aload 0
getfield com.sun.jmx.remote.internal.ArrayNotificationBuffer.queueSize:I
if_icmpge 3
11: aload 0
getfield com.sun.jmx.remote.internal.ArrayNotificationBuffer.queue:Lcom/sun/jmx/remote/internal/ArrayQueue;
aload 1
invokevirtual com.sun.jmx.remote.internal.ArrayQueue.add:(Ljava/lang/Object;)Z
pop
12: aload 0
dup
getfield com.sun.jmx.remote.internal.ArrayNotificationBuffer.nextSequenceNumber:J
lconst_1
ladd
putfield com.sun.jmx.remote.internal.ArrayNotificationBuffer.nextSequenceNumber:J
13: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
invokevirtual com.sun.jmx.remote.util.ClassLogger.debugOn:()Z
ifeq 15
14: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "addNotification"
new java.lang.StringBuilder
dup
ldc "nextSeq="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.sun.jmx.remote.internal.ArrayNotificationBuffer.nextSequenceNumber:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/String;)V
15: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Object.notifyAll:()V
16: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/sun/jmx/remote/internal/ArrayNotificationBuffer;
0 17 1 notif Lcom/sun/jmx/remote/internal/ArrayNotificationBuffer$NamedNotification;
MethodParameters:
Name Flags
notif
private void dropNotification();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.jmx.remote.internal.ArrayNotificationBuffer.queue:Lcom/sun/jmx/remote/internal/ArrayQueue;
iconst_0
invokevirtual com.sun.jmx.remote.internal.ArrayQueue.remove:(I)Ljava/lang/Object;
pop
1: aload 0
dup
getfield com.sun.jmx.remote.internal.ArrayNotificationBuffer.earliestSequenceNumber:J
lconst_1
ladd
putfield com.sun.jmx.remote.internal.ArrayNotificationBuffer.earliestSequenceNumber:J
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/jmx/remote/internal/ArrayNotificationBuffer;
synchronized com.sun.jmx.remote.internal.ArrayNotificationBuffer$NamedNotification notificationAt(long);
descriptor: (J)Lcom/sun/jmx/remote/internal/ArrayNotificationBuffer$NamedNotification;
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: lload 1
aload 0
getfield com.sun.jmx.remote.internal.ArrayNotificationBuffer.earliestSequenceNumber:J
lsub
lstore 3
start local 3 1: lload 3
lconst_0
lcmp
iflt 2
lload 3
ldc 2147483647
lcmp
ifle 7
2: StackMap locals: long
StackMap stack:
new java.lang.StringBuilder
dup
ldc "Bad sequence number: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 1
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " (earliest "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: aload 0
getfield com.sun.jmx.remote.internal.ArrayNotificationBuffer.earliestSequenceNumber:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
start local 5 5: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "notificationAt"
aload 5
invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
6: new java.lang.IllegalArgumentException
dup
aload 5
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 5 7: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jmx.remote.internal.ArrayNotificationBuffer.queue:Lcom/sun/jmx/remote/internal/ArrayQueue;
lload 3
l2i
invokevirtual com.sun.jmx.remote.internal.ArrayQueue.get:(I)Ljava/lang/Object;
checkcast com.sun.jmx.remote.internal.ArrayNotificationBuffer$NamedNotification
areturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/jmx/remote/internal/ArrayNotificationBuffer;
0 8 1 seqNo J
1 8 3 index J
5 7 5 msg Ljava/lang/String;
MethodParameters:
Name Flags
seqNo
private void createListeners();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=1
start local 0 0: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "createListeners"
ldc "starts"
invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/String;)V
1: aload 0
dup
astore 1
monitorenter
2: aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield com.sun.jmx.remote.internal.ArrayNotificationBuffer.createdDuringQuery:Ljava/util/Set;
3: aload 1
monitorexit
4: goto 7
StackMap locals: com.sun.jmx.remote.internal.ArrayNotificationBuffer com.sun.jmx.remote.internal.ArrayNotificationBuffer
StackMap stack: java.lang.Throwable
5: aload 1
monitorexit
6: athrow
7: StackMap locals:
StackMap stack:
aload 0
getstatic javax.management.MBeanServerDelegate.DELEGATE_NAME:Ljavax/management/ObjectName;
8: aload 0
getfield com.sun.jmx.remote.internal.ArrayNotificationBuffer.creationListener:Ljavax/management/NotificationListener;
getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.creationFilter:Ljavax/management/NotificationFilter;
aconst_null
9: invokevirtual com.sun.jmx.remote.internal.ArrayNotificationBuffer.addNotificationListener:(Ljavax/management/ObjectName;Ljavax/management/NotificationListener;Ljavax/management/NotificationFilter;Ljava/lang/Object;)V
10: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "createListeners"
ldc "added creationListener"
invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/String;)V
11: goto 18
StackMap locals:
StackMap stack: java.lang.Exception
12: astore 1
start local 1 13: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Can't add listener to MBean server delegate: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
astore 2
start local 2 14: aload 2
aload 1
invokestatic com.sun.jmx.remote.util.EnvHelp.initCause:(Ljava/lang/Throwable;Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
15: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "createListeners"
new java.lang.StringBuilder
dup
ldc "Can't add listener to MBean server delegate: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.jmx.remote.util.ClassLogger.fine:(Ljava/lang/String;Ljava/lang/String;)V
16: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "createListeners"
aload 1
invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
17: aload 2
athrow
end local 2 end local 1 18: StackMap locals:
StackMap stack:
aload 0
aconst_null
getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.broadcasterQuery:Ljavax/management/QueryExp;
invokevirtual com.sun.jmx.remote.internal.ArrayNotificationBuffer.queryNames:(Ljavax/management/ObjectName;Ljavax/management/QueryExp;)Ljava/util/Set;
astore 1
start local 1 19: new java.util.HashSet
dup
aload 1
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
astore 1
20: aload 0
dup
astore 2
monitorenter
21: aload 1
aload 0
getfield com.sun.jmx.remote.internal.ArrayNotificationBuffer.createdDuringQuery:Ljava/util/Set;
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
22: aload 0
aconst_null
putfield com.sun.jmx.remote.internal.ArrayNotificationBuffer.createdDuringQuery:Ljava/util/Set;
23: aload 2
monitorexit
24: goto 27
StackMap locals: com.sun.jmx.remote.internal.ArrayNotificationBuffer java.util.Set com.sun.jmx.remote.internal.ArrayNotificationBuffer
StackMap stack: java.lang.Throwable
25: aload 2
monitorexit
26: athrow
27: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
goto 30
StackMap locals: com.sun.jmx.remote.internal.ArrayNotificationBuffer java.util.Set top java.util.Iterator
StackMap stack:
28: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.management.ObjectName
astore 2
start local 2 29: aload 0
aload 2
invokevirtual com.sun.jmx.remote.internal.ArrayNotificationBuffer.addBufferListener:(Ljavax/management/ObjectName;)V
end local 2 30: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 28
31: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "createListeners"
ldc "ends"
invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/String;)V
32: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lcom/sun/jmx/remote/internal/ArrayNotificationBuffer;
13 18 1 e Ljava/lang/Exception;
14 18 2 re Ljava/lang/RuntimeException;
19 33 1 names Ljava/util/Set<Ljavax/management/ObjectName;>;
29 30 2 name Ljavax/management/ObjectName;
Exception table:
from to target type
2 4 5 any
5 6 5 any
7 11 12 Class java.lang.Exception
21 24 25 any
25 26 25 any
private void addBufferListener(javax.management.ObjectName);
descriptor: (Ljavax/management/ObjectName;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.sun.jmx.remote.internal.ArrayNotificationBuffer.checkNoLocks:()V
1: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
invokevirtual com.sun.jmx.remote.util.ClassLogger.debugOn:()Z
ifeq 3
2: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "addBufferListener"
aload 1
invokevirtual javax.management.ObjectName.toString:()Ljava/lang/String;
invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/String;)V
3: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 0
getfield com.sun.jmx.remote.internal.ArrayNotificationBuffer.bufferListener:Ljavax/management/NotificationListener;
aconst_null
aload 1
invokevirtual com.sun.jmx.remote.internal.ArrayNotificationBuffer.addNotificationListener:(Ljavax/management/ObjectName;Ljavax/management/NotificationListener;Ljavax/management/NotificationFilter;Ljava/lang/Object;)V
4: goto 7
StackMap locals:
StackMap stack: java.lang.Exception
5: astore 2
start local 2 6: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "addBufferListener"
aload 2
invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 2 7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/jmx/remote/internal/ArrayNotificationBuffer;
0 8 1 name Ljavax/management/ObjectName;
6 7 2 e Ljava/lang/Exception;
Exception table:
from to target type
3 4 5 Class java.lang.Exception
MethodParameters:
Name Flags
name
private void removeBufferListener(javax.management.ObjectName);
descriptor: (Ljavax/management/ObjectName;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.sun.jmx.remote.internal.ArrayNotificationBuffer.checkNoLocks:()V
1: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
invokevirtual com.sun.jmx.remote.util.ClassLogger.debugOn:()Z
ifeq 3
2: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "removeBufferListener"
aload 1
invokevirtual javax.management.ObjectName.toString:()Ljava/lang/String;
invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/String;)V
3: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 0
getfield com.sun.jmx.remote.internal.ArrayNotificationBuffer.bufferListener:Ljavax/management/NotificationListener;
invokevirtual com.sun.jmx.remote.internal.ArrayNotificationBuffer.removeNotificationListener:(Ljavax/management/ObjectName;Ljavax/management/NotificationListener;)V
4: goto 7
StackMap locals:
StackMap stack: java.lang.Exception
5: astore 2
start local 2 6: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "removeBufferListener"
aload 2
invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 2 7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/jmx/remote/internal/ArrayNotificationBuffer;
0 8 1 name Ljavax/management/ObjectName;
6 7 2 e Ljava/lang/Exception;
Exception table:
from to target type
3 4 5 Class java.lang.Exception
MethodParameters:
Name Flags
name
private void addNotificationListener(javax.management.ObjectName, javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object);
descriptor: (Ljavax/management/ObjectName;Ljavax/management/NotificationListener;Ljavax/management/NotificationFilter;Ljava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new com.sun.jmx.remote.internal.ArrayNotificationBuffer$2
dup
aload 0
aload 1
aload 2
aload 3
aload 4
invokespecial com.sun.jmx.remote.internal.ArrayNotificationBuffer$2.<init>:(Lcom/sun/jmx/remote/internal/ArrayNotificationBuffer;Ljavax/management/ObjectName;Ljavax/management/NotificationListener;Ljavax/management/NotificationFilter;Ljava/lang/Object;)V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
pop
1: goto 4
StackMap locals:
StackMap stack: java.lang.Exception
2: astore 5
start local 5 3: aload 5
invokestatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.extractException:(Ljava/lang/Exception;)Ljava/lang/Exception;
athrow
end local 5 4: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/jmx/remote/internal/ArrayNotificationBuffer;
0 5 1 name Ljavax/management/ObjectName;
0 5 2 listener Ljavax/management/NotificationListener;
0 5 3 filter Ljavax/management/NotificationFilter;
0 5 4 handback Ljava/lang/Object;
3 4 5 e Ljava/lang/Exception;
Exception table:
from to target type
0 1 2 Class java.lang.Exception
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
name final
listener final
filter final
handback final
private void removeNotificationListener(javax.management.ObjectName, javax.management.NotificationListener);
descriptor: (Ljavax/management/ObjectName;Ljavax/management/NotificationListener;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new com.sun.jmx.remote.internal.ArrayNotificationBuffer$3
dup
aload 0
aload 1
aload 2
invokespecial com.sun.jmx.remote.internal.ArrayNotificationBuffer$3.<init>:(Lcom/sun/jmx/remote/internal/ArrayNotificationBuffer;Ljavax/management/ObjectName;Ljavax/management/NotificationListener;)V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
pop
1: goto 4
StackMap locals:
StackMap stack: java.lang.Exception
2: astore 3
start local 3 3: aload 3
invokestatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.extractException:(Ljava/lang/Exception;)Ljava/lang/Exception;
athrow
end local 3 4: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/jmx/remote/internal/ArrayNotificationBuffer;
0 5 1 name Ljavax/management/ObjectName;
0 5 2 listener Ljavax/management/NotificationListener;
3 4 3 e Ljava/lang/Exception;
Exception table:
from to target type
0 1 2 Class java.lang.Exception
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
name final
listener final
private java.util.Set<javax.management.ObjectName> queryNames(javax.management.ObjectName, javax.management.QueryExp);
descriptor: (Ljavax/management/ObjectName;Ljavax/management/QueryExp;)Ljava/util/Set;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: new com.sun.jmx.remote.internal.ArrayNotificationBuffer$4
dup
aload 0
aload 1
aload 2
invokespecial com.sun.jmx.remote.internal.ArrayNotificationBuffer$4.<init>:(Lcom/sun/jmx/remote/internal/ArrayNotificationBuffer;Ljavax/management/ObjectName;Ljavax/management/QueryExp;)V
1: astore 3
start local 3 2: aload 3
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.util.Set
3: areturn
4: StackMap locals: com.sun.jmx.remote.internal.ArrayNotificationBuffer javax.management.ObjectName javax.management.QueryExp java.security.PrivilegedAction
StackMap stack: java.lang.RuntimeException
astore 4
start local 4 5: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "queryNames"
new java.lang.StringBuilder
dup
ldc "Failed to query names: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.jmx.remote.util.ClassLogger.fine:(Ljava/lang/String;Ljava/lang/String;)V
6: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "queryNames"
aload 4
invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
7: aload 4
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/jmx/remote/internal/ArrayNotificationBuffer;
0 8 1 name Ljavax/management/ObjectName;
0 8 2 query Ljavax/management/QueryExp;
2 8 3 act Ljava/security/PrivilegedAction<Ljava/util/Set<Ljavax/management/ObjectName;>;>;
5 8 4 e Ljava/lang/RuntimeException;
Exception table:
from to target type
2 3 4 Class java.lang.RuntimeException
Signature: (Ljavax/management/ObjectName;Ljavax/management/QueryExp;)Ljava/util/Set<Ljavax/management/ObjectName;>;
MethodParameters:
Name Flags
name final
query final
private static boolean isInstanceOf(javax.management.MBeanServer, javax.management.ObjectName, java.lang.String);
descriptor: (Ljavax/management/MBeanServer;Ljavax/management/ObjectName;Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: new com.sun.jmx.remote.internal.ArrayNotificationBuffer$5
dup
aload 0
aload 1
aload 2
invokespecial com.sun.jmx.remote.internal.ArrayNotificationBuffer$5.<init>:(Ljavax/management/MBeanServer;Ljavax/management/ObjectName;Ljava/lang/String;)V
1: astore 3
start local 3 2: aload 3
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
3: ireturn
4: StackMap locals: javax.management.MBeanServer javax.management.ObjectName java.lang.String java.security.PrivilegedExceptionAction
StackMap stack: java.lang.Exception
astore 4
start local 4 5: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "isInstanceOf"
new java.lang.StringBuilder
dup
ldc "failed: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.jmx.remote.util.ClassLogger.fine:(Ljava/lang/String;Ljava/lang/String;)V
6: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "isInstanceOf"
aload 4
invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
7: iconst_0
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 mbs Ljavax/management/MBeanServer;
0 8 1 name Ljavax/management/ObjectName;
0 8 2 className Ljava/lang/String;
2 8 3 act Ljava/security/PrivilegedExceptionAction<Ljava/lang/Boolean;>;
5 8 4 e Ljava/lang/Exception;
Exception table:
from to target type
2 3 4 Class java.lang.Exception
MethodParameters:
Name Flags
mbs final
name final
className final
private void createdNotification(javax.management.MBeanServerNotification);
descriptor: (Ljavax/management/MBeanServerNotification;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual javax.management.MBeanServerNotification.getType:()Ljava/lang/String;
ldc "JMX.mbean.registered"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 3
1: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "createNotification"
new java.lang.StringBuilder
dup
ldc "bad type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual javax.management.MBeanServerNotification.getType:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.jmx.remote.util.ClassLogger.warning:(Ljava/lang/String;Ljava/lang/String;)V
2: return
3: StackMap locals:
StackMap stack:
aload 1
invokevirtual javax.management.MBeanServerNotification.getMBeanName:()Ljavax/management/ObjectName;
astore 2
start local 2 4: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
invokevirtual com.sun.jmx.remote.util.ClassLogger.debugOn:()Z
ifeq 6
5: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "createdNotification"
new java.lang.StringBuilder
dup
ldc "for: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/String;)V
6: StackMap locals: javax.management.ObjectName
StackMap stack:
aload 0
dup
astore 3
monitorenter
7: aload 0
getfield com.sun.jmx.remote.internal.ArrayNotificationBuffer.createdDuringQuery:Ljava/util/Set;
ifnull 11
8: aload 0
getfield com.sun.jmx.remote.internal.ArrayNotificationBuffer.createdDuringQuery:Ljava/util/Set;
aload 2
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
9: aload 3
monitorexit
10: return
11: StackMap locals: com.sun.jmx.remote.internal.ArrayNotificationBuffer
StackMap stack:
aload 3
monitorexit
12: goto 15
StackMap locals:
StackMap stack: java.lang.Throwable
13: aload 3
monitorexit
14: athrow
15: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jmx.remote.internal.ArrayNotificationBuffer.mBeanServer:Ljavax/management/MBeanServer;
aload 2
getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.broadcasterClass:Ljava/lang/String;
invokestatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.isInstanceOf:(Ljavax/management/MBeanServer;Ljavax/management/ObjectName;Ljava/lang/String;)Z
ifeq 19
16: aload 0
aload 2
invokevirtual com.sun.jmx.remote.internal.ArrayNotificationBuffer.addBufferListener:(Ljavax/management/ObjectName;)V
17: aload 0
invokevirtual com.sun.jmx.remote.internal.ArrayNotificationBuffer.isDisposed:()Z
ifeq 19
18: aload 0
aload 2
invokevirtual com.sun.jmx.remote.internal.ArrayNotificationBuffer.removeBufferListener:(Ljavax/management/ObjectName;)V
19: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lcom/sun/jmx/remote/internal/ArrayNotificationBuffer;
0 20 1 n Ljavax/management/MBeanServerNotification;
4 20 2 name Ljavax/management/ObjectName;
Exception table:
from to target type
7 10 13 any
11 12 13 any
13 14 13 any
MethodParameters:
Name Flags
n
private void destroyListeners();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.jmx.remote.internal.ArrayNotificationBuffer.checkNoLocks:()V
1: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "destroyListeners"
ldc "starts"
invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/String;)V
2: aload 0
getstatic javax.management.MBeanServerDelegate.DELEGATE_NAME:Ljavax/management/ObjectName;
3: aload 0
getfield com.sun.jmx.remote.internal.ArrayNotificationBuffer.creationListener:Ljavax/management/NotificationListener;
4: invokevirtual com.sun.jmx.remote.internal.ArrayNotificationBuffer.removeNotificationListener:(Ljavax/management/ObjectName;Ljavax/management/NotificationListener;)V
5: goto 8
StackMap locals:
StackMap stack: java.lang.Exception
6: astore 1
start local 1 7: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "remove listener from MBeanServer delegate"
aload 1
invokevirtual com.sun.jmx.remote.util.ClassLogger.warning:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 1 8: StackMap locals:
StackMap stack:
aload 0
aconst_null
getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.broadcasterQuery:Ljavax/management/QueryExp;
invokevirtual com.sun.jmx.remote.internal.ArrayNotificationBuffer.queryNames:(Ljavax/management/ObjectName;Ljavax/management/QueryExp;)Ljava/util/Set;
astore 1
start local 1 9: aload 1
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
goto 16
StackMap locals: com.sun.jmx.remote.internal.ArrayNotificationBuffer java.util.Set top java.util.Iterator
StackMap stack:
10: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.management.ObjectName
astore 2
start local 2 11: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
invokevirtual com.sun.jmx.remote.util.ClassLogger.debugOn:()Z
ifeq 15
12: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "destroyListeners"
13: new java.lang.StringBuilder
dup
ldc "remove listener from "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
14: invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/String;)V
15: StackMap locals: com.sun.jmx.remote.internal.ArrayNotificationBuffer java.util.Set javax.management.ObjectName java.util.Iterator
StackMap stack:
aload 0
aload 2
invokevirtual com.sun.jmx.remote.internal.ArrayNotificationBuffer.removeBufferListener:(Ljavax/management/ObjectName;)V
end local 2 16: StackMap locals: com.sun.jmx.remote.internal.ArrayNotificationBuffer java.util.Set top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
17: getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "destroyListeners"
ldc "ends"
invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/String;)V
18: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/sun/jmx/remote/internal/ArrayNotificationBuffer;
7 8 1 e Ljava/lang/Exception;
9 19 1 names Ljava/util/Set<Ljavax/management/ObjectName;>;
11 16 2 name Ljavax/management/ObjectName;
Exception table:
from to target type
2 5 6 Class java.lang.Exception
private void checkNoLocks();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
ifne 1
getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.globalLock:Ljava/lang/Object;
invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
ifeq 2
1: StackMap locals:
StackMap stack:
getstatic com.sun.jmx.remote.internal.ArrayNotificationBuffer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "checkNoLocks"
ldc "lock protocol violation"
invokevirtual com.sun.jmx.remote.util.ClassLogger.warning:(Ljava/lang/String;Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/jmx/remote/internal/ArrayNotificationBuffer;
private static java.lang.Exception (java.lang.Exception);
descriptor: (Ljava/lang/Exception;)Ljava/lang/Exception;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: goto 2
1: StackMap locals:
StackMap stack:
aload 0
checkcast java.security.PrivilegedActionException
invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
astore 0
2: StackMap locals:
StackMap stack:
aload 0
instanceof java.security.PrivilegedActionException
ifne 1
3: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 e Ljava/lang/Exception;
MethodParameters:
Name Flags
e
}
SourceFile: "ArrayNotificationBuffer.java"
NestMembers:
com.sun.jmx.remote.internal.ArrayNotificationBuffer$1 com.sun.jmx.remote.internal.ArrayNotificationBuffer$2 com.sun.jmx.remote.internal.ArrayNotificationBuffer$3 com.sun.jmx.remote.internal.ArrayNotificationBuffer$4 com.sun.jmx.remote.internal.ArrayNotificationBuffer$5 com.sun.jmx.remote.internal.ArrayNotificationBuffer$BroadcasterQuery com.sun.jmx.remote.internal.ArrayNotificationBuffer$BufferListener com.sun.jmx.remote.internal.ArrayNotificationBuffer$NamedNotification com.sun.jmx.remote.internal.ArrayNotificationBuffer$ShareBuffer
InnerClasses:
com.sun.jmx.remote.internal.ArrayNotificationBuffer$1
com.sun.jmx.remote.internal.ArrayNotificationBuffer$2
com.sun.jmx.remote.internal.ArrayNotificationBuffer$3
com.sun.jmx.remote.internal.ArrayNotificationBuffer$4
com.sun.jmx.remote.internal.ArrayNotificationBuffer$5
private BroadcasterQuery = com.sun.jmx.remote.internal.ArrayNotificationBuffer$BroadcasterQuery of com.sun.jmx.remote.internal.ArrayNotificationBuffer
private BufferListener = com.sun.jmx.remote.internal.ArrayNotificationBuffer$BufferListener of com.sun.jmx.remote.internal.ArrayNotificationBuffer
private NamedNotification = com.sun.jmx.remote.internal.ArrayNotificationBuffer$NamedNotification of com.sun.jmx.remote.internal.ArrayNotificationBuffer
private ShareBuffer = com.sun.jmx.remote.internal.ArrayNotificationBuffer$ShareBuffer of com.sun.jmx.remote.internal.ArrayNotificationBuffer
final NotifForwarderBufferFilter = com.sun.jmx.remote.internal.ServerNotifForwarder$NotifForwarderBufferFilter of com.sun.jmx.remote.internal.ServerNotifForwarder