class sun.jvm.hotspot.ui.Inspector$4 implements java.awt.event.ActionListener
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.jvm.hotspot.ui.Inspector$4
super_class: java.lang.Object
{
final sun.jvm.hotspot.ui.Inspector this$0;
descriptor: Lsun/jvm/hotspot/ui/Inspector;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(sun.jvm.hotspot.ui.Inspector);
descriptor: (Lsun/jvm/hotspot/ui/Inspector;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 // sun.jvm.hotspot.ui.Inspector$4 this
0: .line 116
aload 0 /* this */
aload 1
putfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // sun.jvm.hotspot.ui.Inspector$4 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/ui/Inspector$4;
MethodParameters:
Name Flags
this$0 final
public void actionPerformed(java.awt.event.ActionEvent);
descriptor: (Ljava/awt/event/ActionEvent;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=10, args_size=2
start local 0 // sun.jvm.hotspot.ui.Inspector$4 this
start local 1 // java.awt.event.ActionEvent e
0: .line 118
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
getfield sun.jvm.hotspot.ui.Inspector.addressField:Lsun/jvm/hotspot/ui/HistoryComboBox;
invokevirtual sun.jvm.hotspot.ui.HistoryComboBox.getText:()Ljava/lang/String;
astore 2 /* text */
start local 2 // java.lang.String text
1: .line 120
invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
invokevirtual sun.jvm.hotspot.runtime.VM.getDebugger:()Lsun/jvm/hotspot/debugger/JVMDebugger;
aload 2 /* text */
invokeinterface sun.jvm.hotspot.debugger.JVMDebugger.parseAddress:(Ljava/lang/String;)Lsun/jvm/hotspot/debugger/Address;
astore 3 /* a */
start local 3 // sun.jvm.hotspot.debugger.Address a
2: .line 121
sipush 1000
istore 4 /* max_searches */
start local 4 // int max_searches
3: .line 122
iconst_0
istore 5 /* searches */
start local 5 // int searches
4: .line 123
iconst_0
istore 6 /* offset */
start local 6 // int offset
5: .line 124
aconst_null
astore 7 /* oop */
start local 7 // sun.jvm.hotspot.oops.Oop oop
6: .line 125
aload 3 /* a */
ifnull 20
7: .line 126
aload 3 /* a */
lconst_0
invokeinterface sun.jvm.hotspot.debugger.Address.addOffsetToAsOopHandle:(J)Lsun/jvm/hotspot/debugger/OopHandle;
astore 8 /* handle */
start local 8 // sun.jvm.hotspot.debugger.OopHandle handle
8: .line 127
goto 19
9: .line 128
StackMap locals: sun.jvm.hotspot.ui.Inspector$4 java.awt.event.ActionEvent java.lang.String sun.jvm.hotspot.debugger.Address int int int sun.jvm.hotspot.oops.Oop sun.jvm.hotspot.debugger.OopHandle
StackMap stack:
iinc 5 /* searches */ 1
10: .line 129
aload 8 /* handle */
invokestatic sun.jvm.hotspot.utilities.RobustOopDeterminator.oopLooksValid:(Lsun/jvm/hotspot/debugger/OopHandle;)Z
ifeq 17
11: .line 131
invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
invokevirtual sun.jvm.hotspot.runtime.VM.getObjectHeap:()Lsun/jvm/hotspot/oops/ObjectHeap;
aload 8 /* handle */
invokevirtual sun.jvm.hotspot.oops.ObjectHeap.newOop:(Lsun/jvm/hotspot/debugger/OopHandle;)Lsun/jvm/hotspot/oops/Oop;
astore 7 /* oop */
12: .line 132
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
getfield sun.jvm.hotspot.ui.Inspector.addressField:Lsun/jvm/hotspot/ui/HistoryComboBox;
aload 8 /* handle */
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual sun.jvm.hotspot.ui.HistoryComboBox.setText:(Ljava/lang/String;)V
13: .line 133
goto 20
14: .line 134
StackMap locals:
StackMap stack: sun.jvm.hotspot.oops.UnknownOopException
pop
goto 17
15: .line 136
StackMap locals:
StackMap stack: java.lang.RuntimeException
astore 9 /* ex */
start local 9 // java.lang.RuntimeException ex
16: .line 137
aload 9 /* ex */
invokevirtual java.lang.RuntimeException.printStackTrace:()V
end local 9 // java.lang.RuntimeException ex
17: .line 140
StackMap locals:
StackMap stack:
iinc 6 /* offset */ -4
18: .line 141
aload 3 /* a */
iload 6 /* offset */
i2l
invokeinterface sun.jvm.hotspot.debugger.Address.addOffsetToAsOopHandle:(J)Lsun/jvm/hotspot/debugger/OopHandle;
astore 8 /* handle */
19: .line 127
StackMap locals:
StackMap stack:
iload 5 /* searches */
iload 4 /* max_searches */
if_icmplt 9
end local 8 // sun.jvm.hotspot.debugger.OopHandle handle
20: .line 144
StackMap locals:
StackMap stack:
aload 7 /* oop */
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
getfield sun.jvm.hotspot.ui.Inspector.currentOop:Lsun/jvm/hotspot/oops/Oop;
if_acmpeq 28
21: .line 145
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
aload 7 /* oop */
putfield sun.jvm.hotspot.ui.Inspector.currentOop:Lsun/jvm/hotspot/oops/Oop;
22: .line 146
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
getfield sun.jvm.hotspot.ui.Inspector.liveStatus:Ljavax/swing/JLabel;
ldc ""
invokevirtual javax.swing.JLabel.setText:(Ljava/lang/String;)V
23: .line 147
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
aconst_null
putfield sun.jvm.hotspot.ui.Inspector.list:Lsun/jvm/hotspot/utilities/LivenessPathList;
24: .line 148
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
getfield sun.jvm.hotspot.ui.Inspector.livenessButton:Ljavax/swing/JButton;
invokevirtual javax.swing.JButton.getText:()Ljava/lang/String;
ldc "Show Liveness"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 28
25: .line 149
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
getfield sun.jvm.hotspot.ui.Inspector.livenessButton:Ljavax/swing/JButton;
ldc "Compute Liveness"
invokevirtual javax.swing.JButton.setText:(Ljava/lang/String;)V
26: .line 150
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
getfield sun.jvm.hotspot.ui.Inspector.livenessButton:Ljavax/swing/JButton;
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
getfield sun.jvm.hotspot.ui.Inspector.showLivenessListener:Ljava/awt/event/ActionListener;
invokevirtual javax.swing.JButton.removeActionListener:(Ljava/awt/event/ActionListener;)V
27: .line 151
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
getfield sun.jvm.hotspot.ui.Inspector.livenessButton:Ljavax/swing/JButton;
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
getfield sun.jvm.hotspot.ui.Inspector.livenessButtonListener:Ljava/awt/event/ActionListener;
invokevirtual javax.swing.JButton.addActionListener:(Ljava/awt/event/ActionListener;)V
28: .line 155
StackMap locals:
StackMap stack:
aload 7 /* oop */
ifnull 32
29: .line 156
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
getfield sun.jvm.hotspot.ui.Inspector.statusLabel:Ljavax/swing/JLabel;
ldc ""
invokevirtual javax.swing.JLabel.setText:(Ljava/lang/String;)V
30: .line 157
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
new sun.jvm.hotspot.ui.tree.OopTreeNodeAdapter
dup
aload 7 /* oop */
aconst_null
invokespecial sun.jvm.hotspot.ui.tree.OopTreeNodeAdapter.<init>:(Lsun/jvm/hotspot/oops/Oop;Lsun/jvm/hotspot/oops/FieldIdentifier;)V
invokevirtual sun.jvm.hotspot.ui.Inspector.setRoot:(Lsun/jvm/hotspot/ui/tree/SimpleTreeNode;)V
31: .line 158
return
32: .line 162
StackMap locals:
StackMap stack:
invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
invokevirtual sun.jvm.hotspot.runtime.VM.getTypeDataBase:()Lsun/jvm/hotspot/types/TypeDataBase;
aload 3 /* a */
invokeinterface sun.jvm.hotspot.types.TypeDataBase.guessTypeForAddress:(Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/types/Type;
astore 8 /* t */
start local 8 // sun.jvm.hotspot.types.Type t
33: .line 163
aload 8 /* t */
ifnull 37
34: .line 164
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
getfield sun.jvm.hotspot.ui.Inspector.statusLabel:Ljavax/swing/JLabel;
ldc ""
invokevirtual javax.swing.JLabel.setText:(Ljava/lang/String;)V
35: .line 165
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
new sun.jvm.hotspot.ui.tree.CTypeTreeNodeAdapter
dup
aload 3 /* a */
aload 8 /* t */
aconst_null
invokespecial sun.jvm.hotspot.ui.tree.CTypeTreeNodeAdapter.<init>:(Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/types/Type;Lsun/jvm/hotspot/oops/FieldIdentifier;)V
invokevirtual sun.jvm.hotspot.ui.Inspector.setRoot:(Lsun/jvm/hotspot/ui/tree/SimpleTreeNode;)V
36: .line 166
return
37: .line 169
StackMap locals: sun.jvm.hotspot.types.Type
StackMap stack:
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
getfield sun.jvm.hotspot.ui.Inspector.statusLabel:Ljavax/swing/JLabel;
new java.lang.StringBuilder
dup
ldc "<bad oop or unknown C++ object "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2 /* text */
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 javax.swing.JLabel.setText:(Ljava/lang/String;)V
end local 8 // sun.jvm.hotspot.types.Type t
end local 7 // sun.jvm.hotspot.oops.Oop oop
end local 6 // int offset
end local 5 // int searches
end local 4 // int max_searches
end local 3 // sun.jvm.hotspot.debugger.Address a
38: .line 170
goto 120
39: .line 171
StackMap locals: sun.jvm.hotspot.ui.Inspector$4 java.awt.event.ActionEvent java.lang.String
StackMap stack: java.lang.NumberFormatException
pop
40: .line 172
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
aconst_null
putfield sun.jvm.hotspot.ui.Inspector.currentOop:Lsun/jvm/hotspot/oops/Oop;
41: .line 173
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
getfield sun.jvm.hotspot.ui.Inspector.liveStatus:Ljavax/swing/JLabel;
ldc ""
invokevirtual javax.swing.JLabel.setText:(Ljava/lang/String;)V
42: .line 174
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
aconst_null
putfield sun.jvm.hotspot.ui.Inspector.list:Lsun/jvm/hotspot/utilities/LivenessPathList;
43: .line 175
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
getfield sun.jvm.hotspot.ui.Inspector.livenessButton:Ljavax/swing/JButton;
invokevirtual javax.swing.JButton.getText:()Ljava/lang/String;
ldc "Show Liveness"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 47
44: .line 176
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
getfield sun.jvm.hotspot.ui.Inspector.livenessButton:Ljavax/swing/JButton;
ldc "Compute Liveness"
invokevirtual javax.swing.JButton.setText:(Ljava/lang/String;)V
45: .line 177
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
getfield sun.jvm.hotspot.ui.Inspector.livenessButton:Ljavax/swing/JButton;
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
getfield sun.jvm.hotspot.ui.Inspector.showLivenessListener:Ljava/awt/event/ActionListener;
invokevirtual javax.swing.JButton.removeActionListener:(Ljava/awt/event/ActionListener;)V
46: .line 178
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
getfield sun.jvm.hotspot.ui.Inspector.livenessButton:Ljavax/swing/JButton;
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
getfield sun.jvm.hotspot.ui.Inspector.livenessButtonListener:Ljava/awt/event/ActionListener;
invokevirtual javax.swing.JButton.addActionListener:(Ljava/awt/event/ActionListener;)V
47: .line 181
StackMap locals:
StackMap stack:
aload 2 /* text */
invokestatic sun.jvm.hotspot.utilities.CPPExpressions.parseCast:(Ljava/lang/String;)Lsun/jvm/hotspot/utilities/CPPExpressions$CastExpr;
astore 3 /* cast */
start local 3 // sun.jvm.hotspot.utilities.CPPExpressions$CastExpr cast
48: .line 182
aload 3 /* cast */
ifnull 61
49: .line 183
invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
invokevirtual sun.jvm.hotspot.runtime.VM.getTypeDataBase:()Lsun/jvm/hotspot/types/TypeDataBase;
astore 4 /* db */
start local 4 // sun.jvm.hotspot.types.TypeDataBase db
50: .line 184
aload 4 /* db */
aload 3 /* cast */
invokevirtual sun.jvm.hotspot.utilities.CPPExpressions$CastExpr.getType:()Ljava/lang/String;
invokeinterface sun.jvm.hotspot.types.TypeDataBase.lookupType:(Ljava/lang/String;)Lsun/jvm/hotspot/types/Type;
astore 5 /* t */
start local 5 // sun.jvm.hotspot.types.Type t
51: .line 185
aload 5 /* t */
ifnonnull 54
52: .line 186
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
getfield sun.jvm.hotspot.ui.Inspector.statusLabel:Ljavax/swing/JLabel;
new java.lang.StringBuilder
dup
ldc "<unknown C++ type \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3 /* cast */
invokevirtual sun.jvm.hotspot.utilities.CPPExpressions$CastExpr.getType:()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 javax.swing.JLabel.setText:(Ljava/lang/String;)V
53: .line 187
goto 60
54: .line 189
StackMap locals: sun.jvm.hotspot.utilities.CPPExpressions$CastExpr sun.jvm.hotspot.types.TypeDataBase sun.jvm.hotspot.types.Type
StackMap stack:
invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
invokevirtual sun.jvm.hotspot.runtime.VM.getDebugger:()Lsun/jvm/hotspot/debugger/JVMDebugger;
aload 3 /* cast */
invokevirtual sun.jvm.hotspot.utilities.CPPExpressions$CastExpr.getAddress:()Ljava/lang/String;
invokeinterface sun.jvm.hotspot.debugger.JVMDebugger.parseAddress:(Ljava/lang/String;)Lsun/jvm/hotspot/debugger/Address;
astore 6 /* a */
start local 6 // sun.jvm.hotspot.debugger.Address a
55: .line 190
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
getfield sun.jvm.hotspot.ui.Inspector.statusLabel:Ljavax/swing/JLabel;
ldc ""
invokevirtual javax.swing.JLabel.setText:(Ljava/lang/String;)V
56: .line 191
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
new sun.jvm.hotspot.ui.tree.CTypeTreeNodeAdapter
dup
aload 6 /* a */
aload 5 /* t */
aconst_null
invokespecial sun.jvm.hotspot.ui.tree.CTypeTreeNodeAdapter.<init>:(Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/types/Type;Lsun/jvm/hotspot/oops/FieldIdentifier;)V
invokevirtual sun.jvm.hotspot.ui.Inspector.setRoot:(Lsun/jvm/hotspot/ui/tree/SimpleTreeNode;)V
end local 6 // sun.jvm.hotspot.debugger.Address a
57: .line 192
goto 60
StackMap locals:
StackMap stack: java.lang.NumberFormatException
58: pop
59: .line 193
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
getfield sun.jvm.hotspot.ui.Inspector.statusLabel:Ljavax/swing/JLabel;
new java.lang.StringBuilder
dup
ldc "<bad address "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3 /* cast */
invokevirtual sun.jvm.hotspot.utilities.CPPExpressions$CastExpr.getAddress:()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 javax.swing.JLabel.setText:(Ljava/lang/String;)V
60: .line 196
StackMap locals:
StackMap stack:
return
end local 5 // sun.jvm.hotspot.types.Type t
end local 4 // sun.jvm.hotspot.types.TypeDataBase db
61: .line 198
StackMap locals:
StackMap stack:
aload 2 /* text */
invokestatic sun.jvm.hotspot.utilities.CPPExpressions.parseStaticField:(Ljava/lang/String;)Lsun/jvm/hotspot/utilities/CPPExpressions$StaticFieldExpr;
astore 4 /* stat */
start local 4 // sun.jvm.hotspot.utilities.CPPExpressions$StaticFieldExpr stat
62: .line 199
aload 4 /* stat */
ifnull 97
63: .line 200
invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
invokevirtual sun.jvm.hotspot.runtime.VM.getTypeDataBase:()Lsun/jvm/hotspot/types/TypeDataBase;
astore 5 /* db */
start local 5 // sun.jvm.hotspot.types.TypeDataBase db
64: .line 201
aload 5 /* db */
aload 4 /* stat */
invokevirtual sun.jvm.hotspot.utilities.CPPExpressions$StaticFieldExpr.getContainingType:()Ljava/lang/String;
invokeinterface sun.jvm.hotspot.types.TypeDataBase.lookupType:(Ljava/lang/String;)Lsun/jvm/hotspot/types/Type;
astore 6 /* t */
start local 6 // sun.jvm.hotspot.types.Type t
65: .line 202
aload 6 /* t */
ifnonnull 68
66: .line 203
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
getfield sun.jvm.hotspot.ui.Inspector.statusLabel:Ljavax/swing/JLabel;
new java.lang.StringBuilder
dup
ldc "<unknown C++ type \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4 /* stat */
invokevirtual sun.jvm.hotspot.utilities.CPPExpressions$StaticFieldExpr.getContainingType:()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 javax.swing.JLabel.setText:(Ljava/lang/String;)V
67: .line 204
goto 96
68: .line 205
StackMap locals: sun.jvm.hotspot.utilities.CPPExpressions$StaticFieldExpr sun.jvm.hotspot.types.TypeDataBase sun.jvm.hotspot.types.Type
StackMap stack:
aload 6 /* t */
aload 4 /* stat */
invokevirtual sun.jvm.hotspot.utilities.CPPExpressions$StaticFieldExpr.getFieldName:()Ljava/lang/String;
iconst_1
iconst_0
invokeinterface sun.jvm.hotspot.types.Type.getField:(Ljava/lang/String;ZZ)Lsun/jvm/hotspot/types/Field;
astore 7 /* f */
start local 7 // sun.jvm.hotspot.types.Field f
69: .line 206
aload 7 /* f */
ifnonnull 74
70: .line 207
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
getfield sun.jvm.hotspot.ui.Inspector.statusLabel:Ljavax/swing/JLabel;
new java.lang.StringBuilder
dup
ldc "<unknown field \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4 /* stat */
invokevirtual sun.jvm.hotspot.utilities.CPPExpressions$StaticFieldExpr.getFieldName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\" in type \""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
71: .line 208
aload 4 /* stat */
invokevirtual sun.jvm.hotspot.utilities.CPPExpressions$StaticFieldExpr.getContainingType:()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;
72: .line 207
invokevirtual javax.swing.JLabel.setText:(Ljava/lang/String;)V
73: .line 209
goto 96
StackMap locals: sun.jvm.hotspot.types.Field
StackMap stack:
74: aload 7 /* f */
invokeinterface sun.jvm.hotspot.types.Field.isStatic:()Z
ifne 79
75: .line 210
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
getfield sun.jvm.hotspot.ui.Inspector.statusLabel:Ljavax/swing/JLabel;
new java.lang.StringBuilder
dup
ldc "<field \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4 /* stat */
invokevirtual sun.jvm.hotspot.utilities.CPPExpressions$StaticFieldExpr.getContainingType:()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;
76: .line 211
aload 4 /* stat */
invokevirtual sun.jvm.hotspot.utilities.CPPExpressions$StaticFieldExpr.getFieldName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\" was not static>"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
77: .line 210
invokevirtual javax.swing.JLabel.setText:(Ljava/lang/String;)V
78: .line 212
goto 96
79: .line 213
StackMap locals:
StackMap stack:
aload 7 /* f */
invokeinterface sun.jvm.hotspot.types.Field.getType:()Lsun/jvm/hotspot/types/Type;
astore 8 /* fieldType */
start local 8 // sun.jvm.hotspot.types.Type fieldType
80: .line 214
aload 8 /* fieldType */
invokeinterface sun.jvm.hotspot.types.Type.isPointerType:()Z
ifeq 91
81: .line 215
aload 8 /* fieldType */
checkcast sun.jvm.hotspot.types.PointerType
invokeinterface sun.jvm.hotspot.types.PointerType.getTargetType:()Lsun/jvm/hotspot/types/Type;
astore 8 /* fieldType */
82: .line 218
aload 5 /* db */
aload 7 /* f */
invokeinterface sun.jvm.hotspot.types.Field.getAddress:()Lsun/jvm/hotspot/debugger/Address;
invokeinterface sun.jvm.hotspot.types.TypeDataBase.guessTypeForAddress:(Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/types/Type;
astore 9 /* typeGuess */
start local 9 // sun.jvm.hotspot.types.Type typeGuess
83: .line 219
aload 9 /* typeGuess */
ifnull 85
84: .line 220
aload 9 /* typeGuess */
astore 8 /* fieldType */
85: .line 223
StackMap locals: sun.jvm.hotspot.types.Type sun.jvm.hotspot.types.Type
StackMap stack:
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
getfield sun.jvm.hotspot.ui.Inspector.statusLabel:Ljavax/swing/JLabel;
ldc ""
invokevirtual javax.swing.JLabel.setText:(Ljava/lang/String;)V
86: .line 224
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
new sun.jvm.hotspot.ui.tree.CTypeTreeNodeAdapter
dup
aload 7 /* f */
invokeinterface sun.jvm.hotspot.types.Field.getAddress:()Lsun/jvm/hotspot/debugger/Address;
87: .line 225
aload 8 /* fieldType */
88: .line 226
new sun.jvm.hotspot.oops.NamedFieldIdentifier
dup
aload 2 /* text */
invokespecial sun.jvm.hotspot.oops.NamedFieldIdentifier.<init>:(Ljava/lang/String;)V
invokespecial sun.jvm.hotspot.ui.tree.CTypeTreeNodeAdapter.<init>:(Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/types/Type;Lsun/jvm/hotspot/oops/FieldIdentifier;)V
89: .line 224
invokevirtual sun.jvm.hotspot.ui.Inspector.setRoot:(Lsun/jvm/hotspot/ui/tree/SimpleTreeNode;)V
end local 9 // sun.jvm.hotspot.types.Type typeGuess
90: .line 227
goto 96
91: .line 228
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
getfield sun.jvm.hotspot.ui.Inspector.statusLabel:Ljavax/swing/JLabel;
ldc ""
invokevirtual javax.swing.JLabel.setText:(Ljava/lang/String;)V
92: .line 229
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
new sun.jvm.hotspot.ui.tree.CTypeTreeNodeAdapter
dup
aload 7 /* f */
invokeinterface sun.jvm.hotspot.types.Field.getStaticFieldAddress:()Lsun/jvm/hotspot/debugger/Address;
93: .line 230
aload 7 /* f */
invokeinterface sun.jvm.hotspot.types.Field.getType:()Lsun/jvm/hotspot/types/Type;
94: .line 231
new sun.jvm.hotspot.oops.NamedFieldIdentifier
dup
aload 2 /* text */
invokespecial sun.jvm.hotspot.oops.NamedFieldIdentifier.<init>:(Ljava/lang/String;)V
invokespecial sun.jvm.hotspot.ui.tree.CTypeTreeNodeAdapter.<init>:(Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/types/Type;Lsun/jvm/hotspot/oops/FieldIdentifier;)V
95: .line 229
invokevirtual sun.jvm.hotspot.ui.Inspector.setRoot:(Lsun/jvm/hotspot/ui/tree/SimpleTreeNode;)V
end local 8 // sun.jvm.hotspot.types.Type fieldType
end local 7 // sun.jvm.hotspot.types.Field f
96: .line 235
StackMap locals:
StackMap stack:
return
end local 6 // sun.jvm.hotspot.types.Type t
end local 5 // sun.jvm.hotspot.types.TypeDataBase db
97: .line 238
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
getfield sun.jvm.hotspot.ui.Inspector.statusLabel:Ljavax/swing/JLabel;
ldc "<parse error>"
invokevirtual javax.swing.JLabel.setText:(Ljava/lang/String;)V
end local 4 // sun.jvm.hotspot.utilities.CPPExpressions$StaticFieldExpr stat
end local 3 // sun.jvm.hotspot.utilities.CPPExpressions$CastExpr cast
98: goto 120
99: .line 240
StackMap locals: sun.jvm.hotspot.ui.Inspector$4 java.awt.event.ActionEvent java.lang.String
StackMap stack: sun.jvm.hotspot.debugger.AddressException
astore 3 /* ex */
start local 3 // sun.jvm.hotspot.debugger.AddressException ex
100: .line 241
aload 3 /* ex */
invokevirtual sun.jvm.hotspot.debugger.AddressException.printStackTrace:()V
101: .line 242
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
aconst_null
putfield sun.jvm.hotspot.ui.Inspector.currentOop:Lsun/jvm/hotspot/oops/Oop;
102: .line 243
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
getfield sun.jvm.hotspot.ui.Inspector.liveStatus:Ljavax/swing/JLabel;
ldc ""
invokevirtual javax.swing.JLabel.setText:(Ljava/lang/String;)V
103: .line 244
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
aconst_null
putfield sun.jvm.hotspot.ui.Inspector.list:Lsun/jvm/hotspot/utilities/LivenessPathList;
104: .line 245
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
getfield sun.jvm.hotspot.ui.Inspector.livenessButton:Ljavax/swing/JButton;
invokevirtual javax.swing.JButton.getText:()Ljava/lang/String;
ldc "Show Liveness"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 108
105: .line 246
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
getfield sun.jvm.hotspot.ui.Inspector.livenessButton:Ljavax/swing/JButton;
ldc "Compute Liveness"
invokevirtual javax.swing.JButton.setText:(Ljava/lang/String;)V
106: .line 247
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
getfield sun.jvm.hotspot.ui.Inspector.livenessButton:Ljavax/swing/JButton;
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
getfield sun.jvm.hotspot.ui.Inspector.showLivenessListener:Ljava/awt/event/ActionListener;
invokevirtual javax.swing.JButton.removeActionListener:(Ljava/awt/event/ActionListener;)V
107: .line 248
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
getfield sun.jvm.hotspot.ui.Inspector.livenessButton:Ljavax/swing/JButton;
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
getfield sun.jvm.hotspot.ui.Inspector.livenessButtonListener:Ljava/awt/event/ActionListener;
invokevirtual javax.swing.JButton.addActionListener:(Ljava/awt/event/ActionListener;)V
108: .line 250
StackMap locals: sun.jvm.hotspot.debugger.AddressException
StackMap stack:
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
getfield sun.jvm.hotspot.ui.Inspector.statusLabel:Ljavax/swing/JLabel;
ldc "<bad address>"
invokevirtual javax.swing.JLabel.setText:(Ljava/lang/String;)V
end local 3 // sun.jvm.hotspot.debugger.AddressException ex
109: goto 120
110: .line 252
StackMap locals: sun.jvm.hotspot.ui.Inspector$4 java.awt.event.ActionEvent java.lang.String
StackMap stack: java.lang.Exception
astore 3 /* ex */
start local 3 // java.lang.Exception ex
111: .line 253
aload 3 /* ex */
invokevirtual java.lang.Exception.printStackTrace:()V
112: .line 254
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
aconst_null
putfield sun.jvm.hotspot.ui.Inspector.currentOop:Lsun/jvm/hotspot/oops/Oop;
113: .line 255
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
getfield sun.jvm.hotspot.ui.Inspector.liveStatus:Ljavax/swing/JLabel;
ldc ""
invokevirtual javax.swing.JLabel.setText:(Ljava/lang/String;)V
114: .line 256
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
aconst_null
putfield sun.jvm.hotspot.ui.Inspector.list:Lsun/jvm/hotspot/utilities/LivenessPathList;
115: .line 257
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
getfield sun.jvm.hotspot.ui.Inspector.livenessButton:Ljavax/swing/JButton;
invokevirtual javax.swing.JButton.getText:()Ljava/lang/String;
ldc "Show Liveness"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 119
116: .line 258
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
getfield sun.jvm.hotspot.ui.Inspector.livenessButton:Ljavax/swing/JButton;
ldc "Compute Liveness"
invokevirtual javax.swing.JButton.setText:(Ljava/lang/String;)V
117: .line 259
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
getfield sun.jvm.hotspot.ui.Inspector.livenessButton:Ljavax/swing/JButton;
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
getfield sun.jvm.hotspot.ui.Inspector.showLivenessListener:Ljava/awt/event/ActionListener;
invokevirtual javax.swing.JButton.removeActionListener:(Ljava/awt/event/ActionListener;)V
118: .line 260
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
getfield sun.jvm.hotspot.ui.Inspector.livenessButton:Ljavax/swing/JButton;
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
getfield sun.jvm.hotspot.ui.Inspector.livenessButtonListener:Ljava/awt/event/ActionListener;
invokevirtual javax.swing.JButton.addActionListener:(Ljava/awt/event/ActionListener;)V
119: .line 262
StackMap locals: java.lang.Exception
StackMap stack:
aload 0 /* this */
getfield sun.jvm.hotspot.ui.Inspector$4.this$0:Lsun/jvm/hotspot/ui/Inspector;
getfield sun.jvm.hotspot.ui.Inspector.statusLabel:Ljavax/swing/JLabel;
ldc "<error constructing oop>"
invokevirtual javax.swing.JLabel.setText:(Ljava/lang/String;)V
end local 3 // java.lang.Exception ex
120: .line 264
StackMap locals:
StackMap stack:
return
end local 2 // java.lang.String text
end local 1 // java.awt.event.ActionEvent e
end local 0 // sun.jvm.hotspot.ui.Inspector$4 this
LocalVariableTable:
Start End Slot Name Signature
0 121 0 this Lsun/jvm/hotspot/ui/Inspector$4;
0 121 1 e Ljava/awt/event/ActionEvent;
1 121 2 text Ljava/lang/String;
2 38 3 a Lsun/jvm/hotspot/debugger/Address;
3 38 4 max_searches I
4 38 5 searches I
5 38 6 offset I
6 38 7 oop Lsun/jvm/hotspot/oops/Oop;
8 20 8 handle Lsun/jvm/hotspot/debugger/OopHandle;
16 17 9 ex Ljava/lang/RuntimeException;
33 38 8 t Lsun/jvm/hotspot/types/Type;
48 98 3 cast Lsun/jvm/hotspot/utilities/CPPExpressions$CastExpr;
50 61 4 db Lsun/jvm/hotspot/types/TypeDataBase;
51 61 5 t Lsun/jvm/hotspot/types/Type;
55 57 6 a Lsun/jvm/hotspot/debugger/Address;
62 98 4 stat Lsun/jvm/hotspot/utilities/CPPExpressions$StaticFieldExpr;
64 97 5 db Lsun/jvm/hotspot/types/TypeDataBase;
65 97 6 t Lsun/jvm/hotspot/types/Type;
69 96 7 f Lsun/jvm/hotspot/types/Field;
80 96 8 fieldType Lsun/jvm/hotspot/types/Type;
83 90 9 typeGuess Lsun/jvm/hotspot/types/Type;
100 109 3 ex Lsun/jvm/hotspot/debugger/AddressException;
111 120 3 ex Ljava/lang/Exception;
Exception table:
from to target type
11 13 14 Class sun.jvm.hotspot.oops.UnknownOopException
11 13 15 Class java.lang.RuntimeException
1 31 39 Class java.lang.NumberFormatException
32 36 39 Class java.lang.NumberFormatException
37 38 39 Class java.lang.NumberFormatException
54 57 58 Class java.lang.NumberFormatException
1 31 99 Class sun.jvm.hotspot.debugger.AddressException
32 36 99 Class sun.jvm.hotspot.debugger.AddressException
37 38 99 Class sun.jvm.hotspot.debugger.AddressException
1 31 110 Class java.lang.Exception
32 36 110 Class java.lang.Exception
37 38 110 Class java.lang.Exception
MethodParameters:
Name Flags
e
}
SourceFile: "Inspector.java"
EnclosingMethod: sun.jvm.hotspot.ui.Inspector.<init>:()V
NestHost: sun.jvm.hotspot.ui.Inspector
InnerClasses:
sun.jvm.hotspot.ui.Inspector$4
public CastExpr = sun.jvm.hotspot.utilities.CPPExpressions$CastExpr of sun.jvm.hotspot.utilities.CPPExpressions
public StaticFieldExpr = sun.jvm.hotspot.utilities.CPPExpressions$StaticFieldExpr of sun.jvm.hotspot.utilities.CPPExpressions