class sun.management.ThreadImpl implements com.sun.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
private boolean allocatedMemoryEnabled;
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: aload 0
aload 0
getfield sun.management.ThreadImpl.jvm:Lsun/management/VMManagement;
invokeinterface sun.management.VMManagement.isThreadAllocatedMemoryEnabled:()Z
putfield sun.management.ThreadImpl.allocatedMemoryEnabled:Z
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/management/ThreadImpl;
0 6 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 isThreadAllocatedMemorySupported();
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.isThreadAllocatedMemorySupported:()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 boolean isThreadAllocatedMemoryEnabled();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.management.ThreadImpl.isThreadAllocatedMemorySupported:()Z
ifne 4
1: new java.lang.UnsupportedOperationException
dup
2: ldc "Thread allocated memory measurement 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.allocatedMemoryEnabled:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 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.Util.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=4, locals=5, args_size=2
start local 0 start local 1 0: iconst_1
newarray 11
astore 3
start local 3 1: aload 3
iconst_0
lload 1
lastore
2: aload 0
aload 3
iconst_0
invokevirtual sun.management.ThreadImpl.getThreadInfo:([JI)[Ljava/lang/management/ThreadInfo;
astore 4
start local 4 3: 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 4 0 this Lsun/management/ThreadImpl;
0 4 1 id J
1 4 3 ids [J
3 4 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=4, locals=6, args_size=3
start local 0 start local 1 start local 3 0: iconst_1
newarray 11
astore 4
start local 4 1: aload 4
iconst_0
lload 1
lastore
2: aload 0
aload 4
iload 3
invokevirtual sun.management.ThreadImpl.getThreadInfo:([JI)[Ljava/lang/management/ThreadInfo;
astore 5
start local 5 3: 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 4 0 this Lsun/management/ThreadImpl;
0 4 1 id J
0 4 3 maxDepth I
1 4 4 ids [J
3 4 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
private void verifyThreadIds(long[]);
descriptor: ([J)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 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:
iconst_0
istore 2
start local 2 3: goto 9
4: StackMap locals: int
StackMap stack:
aload 1
iload 2
laload
lconst_0
lcmp
ifgt 8
5: new java.lang.IllegalArgumentException
dup
6: new java.lang.StringBuilder
dup
ldc "Invalid thread ID parameter: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
iload 2
laload
invokevirtual java.lang.StringBuilder.append:(J)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:
iinc 2 1
StackMap locals:
StackMap stack:
9: iload 2
aload 1
arraylength
if_icmplt 4
end local 2 10: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/management/ThreadImpl;
0 11 1 ids [J
3 10 2 i I
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 0
aload 1
invokevirtual sun.management.ThreadImpl.verifyThreadIds:([J)V
1: iload 2
ifge 5
2: new java.lang.IllegalArgumentException
dup
3: 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;
4: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
invokestatic sun.management.Util.checkMonitorAccess:()V
6: aload 1
arraylength
anewarray java.lang.management.ThreadInfo
astore 3
start local 3 7: iload 2
ldc 2147483647
if_icmpne 10
8: aload 1
iconst_m1
aload 3
invokestatic sun.management.ThreadImpl.getThreadInfo1:([JI[Ljava/lang/management/ThreadInfo;)V
9: goto 11
10: StackMap locals: java.lang.management.ThreadInfo[]
StackMap stack:
aload 1
iload 2
aload 3
invokestatic sun.management.ThreadImpl.getThreadInfo1:([JI[Ljava/lang/management/ThreadInfo;)V
11: 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 12 0 this Lsun/management/ThreadImpl;
0 12 1 ids [J
0 12 2 maxDepth I
7 12 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.Util.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
private boolean verifyCurrentThreadCpuTime();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
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
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/management/ThreadImpl;
public long getCurrentThreadCpuTime();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.management.ThreadImpl.verifyCurrentThreadCpuTime:()Z
ifeq 2
1: lconst_0
invokestatic sun.management.ThreadImpl.getThreadTotalCpuTime0:(J)J
lreturn
2: StackMap locals:
StackMap stack:
ldc -1
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/management/ThreadImpl;
public long getThreadCpuTime(long);
descriptor: (J)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: iconst_1
newarray 11
astore 3
start local 3 1: aload 3
iconst_0
lload 1
lastore
2: aload 0
aload 3
invokevirtual sun.management.ThreadImpl.getThreadCpuTime:([J)[J
astore 4
start local 4 3: aload 4
iconst_0
laload
lreturn
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/management/ThreadImpl;
0 4 1 id J
1 4 3 ids [J
3 4 4 times [J
MethodParameters:
Name Flags
id
private boolean verifyThreadCpuTime(long[]);
descriptor: ([J)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual sun.management.ThreadImpl.verifyThreadIds:([J)V
1: aload 0
invokevirtual sun.management.ThreadImpl.isThreadCpuTimeSupported:()Z
ifne 6
2: aload 0
invokevirtual sun.management.ThreadImpl.isCurrentThreadCpuTimeSupported:()Z
ifne 6
3: new java.lang.UnsupportedOperationException
dup
4: ldc "Thread CPU time measurement is not supported."
5: invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.management.ThreadImpl.isThreadCpuTimeSupported:()Z
ifne 15
7: iconst_0
istore 2
start local 2 8: goto 14
9: StackMap locals: int
StackMap stack:
aload 1
iload 2
laload
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getId:()J
lcmp
ifeq 13
10: new java.lang.UnsupportedOperationException
dup
11: ldc "Thread CPU time measurement is only supported for the current thread."
12: invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
14: iload 2
aload 1
arraylength
if_icmplt 9
end local 2 15: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.management.ThreadImpl.isThreadCpuTimeEnabled:()Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lsun/management/ThreadImpl;
0 16 1 ids [J
8 15 2 i I
MethodParameters:
Name Flags
ids
public long[] getThreadCpuTime(long[]);
descriptor: ([J)[J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual sun.management.ThreadImpl.verifyThreadCpuTime:([J)Z
istore 2
start local 2 1: aload 1
arraylength
istore 3
start local 3 2: iload 3
newarray 11
astore 4
start local 4 3: aload 4
ldc -1
invokestatic java.util.Arrays.fill:([JJ)V
4: iload 2
ifeq 12
5: iload 3
iconst_1
if_icmpne 11
6: aload 1
iconst_0
laload
lstore 5
start local 5 7: lload 5
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getId:()J
lcmp
ifne 9
8: lconst_0
lstore 5
9: StackMap locals: sun.management.ThreadImpl long[] int int long[] long
StackMap stack:
aload 4
iconst_0
lload 5
invokestatic sun.management.ThreadImpl.getThreadTotalCpuTime0:(J)J
lastore
end local 5 10: goto 12
11: StackMap locals:
StackMap stack:
aload 1
aload 4
invokestatic sun.management.ThreadImpl.getThreadTotalCpuTime1:([J[J)V
12: StackMap locals:
StackMap stack:
aload 4
areturn
end local 4 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
1 13 2 verified Z
2 13 3 length I
3 13 4 times [J
7 10 5 id J
MethodParameters:
Name Flags
ids
public long getCurrentThreadUserTime();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.management.ThreadImpl.verifyCurrentThreadCpuTime:()Z
ifeq 2
1: lconst_0
invokestatic sun.management.ThreadImpl.getThreadUserCpuTime0:(J)J
lreturn
2: StackMap locals:
StackMap stack:
ldc -1
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/management/ThreadImpl;
public long getThreadUserTime(long);
descriptor: (J)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: iconst_1
newarray 11
astore 3
start local 3 1: aload 3
iconst_0
lload 1
lastore
2: aload 0
aload 3
invokevirtual sun.management.ThreadImpl.getThreadUserTime:([J)[J
astore 4
start local 4 3: aload 4
iconst_0
laload
lreturn
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/management/ThreadImpl;
0 4 1 id J
1 4 3 ids [J
3 4 4 times [J
MethodParameters:
Name Flags
id
public long[] getThreadUserTime(long[]);
descriptor: ([J)[J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual sun.management.ThreadImpl.verifyThreadCpuTime:([J)Z
istore 2
start local 2 1: aload 1
arraylength
istore 3
start local 3 2: iload 3
newarray 11
astore 4
start local 4 3: aload 4
ldc -1
invokestatic java.util.Arrays.fill:([JJ)V
4: iload 2
ifeq 12
5: iload 3
iconst_1
if_icmpne 11
6: aload 1
iconst_0
laload
lstore 5
start local 5 7: lload 5
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getId:()J
lcmp
ifne 9
8: lconst_0
lstore 5
9: StackMap locals: sun.management.ThreadImpl long[] int int long[] long
StackMap stack:
aload 4
iconst_0
lload 5
invokestatic sun.management.ThreadImpl.getThreadUserCpuTime0:(J)J
lastore
end local 5 10: goto 12
11: StackMap locals:
StackMap stack:
aload 1
aload 4
invokestatic sun.management.ThreadImpl.getThreadUserCpuTime1:([J[J)V
12: StackMap locals:
StackMap stack:
aload 4
areturn
end local 4 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
1 13 2 verified Z
2 13 3 length I
3 13 4 times [J
7 10 5 id J
MethodParameters:
Name Flags
ids
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.Util.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 getThreadAllocatedBytes(long);
descriptor: (J)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: iconst_1
newarray 11
astore 3
start local 3 1: aload 3
iconst_0
lload 1
lastore
2: aload 0
aload 3
invokevirtual sun.management.ThreadImpl.getThreadAllocatedBytes:([J)[J
astore 4
start local 4 3: aload 4
iconst_0
laload
lreturn
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/management/ThreadImpl;
0 4 1 id J
1 4 3 ids [J
3 4 4 sizes [J
MethodParameters:
Name Flags
id
private boolean verifyThreadAllocatedMemory(long[]);
descriptor: ([J)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual sun.management.ThreadImpl.verifyThreadIds:([J)V
1: aload 0
invokevirtual sun.management.ThreadImpl.isThreadAllocatedMemorySupported:()Z
ifne 5
2: new java.lang.UnsupportedOperationException
dup
3: ldc "Thread allocated memory 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.isThreadAllocatedMemoryEnabled:()Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/management/ThreadImpl;
0 6 1 ids [J
MethodParameters:
Name Flags
ids
public long[] getThreadAllocatedBytes(long[]);
descriptor: ([J)[J
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual sun.management.ThreadImpl.verifyThreadAllocatedMemory:([J)Z
istore 2
start local 2 1: aload 1
arraylength
newarray 11
astore 3
start local 3 2: aload 3
ldc -1
invokestatic java.util.Arrays.fill:([JJ)V
3: iload 2
ifeq 5
4: aload 1
aload 3
invokestatic sun.management.ThreadImpl.getThreadAllocatedMemory1:([J[J)V
5: StackMap locals: int long[]
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/management/ThreadImpl;
0 6 1 ids [J
1 6 2 verified Z
2 6 3 sizes [J
MethodParameters:
Name Flags
ids
public void setThreadAllocatedMemoryEnabled(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.isThreadAllocatedMemorySupported:()Z
ifne 4
1: new java.lang.UnsupportedOperationException
dup
2: ldc "Thread allocated memory measurement is not supported."
3: invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
invokestatic sun.management.Util.checkControlAccess:()V
5: aload 0
dup
astore 2
monitorenter
6: aload 0
getfield sun.management.ThreadImpl.allocatedMemoryEnabled:Z
iload 1
if_icmpeq 9
7: iload 1
invokestatic sun.management.ThreadImpl.setThreadAllocatedMemoryEnabled0:(Z)V
8: aload 0
iload 1
putfield sun.management.ThreadImpl.allocatedMemoryEnabled:Z
9: StackMap locals: sun.management.ThreadImpl
StackMap stack:
aload 2
monitorexit
10: goto 13
StackMap locals:
StackMap stack: java.lang.Throwable
11: aload 2
monitorexit
12: athrow
13: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lsun/management/ThreadImpl;
0 14 1 enable Z
Exception table:
from to target type
6 10 11 any
11 12 11 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.Util.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.Util.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.Util.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;
private void verifyDumpThreads(boolean, boolean);
descriptor: (ZZ)V
flags: (0x0002) ACC_PRIVATE
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.Util.checkMonitorAccess:()V
9: return
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
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 0
aload 1
invokevirtual sun.management.ThreadImpl.verifyThreadIds:([J)V
1: aload 0
iload 2
iload 3
invokevirtual sun.management.ThreadImpl.verifyDumpThreads:(ZZ)V
2: 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 3 0 this Lsun/management/ThreadImpl;
0 3 1 ids [J
0 3 2 lockedMonitors Z
0 3 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: aload 0
iload 1
iload 2
invokevirtual sun.management.ThreadImpl.verifyDumpThreads:(ZZ)V
1: 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 2 0 this Lsun/management/ThreadImpl;
0 2 1 lockedMonitors Z
0 2 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 getThreadInfo1(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 void getThreadTotalCpuTime1(long[], long[]);
descriptor: ([J[J)V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
ids
result
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 getThreadUserCpuTime1(long[], long[]);
descriptor: ([J[J)V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
ids
result
private static native void getThreadAllocatedMemory1(long[], long[]);
descriptor: ([J[J)V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
ids
result
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 setThreadAllocatedMemoryEnabled0(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
public javax.management.ObjectName getObjectName();
descriptor: ()Ljavax/management/ObjectName;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "java.lang:type=Threading"
invokestatic sun.management.Util.newObjectName:(Ljava/lang/String;)Ljavax/management/ObjectName;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/management/ThreadImpl;
}
SourceFile: "ThreadImpl.java"