class sun.jvm.hotspot.CommandProcessor$39 extends sun.jvm.hotspot.CommandProcessor$Command
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.jvm.hotspot.CommandProcessor$39
super_class: sun.jvm.hotspot.CommandProcessor$Command
{
final sun.jvm.hotspot.CommandProcessor this$0;
descriptor: Lsun/jvm/hotspot/CommandProcessor;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(sun.jvm.hotspot.CommandProcessor, sun.jvm.hotspot.CommandProcessor, java.lang.String, java.lang.String, boolean);
descriptor: (Lsun/jvm/hotspot/CommandProcessor;Lsun/jvm/hotspot/CommandProcessor;Ljava/lang/String;Ljava/lang/String;Z)V
flags: (0x0000)
Code:
stack=5, locals=6, args_size=6
start local 0 // sun.jvm.hotspot.CommandProcessor$39 this
start local 3 // java.lang.String $anonymous0
start local 4 // java.lang.String $anonymous1
start local 5 // boolean $anonymous2
0: .line 1336
aload 0 /* this */
aload 2
putfield sun.jvm.hotspot.CommandProcessor$39.this$0:Lsun/jvm/hotspot/CommandProcessor;
aload 0 /* this */
aload 1
aload 3 /* $anonymous0 */
aload 4 /* $anonymous1 */
iload 5 /* $anonymous2 */
invokespecial sun.jvm.hotspot.CommandProcessor$Command.<init>:(Lsun/jvm/hotspot/CommandProcessor;Ljava/lang/String;Ljava/lang/String;Z)V
return
end local 5 // boolean $anonymous2
end local 4 // java.lang.String $anonymous1
end local 3 // java.lang.String $anonymous0
end local 0 // sun.jvm.hotspot.CommandProcessor$39 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/CommandProcessor$39;
0 1 3 $anonymous0 Ljava/lang/String;
0 1 4 $anonymous1 Ljava/lang/String;
0 1 5 $anonymous2 Z
MethodParameters:
Name Flags
this$0 final
this$1 final
$anonymous0
$anonymous1
$anonymous2
public void doit(sun.jvm.hotspot.CommandProcessor$Tokens);
descriptor: (Lsun/jvm/hotspot/CommandProcessor$Tokens;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=11, args_size=2
start local 0 // sun.jvm.hotspot.CommandProcessor$39 this
start local 1 // sun.jvm.hotspot.CommandProcessor$Tokens t
0: .line 1338
aload 1 /* t */
invokevirtual sun.jvm.hotspot.CommandProcessor$Tokens.countTokens:()I
iconst_1
if_icmpeq 3
aload 1 /* t */
invokevirtual sun.jvm.hotspot.CommandProcessor$Tokens.countTokens:()I
ifeq 3
aload 1 /* t */
invokevirtual sun.jvm.hotspot.CommandProcessor$Tokens.countTokens:()I
bipush 6
if_icmpeq 3
1: .line 1339
aload 0 /* this */
invokevirtual sun.jvm.hotspot.CommandProcessor$39.usage:()V
2: .line 1340
return
3: .line 1342
StackMap locals:
StackMap stack:
aload 1 /* t */
invokevirtual sun.jvm.hotspot.CommandProcessor$Tokens.countTokens:()I
bipush 6
if_icmpne 41
4: .line 1343
aload 1 /* t */
invokevirtual sun.jvm.hotspot.CommandProcessor$Tokens.nextToken:()Ljava/lang/String;
astore 2 /* typeName */
start local 2 // java.lang.String typeName
5: .line 1344
aload 1 /* t */
invokevirtual sun.jvm.hotspot.CommandProcessor$Tokens.nextToken:()Ljava/lang/String;
astore 3 /* superclassName */
start local 3 // java.lang.String superclassName
6: .line 1345
aload 3 /* superclassName */
ldc "null"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 8
7: .line 1346
aconst_null
astore 3 /* superclassName */
8: .line 1348
StackMap locals: java.lang.String java.lang.String
StackMap stack:
aload 1 /* t */
invokevirtual sun.jvm.hotspot.CommandProcessor$Tokens.nextToken:()Ljava/lang/String;
invokestatic java.lang.Boolean.valueOf:(Ljava/lang/String;)Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.booleanValue:()Z
istore 4 /* isOop */
start local 4 // boolean isOop
9: .line 1349
aload 1 /* t */
invokevirtual sun.jvm.hotspot.CommandProcessor$Tokens.nextToken:()Ljava/lang/String;
invokestatic java.lang.Boolean.valueOf:(Ljava/lang/String;)Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.booleanValue:()Z
istore 5 /* isInteger */
start local 5 // boolean isInteger
10: .line 1350
aload 1 /* t */
invokevirtual sun.jvm.hotspot.CommandProcessor$Tokens.nextToken:()Ljava/lang/String;
invokestatic java.lang.Boolean.valueOf:(Ljava/lang/String;)Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.booleanValue:()Z
istore 6 /* isUnsigned */
start local 6 // boolean isUnsigned
11: .line 1351
aload 1 /* t */
invokevirtual sun.jvm.hotspot.CommandProcessor$Tokens.nextToken:()Ljava/lang/String;
invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
lstore 7 /* size */
start local 7 // long size
12: .line 1353
aconst_null
astore 9 /* type */
start local 9 // sun.jvm.hotspot.types.basic.BasicType type
13: .line 1355
aload 0 /* this */
getfield sun.jvm.hotspot.CommandProcessor$39.this$0:Lsun/jvm/hotspot/CommandProcessor;
getfield sun.jvm.hotspot.CommandProcessor.agent:Lsun/jvm/hotspot/HotSpotAgent;
invokevirtual sun.jvm.hotspot.HotSpotAgent.getTypeDataBase:()Lsun/jvm/hotspot/types/TypeDataBase;
aload 2 /* typeName */
invokeinterface sun.jvm.hotspot.types.TypeDataBase.lookupType:(Ljava/lang/String;)Lsun/jvm/hotspot/types/Type;
checkcast sun.jvm.hotspot.types.basic.BasicType
astore 9 /* type */
14: .line 1356
goto 16
StackMap locals: sun.jvm.hotspot.CommandProcessor$39 sun.jvm.hotspot.CommandProcessor$Tokens java.lang.String java.lang.String int int int long sun.jvm.hotspot.types.basic.BasicType
StackMap stack: java.lang.RuntimeException
15: pop
16: .line 1358
StackMap locals:
StackMap stack:
aload 9 /* type */
ifnull 38
17: .line 1359
aload 9 /* type */
invokevirtual sun.jvm.hotspot.types.basic.BasicType.isOopType:()Z
iload 4 /* isOop */
if_icmpeq 19
18: .line 1360
new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "oop mismatch in type definition: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1 /* t */
getfield sun.jvm.hotspot.CommandProcessor$Tokens.input:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
19: .line 1362
StackMap locals:
StackMap stack:
aload 9 /* type */
invokevirtual sun.jvm.hotspot.types.basic.BasicType.isCIntegerType:()Z
iload 5 /* isInteger */
if_icmpeq 21
20: .line 1363
new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "integer type mismatch in type definition: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1 /* t */
getfield sun.jvm.hotspot.CommandProcessor$Tokens.input:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
21: .line 1365
StackMap locals:
StackMap stack:
aload 9 /* type */
invokevirtual sun.jvm.hotspot.types.basic.BasicType.isCIntegerType:()Z
ifeq 23
aload 9 /* type */
checkcast sun.jvm.hotspot.types.CIntegerType
invokeinterface sun.jvm.hotspot.types.CIntegerType.isUnsigned:()Z
iload 6 /* isUnsigned */
if_icmpeq 23
22: .line 1366
new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "unsigned mismatch in type definition: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1 /* t */
getfield sun.jvm.hotspot.CommandProcessor$Tokens.input:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
23: .line 1368
StackMap locals:
StackMap stack:
aload 9 /* type */
invokevirtual sun.jvm.hotspot.types.basic.BasicType.getSuperclass:()Lsun/jvm/hotspot/types/Type;
ifnonnull 29
24: .line 1369
aload 3 /* superclassName */
ifnull 33
25: .line 1370
aload 9 /* type */
invokevirtual sun.jvm.hotspot.types.basic.BasicType.getSize:()J
ldc -1
lcmp
ifne 28
26: .line 1371
aload 9 /* type */
aload 0 /* this */
getfield sun.jvm.hotspot.CommandProcessor$39.this$0:Lsun/jvm/hotspot/CommandProcessor;
getfield sun.jvm.hotspot.CommandProcessor.agent:Lsun/jvm/hotspot/HotSpotAgent;
invokevirtual sun.jvm.hotspot.HotSpotAgent.getTypeDataBase:()Lsun/jvm/hotspot/types/TypeDataBase;
aload 3 /* superclassName */
invokeinterface sun.jvm.hotspot.types.TypeDataBase.lookupType:(Ljava/lang/String;)Lsun/jvm/hotspot/types/Type;
invokevirtual sun.jvm.hotspot.types.basic.BasicType.setSuperclass:(Lsun/jvm/hotspot/types/Type;)V
27: .line 1372
goto 33
28: .line 1373
StackMap locals:
StackMap stack:
new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "unexpected superclass in type definition: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1 /* t */
getfield sun.jvm.hotspot.CommandProcessor$Tokens.input:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
29: .line 1377
StackMap locals:
StackMap stack:
aload 3 /* superclassName */
ifnonnull 31
30: .line 1378
new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "missing superclass in type definition: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1 /* t */
getfield sun.jvm.hotspot.CommandProcessor$Tokens.input:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
31: .line 1380
StackMap locals:
StackMap stack:
aload 9 /* type */
invokevirtual sun.jvm.hotspot.types.basic.BasicType.getSuperclass:()Lsun/jvm/hotspot/types/Type;
invokeinterface sun.jvm.hotspot.types.Type.getName:()Ljava/lang/String;
aload 3 /* superclassName */
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 33
32: .line 1381
new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "incorrect superclass in type definition: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1 /* t */
getfield sun.jvm.hotspot.CommandProcessor$Tokens.input:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
33: .line 1384
StackMap locals:
StackMap stack:
aload 9 /* type */
invokevirtual sun.jvm.hotspot.types.basic.BasicType.getSize:()J
lload 7 /* size */
lcmp
ifeq 37
34: .line 1385
aload 9 /* type */
invokevirtual sun.jvm.hotspot.types.basic.BasicType.getSize:()J
ldc -1
lcmp
ifne 36
35: .line 1386
aload 9 /* type */
lload 7 /* size */
invokevirtual sun.jvm.hotspot.types.basic.BasicType.setSize:(J)V
36: .line 1388
StackMap locals:
StackMap stack:
new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "size mismatch in type definition: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1 /* t */
getfield sun.jvm.hotspot.CommandProcessor$Tokens.input:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
37: .line 1390
StackMap locals:
StackMap stack:
return
38: .line 1394
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.jvm.hotspot.CommandProcessor$39.this$0:Lsun/jvm/hotspot/CommandProcessor;
getfield sun.jvm.hotspot.CommandProcessor.agent:Lsun/jvm/hotspot/HotSpotAgent;
invokevirtual sun.jvm.hotspot.HotSpotAgent.getTypeDataBase:()Lsun/jvm/hotspot/types/TypeDataBase;
checkcast sun.jvm.hotspot.HotSpotTypeDataBase
astore 10 /* db */
start local 10 // sun.jvm.hotspot.HotSpotTypeDataBase db
39: .line 1395
aload 10 /* db */
aload 2 /* typeName */
aload 3 /* superclassName */
iload 4 /* isOop */
iload 5 /* isInteger */
iload 6 /* isUnsigned */
lload 7 /* size */
invokevirtual sun.jvm.hotspot.HotSpotTypeDataBase.createType:(Ljava/lang/String;Ljava/lang/String;ZZZJ)V
end local 10 // sun.jvm.hotspot.HotSpotTypeDataBase db
end local 9 // sun.jvm.hotspot.types.basic.BasicType type
end local 7 // long size
end local 6 // boolean isUnsigned
end local 5 // boolean isInteger
end local 4 // boolean isOop
end local 3 // java.lang.String superclassName
end local 2 // java.lang.String typeName
40: .line 1396
goto 61
StackMap locals: sun.jvm.hotspot.CommandProcessor$39 sun.jvm.hotspot.CommandProcessor$Tokens
StackMap stack:
41: aload 1 /* t */
invokevirtual sun.jvm.hotspot.CommandProcessor$Tokens.countTokens:()I
iconst_1
if_icmpne 45
42: .line 1397
aload 0 /* this */
getfield sun.jvm.hotspot.CommandProcessor$39.this$0:Lsun/jvm/hotspot/CommandProcessor;
getfield sun.jvm.hotspot.CommandProcessor.agent:Lsun/jvm/hotspot/HotSpotAgent;
invokevirtual sun.jvm.hotspot.HotSpotAgent.getTypeDataBase:()Lsun/jvm/hotspot/types/TypeDataBase;
aload 1 /* t */
invokevirtual sun.jvm.hotspot.CommandProcessor$Tokens.nextToken:()Ljava/lang/String;
invokeinterface sun.jvm.hotspot.types.TypeDataBase.lookupType:(Ljava/lang/String;)Lsun/jvm/hotspot/types/Type;
astore 2 /* type */
start local 2 // sun.jvm.hotspot.types.Type type
43: .line 1398
aload 0 /* this */
getfield sun.jvm.hotspot.CommandProcessor$39.this$0:Lsun/jvm/hotspot/CommandProcessor;
aload 2 /* type */
invokevirtual sun.jvm.hotspot.CommandProcessor.dumpType:(Lsun/jvm/hotspot/types/Type;)V
end local 2 // sun.jvm.hotspot.types.Type type
44: .line 1399
goto 61
45: .line 1400
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.jvm.hotspot.CommandProcessor$39.this$0:Lsun/jvm/hotspot/CommandProcessor;
getfield sun.jvm.hotspot.CommandProcessor.agent:Lsun/jvm/hotspot/HotSpotAgent;
invokevirtual sun.jvm.hotspot.HotSpotAgent.getTypeDataBase:()Lsun/jvm/hotspot/types/TypeDataBase;
invokeinterface sun.jvm.hotspot.types.TypeDataBase.getTypes:()Ljava/util/Iterator;
astore 2 /* i */
start local 2 // java.util.Iterator i
46: .line 1402
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 3 /* emitted */
start local 3 // java.util.HashSet emitted
47: .line 1403
new java.util.Stack
dup
invokespecial java.util.Stack.<init>:()V
astore 4 /* pending */
start local 4 // java.util.Stack pending
48: .line 1404
goto 60
49: .line 1405
StackMap locals: java.util.Iterator java.util.HashSet java.util.Stack
StackMap stack:
aload 2 /* i */
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.jvm.hotspot.types.Type
astore 5 /* n */
start local 5 // sun.jvm.hotspot.types.Type n
50: .line 1406
aload 3 /* emitted */
aload 5 /* n */
invokeinterface sun.jvm.hotspot.types.Type.getName:()Ljava/lang/String;
invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
ifeq 54
51: .line 1407
goto 60
52: .line 1411
StackMap locals: sun.jvm.hotspot.types.Type
StackMap stack:
aload 4 /* pending */
aload 5 /* n */
invokevirtual java.util.Stack.push:(Ljava/lang/Object;)Ljava/lang/Object;
pop
53: .line 1412
aload 5 /* n */
invokeinterface sun.jvm.hotspot.types.Type.getSuperclass:()Lsun/jvm/hotspot/types/Type;
astore 5 /* n */
54: .line 1410
StackMap locals:
StackMap stack:
aload 5 /* n */
ifnull 59
aload 3 /* emitted */
aload 5 /* n */
invokeinterface sun.jvm.hotspot.types.Type.getName:()Ljava/lang/String;
invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
ifeq 52
55: .line 1414
goto 59
56: .line 1415
StackMap locals:
StackMap stack:
aload 4 /* pending */
invokevirtual java.util.Stack.pop:()Ljava/lang/Object;
checkcast sun.jvm.hotspot.types.Type
astore 5 /* n */
57: .line 1416
aload 0 /* this */
getfield sun.jvm.hotspot.CommandProcessor$39.this$0:Lsun/jvm/hotspot/CommandProcessor;
aload 5 /* n */
invokevirtual sun.jvm.hotspot.CommandProcessor.dumpType:(Lsun/jvm/hotspot/types/Type;)V
58: .line 1417
aload 3 /* emitted */
aload 5 /* n */
invokeinterface sun.jvm.hotspot.types.Type.getName:()Ljava/lang/String;
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
59: .line 1414
StackMap locals:
StackMap stack:
aload 4 /* pending */
invokevirtual java.util.Stack.empty:()Z
ifeq 56
end local 5 // sun.jvm.hotspot.types.Type n
60: .line 1404
StackMap locals:
StackMap stack:
aload 2 /* i */
invokeinterface java.util.Iterator.hasNext:()Z
ifne 49
end local 4 // java.util.Stack pending
end local 3 // java.util.HashSet emitted
end local 2 // java.util.Iterator i
61: .line 1421
StackMap locals:
StackMap stack:
return
end local 1 // sun.jvm.hotspot.CommandProcessor$Tokens t
end local 0 // sun.jvm.hotspot.CommandProcessor$39 this
LocalVariableTable:
Start End Slot Name Signature
0 62 0 this Lsun/jvm/hotspot/CommandProcessor$39;
0 62 1 t Lsun/jvm/hotspot/CommandProcessor$Tokens;
5 40 2 typeName Ljava/lang/String;
6 40 3 superclassName Ljava/lang/String;
9 40 4 isOop Z
10 40 5 isInteger Z
11 40 6 isUnsigned Z
12 40 7 size J
13 40 9 type Lsun/jvm/hotspot/types/basic/BasicType;
39 40 10 db Lsun/jvm/hotspot/HotSpotTypeDataBase;
43 44 2 type Lsun/jvm/hotspot/types/Type;
46 61 2 i Ljava/util/Iterator;
47 61 3 emitted Ljava/util/HashSet<Ljava/lang/String;>;
48 61 4 pending Ljava/util/Stack<Lsun/jvm/hotspot/types/Type;>;
50 60 5 n Lsun/jvm/hotspot/types/Type;
Exception table:
from to target type
13 14 15 Class java.lang.RuntimeException
MethodParameters:
Name Flags
t
}
SourceFile: "CommandProcessor.java"
EnclosingMethod: sun.jvm.hotspot.CommandProcessor
NestHost: sun.jvm.hotspot.CommandProcessor
InnerClasses:
sun.jvm.hotspot.CommandProcessor$39
abstract Command = sun.jvm.hotspot.CommandProcessor$Command of sun.jvm.hotspot.CommandProcessor
Tokens = sun.jvm.hotspot.CommandProcessor$Tokens of sun.jvm.hotspot.CommandProcessor