class sun.management.ThreadImpl implements java.lang.management.ThreadMXBean
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.management.ThreadImpl
super_class: java.lang.Object
{
private final sun.management.VMManagement jvm;
descriptor: Lsun/management/VMManagement;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private boolean contentionMonitoringEnabled;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean cpuTimeEnabled;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
void <init>(sun.management.VMManagement);
descriptor: (Lsun/management/VMManagement;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield sun.management.ThreadImpl.contentionMonitoringEnabled:Z
2: aload 0
aload 1
putfield sun.management.ThreadImpl.jvm:Lsun/management/VMManagement;
3: aload 0
aload 0
getfield sun.management.ThreadImpl.jvm:Lsun/management/VMManagement;
invokeinterface sun.management.VMManagement.isThreadCpuTimeEnabled:()Z
putfield sun.management.ThreadImpl.cpuTimeEnabled:Z
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/management/ThreadImpl;
0 5 1 vm Lsun/management/VMManagement;
MethodParameters:
Name Flags
vm
public int getThreadCount();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.management.ThreadImpl.jvm:Lsun/management/VMManagement;
invokeinterface sun.management.VMManagement.getLiveThreadCount:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/management/ThreadImpl;
public int getPeakThreadCount();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.management.ThreadImpl.jvm:Lsun/management/VMManagement;
invokeinterface sun.management.VMManagement.getPeakThreadCount:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/management/ThreadImpl;
public long getTotalStartedThreadCount();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.management.ThreadImpl.jvm:Lsun/management/VMManagement;
invokeinterface sun.management.VMManagement.getTotalThreadCount:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/management/ThreadImpl;
public int getDaemonThreadCount();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.management.ThreadImpl.jvm:Lsun/management/VMManagement;
invokeinterface sun.management.VMManagement.getDaemonThreadCount:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/management/ThreadImpl;
public boolean isThreadContentionMonitoringSupported();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.management.ThreadImpl.jvm:Lsun/management/VMManagement;
invokeinterface sun.management.VMManagement.isThreadContentionMonitoringSupported:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/management/ThreadImpl;
public synchronized boolean isThreadContentionMonitoringEnabled();
descriptor: ()Z
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.management.ThreadImpl.isThreadContentionMonitoringSupported:()Z
ifne 4
1: new java.lang.UnsupportedOperationException
dup
2: ldc "Thread contention monitoring is not supported."
3: invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.management.ThreadImpl.contentionMonitoringEnabled:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/management/ThreadImpl;
public boolean isThreadCpuTimeSupported();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.management.ThreadImpl.jvm:Lsun/management/VMManagement;
invokeinterface sun.management.VMManagement.isOtherThreadCpuTimeSupported:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/management/ThreadImpl;
public boolean isCurrentThreadCpuTimeSupported();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.management.ThreadImpl.jvm:Lsun/management/VMManagement;
invokeinterface sun.management.VMManagement.isCurrentThreadCpuTimeSupported:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/management/ThreadImpl;
public boolean isThreadCpuTimeEnabled();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.management.ThreadImpl.isThreadCpuTimeSupported:()Z
ifne 5
1: aload 0
invokevirtual sun.management.ThreadImpl.isCurrentThreadCpuTimeSupported:()Z
ifne 5
2: new java.lang.UnsupportedOperationException
dup
3: ldc "Thread CPU time measurement is not supported"
4: invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
getfield sun.management.ThreadImpl.cpuTimeEnabled:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/management/ThreadImpl;
public long[] getAllThreadIds();
descriptor: ()[J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=1
start local 0 0: invokestatic sun.management.ManagementFactory.checkMonitorAccess:()V
1: invokestatic sun.management.ThreadImpl.getThreads:()[Ljava/lang/Thread;
astore 1
start local 1 2: aload 1
arraylength
istore 2
start local 2 3: iload 2
newarray 11
astore 3
start local 3 4: iconst_0
istore 4
start local 4 5: goto 9
6: StackMap locals: sun.management.ThreadImpl java.lang.Thread[] int long[] int
StackMap stack:
aload 1
iload 4
aaload
astore 5
start local 5 7: aload 3
iload 4
aload 5
invokevirtual java.lang.Thread.getId:()J
lastore
end local 5 8: iinc 4 1
StackMap locals:
StackMap stack:
9: iload 4
iload 2
if_icmplt 6
end local 4 10: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/management/ThreadImpl;
2 11 1 threads [Ljava/lang/Thread;
3 11 2 length I
4 11 3 ids [J
5 10 4 i I
7 8 5 t Ljava/lang/Thread;
public java.lang.management.ThreadInfo getThreadInfo(long);
descriptor: (J)Ljava/lang/management/ThreadInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: lload 1
lconst_0
lcmp
ifgt 4
1: new java.lang.IllegalArgumentException
dup
2: new java.lang.StringBuilder
dup
ldc "Invalid thread ID parameter: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 1
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
iconst_1
newarray 11
astore 3
start local 3 5: aload 3
iconst_0
lload 1
lastore
6: aload 0
aload 3
iconst_0
invokevirtual sun.management.ThreadImpl.getThreadInfo:([JI)[Ljava/lang/management/ThreadInfo;
astore 4
start local 4 7: aload 4
iconst_0
aaload
areturn
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/management/ThreadImpl;
0 8 1 id J
5 8 3 ids [J
7 8 4 infos [Ljava/lang/management/ThreadInfo;
MethodParameters:
Name Flags
id
public java.lang.management.ThreadInfo getThreadInfo(long, int);
descriptor: (JI)Ljava/lang/management/ThreadInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 3 0: lload 1
lconst_0
lcmp
ifgt 4
1: new java.lang.IllegalArgumentException
dup
2: new java.lang.StringBuilder
dup
ldc "Invalid thread ID parameter: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 1
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
iload 3
ifge 8
5: new java.lang.IllegalArgumentException
dup
6: new java.lang.StringBuilder
dup
ldc "Invalid maxDepth parameter: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
iconst_1
newarray 11
astore 4
start local 4 9: aload 4
iconst_0
lload 1
lastore
10: aload 0
aload 4
iload 3
invokevirtual sun.management.ThreadImpl.getThreadInfo:([JI)[Ljava/lang/management/ThreadInfo;
astore 5
start local 5 11: aload 5
iconst_0
aaload
areturn
end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/management/ThreadImpl;
0 12 1 id J
0 12 3 maxDepth I
9 12 4 ids [J
11 12 5 infos [Ljava/lang/management/ThreadInfo;
MethodParameters:
Name Flags
id
maxDepth
public java.lang.management.ThreadInfo[] getThreadInfo(long[]);
descriptor: ([J)[Ljava/lang/management/ThreadInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
invokevirtual sun.management.ThreadImpl.getThreadInfo:([JI)[Ljava/lang/management/ThreadInfo;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/management/ThreadImpl;
0 1 1 ids [J
MethodParameters:
Name Flags
ids
public java.lang.management.ThreadInfo[] getThreadInfo(long[], int);
descriptor: ([JI)[Ljava/lang/management/ThreadInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 2
1: new java.lang.NullPointerException
dup
ldc "Null ids parameter."
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
iload 2
ifge 6
3: new java.lang.IllegalArgumentException
dup
4: new java.lang.StringBuilder
dup
ldc "Invalid maxDepth parameter: "
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;
5: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
invokestatic sun.management.ManagementFactory.checkMonitorAccess:()V
7: aload 1
arraylength
anewarray java.lang.management.ThreadInfo
astore 3
start local 3 8: iload 2
ldc 2147483647
if_icmpne 11
9: aload 1
iconst_m1
aload 3
invokestatic sun.management.ThreadImpl.getThreadInfo0:([JI[Ljava/lang/management/ThreadInfo;)V
10: goto 12
11: StackMap locals: java.lang.management.ThreadInfo[]
StackMap stack:
aload 1
iload 2
aload 3
invokestatic sun.management.ThreadImpl.getThreadInfo0:([JI[Ljava/lang/management/ThreadInfo;)V
12: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lsun/management/ThreadImpl;
0 13 1 ids [J
0 13 2 maxDepth I
8 13 3 infos [Ljava/lang/management/ThreadInfo;
MethodParameters:
Name Flags
ids
maxDepth
public void setThreadContentionMonitoringEnabled(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.management.ThreadImpl.isThreadContentionMonitoringSupported:()Z
ifne 4
1: new java.lang.UnsupportedOperationException
dup
2: ldc "Thread contention monitoring is not supported"
3: invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
invokestatic sun.management.ManagementFactory.checkControlAccess:()V
5: aload 0
dup
astore 2
monitorenter
6: aload 0
getfield sun.management.ThreadImpl.contentionMonitoringEnabled:Z
iload 1
if_icmpeq 11
7: iload 1
ifeq 9
8: lconst_0
invokestatic sun.management.ThreadImpl.resetContentionTimes0:(J)V
9: StackMap locals: sun.management.ThreadImpl
StackMap stack:
iload 1
invokestatic sun.management.ThreadImpl.setThreadContentionMonitoringEnabled0:(Z)V
10: aload 0
iload 1
putfield sun.management.ThreadImpl.contentionMonitoringEnabled:Z
11: StackMap locals:
StackMap stack:
aload 2
monitorexit
12: goto 15
StackMap locals:
StackMap stack: java.lang.Throwable
13: aload 2
monitorexit
14: athrow
15: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lsun/management/ThreadImpl;
0 16 1 enable Z
Exception table:
from to target type
6 12 13 any
13 14 13 any
MethodParameters:
Name Flags
enable
public long getCurrentThreadCpuTime();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.management.ThreadImpl.isCurrentThreadCpuTimeSupported:()Z
ifne 4
1: new java.lang.UnsupportedOperationException
dup
2: ldc "Current thread CPU time measurement is not supported."
3: invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.management.ThreadImpl.isThreadCpuTimeEnabled:()Z
ifne 6
5: ldc -1
lreturn
6: StackMap locals:
StackMap stack:
lconst_0
invokestatic sun.management.ThreadImpl.getThreadTotalCpuTime0:(J)J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/management/ThreadImpl;
public long getThreadCpuTime(long);
descriptor: (J)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.management.ThreadImpl.isThreadCpuTimeSupported:()Z
ifne 5
1: aload 0
invokevirtual sun.management.ThreadImpl.isCurrentThreadCpuTimeSupported:()Z
ifne 5
2: new java.lang.UnsupportedOperationException
dup
3: ldc "Thread CPU Time Measurement is not supported."
4: invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.management.ThreadImpl.isThreadCpuTimeSupported:()Z
ifne 10
6: lload 1
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getId:()J
lcmp
ifeq 10
7: new java.lang.UnsupportedOperationException
dup
8: ldc "Thread CPU Time Measurement is only supported for the current thread."
9: invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
lload 1
lconst_0
lcmp
ifgt 14
11: new java.lang.IllegalArgumentException
dup
12: new java.lang.StringBuilder
dup
ldc "Invalid thread ID parameter: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 1
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
13: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.management.ThreadImpl.isThreadCpuTimeEnabled:()Z
ifne 16
15: ldc -1
lreturn
16: StackMap locals:
StackMap stack:
lload 1
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getId:()J
lcmp
ifne 18
17: lconst_0
invokestatic sun.management.ThreadImpl.getThreadTotalCpuTime0:(J)J
lreturn
18: StackMap locals:
StackMap stack:
lload 1
invokestatic sun.management.ThreadImpl.getThreadTotalCpuTime0:(J)J
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lsun/management/ThreadImpl;
0 19 1 id J
MethodParameters:
Name Flags
id
public long getCurrentThreadUserTime();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.management.ThreadImpl.isCurrentThreadCpuTimeSupported:()Z
ifne 4
1: new java.lang.UnsupportedOperationException
dup
2: ldc "Current thread CPU time measurement is not supported."
3: invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.management.ThreadImpl.isThreadCpuTimeEnabled:()Z
ifne 6
5: ldc -1
lreturn
6: StackMap locals:
StackMap stack:
lconst_0
invokestatic sun.management.ThreadImpl.getThreadUserCpuTime0:(J)J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/management/ThreadImpl;
public long getThreadUserTime(long);
descriptor: (J)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.management.ThreadImpl.isThreadCpuTimeSupported:()Z
ifne 5
1: aload 0
invokevirtual sun.management.ThreadImpl.isCurrentThreadCpuTimeSupported:()Z
ifne 5
2: new java.lang.UnsupportedOperationException
dup
3: ldc "Thread CPU time measurement is not supported."
4: invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.management.ThreadImpl.isThreadCpuTimeSupported:()Z
ifne 10
6: lload 1
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getId:()J
lcmp
ifeq 10
7: new java.lang.UnsupportedOperationException
dup
8: ldc "Thread CPU time measurement is only supported for the current thread."
9: invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
lload 1
lconst_0
lcmp
ifgt 14
11: new java.lang.IllegalArgumentException
dup
12: new java.lang.StringBuilder
dup
ldc "Invalid thread ID parameter: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 1
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
13: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.management.ThreadImpl.isThreadCpuTimeEnabled:()Z
ifne 16
15: ldc -1
lreturn
16: StackMap locals:
StackMap stack:
lload 1
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getId:()J
lcmp
ifne 18
17: lconst_0
invokestatic sun.management.ThreadImpl.getThreadUserCpuTime0:(J)J
lreturn
18: StackMap locals:
StackMap stack:
lload 1
invokestatic sun.management.ThreadImpl.getThreadUserCpuTime0:(J)J
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lsun/management/ThreadImpl;
0 19 1 id J
MethodParameters:
Name Flags
id
public void setThreadCpuTimeEnabled(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.management.ThreadImpl.isThreadCpuTimeSupported:()Z
ifne 5
1: aload 0
invokevirtual sun.management.ThreadImpl.isCurrentThreadCpuTimeSupported:()Z
ifne 5
2: new java.lang.UnsupportedOperationException
dup
3: ldc "Thread CPU time measurement is not supported"
4: invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
invokestatic sun.management.ManagementFactory.checkControlAccess:()V
6: aload 0
dup
astore 2
monitorenter
7: aload 0
getfield sun.management.ThreadImpl.cpuTimeEnabled:Z
iload 1
if_icmpeq 10
8: iload 1
invokestatic sun.management.ThreadImpl.setThreadCpuTimeEnabled0:(Z)V
9: aload 0
iload 1
putfield sun.management.ThreadImpl.cpuTimeEnabled:Z
10: StackMap locals: sun.management.ThreadImpl
StackMap stack:
aload 2
monitorexit
11: goto 14
StackMap locals:
StackMap stack: java.lang.Throwable
12: aload 2
monitorexit
13: athrow
14: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lsun/management/ThreadImpl;
0 15 1 enable Z
Exception table:
from to target type
7 11 12 any
12 13 12 any
MethodParameters:
Name Flags
enable
public long[] findMonitorDeadlockedThreads();
descriptor: ()[J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: invokestatic sun.management.ManagementFactory.checkMonitorAccess:()V
1: invokestatic sun.management.ThreadImpl.findMonitorDeadlockedThreads0:()[Ljava/lang/Thread;
astore 1
start local 1 2: aload 1
ifnonnull 4
3: aconst_null
areturn
4: StackMap locals: java.lang.Thread[]
StackMap stack:
aload 1
arraylength
newarray 11
astore 2
start local 2 5: iconst_0
istore 3
start local 3 6: goto 10
7: StackMap locals: long[] int
StackMap stack:
aload 1
iload 3
aaload
astore 4
start local 4 8: aload 2
iload 3
aload 4
invokevirtual java.lang.Thread.getId:()J
lastore
end local 4 9: iinc 3 1
StackMap locals:
StackMap stack:
10: iload 3
aload 1
arraylength
if_icmplt 7
end local 3 11: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/management/ThreadImpl;
2 12 1 threads [Ljava/lang/Thread;
5 12 2 ids [J
6 11 3 i I
8 9 4 t Ljava/lang/Thread;
public long[] findDeadlockedThreads();
descriptor: ()[J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual sun.management.ThreadImpl.isSynchronizerUsageSupported:()Z
ifne 4
1: new java.lang.UnsupportedOperationException
dup
2: ldc "Monitoring of Synchronizer Usage is not supported."
3: invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
invokestatic sun.management.ManagementFactory.checkMonitorAccess:()V
5: invokestatic sun.management.ThreadImpl.findDeadlockedThreads0:()[Ljava/lang/Thread;
astore 1
start local 1 6: aload 1
ifnonnull 8
7: aconst_null
areturn
8: StackMap locals: java.lang.Thread[]
StackMap stack:
aload 1
arraylength
newarray 11
astore 2
start local 2 9: iconst_0
istore 3
start local 3 10: goto 14
11: StackMap locals: long[] int
StackMap stack:
aload 1
iload 3
aaload
astore 4
start local 4 12: aload 2
iload 3
aload 4
invokevirtual java.lang.Thread.getId:()J
lastore
end local 4 13: iinc 3 1
StackMap locals:
StackMap stack:
14: iload 3
aload 1
arraylength
if_icmplt 11
end local 3 15: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lsun/management/ThreadImpl;
6 16 1 threads [Ljava/lang/Thread;
9 16 2 ids [J
10 15 3 i I
12 13 4 t Ljava/lang/Thread;
public void resetPeakThreadCount();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=1, args_size=1
start local 0 0: invokestatic sun.management.ManagementFactory.checkControlAccess:()V
1: invokestatic sun.management.ThreadImpl.resetPeakThreadCount0:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/management/ThreadImpl;
public boolean isObjectMonitorUsageSupported();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.management.ThreadImpl.jvm:Lsun/management/VMManagement;
invokeinterface sun.management.VMManagement.isObjectMonitorUsageSupported:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/management/ThreadImpl;
public boolean isSynchronizerUsageSupported();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.management.ThreadImpl.jvm:Lsun/management/VMManagement;
invokeinterface sun.management.VMManagement.isSynchronizerUsageSupported:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/management/ThreadImpl;
public java.lang.management.ThreadInfo[] getThreadInfo(long[], boolean, boolean);
descriptor: ([JZZ)[Ljava/lang/management/ThreadInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnonnull 2
1: new java.lang.NullPointerException
dup
ldc "Null ids parameter."
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
iload 2
ifeq 6
aload 0
invokevirtual sun.management.ThreadImpl.isObjectMonitorUsageSupported:()Z
ifne 6
3: new java.lang.UnsupportedOperationException
dup
4: ldc "Monitoring of Object Monitor Usage is not supported."
5: invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
iload 3
ifeq 10
aload 0
invokevirtual sun.management.ThreadImpl.isSynchronizerUsageSupported:()Z
ifne 10
7: new java.lang.UnsupportedOperationException
dup
8: ldc "Monitoring of Synchronizer Usage is not supported."
9: invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
invokestatic sun.management.ManagementFactory.checkMonitorAccess:()V
11: aload 1
iload 2
iload 3
invokestatic sun.management.ThreadImpl.dumpThreads0:([JZZ)[Ljava/lang/management/ThreadInfo;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/management/ThreadImpl;
0 12 1 ids [J
0 12 2 lockedMonitors Z
0 12 3 lockedSynchronizers Z
MethodParameters:
Name Flags
ids
lockedMonitors
lockedSynchronizers
public java.lang.management.ThreadInfo[] dumpAllThreads(boolean, boolean);
descriptor: (ZZ)[Ljava/lang/management/ThreadInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 1
ifeq 4
aload 0
invokevirtual sun.management.ThreadImpl.isObjectMonitorUsageSupported:()Z
ifne 4
1: new java.lang.UnsupportedOperationException
dup
2: ldc "Monitoring of Object Monitor Usage is not supported."
3: invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
iload 2
ifeq 8
aload 0
invokevirtual sun.management.ThreadImpl.isSynchronizerUsageSupported:()Z
ifne 8
5: new java.lang.UnsupportedOperationException
dup
6: ldc "Monitoring of Synchronizer Usage is not supported."
7: invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
invokestatic sun.management.ManagementFactory.checkMonitorAccess:()V
9: aconst_null
iload 1
iload 2
invokestatic sun.management.ThreadImpl.dumpThreads0:([JZZ)[Ljava/lang/management/ThreadInfo;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/management/ThreadImpl;
0 10 1 lockedMonitors Z
0 10 2 lockedSynchronizers Z
MethodParameters:
Name Flags
lockedMonitors
lockedSynchronizers
private static native java.lang.Thread[] getThreads();
descriptor: ()[Ljava/lang/Thread;
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
private static native void getThreadInfo0(long[], int, java.lang.management.ThreadInfo[]);
descriptor: ([JI[Ljava/lang/management/ThreadInfo;)V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
ids
maxDepth
result
private static native long getThreadTotalCpuTime0(long);
descriptor: (J)J
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
id
private static native long getThreadUserCpuTime0(long);
descriptor: (J)J
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
id
private static native void setThreadCpuTimeEnabled0(boolean);
descriptor: (Z)V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
enable
private static native void setThreadContentionMonitoringEnabled0(boolean);
descriptor: (Z)V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
enable
private static native java.lang.Thread[] findMonitorDeadlockedThreads0();
descriptor: ()[Ljava/lang/Thread;
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
private static native java.lang.Thread[] findDeadlockedThreads0();
descriptor: ()[Ljava/lang/Thread;
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
private static native void resetPeakThreadCount0();
descriptor: ()V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
private static native java.lang.management.ThreadInfo[] dumpThreads0(long[], boolean, boolean);
descriptor: ([JZZ)[Ljava/lang/management/ThreadInfo;
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
ids
lockedMonitors
lockedSynchronizers
private static native void resetContentionTimes0(long);
descriptor: (J)V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
tid
}
SourceFile: "ThreadImpl.java"