public class sun.jvm.hotspot.ui.MonitorCacheDumpPanel extends javax.swing.JPanel
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.jvm.hotspot.ui.MonitorCacheDumpPanel
super_class: javax.swing.JPanel
{
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
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: 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.ui.MonitorCacheDumpPanel.threads:Lsun/jvm/hotspot/runtime/Threads;
1: 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.ui.MonitorCacheDumpPanel.heap:Lsun/jvm/hotspot/oops/ObjectHeap;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=1
start local 0 0: aload 0
invokespecial javax.swing.JPanel.<init>:()V
1: aload 0
new java.awt.BorderLayout
dup
invokespecial java.awt.BorderLayout.<init>:()V
invokevirtual sun.jvm.hotspot.ui.MonitorCacheDumpPanel.setLayout:(Ljava/awt/LayoutManager;)V
2: new javax.swing.JScrollPane
dup
invokespecial javax.swing.JScrollPane.<init>:()V
astore 1
start local 1 3: new javax.swing.JTextArea
dup
invokespecial javax.swing.JTextArea.<init>:()V
astore 2
start local 2 4: new javax.swing.JTextArea
dup
invokespecial javax.swing.JTextArea.<init>:()V
astore 2
5: aload 2
iconst_0
invokevirtual javax.swing.JTextArea.setEditable:(Z)V
6: aload 2
iconst_1
invokevirtual javax.swing.JTextArea.setLineWrap:(Z)V
7: aload 2
iconst_1
invokevirtual javax.swing.JTextArea.setWrapStyleWord:(Z)V
8: aload 1
invokevirtual javax.swing.JScrollPane.getViewport:()Ljavax/swing/JViewport;
aload 2
invokevirtual javax.swing.JViewport.add:(Ljava/awt/Component;)Ljava/awt/Component;
pop
9: aload 0
aload 1
ldc "Center"
invokevirtual sun.jvm.hotspot.ui.MonitorCacheDumpPanel.add:(Ljava/awt/Component;Ljava/lang/Object;)V
10: new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 3
start local 3 11: new java.io.PrintStream
dup
aload 3
invokespecial java.io.PrintStream.<init>:(Ljava/io/OutputStream;)V
astore 4
start local 4 12: aload 4
ldc "Monitor Cache Dump (not including JVMTI raw monitors):"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
13: aload 4
invokevirtual java.io.PrintStream.println:()V
14: aload 0
aload 4
invokevirtual sun.jvm.hotspot.ui.MonitorCacheDumpPanel.dumpOn:(Ljava/io/PrintStream;)V
15: aload 2
aload 3
invokevirtual java.io.ByteArrayOutputStream.toString:()Ljava/lang/String;
invokevirtual javax.swing.JTextArea.setText:(Ljava/lang/String;)V
16: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lsun/jvm/hotspot/ui/MonitorCacheDumpPanel;
3 17 1 scroller Ljavax/swing/JScrollPane;
4 17 2 textArea Ljavax/swing/JTextArea;
11 17 3 bos Ljava/io/ByteArrayOutputStream;
12 17 4 tty Ljava/io/PrintStream;
private static void dumpMonitor(java.io.PrintStream, sun.jvm.hotspot.runtime.ObjectMonitor, boolean);
descriptor: (Ljava/io/PrintStream;Lsun/jvm/hotspot/runtime/ObjectMonitor;Z)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
new java.lang.StringBuilder
dup
ldc "ObjectMonitor@"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
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
1: iload 2
ifeq 2
aload 0
ldc "(Raw Monitor)"
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.io.PrintStream.println:()V
3: aload 0
new java.lang.StringBuilder
dup
ldc " _header: 0x"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual sun.jvm.hotspot.runtime.ObjectMonitor.header:()Lsun/jvm/hotspot/oops/Mark;
invokevirtual sun.jvm.hotspot.oops.Mark.value:()J
invokestatic java.lang.Long.toHexString:(J)Ljava/lang/String;
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
4: aload 1
invokevirtual sun.jvm.hotspot.runtime.ObjectMonitor.object:()Lsun/jvm/hotspot/debugger/OopHandle;
astore 3
start local 3 5: getstatic sun.jvm.hotspot.ui.MonitorCacheDumpPanel.heap:Lsun/jvm/hotspot/oops/ObjectHeap;
aload 3
invokevirtual sun.jvm.hotspot.oops.ObjectHeap.newOop:(Lsun/jvm/hotspot/debugger/OopHandle;)Lsun/jvm/hotspot/oops/Oop;
astore 4
start local 4 6: aload 0
new java.lang.StringBuilder
dup
ldc " _object: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ", a "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
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;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
7: aload 1
invokevirtual sun.jvm.hotspot.runtime.ObjectMonitor.owner:()Lsun/jvm/hotspot/debugger/Address;
astore 5
start local 5 8: aload 0
new java.lang.StringBuilder
dup
ldc " _owner: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
9: iload 2
ifne 18
aload 5
ifnull 18
10: getstatic sun.jvm.hotspot.ui.MonitorCacheDumpPanel.threads:Lsun/jvm/hotspot/runtime/Threads;
aload 1
invokevirtual sun.jvm.hotspot.runtime.Threads.owningThreadFromMonitor:(Lsun/jvm/hotspot/runtime/ObjectMonitor;)Lsun/jvm/hotspot/runtime/JavaThread;
astore 6
start local 6 11: aload 6
ifnull 18
12: aload 0
new java.lang.StringBuilder
dup
ldc " owning thread: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual sun.jvm.hotspot.runtime.JavaThread.getThreadName:()Ljava/lang/String;
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
13: aload 6
invokevirtual sun.jvm.hotspot.runtime.JavaThread.getAddress:()Lsun/jvm/hotspot/debugger/Address;
aload 5
invokeinterface sun.jvm.hotspot.debugger.Address.equals:(Ljava/lang/Object;)Z
ifne 18
14: aload 6
aload 5
invokevirtual sun.jvm.hotspot.runtime.JavaThread.isLockOwned:(Lsun/jvm/hotspot/debugger/Address;)Z
ifne 18
15: aload 0
new java.lang.StringBuilder
dup
ldc " WARNING! _owner doesn't fall in "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
16: ldc "'s stack space"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
17: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 6 18: StackMap locals: sun.jvm.hotspot.debugger.OopHandle sun.jvm.hotspot.oops.Oop sun.jvm.hotspot.debugger.Address
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
ldc " _count: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual sun.jvm.hotspot.runtime.ObjectMonitor.count:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
19: aload 0
new java.lang.StringBuilder
dup
ldc " _waiters: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual sun.jvm.hotspot.runtime.ObjectMonitor.waiters:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
20: aload 0
new java.lang.StringBuilder
dup
ldc " _recursions: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual sun.jvm.hotspot.runtime.ObjectMonitor.recursions:()J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
21: 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 22 0 tty Ljava/io/PrintStream;
0 22 1 mon Lsun/jvm/hotspot/runtime/ObjectMonitor;
0 22 2 raw Z
5 22 3 obj Lsun/jvm/hotspot/debugger/OopHandle;
6 22 4 oop Lsun/jvm/hotspot/oops/Oop;
8 22 5 owner Lsun/jvm/hotspot/debugger/Address;
11 18 6 thread Lsun/jvm/hotspot/runtime/JavaThread;
MethodParameters:
Name Flags
tty
mon
raw
private void dumpOn(java.io.PrintStream);
descriptor: (Ljava/io/PrintStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: invokestatic sun.jvm.hotspot.runtime.ObjectSynchronizer.objectMonitorIterator:()Ljava/util/Iterator;
astore 2
start local 2 1: aload 2
ifnonnull 12
2: aload 1
ldc "This version of HotSpot VM doesn't support monitor cache dump."
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
3: aload 1
ldc "You need 1.4.0_04, 1.4.1_01 or later versions"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
4: return
5: StackMap locals: java.util.Iterator
StackMap stack:
aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.jvm.hotspot.runtime.ObjectMonitor
astore 3
start local 3 6: aload 3
invokevirtual sun.jvm.hotspot.runtime.ObjectMonitor.count:()I
ifne 7
aload 3
invokevirtual sun.jvm.hotspot.runtime.ObjectMonitor.waiters:()I
ifne 7
aload 3
invokevirtual sun.jvm.hotspot.runtime.ObjectMonitor.owner:()Lsun/jvm/hotspot/debugger/Address;
ifnull 12
7: StackMap locals: sun.jvm.hotspot.runtime.ObjectMonitor
StackMap stack:
aload 3
invokevirtual sun.jvm.hotspot.runtime.ObjectMonitor.object:()Lsun/jvm/hotspot/debugger/OopHandle;
astore 4
start local 4 8: aload 4
ifnonnull 11
9: aload 1
aload 3
iconst_1
invokestatic sun.jvm.hotspot.ui.MonitorCacheDumpPanel.dumpMonitor:(Ljava/io/PrintStream;Lsun/jvm/hotspot/runtime/ObjectMonitor;Z)V
10: goto 12
11: StackMap locals: sun.jvm.hotspot.debugger.OopHandle
StackMap stack:
aload 1
aload 3
iconst_0
invokestatic sun.jvm.hotspot.ui.MonitorCacheDumpPanel.dumpMonitor:(Ljava/io/PrintStream;Lsun/jvm/hotspot/runtime/ObjectMonitor;Z)V
end local 4 end local 3 12: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
13: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lsun/jvm/hotspot/ui/MonitorCacheDumpPanel;
0 14 1 tty Ljava/io/PrintStream;
1 14 2 i Ljava/util/Iterator;
6 12 3 mon Lsun/jvm/hotspot/runtime/ObjectMonitor;
8 12 4 object Lsun/jvm/hotspot/debugger/OopHandle;
MethodParameters:
Name Flags
tty
}
SourceFile: "MonitorCacheDumpPanel.java"