class sun.tools.jconsole.ThreadTab$2 implements java.lang.Runnable
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.tools.jconsole.ThreadTab$2
super_class: java.lang.Object
{
final sun.tools.jconsole.ThreadTab this$0;
descriptor: Lsun/tools/jconsole/ThreadTab;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private final long val$threadID;
descriptor: J
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final javax.swing.JTextArea val$textArea;
descriptor: Ljavax/swing/JTextArea;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(sun.tools.jconsole.ThreadTab, long, javax.swing.JTextArea);
descriptor: (Lsun/tools/jconsole/ThreadTab;JLjavax/swing/JTextArea;)V
flags: (0x0000)
Code:
stack=3, locals=5, args_size=4
start local 0 0: aload 0
aload 1
putfield sun.tools.jconsole.ThreadTab$2.this$0:Lsun/tools/jconsole/ThreadTab;
aload 0
lload 2
putfield sun.tools.jconsole.ThreadTab$2.val$threadID:J
aload 0
aload 4
putfield sun.tools.jconsole.ThreadTab$2.val$textArea:Ljavax/swing/JTextArea;
aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/tools/jconsole/ThreadTab$2;
MethodParameters:
Name Flags
this$0 final
val$threadID final
val$textArea final
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=15, args_size=1
start local 0 0: aload 0
getfield sun.tools.jconsole.ThreadTab$2.this$0:Lsun/tools/jconsole/ThreadTab;
getfield sun.tools.jconsole.ThreadTab.vmPanel:Lsun/tools/jconsole/VMPanel;
invokevirtual sun.tools.jconsole.VMPanel.getProxyClient:()Lsun/tools/jconsole/ProxyClient;
astore 1
start local 1 1: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 2
start local 2 2: aload 1
invokevirtual sun.tools.jconsole.ProxyClient.getThreadMXBean:()Ljava/lang/management/ThreadMXBean;
astore 3
start local 3 3: aconst_null
astore 4
start local 4 4: aconst_null
astore 5
start local 5 5: aload 1
invokevirtual sun.tools.jconsole.ProxyClient.isLockUsageSupported:()Z
ifeq 17
6: aload 3
invokeinterface java.lang.management.ThreadMXBean.isObjectMonitorUsageSupported:()Z
ifeq 17
7: aload 3
iconst_1
iconst_0
invokeinterface java.lang.management.ThreadMXBean.dumpAllThreads:(ZZ)[Ljava/lang/management/ThreadInfo;
astore 6
start local 6 8: aload 6
dup
astore 10
arraylength
istore 9
iconst_0
istore 8
goto 15
StackMap locals: sun.tools.jconsole.ThreadTab$2 sun.tools.jconsole.ProxyClient java.lang.StringBuilder java.lang.management.ThreadMXBean java.lang.management.ThreadInfo java.lang.management.MonitorInfo[] java.lang.management.ThreadInfo[] top int int java.lang.management.ThreadInfo[]
StackMap stack:
9: aload 10
iload 8
aaload
astore 7
start local 7 10: aload 7
invokevirtual java.lang.management.ThreadInfo.getThreadId:()J
aload 0
getfield sun.tools.jconsole.ThreadTab$2.val$threadID:J
lcmp
ifne 14
11: aload 7
astore 4
12: aload 7
invokevirtual java.lang.management.ThreadInfo.getLockedMonitors:()[Ljava/lang/management/MonitorInfo;
astore 5
13: goto 18
end local 7 14: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
15: iload 8
iload 9
if_icmplt 9
end local 6 16: goto 18
17: StackMap locals: sun.tools.jconsole.ThreadTab$2 sun.tools.jconsole.ProxyClient java.lang.StringBuilder java.lang.management.ThreadMXBean java.lang.management.ThreadInfo java.lang.management.MonitorInfo[]
StackMap stack:
aload 3
aload 0
getfield sun.tools.jconsole.ThreadTab$2.val$threadID:J
ldc 2147483647
invokeinterface java.lang.management.ThreadMXBean.getThreadInfo:(JI)Ljava/lang/management/ThreadInfo;
astore 4
18: StackMap locals:
StackMap stack:
aload 4
ifnull 61
19: aload 4
invokevirtual java.lang.management.ThreadInfo.getLockName:()Ljava/lang/String;
ifnonnull 25
20: aload 2
getstatic sun.tools.jconsole.Messages.NAME_STATE:Ljava/lang/String;
iconst_2
anewarray java.lang.Object
dup
iconst_0
21: aload 4
invokevirtual java.lang.management.ThreadInfo.getThreadName:()Ljava/lang/String;
aastore
dup
iconst_1
22: aload 4
invokevirtual java.lang.management.ThreadInfo.getThreadState:()Ljava/lang/Thread$State;
invokevirtual java.lang.Thread$State.toString:()Ljava/lang/String;
aastore
23: invokestatic sun.tools.jconsole.Resources.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
24: goto 38
StackMap locals:
StackMap stack:
25: aload 4
invokevirtual java.lang.management.ThreadInfo.getLockOwnerName:()Ljava/lang/String;
ifnonnull 32
26: aload 2
getstatic sun.tools.jconsole.Messages.NAME_STATE_LOCK_NAME:Ljava/lang/String;
iconst_3
anewarray java.lang.Object
dup
iconst_0
27: aload 4
invokevirtual java.lang.management.ThreadInfo.getThreadName:()Ljava/lang/String;
aastore
dup
iconst_1
28: aload 4
invokevirtual java.lang.management.ThreadInfo.getThreadState:()Ljava/lang/Thread$State;
invokevirtual java.lang.Thread$State.toString:()Ljava/lang/String;
aastore
dup
iconst_2
29: aload 4
invokevirtual java.lang.management.ThreadInfo.getLockName:()Ljava/lang/String;
aastore
30: invokestatic sun.tools.jconsole.Resources.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
31: goto 38
32: StackMap locals:
StackMap stack:
aload 2
getstatic sun.tools.jconsole.Messages.NAME_STATE_LOCK_NAME_LOCK_OWNER:Ljava/lang/String;
iconst_4
anewarray java.lang.Object
dup
iconst_0
33: aload 4
invokevirtual java.lang.management.ThreadInfo.getThreadName:()Ljava/lang/String;
aastore
dup
iconst_1
34: aload 4
invokevirtual java.lang.management.ThreadInfo.getThreadState:()Ljava/lang/Thread$State;
invokevirtual java.lang.Thread$State.toString:()Ljava/lang/String;
aastore
dup
iconst_2
35: aload 4
invokevirtual java.lang.management.ThreadInfo.getLockName:()Ljava/lang/String;
aastore
dup
iconst_3
36: aload 4
invokevirtual java.lang.management.ThreadInfo.getLockOwnerName:()Ljava/lang/String;
aastore
37: invokestatic sun.tools.jconsole.Resources.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
38: StackMap locals:
StackMap stack:
aload 2
getstatic sun.tools.jconsole.Messages.BLOCKED_COUNT_WAITED_COUNT:Ljava/lang/String;
iconst_2
anewarray java.lang.Object
dup
iconst_0
39: aload 4
invokevirtual java.lang.management.ThreadInfo.getBlockedCount:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
40: aload 4
invokevirtual java.lang.management.ThreadInfo.getWaitedCount:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
41: invokestatic sun.tools.jconsole.Resources.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
42: aload 2
getstatic sun.tools.jconsole.Messages.STACK_TRACE:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
43: iconst_0
istore 6
start local 6 44: aload 4
invokevirtual java.lang.management.ThreadInfo.getStackTrace:()[Ljava/lang/StackTraceElement;
dup
astore 10
arraylength
istore 9
iconst_0
istore 8
goto 56
StackMap locals: sun.tools.jconsole.ThreadTab$2 sun.tools.jconsole.ProxyClient java.lang.StringBuilder java.lang.management.ThreadMXBean java.lang.management.ThreadInfo java.lang.management.MonitorInfo[] int top int int java.lang.StackTraceElement[]
StackMap stack:
45: aload 10
iload 8
aaload
astore 7
start local 7 46: aload 2
new java.lang.StringBuilder
dup
aload 7
invokevirtual java.lang.StackTraceElement.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
47: aload 5
ifnull 54
48: aload 5
dup
astore 14
arraylength
istore 13
iconst_0
istore 12
goto 53
StackMap locals: sun.tools.jconsole.ThreadTab$2 sun.tools.jconsole.ProxyClient java.lang.StringBuilder java.lang.management.ThreadMXBean java.lang.management.ThreadInfo java.lang.management.MonitorInfo[] int java.lang.StackTraceElement int int java.lang.StackTraceElement[] top int int java.lang.management.MonitorInfo[]
StackMap stack:
49: aload 14
iload 12
aaload
astore 11
start local 11 50: aload 11
invokevirtual java.lang.management.MonitorInfo.getLockedStackDepth:()I
iload 6
if_icmpne 52
51: aload 2
getstatic sun.tools.jconsole.Messages.MONITOR_LOCKED:Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 11
invokevirtual java.lang.management.MonitorInfo.toString:()Ljava/lang/String;
aastore
invokestatic sun.tools.jconsole.Resources.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 11 52: StackMap locals:
StackMap stack:
iinc 12 1
StackMap locals:
StackMap stack:
53: iload 12
iload 13
if_icmplt 49
54: StackMap locals: sun.tools.jconsole.ThreadTab$2 sun.tools.jconsole.ProxyClient java.lang.StringBuilder java.lang.management.ThreadMXBean java.lang.management.ThreadInfo java.lang.management.MonitorInfo[] int java.lang.StackTraceElement int int java.lang.StackTraceElement[]
StackMap stack:
iinc 6 1
end local 7 55: iinc 8 1
StackMap locals: sun.tools.jconsole.ThreadTab$2 sun.tools.jconsole.ProxyClient java.lang.StringBuilder java.lang.management.ThreadMXBean java.lang.management.ThreadInfo java.lang.management.MonitorInfo[] int top int int java.lang.StackTraceElement[]
StackMap stack:
56: iload 8
iload 9
if_icmplt 45
end local 6 end local 5 end local 4 end local 3 57: goto 61
StackMap locals: sun.tools.jconsole.ThreadTab$2 sun.tools.jconsole.ProxyClient java.lang.StringBuilder
StackMap stack: java.io.IOException
58: pop
goto 61
59: StackMap locals:
StackMap stack: java.lang.reflect.UndeclaredThrowableException
pop
60: aload 1
invokevirtual sun.tools.jconsole.ProxyClient.markAsDead:()V
61: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
start local 3 62: new sun.tools.jconsole.ThreadTab$2$1
dup
aload 0
aload 0
getfield sun.tools.jconsole.ThreadTab$2.val$textArea:Ljavax/swing/JTextArea;
aload 3
invokespecial sun.tools.jconsole.ThreadTab$2$1.<init>:(Lsun/tools/jconsole/ThreadTab$2;Ljavax/swing/JTextArea;Ljava/lang/String;)V
invokestatic javax.swing.SwingUtilities.invokeLater:(Ljava/lang/Runnable;)V
63: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 64 0 this Lsun/tools/jconsole/ThreadTab$2;
1 64 1 proxyClient Lsun/tools/jconsole/ProxyClient;
2 64 2 sb Ljava/lang/StringBuilder;
3 57 3 threadMBean Ljava/lang/management/ThreadMXBean;
4 57 4 ti Ljava/lang/management/ThreadInfo;
5 57 5 monitors [Ljava/lang/management/MonitorInfo;
8 16 6 infos [Ljava/lang/management/ThreadInfo;
10 14 7 info Ljava/lang/management/ThreadInfo;
44 57 6 index I
46 55 7 e Ljava/lang/StackTraceElement;
50 52 11 mi Ljava/lang/management/MonitorInfo;
62 64 3 text Ljava/lang/String;
Exception table:
from to target type
2 57 58 Class java.io.IOException
2 57 59 Class java.lang.reflect.UndeclaredThrowableException
}
SourceFile: "ThreadTab.java"
EnclosingMethod: sun.tools.jconsole.ThreadTab.valueChanged:(Ljavax/swing/event/ListSelectionEvent;)V
NestHost: sun.tools.jconsole.ThreadTab
InnerClasses:
public final State = java.lang.Thread$State of java.lang.Thread
sun.tools.jconsole.ThreadTab$2
sun.tools.jconsole.ThreadTab$2$1