public class com.sun.tools.jdi.InternalEventHandler implements java.lang.Runnable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.tools.jdi.InternalEventHandler
super_class: java.lang.Object
{
com.sun.tools.jdi.EventQueueImpl queue;
descriptor: Lcom/sun/tools/jdi/EventQueueImpl;
flags: (0x0000)
com.sun.tools.jdi.VirtualMachineImpl vm;
descriptor: Lcom/sun/tools/jdi/VirtualMachineImpl;
flags: (0x0000)
void <init>(com.sun.tools.jdi.VirtualMachineImpl, com.sun.tools.jdi.EventQueueImpl);
descriptor: (Lcom/sun/tools/jdi/VirtualMachineImpl;Lcom/sun/tools/jdi/EventQueueImpl;)V
flags: (0x0000)
Code:
stack=5, locals=4, args_size=3
start local 0 // com.sun.tools.jdi.InternalEventHandler this
start local 1 // com.sun.tools.jdi.VirtualMachineImpl vm
start local 2 // com.sun.tools.jdi.EventQueueImpl queue
0: .line 45
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 46
aload 0 /* this */
aload 1 /* vm */
putfield com.sun.tools.jdi.InternalEventHandler.vm:Lcom/sun/tools/jdi/VirtualMachineImpl;
2: .line 47
aload 0 /* this */
aload 2 /* queue */
putfield com.sun.tools.jdi.InternalEventHandler.queue:Lcom/sun/tools/jdi/EventQueueImpl;
3: .line 48
new java.lang.Thread
dup
aload 1 /* vm */
invokevirtual com.sun.tools.jdi.VirtualMachineImpl.threadGroupForJDI:()Ljava/lang/ThreadGroup;
aload 0 /* this */
4: .line 49
ldc "JDI Internal Event Handler"
5: .line 48
invokespecial java.lang.Thread.<init>:(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;Ljava/lang/String;)V
astore 3 /* thread */
start local 3 // java.lang.Thread thread
6: .line 50
aload 3 /* thread */
iconst_1
invokevirtual java.lang.Thread.setDaemon:(Z)V
7: .line 51
aload 3 /* thread */
invokevirtual java.lang.Thread.start:()V
8: .line 52
return
end local 3 // java.lang.Thread thread
end local 2 // com.sun.tools.jdi.EventQueueImpl queue
end local 1 // com.sun.tools.jdi.VirtualMachineImpl vm
end local 0 // com.sun.tools.jdi.InternalEventHandler this
LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/tools/jdi/InternalEventHandler;
0 9 1 vm Lcom/sun/tools/jdi/VirtualMachineImpl;
0 9 2 queue Lcom/sun/tools/jdi/EventQueueImpl;
6 9 3 thread Ljava/lang/Thread;
MethodParameters:
Name Flags
vm
queue
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=1
start local 0 // com.sun.tools.jdi.InternalEventHandler this
0: .line 55
aload 0 /* this */
getfield com.sun.tools.jdi.InternalEventHandler.vm:Lcom/sun/tools/jdi/VirtualMachineImpl;
getfield com.sun.tools.jdi.VirtualMachineImpl.traceFlags:I
iconst_4
iand
ifeq 2
1: .line 56
aload 0 /* this */
getfield com.sun.tools.jdi.InternalEventHandler.vm:Lcom/sun/tools/jdi/VirtualMachineImpl;
ldc "Internal event handler running"
invokevirtual com.sun.tools.jdi.VirtualMachineImpl.printTrace:(Ljava/lang/String;)V
2: .line 61
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.sun.tools.jdi.InternalEventHandler.queue:Lcom/sun/tools/jdi/EventQueueImpl;
invokevirtual com.sun.tools.jdi.EventQueueImpl.removeInternal:()Lcom/sun/jdi/event/EventSet;
astore 1 /* eventSet */
start local 1 // com.sun.jdi.event.EventSet eventSet
3: .line 62
aload 1 /* eventSet */
invokeinterface com.sun.jdi.event.EventSet.eventIterator:()Lcom/sun/jdi/event/EventIterator;
astore 2 /* it */
start local 2 // com.sun.jdi.event.EventIterator it
4: .line 63
goto 22
5: .line 64
StackMap locals: com.sun.jdi.event.EventSet com.sun.jdi.event.EventIterator
StackMap stack:
aload 2 /* it */
invokeinterface com.sun.jdi.event.EventIterator.nextEvent:()Lcom/sun/jdi/event/Event;
astore 3 /* event */
start local 3 // com.sun.jdi.event.Event event
6: .line 65
aload 3 /* event */
instanceof com.sun.jdi.event.ClassUnloadEvent
ifeq 14
7: .line 66
aload 3 /* event */
checkcast com.sun.jdi.event.ClassUnloadEvent
astore 4 /* cuEvent */
start local 4 // com.sun.jdi.event.ClassUnloadEvent cuEvent
8: .line 67
aload 0 /* this */
getfield com.sun.tools.jdi.InternalEventHandler.vm:Lcom/sun/tools/jdi/VirtualMachineImpl;
aload 4 /* cuEvent */
invokeinterface com.sun.jdi.event.ClassUnloadEvent.classSignature:()Ljava/lang/String;
invokevirtual com.sun.tools.jdi.VirtualMachineImpl.removeReferenceType:(Ljava/lang/String;)V
9: .line 69
aload 0 /* this */
getfield com.sun.tools.jdi.InternalEventHandler.vm:Lcom/sun/tools/jdi/VirtualMachineImpl;
getfield com.sun.tools.jdi.VirtualMachineImpl.traceFlags:I
iconst_4
iand
ifeq 22
10: .line 70
aload 0 /* this */
getfield com.sun.tools.jdi.InternalEventHandler.vm:Lcom/sun/tools/jdi/VirtualMachineImpl;
new java.lang.StringBuilder
dup
ldc "Handled Unload Event for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
11: .line 71
aload 4 /* cuEvent */
invokeinterface com.sun.jdi.event.ClassUnloadEvent.classSignature:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
12: .line 70
invokevirtual com.sun.tools.jdi.VirtualMachineImpl.printTrace:(Ljava/lang/String;)V
end local 4 // com.sun.jdi.event.ClassUnloadEvent cuEvent
13: .line 73
goto 22
StackMap locals: com.sun.jdi.event.Event
StackMap stack:
14: aload 3 /* event */
instanceof com.sun.jdi.event.ClassPrepareEvent
ifeq 22
15: .line 74
aload 3 /* event */
checkcast com.sun.jdi.event.ClassPrepareEvent
astore 4 /* cpEvent */
start local 4 // com.sun.jdi.event.ClassPrepareEvent cpEvent
16: .line 75
aload 4 /* cpEvent */
invokeinterface com.sun.jdi.event.ClassPrepareEvent.referenceType:()Lcom/sun/jdi/ReferenceType;
checkcast com.sun.tools.jdi.ReferenceTypeImpl
17: .line 76
invokevirtual com.sun.tools.jdi.ReferenceTypeImpl.markPrepared:()V
18: .line 78
aload 0 /* this */
getfield com.sun.tools.jdi.InternalEventHandler.vm:Lcom/sun/tools/jdi/VirtualMachineImpl;
getfield com.sun.tools.jdi.VirtualMachineImpl.traceFlags:I
iconst_4
iand
ifeq 22
19: .line 79
aload 0 /* this */
getfield com.sun.tools.jdi.InternalEventHandler.vm:Lcom/sun/tools/jdi/VirtualMachineImpl;
new java.lang.StringBuilder
dup
ldc "Handled Prepare Event for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
20: .line 80
aload 4 /* cpEvent */
invokeinterface com.sun.jdi.event.ClassPrepareEvent.referenceType:()Lcom/sun/jdi/ReferenceType;
invokeinterface com.sun.jdi.ReferenceType.name:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
21: .line 79
invokevirtual com.sun.tools.jdi.VirtualMachineImpl.printTrace:(Ljava/lang/String;)V
end local 4 // com.sun.jdi.event.ClassPrepareEvent cpEvent
end local 3 // com.sun.jdi.event.Event event
22: .line 63
StackMap locals:
StackMap stack:
aload 2 /* it */
invokeinterface com.sun.jdi.event.EventIterator.hasNext:()Z
ifne 5
end local 2 // com.sun.jdi.event.EventIterator it
end local 1 // com.sun.jdi.event.EventSet eventSet
23: .line 93
goto 2
StackMap locals: com.sun.tools.jdi.InternalEventHandler
StackMap stack: com.sun.jdi.VMOutOfMemoryException
24: astore 1 /* vmme */
start local 1 // com.sun.jdi.VMOutOfMemoryException vmme
25: .line 94
aload 1 /* vmme */
invokevirtual com.sun.jdi.VMOutOfMemoryException.printStackTrace:()V
end local 1 // com.sun.jdi.VMOutOfMemoryException vmme
26: goto 2
27: .line 95
StackMap locals:
StackMap stack: com.sun.jdi.InconsistentDebugInfoException
astore 1 /* idie */
start local 1 // com.sun.jdi.InconsistentDebugInfoException idie
28: .line 96
aload 1 /* idie */
invokevirtual com.sun.jdi.InconsistentDebugInfoException.printStackTrace:()V
end local 1 // com.sun.jdi.InconsistentDebugInfoException idie
29: goto 2
30: .line 106
StackMap locals:
StackMap stack: com.sun.jdi.ObjectCollectedException
astore 1 /* oce */
start local 1 // com.sun.jdi.ObjectCollectedException oce
31: .line 107
aload 1 /* oce */
invokevirtual com.sun.jdi.ObjectCollectedException.printStackTrace:()V
end local 1 // com.sun.jdi.ObjectCollectedException oce
32: goto 2
33: .line 108
StackMap locals:
StackMap stack: com.sun.jdi.ClassNotPreparedException
astore 1 /* cnpe */
start local 1 // com.sun.jdi.ClassNotPreparedException cnpe
34: .line 109
aload 1 /* cnpe */
invokevirtual com.sun.jdi.ClassNotPreparedException.printStackTrace:()V
end local 1 // com.sun.jdi.ClassNotPreparedException cnpe
35: .line 59
goto 2
36: .line 112
StackMap locals:
StackMap stack: java.lang.InterruptedException
pop
goto 38
37: .line 113
StackMap locals:
StackMap stack: com.sun.jdi.VMDisconnectedException
pop
38: .line 115
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.sun.tools.jdi.InternalEventHandler.vm:Lcom/sun/tools/jdi/VirtualMachineImpl;
getfield com.sun.tools.jdi.VirtualMachineImpl.traceFlags:I
iconst_4
iand
ifeq 40
39: .line 116
aload 0 /* this */
getfield com.sun.tools.jdi.InternalEventHandler.vm:Lcom/sun/tools/jdi/VirtualMachineImpl;
ldc "Internal event handler exiting"
invokevirtual com.sun.tools.jdi.VirtualMachineImpl.printTrace:(Ljava/lang/String;)V
40: .line 118
StackMap locals:
StackMap stack:
return
end local 0 // com.sun.tools.jdi.InternalEventHandler this
LocalVariableTable:
Start End Slot Name Signature
0 41 0 this Lcom/sun/tools/jdi/InternalEventHandler;
3 23 1 eventSet Lcom/sun/jdi/event/EventSet;
4 23 2 it Lcom/sun/jdi/event/EventIterator;
6 22 3 event Lcom/sun/jdi/event/Event;
8 13 4 cuEvent Lcom/sun/jdi/event/ClassUnloadEvent;
16 22 4 cpEvent Lcom/sun/jdi/event/ClassPrepareEvent;
25 26 1 vmme Lcom/sun/jdi/VMOutOfMemoryException;
28 29 1 idie Lcom/sun/jdi/InconsistentDebugInfoException;
31 32 1 oce Lcom/sun/jdi/ObjectCollectedException;
34 35 1 cnpe Lcom/sun/jdi/ClassNotPreparedException;
Exception table:
from to target type
2 23 24 Class com.sun.jdi.VMOutOfMemoryException
2 23 27 Class com.sun.jdi.InconsistentDebugInfoException
2 23 30 Class com.sun.jdi.ObjectCollectedException
2 23 33 Class com.sun.jdi.ClassNotPreparedException
2 36 36 Class java.lang.InterruptedException
2 36 37 Class com.sun.jdi.VMDisconnectedException
}
SourceFile: "InternalEventHandler.java"