public class com.sun.tools.jdi.EventQueueImpl extends com.sun.tools.jdi.MirrorImpl implements com.sun.jdi.event.EventQueue
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.tools.jdi.EventQueueImpl
super_class: com.sun.tools.jdi.MirrorImpl
{
java.util.LinkedList<com.sun.jdi.event.EventSet> eventSets;
descriptor: Ljava/util/LinkedList;
flags: (0x0000)
Signature: Ljava/util/LinkedList<Lcom/sun/jdi/event/EventSet;>;
com.sun.tools.jdi.TargetVM target;
descriptor: Lcom/sun/tools/jdi/TargetVM;
flags: (0x0000)
boolean closed;
descriptor: Z
flags: (0x0000)
void <init>(com.sun.jdi.VirtualMachine, com.sun.tools.jdi.TargetVM);
descriptor: (Lcom/sun/jdi/VirtualMachine;Lcom/sun/tools/jdi/TargetVM;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokespecial com.sun.tools.jdi.MirrorImpl.<init>:(Lcom/sun/jdi/VirtualMachine;)V
1: aload 0
new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
putfield com.sun.tools.jdi.EventQueueImpl.eventSets:Ljava/util/LinkedList;
2: aload 0
iconst_0
putfield com.sun.tools.jdi.EventQueueImpl.closed:Z
3: aload 0
aload 2
putfield com.sun.tools.jdi.EventQueueImpl.target:Lcom/sun/tools/jdi/TargetVM;
4: aload 2
aload 0
invokevirtual com.sun.tools.jdi.TargetVM.addEventQueue:(Lcom/sun/tools/jdi/EventQueueImpl;)V
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/tools/jdi/EventQueueImpl;
0 6 1 vm Lcom/sun/jdi/VirtualMachine;
0 6 2 target Lcom/sun/tools/jdi/TargetVM;
MethodParameters:
Name Flags
vm
target
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
if_acmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/jdi/EventQueueImpl;
0 2 1 obj Ljava/lang/Object;
MethodParameters:
Name Flags
obj
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/jdi/EventQueueImpl;
synchronized void enqueue(com.sun.jdi.event.EventSet);
descriptor: (Lcom/sun/jdi/event/EventSet;)V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.jdi.EventQueueImpl.eventSets:Ljava/util/LinkedList;
aload 1
invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
pop
1: aload 0
invokevirtual java.lang.Object.notifyAll:()V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/jdi/EventQueueImpl;
0 3 1 eventSet Lcom/sun/jdi/event/EventSet;
MethodParameters:
Name Flags
eventSet
synchronized int size();
descriptor: ()I
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.jdi.EventQueueImpl.eventSets:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.size:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/jdi/EventQueueImpl;
synchronized void close();
descriptor: ()V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.jdi.EventQueueImpl.closed:Z
ifne 5
1: aload 0
iconst_1
putfield com.sun.tools.jdi.EventQueueImpl.closed:Z
2: aload 0
new com.sun.tools.jdi.EventSetImpl
dup
aload 0
getfield com.sun.tools.jdi.EventQueueImpl.vm:Lcom/sun/tools/jdi/VirtualMachineImpl;
3: bipush 100
invokespecial com.sun.tools.jdi.EventSetImpl.<init>:(Lcom/sun/jdi/VirtualMachine;B)V
4: invokevirtual com.sun.tools.jdi.EventQueueImpl.enqueue:(Lcom/sun/jdi/event/EventSet;)V
5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/tools/jdi/EventQueueImpl;
public com.sun.jdi.event.EventSet remove();
descriptor: ()Lcom/sun/jdi/event/EventSet;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
lconst_0
invokevirtual com.sun.tools.jdi.EventQueueImpl.remove:(J)Lcom/sun/jdi/event/EventSet;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/jdi/EventQueueImpl;
Exceptions:
throws java.lang.InterruptedException
public com.sun.jdi.event.EventSet remove(long);
descriptor: (J)Lcom/sun/jdi/event/EventSet;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: lload 1
lconst_0
lcmp
ifge 2
1: new java.lang.IllegalArgumentException
dup
ldc "Timeout cannot be negative"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
lload 1
invokevirtual com.sun.tools.jdi.EventQueueImpl.removeUnfiltered:(J)Lcom/sun/tools/jdi/EventSetImpl;
astore 4
start local 4 3: aload 4
ifnonnull 6
4: aconst_null
astore 3
start local 3 5: goto 8
end local 3 6: StackMap locals: com.sun.tools.jdi.EventQueueImpl long top com.sun.tools.jdi.EventSetImpl
StackMap stack:
aload 4
invokevirtual com.sun.tools.jdi.EventSetImpl.userFilter:()Lcom/sun/jdi/event/EventSet;
astore 3
start local 3 7: aload 3
invokeinterface com.sun.jdi.event.EventSet.isEmpty:()Z
ifne 2
end local 4 8: StackMap locals: com.sun.tools.jdi.EventQueueImpl long com.sun.jdi.event.EventSet
StackMap stack:
aload 3
ifnull 10
aload 3
invokeinterface com.sun.jdi.event.EventSet.suspendPolicy:()I
iconst_2
if_icmpne 10
9: aload 0
getfield com.sun.tools.jdi.EventQueueImpl.vm:Lcom/sun/tools/jdi/VirtualMachineImpl;
invokevirtual com.sun.tools.jdi.VirtualMachineImpl.notifySuspend:()V
10: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/sun/tools/jdi/EventQueueImpl;
0 11 1 timeout J
5 6 3 eventSet Lcom/sun/jdi/event/EventSet;
7 11 3 eventSet Lcom/sun/jdi/event/EventSet;
3 8 4 fullEventSet Lcom/sun/tools/jdi/EventSetImpl;
Exceptions:
throws java.lang.InterruptedException
MethodParameters:
Name Flags
timeout
com.sun.jdi.event.EventSet removeInternal();
descriptor: ()Lcom/sun/jdi/event/EventSet;
flags: (0x0000)
Code:
stack=3, locals=2, args_size=1
start local 0 0: StackMap locals:
StackMap stack:
aload 0
lconst_0
invokevirtual com.sun.tools.jdi.EventQueueImpl.removeUnfiltered:(J)Lcom/sun/tools/jdi/EventSetImpl;
invokevirtual com.sun.tools.jdi.EventSetImpl.internalFilter:()Lcom/sun/jdi/event/EventSet;
astore 1
start local 1 1: aload 1
ifnull 0
aload 1
invokeinterface com.sun.jdi.event.EventSet.isEmpty:()Z
ifne 0
2: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/jdi/EventQueueImpl;
1 3 1 eventSet Lcom/sun/jdi/event/EventSet;
Exceptions:
throws java.lang.InterruptedException
private com.sun.tools.jdi.EventQueueImpl$TimerThread startTimerThread(long);
descriptor: (J)Lcom/sun/tools/jdi/EventQueueImpl$TimerThread;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: new com.sun.tools.jdi.EventQueueImpl$TimerThread
dup
aload 0
lload 1
invokespecial com.sun.tools.jdi.EventQueueImpl$TimerThread.<init>:(Lcom/sun/tools/jdi/EventQueueImpl;J)V
astore 3
start local 3 1: aload 3
iconst_1
invokevirtual com.sun.tools.jdi.EventQueueImpl$TimerThread.setDaemon:(Z)V
2: aload 3
invokevirtual com.sun.tools.jdi.EventQueueImpl$TimerThread.start:()V
3: aload 3
areturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/tools/jdi/EventQueueImpl;
0 4 1 timeout J
1 4 3 thread Lcom/sun/tools/jdi/EventQueueImpl$TimerThread;
MethodParameters:
Name Flags
timeout
private boolean shouldWait(com.sun.tools.jdi.EventQueueImpl$TimerThread);
descriptor: (Lcom/sun/tools/jdi/EventQueueImpl$TimerThread;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.jdi.EventQueueImpl.closed:Z
ifne 4
aload 0
getfield com.sun.tools.jdi.EventQueueImpl.eventSets:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.isEmpty:()Z
ifeq 4
1: aload 1
ifnonnull 2
goto 3
StackMap locals:
StackMap stack:
2: aload 1
invokevirtual com.sun.tools.jdi.EventQueueImpl$TimerThread.timedOut:()Z
ifne 4
3: StackMap locals:
StackMap stack:
iconst_1
ireturn
StackMap locals:
StackMap stack:
4: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/tools/jdi/EventQueueImpl;
0 5 1 timerThread Lcom/sun/tools/jdi/EventQueueImpl$TimerThread;
MethodParameters:
Name Flags
timerThread
private com.sun.tools.jdi.EventSetImpl removeUnfiltered(long);
descriptor: (J)Lcom/sun/tools/jdi/EventSetImpl;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: aconst_null
astore 3
start local 3 1: aload 0
getfield com.sun.tools.jdi.EventQueueImpl.vm:Lcom/sun/tools/jdi/VirtualMachineImpl;
invokevirtual com.sun.tools.jdi.VirtualMachineImpl.waitInitCompletion:()V
2: aload 0
dup
astore 4
monitorenter
3: aload 0
getfield com.sun.tools.jdi.EventQueueImpl.eventSets:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.isEmpty:()Z
ifne 6
4: aload 0
getfield com.sun.tools.jdi.EventQueueImpl.eventSets:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.removeFirst:()Ljava/lang/Object;
checkcast com.sun.tools.jdi.EventSetImpl
astore 3
5: goto 23
6: StackMap locals: com.sun.tools.jdi.EventSetImpl com.sun.tools.jdi.EventQueueImpl
StackMap stack:
aconst_null
astore 5
start local 5 7: lload 1
lconst_0
lcmp
ifle 11
8: aload 0
lload 1
invokevirtual com.sun.tools.jdi.EventQueueImpl.startTimerThread:(J)Lcom/sun/tools/jdi/EventQueueImpl$TimerThread;
astore 5
9: goto 11
10: StackMap locals: com.sun.tools.jdi.EventQueueImpl$TimerThread
StackMap stack:
aload 0
invokevirtual java.lang.Object.wait:()V
11: StackMap locals:
StackMap stack:
aload 0
aload 5
invokevirtual com.sun.tools.jdi.EventQueueImpl.shouldWait:(Lcom/sun/tools/jdi/EventQueueImpl$TimerThread;)Z
ifne 10
12: goto 17
StackMap locals:
StackMap stack: java.lang.Throwable
13: astore 6
14: aload 5
ifnull 16
aload 5
invokevirtual com.sun.tools.jdi.EventQueueImpl$TimerThread.timedOut:()Z
ifne 16
15: aload 5
invokevirtual com.sun.tools.jdi.EventQueueImpl$TimerThread.interrupt:()V
16: StackMap locals: java.lang.Throwable
StackMap stack:
aload 6
athrow
17: StackMap locals:
StackMap stack:
aload 5
ifnull 19
aload 5
invokevirtual com.sun.tools.jdi.EventQueueImpl$TimerThread.timedOut:()Z
ifne 19
18: aload 5
invokevirtual com.sun.tools.jdi.EventQueueImpl$TimerThread.interrupt:()V
19: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.jdi.EventQueueImpl.eventSets:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.isEmpty:()Z
ifeq 22
20: aload 0
getfield com.sun.tools.jdi.EventQueueImpl.closed:Z
ifeq 23
21: new com.sun.jdi.VMDisconnectedException
dup
invokespecial com.sun.jdi.VMDisconnectedException.<init>:()V
athrow
22: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.jdi.EventQueueImpl.eventSets:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.removeFirst:()Ljava/lang/Object;
checkcast com.sun.tools.jdi.EventSetImpl
astore 3
end local 5 23: StackMap locals:
StackMap stack:
aload 4
monitorexit
24: goto 27
StackMap locals:
StackMap stack: java.lang.Throwable
25: aload 4
monitorexit
26: athrow
27: StackMap locals:
StackMap stack:
aload 3
ifnull 30
28: aload 0
getfield com.sun.tools.jdi.EventQueueImpl.target:Lcom/sun/tools/jdi/TargetVM;
invokevirtual com.sun.tools.jdi.TargetVM.notifyDequeueEventSet:()V
29: aload 3
invokevirtual com.sun.tools.jdi.EventSetImpl.build:()V
30: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lcom/sun/tools/jdi/EventQueueImpl;
0 31 1 timeout J
1 31 3 eventSet Lcom/sun/tools/jdi/EventSetImpl;
7 23 5 timerThread Lcom/sun/tools/jdi/EventQueueImpl$TimerThread;
Exception table:
from to target type
7 13 13 any
3 24 25 any
25 26 25 any
Exceptions:
throws java.lang.InterruptedException
MethodParameters:
Name Flags
timeout
public com.sun.jdi.VirtualMachine virtualMachine();
descriptor: ()Lcom/sun/jdi/VirtualMachine;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial com.sun.tools.jdi.MirrorImpl.virtualMachine:()Lcom/sun/jdi/VirtualMachine;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "EventQueueImpl.java"
NestMembers:
com.sun.tools.jdi.EventQueueImpl$TimerThread
InnerClasses:
private TimerThread = com.sun.tools.jdi.EventQueueImpl$TimerThread of com.sun.tools.jdi.EventQueueImpl