class com.sun.tools.jdi.TargetVM$EventController extends java.lang.Thread
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.tools.jdi.TargetVM$EventController
super_class: java.lang.Thread
{
int controlRequest;
descriptor: I
flags: (0x0000)
final com.sun.tools.jdi.TargetVM this$0;
descriptor: Lcom/sun/tools/jdi/TargetVM;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(com.sun.tools.jdi.TargetVM);
descriptor: (Lcom/sun/tools/jdi/TargetVM;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 // com.sun.tools.jdi.TargetVM$EventController this
0: .line 335
aload 0 /* this */
aload 1
putfield com.sun.tools.jdi.TargetVM$EventController.this$0:Lcom/sun/tools/jdi/TargetVM;
1: .line 336
aload 0 /* this */
aload 1
getfield com.sun.tools.jdi.TargetVM.vm:Lcom/sun/tools/jdi/VirtualMachineImpl;
invokevirtual com.sun.tools.jdi.VirtualMachineImpl.threadGroupForJDI:()Ljava/lang/ThreadGroup;
ldc "JDI Event Control Thread"
invokespecial java.lang.Thread.<init>:(Ljava/lang/ThreadGroup;Ljava/lang/String;)V
2: .line 333
aload 0 /* this */
iconst_0
putfield com.sun.tools.jdi.TargetVM$EventController.controlRequest:I
3: .line 337
aload 0 /* this */
iconst_1
invokevirtual com.sun.tools.jdi.TargetVM$EventController.setDaemon:(Z)V
4: .line 338
aload 0 /* this */
bipush 7
invokevirtual com.sun.tools.jdi.TargetVM$EventController.setPriority:(I)V
5: .line 339
aload 0 /* this */
invokespecial java.lang.Thread.start:()V
6: .line 340
return
end local 0 // com.sun.tools.jdi.TargetVM$EventController this
LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/tools/jdi/TargetVM$EventController;
MethodParameters:
Name Flags
this$0 final
synchronized void hold();
descriptor: ()V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=3, locals=1, args_size=1
start local 0 // com.sun.tools.jdi.TargetVM$EventController this
0: .line 343
aload 0 /* this */
dup
getfield com.sun.tools.jdi.TargetVM$EventController.controlRequest:I
iconst_1
iadd
putfield com.sun.tools.jdi.TargetVM$EventController.controlRequest:I
1: .line 344
aload 0 /* this */
invokevirtual java.lang.Object.notifyAll:()V
2: .line 345
return
end local 0 // com.sun.tools.jdi.TargetVM$EventController this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/jdi/TargetVM$EventController;
synchronized void release();
descriptor: ()V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=3, locals=1, args_size=1
start local 0 // com.sun.tools.jdi.TargetVM$EventController this
0: .line 348
aload 0 /* this */
dup
getfield com.sun.tools.jdi.TargetVM$EventController.controlRequest:I
iconst_1
isub
putfield com.sun.tools.jdi.TargetVM$EventController.controlRequest:I
1: .line 349
aload 0 /* this */
invokevirtual java.lang.Object.notifyAll:()V
2: .line 350
return
end local 0 // com.sun.tools.jdi.TargetVM$EventController this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/jdi/TargetVM$EventController;
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=1
start local 0 // com.sun.tools.jdi.TargetVM$EventController this
0: .line 355
StackMap locals:
StackMap stack:
aload 0 /* this */
dup
astore 2
monitorenter
1: .line 356
goto 8
2: .line 357
StackMap locals: com.sun.tools.jdi.TargetVM$EventController top com.sun.tools.jdi.TargetVM$EventController
StackMap stack:
aload 0 /* this */
invokevirtual java.lang.Object.wait:()V
3: goto 5
StackMap locals:
StackMap stack: java.lang.InterruptedException
4: pop
5: .line 358
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.sun.tools.jdi.TargetVM$EventController.this$0:Lcom/sun/tools/jdi/TargetVM;
getfield com.sun.tools.jdi.TargetVM.shouldListen:Z
ifne 8
6: .line 359
aload 2
monitorexit
7: return
8: .line 356
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.sun.tools.jdi.TargetVM$EventController.controlRequest:I
ifeq 2
9: .line 362
aload 0 /* this */
getfield com.sun.tools.jdi.TargetVM$EventController.controlRequest:I
istore 1 /* currentRequest */
start local 1 // int currentRequest
10: .line 363
aload 0 /* this */
iconst_0
putfield com.sun.tools.jdi.TargetVM$EventController.controlRequest:I
11: .line 355
aload 2
monitorexit
12: goto 15
end local 1 // int currentRequest
StackMap locals:
StackMap stack: java.lang.Throwable
13: aload 2
monitorexit
14: athrow
start local 1 // int currentRequest
15: .line 366
StackMap locals: com.sun.tools.jdi.TargetVM$EventController int
StackMap stack:
iload 1 /* currentRequest */
ifle 18
16: .line 367
aload 0 /* this */
getfield com.sun.tools.jdi.TargetVM$EventController.this$0:Lcom/sun/tools/jdi/TargetVM;
getfield com.sun.tools.jdi.TargetVM.vm:Lcom/sun/tools/jdi/VirtualMachineImpl;
invokestatic com.sun.tools.jdi.JDWP$VirtualMachine$HoldEvents.process:(Lcom/sun/tools/jdi/VirtualMachineImpl;)Lcom/sun/tools/jdi/JDWP$VirtualMachine$HoldEvents;
pop
17: .line 368
goto 0
18: .line 369
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.sun.tools.jdi.TargetVM$EventController.this$0:Lcom/sun/tools/jdi/TargetVM;
getfield com.sun.tools.jdi.TargetVM.vm:Lcom/sun/tools/jdi/VirtualMachineImpl;
invokestatic com.sun.tools.jdi.JDWP$VirtualMachine$ReleaseEvents.process:(Lcom/sun/tools/jdi/VirtualMachineImpl;)Lcom/sun/tools/jdi/JDWP$VirtualMachine$ReleaseEvents;
pop
19: .line 371
goto 0
StackMap locals:
StackMap stack: com.sun.tools.jdi.JDWPException
20: astore 2 /* e */
start local 2 // com.sun.tools.jdi.JDWPException e
21: .line 376
aload 2 /* e */
invokevirtual com.sun.tools.jdi.JDWPException.toJDIException:()Ljava/lang/RuntimeException;
getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.lang.RuntimeException.printStackTrace:(Ljava/io/PrintStream;)V
end local 2 // com.sun.tools.jdi.JDWPException e
end local 1 // int currentRequest
22: .line 353
goto 0
end local 0 // com.sun.tools.jdi.TargetVM$EventController this
LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lcom/sun/tools/jdi/TargetVM$EventController;
10 13 1 currentRequest I
15 22 1 currentRequest I
21 22 2 e Lcom/sun/tools/jdi/JDWPException;
Exception table:
from to target type
2 3 4 Class java.lang.InterruptedException
1 7 13 any
8 12 13 any
13 14 13 any
15 19 20 Class com.sun.tools.jdi.JDWPException
}
SourceFile: "TargetVM.java"
NestHost: com.sun.tools.jdi.TargetVM
InnerClasses:
VirtualMachine = com.sun.tools.jdi.JDWP$VirtualMachine of com.sun.tools.jdi.JDWP
HoldEvents = com.sun.tools.jdi.JDWP$VirtualMachine$HoldEvents of com.sun.tools.jdi.JDWP$VirtualMachine
ReleaseEvents = com.sun.tools.jdi.JDWP$VirtualMachine$ReleaseEvents of com.sun.tools.jdi.JDWP$VirtualMachine
private EventController = com.sun.tools.jdi.TargetVM$EventController of com.sun.tools.jdi.TargetVM