public class sun.jvm.hotspot.runtime.DeadlockDetector
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.jvm.hotspot.runtime.DeadlockDetector
super_class: java.lang.Object
{
private static sun.jvm.hotspot.runtime.Threads threads;
descriptor: Lsun/jvm/hotspot/runtime/Threads;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static sun.jvm.hotspot.oops.ObjectHeap heap;
descriptor: Lsun/jvm/hotspot/oops/ObjectHeap;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.util.HashMap<sun.jvm.hotspot.runtime.JavaThread, java.lang.Integer> threadTable;
descriptor: Ljava/util/HashMap;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Signature: Ljava/util/HashMap<Lsun/jvm/hotspot/runtime/JavaThread;Ljava/lang/Integer;>;
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/runtime/DeadlockDetector;
public static void print(java.io.PrintStream);
descriptor: (Ljava/io/PrintStream;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
invokestatic sun.jvm.hotspot.runtime.DeadlockDetector.print:(Ljava/io/PrintStream;Z)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 tty Ljava/io/PrintStream;
MethodParameters:
Name Flags
tty
public static void print(java.io.PrintStream, boolean);
descriptor: (Ljava/io/PrintStream;Z)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=14, args_size=2
start local 0 start local 1 0: aload 0
ldc "Deadlock Detection:"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
1: aload 0
invokevirtual java.io.PrintStream.println:()V
2: iconst_0
istore 2
start local 2 3: iconst_0
istore 4
start local 4 4: aconst_null
astore 5
start local 5 5: aconst_null
astore 6
start local 6 6: aconst_null
astore 7
start local 7 7: aconst_null
astore 8
start local 8 8: invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
invokevirtual sun.jvm.hotspot.runtime.VM.getThreads:()Lsun/jvm/hotspot/runtime/Threads;
putstatic sun.jvm.hotspot.runtime.DeadlockDetector.threads:Lsun/jvm/hotspot/runtime/Threads;
9: invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
invokevirtual sun.jvm.hotspot.runtime.VM.getObjectHeap:()Lsun/jvm/hotspot/oops/ObjectHeap;
putstatic sun.jvm.hotspot.runtime.DeadlockDetector.heap:Lsun/jvm/hotspot/oops/ObjectHeap;
10: invokestatic sun.jvm.hotspot.runtime.DeadlockDetector.createThreadTable:()V
11: getstatic sun.jvm.hotspot.runtime.DeadlockDetector.threadTable:Ljava/util/HashMap;
invokevirtual java.util.HashMap.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 9
start local 9 12: goto 56
13: StackMap locals: java.io.PrintStream int int top int sun.jvm.hotspot.runtime.JavaThread sun.jvm.hotspot.runtime.JavaThread sun.jvm.hotspot.runtime.ObjectMonitor sun.jvm.hotspot.oops.Oop java.util.Iterator
StackMap stack:
aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 10
start local 10 14: aload 10
invokestatic sun.jvm.hotspot.runtime.DeadlockDetector.dfn:(Ljava/util/Map$Entry;)I
iflt 16
15: goto 56
16: StackMap locals: java.util.Map$Entry
StackMap stack:
iload 2
istore 3
start local 3 17: aload 10
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast sun.jvm.hotspot.runtime.JavaThread
astore 11
start local 11 18: aload 11
astore 6
19: aload 11
invokevirtual sun.jvm.hotspot.runtime.JavaThread.getCurrentPendingMonitor:()Lsun/jvm/hotspot/runtime/ObjectMonitor;
astore 7
20: goto 24
StackMap locals: java.io.PrintStream int int int int sun.jvm.hotspot.runtime.JavaThread sun.jvm.hotspot.runtime.JavaThread sun.jvm.hotspot.runtime.ObjectMonitor sun.jvm.hotspot.oops.Oop java.util.Iterator java.util.Map$Entry sun.jvm.hotspot.runtime.JavaThread
StackMap stack: java.lang.RuntimeException
21: pop
22: aload 0
ldc "This version of HotSpot VM doesn't support deadlock detection."
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
23: return
24: StackMap locals:
StackMap stack:
aconst_null
astore 12
start local 12 25: iload 1
ifeq 54
26: aload 11
invokevirtual sun.jvm.hotspot.runtime.JavaThread.getCurrentParkBlocker:()Lsun/jvm/hotspot/oops/Oop;
astore 8
27: invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
invokevirtual sun.jvm.hotspot.runtime.VM.getSystemDictionary:()Lsun/jvm/hotspot/memory/SystemDictionary;
astore 13
start local 13 28: aload 13
invokevirtual sun.jvm.hotspot.memory.SystemDictionary.getAbstractOwnableSynchronizerKlass:()Lsun/jvm/hotspot/oops/InstanceKlass;
astore 12
end local 13 29: goto 54
30: StackMap locals: sun.jvm.hotspot.oops.Klass
StackMap stack:
aload 7
ifnull 33
31: getstatic sun.jvm.hotspot.runtime.DeadlockDetector.threads:Lsun/jvm/hotspot/runtime/Threads;
aload 7
invokevirtual sun.jvm.hotspot.runtime.Threads.owningThreadFromMonitor:(Lsun/jvm/hotspot/runtime/ObjectMonitor;)Lsun/jvm/hotspot/runtime/JavaThread;
astore 5
32: goto 38
33: StackMap locals:
StackMap stack:
iload 1
ifeq 38
34: aload 8
aload 12
invokevirtual sun.jvm.hotspot.oops.Oop.isA:(Lsun/jvm/hotspot/oops/Klass;)Z
ifeq 38
35: aload 8
invokestatic sun.jvm.hotspot.oops.OopUtilities.abstractOwnableSynchronizerGetOwnerThread:(Lsun/jvm/hotspot/oops/Oop;)Lsun/jvm/hotspot/oops/Oop;
astore 13
start local 13 36: aload 13
ifnull 38
37: aload 13
invokestatic sun.jvm.hotspot.oops.OopUtilities.threadOopGetJavaThread:(Lsun/jvm/hotspot/oops/Oop;)Lsun/jvm/hotspot/runtime/JavaThread;
astore 5
end local 13 38: StackMap locals:
StackMap stack:
aload 5
ifnonnull 40
39: goto 56
40: StackMap locals:
StackMap stack:
aload 5
invokestatic sun.jvm.hotspot.runtime.DeadlockDetector.dfn:(Lsun/jvm/hotspot/runtime/JavaThread;)I
ifge 43
41: getstatic sun.jvm.hotspot.runtime.DeadlockDetector.threadTable:Ljava/util/HashMap;
aload 5
iload 2
iinc 2 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
42: goto 50
StackMap locals:
StackMap stack:
43: aload 5
invokestatic sun.jvm.hotspot.runtime.DeadlockDetector.dfn:(Lsun/jvm/hotspot/runtime/JavaThread;)I
iload 3
if_icmpge 45
44: goto 56
45: StackMap locals:
StackMap stack:
aload 5
aload 6
if_acmpne 47
46: goto 56
47: StackMap locals:
StackMap stack:
iinc 4 1
48: aload 0
aload 5
iload 1
invokestatic sun.jvm.hotspot.runtime.DeadlockDetector.printOneDeadlock:(Ljava/io/PrintStream;Lsun/jvm/hotspot/runtime/JavaThread;Z)V
49: goto 56
50: StackMap locals:
StackMap stack:
aload 5
astore 6
51: aload 5
invokevirtual sun.jvm.hotspot.runtime.JavaThread.getCurrentPendingMonitor:()Lsun/jvm/hotspot/runtime/ObjectMonitor;
astore 7
52: iload 1
ifeq 54
53: aload 5
invokevirtual sun.jvm.hotspot.runtime.JavaThread.getCurrentParkBlocker:()Lsun/jvm/hotspot/oops/Oop;
astore 8
54: StackMap locals:
StackMap stack:
aload 7
ifnonnull 30
55: aload 8
ifnonnull 30
end local 12 end local 11 end local 10 end local 3 56: StackMap locals: java.io.PrintStream int int top int sun.jvm.hotspot.runtime.JavaThread sun.jvm.hotspot.runtime.JavaThread sun.jvm.hotspot.runtime.ObjectMonitor sun.jvm.hotspot.oops.Oop java.util.Iterator
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 13
57: iload 4
tableswitch { // 0 - 1
0: 58
1: 60
default: 62
}
58: StackMap locals:
StackMap stack:
aload 0
ldc "No deadlocks found."
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
59: goto 63
60: StackMap locals:
StackMap stack:
aload 0
ldc "Found a total of 1 deadlock."
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
61: goto 63
62: StackMap locals:
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
ldc "Found a total of "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " deadlocks."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
63: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.io.PrintStream.println:()V
64: return
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 65 0 tty Ljava/io/PrintStream;
0 65 1 concurrentLocks Z
3 65 2 globalDfn I
17 56 3 thisDfn I
4 65 4 numberOfDeadlocks I
5 65 5 currentThread Lsun/jvm/hotspot/runtime/JavaThread;
6 65 6 previousThread Lsun/jvm/hotspot/runtime/JavaThread;
7 65 7 waitingToLockMonitor Lsun/jvm/hotspot/runtime/ObjectMonitor;
8 65 8 waitingToLockBlocker Lsun/jvm/hotspot/oops/Oop;
12 65 9 i Ljava/util/Iterator;
14 56 10 e Ljava/util/Map$Entry;
18 56 11 thread Lsun/jvm/hotspot/runtime/JavaThread;
25 56 12 abstractOwnableSyncKlass Lsun/jvm/hotspot/oops/Klass;
28 29 13 sysDict Lsun/jvm/hotspot/memory/SystemDictionary;
36 38 13 threadOop Lsun/jvm/hotspot/oops/Oop;
Exception table:
from to target type
19 20 21 Class java.lang.RuntimeException
MethodParameters:
Name Flags
tty
concurrentLocks
private static void createThreadTable();
descriptor: ()V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=0
0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putstatic sun.jvm.hotspot.runtime.DeadlockDetector.threadTable:Ljava/util/HashMap;
1: invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
invokevirtual sun.jvm.hotspot.runtime.VM.getThreads:()Lsun/jvm/hotspot/runtime/Threads;
astore 0
start local 0 2: iconst_0
istore 1
start local 1 3: goto 7
4: StackMap locals: sun.jvm.hotspot.runtime.Threads int
StackMap stack:
aload 0
iload 1
invokevirtual sun.jvm.hotspot.runtime.Threads.getJavaThreadAt:(I)Lsun/jvm/hotspot/runtime/JavaThread;
astore 2
start local 2 5: getstatic sun.jvm.hotspot.runtime.DeadlockDetector.threadTable:Ljava/util/HashMap;
aload 2
iconst_m1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 2 6: iinc 1 1
StackMap locals:
StackMap stack:
7: iload 1
aload 0
invokevirtual sun.jvm.hotspot.runtime.Threads.getNumberOfThreads:()I
if_icmplt 4
end local 1 8: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
2 9 0 threads Lsun/jvm/hotspot/runtime/Threads;
3 8 1 i I
5 6 2 cur Lsun/jvm/hotspot/runtime/JavaThread;
private static int dfn(sun.jvm.hotspot.runtime.JavaThread);
descriptor: (Lsun/jvm/hotspot/runtime/JavaThread;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic sun.jvm.hotspot.runtime.DeadlockDetector.threadTable:Ljava/util/HashMap;
aload 0
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
ireturn
3: StackMap locals: java.lang.Object
StackMap stack:
iconst_m1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 thread Lsun/jvm/hotspot/runtime/JavaThread;
1 4 1 obj Ljava/lang/Object;
MethodParameters:
Name Flags
thread
private static int dfn(java.util.Map$Entry);
descriptor: (Ljava/util/Map$Entry;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 e Ljava/util/Map$Entry;
MethodParameters:
Name Flags
e
private static void printOneDeadlock(java.io.PrintStream, sun.jvm.hotspot.runtime.JavaThread, boolean);
descriptor: (Ljava/io/PrintStream;Lsun/jvm/hotspot/runtime/JavaThread;Z)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
ldc "Found one Java-level deadlock:"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
1: aload 0
ldc "============================="
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: aconst_null
astore 3
start local 3 3: aconst_null
astore 4
start local 4 4: aload 1
astore 5
start local 5 5: StackMap locals: sun.jvm.hotspot.runtime.ObjectMonitor sun.jvm.hotspot.oops.Oop sun.jvm.hotspot.runtime.JavaThread
StackMap stack:
aload 0
invokevirtual java.io.PrintStream.println:()V
6: aload 0
new java.lang.StringBuilder
dup
ldc "\""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual sun.jvm.hotspot.runtime.JavaThread.getThreadName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
7: aload 5
invokevirtual sun.jvm.hotspot.runtime.JavaThread.getCurrentPendingMonitor:()Lsun/jvm/hotspot/runtime/ObjectMonitor;
astore 3
8: aload 3
ifnull 22
9: aload 0
new java.lang.StringBuilder
dup
ldc " waiting to lock Monitor@"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual sun.jvm.hotspot.runtime.ObjectMonitor.getAddress:()Lsun/jvm/hotspot/debugger/Address;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
10: aload 3
invokevirtual sun.jvm.hotspot.runtime.ObjectMonitor.object:()Lsun/jvm/hotspot/debugger/OopHandle;
astore 6
start local 6 11: getstatic sun.jvm.hotspot.runtime.DeadlockDetector.heap:Lsun/jvm/hotspot/oops/ObjectHeap;
aload 6
invokevirtual sun.jvm.hotspot.oops.ObjectHeap.newOop:(Lsun/jvm/hotspot/debugger/OopHandle;)Lsun/jvm/hotspot/oops/Oop;
astore 7
start local 7 12: aload 6
ifnull 18
13: aload 0
ldc " (Object@"
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
14: aload 7
aload 0
invokestatic sun.jvm.hotspot.oops.Oop.printOopAddressOn:(Lsun/jvm/hotspot/oops/Oop;Ljava/io/PrintStream;)V
15: aload 0
new java.lang.StringBuilder
dup
ldc ", a "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual sun.jvm.hotspot.oops.Oop.getKlass:()Lsun/jvm/hotspot/oops/Klass;
invokevirtual sun.jvm.hotspot.oops.Klass.getName:()Lsun/jvm/hotspot/oops/Symbol;
invokevirtual sun.jvm.hotspot.oops.Symbol.asString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
16: aload 0
ldc ",\n which is held by"
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
17: goto 19
18: StackMap locals: sun.jvm.hotspot.debugger.OopHandle sun.jvm.hotspot.oops.Oop
StackMap stack:
aload 0
ldc " (raw monitor),\n which is held by"
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
19: StackMap locals:
StackMap stack:
getstatic sun.jvm.hotspot.runtime.DeadlockDetector.threads:Lsun/jvm/hotspot/runtime/Threads;
aload 3
invokevirtual sun.jvm.hotspot.runtime.Threads.owningThreadFromMonitor:(Lsun/jvm/hotspot/runtime/ObjectMonitor;)Lsun/jvm/hotspot/runtime/JavaThread;
astore 5
20: aload 0
new java.lang.StringBuilder
dup
ldc " \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual sun.jvm.hotspot.runtime.JavaThread.getThreadName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
end local 7 end local 6 21: goto 31
StackMap locals:
StackMap stack:
22: iload 2
ifeq 31
23: aload 5
invokevirtual sun.jvm.hotspot.runtime.JavaThread.getCurrentParkBlocker:()Lsun/jvm/hotspot/oops/Oop;
astore 4
24: aload 0
ldc " waiting for ownable synchronizer "
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
25: aload 4
aload 0
invokestatic sun.jvm.hotspot.oops.Oop.printOopAddressOn:(Lsun/jvm/hotspot/oops/Oop;Ljava/io/PrintStream;)V
26: aload 0
new java.lang.StringBuilder
dup
ldc ", (a "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual sun.jvm.hotspot.oops.Oop.getKlass:()Lsun/jvm/hotspot/oops/Klass;
invokevirtual sun.jvm.hotspot.oops.Klass.getName:()Lsun/jvm/hotspot/oops/Symbol;
invokevirtual sun.jvm.hotspot.oops.Symbol.asString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
27: aload 4
invokestatic sun.jvm.hotspot.oops.OopUtilities.abstractOwnableSynchronizerGetOwnerThread:(Lsun/jvm/hotspot/oops/Oop;)Lsun/jvm/hotspot/oops/Oop;
astore 6
start local 6 28: aload 6
invokestatic sun.jvm.hotspot.oops.OopUtilities.threadOopGetJavaThread:(Lsun/jvm/hotspot/oops/Oop;)Lsun/jvm/hotspot/runtime/JavaThread;
astore 5
29: aload 0
ldc ",\n which is held by"
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
30: aload 0
new java.lang.StringBuilder
dup
ldc " \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual sun.jvm.hotspot.runtime.JavaThread.getThreadName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
end local 6 31: StackMap locals:
StackMap stack:
aload 5
aload 1
invokevirtual sun.jvm.hotspot.runtime.JavaThread.equals:(Ljava/lang/Object;)Z
ifeq 5
32: aload 0
invokevirtual java.io.PrintStream.println:()V
33: aload 0
invokevirtual java.io.PrintStream.println:()V
34: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 tty Ljava/io/PrintStream;
0 35 1 thread Lsun/jvm/hotspot/runtime/JavaThread;
0 35 2 concurrentLocks Z
3 35 3 waitingToLockMonitor Lsun/jvm/hotspot/runtime/ObjectMonitor;
4 35 4 waitingToLockBlocker Lsun/jvm/hotspot/oops/Oop;
5 35 5 currentThread Lsun/jvm/hotspot/runtime/JavaThread;
11 21 6 obj Lsun/jvm/hotspot/debugger/OopHandle;
12 21 7 oop Lsun/jvm/hotspot/oops/Oop;
28 31 6 threadOop Lsun/jvm/hotspot/oops/Oop;
MethodParameters:
Name Flags
tty
thread
concurrentLocks
}
SourceFile: "DeadlockDetector.java"
InnerClasses:
public abstract Entry = java.util.Map$Entry of java.util.Map