public class sun.management.GcInfoBuilder
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.management.GcInfoBuilder
super_class: java.lang.Object
{
private final java.lang.management.GarbageCollectorMXBean gc;
descriptor: Ljava/lang/management/GarbageCollectorMXBean;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String[] poolNames;
descriptor: [Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.lang.String[] allItemNames;
descriptor: [Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private javax.management.openmbean.CompositeType gcInfoCompositeType;
descriptor: Ljavax/management/openmbean/CompositeType;
flags: (0x0002) ACC_PRIVATE
private final int gcExtItemCount;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String[] gcExtItemNames;
descriptor: [Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String[] gcExtItemDescs;
descriptor: [Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final char[] gcExtItemTypes;
descriptor: [C
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(java.lang.management.GarbageCollectorMXBean, java.lang.String[]);
descriptor: (Ljava/lang/management/GarbageCollectorMXBean;[Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield sun.management.GcInfoBuilder.gc:Ljava/lang/management/GarbageCollectorMXBean;
2: aload 0
aload 2
putfield sun.management.GcInfoBuilder.poolNames:[Ljava/lang/String;
3: aload 0
aload 0
aload 1
invokevirtual sun.management.GcInfoBuilder.getNumGcExtAttributes:(Ljava/lang/management/GarbageCollectorMXBean;)I
putfield sun.management.GcInfoBuilder.gcExtItemCount:I
4: aload 0
aload 0
getfield sun.management.GcInfoBuilder.gcExtItemCount:I
anewarray java.lang.String
putfield sun.management.GcInfoBuilder.gcExtItemNames:[Ljava/lang/String;
5: aload 0
aload 0
getfield sun.management.GcInfoBuilder.gcExtItemCount:I
anewarray java.lang.String
putfield sun.management.GcInfoBuilder.gcExtItemDescs:[Ljava/lang/String;
6: aload 0
aload 0
getfield sun.management.GcInfoBuilder.gcExtItemCount:I
newarray 5
putfield sun.management.GcInfoBuilder.gcExtItemTypes:[C
7: aload 0
aload 1
aload 0
getfield sun.management.GcInfoBuilder.gcExtItemCount:I
aload 0
getfield sun.management.GcInfoBuilder.gcExtItemNames:[Ljava/lang/String;
8: aload 0
getfield sun.management.GcInfoBuilder.gcExtItemTypes:[C
aload 0
getfield sun.management.GcInfoBuilder.gcExtItemDescs:[Ljava/lang/String;
9: invokevirtual sun.management.GcInfoBuilder.fillGcAttributeInfo:(Ljava/lang/management/GarbageCollectorMXBean;I[Ljava/lang/String;[C[Ljava/lang/String;)V
10: aload 0
aconst_null
putfield sun.management.GcInfoBuilder.gcInfoCompositeType:Ljavax/management/openmbean/CompositeType;
11: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/management/GcInfoBuilder;
0 12 1 gc Ljava/lang/management/GarbageCollectorMXBean;
0 12 2 poolNames [Ljava/lang/String;
MethodParameters:
Name Flags
gc
poolNames
com.sun.management.GcInfo getLastGcInfo();
descriptor: ()Lcom/sun/management/GcInfo;
flags: (0x0000)
Code:
stack=7, locals=4, args_size=1
start local 0 0: aload 0
getfield sun.management.GcInfoBuilder.poolNames:[Ljava/lang/String;
arraylength
anewarray java.lang.management.MemoryUsage
astore 1
start local 1 1: aload 0
getfield sun.management.GcInfoBuilder.poolNames:[Ljava/lang/String;
arraylength
anewarray java.lang.management.MemoryUsage
astore 2
start local 2 2: aload 0
getfield sun.management.GcInfoBuilder.gcExtItemCount:I
anewarray java.lang.Object
astore 3
start local 3 3: aload 0
aload 0
getfield sun.management.GcInfoBuilder.gc:Ljava/lang/management/GarbageCollectorMXBean;
aload 0
getfield sun.management.GcInfoBuilder.gcExtItemCount:I
aload 3
aload 0
getfield sun.management.GcInfoBuilder.gcExtItemTypes:[C
4: aload 1
aload 2
5: invokevirtual sun.management.GcInfoBuilder.getLastGcInfo0:(Ljava/lang/management/GarbageCollectorMXBean;I[Ljava/lang/Object;[C[Ljava/lang/management/MemoryUsage;[Ljava/lang/management/MemoryUsage;)Lcom/sun/management/GcInfo;
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/GcInfoBuilder;
1 6 1 usageBeforeGC [Ljava/lang/management/MemoryUsage;
2 6 2 usageAfterGC [Ljava/lang/management/MemoryUsage;
3 6 3 values [Ljava/lang/Object;
public java.lang.String[] getPoolNames();
descriptor: ()[Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.management.GcInfoBuilder.poolNames:[Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/management/GcInfoBuilder;
int getGcExtItemCount();
descriptor: ()I
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.management.GcInfoBuilder.gcExtItemCount:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/management/GcInfoBuilder;
synchronized javax.management.openmbean.CompositeType getGcInfoCompositeType();
descriptor: ()Ljavax/management/openmbean/CompositeType;
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=7, locals=9, args_size=1
start local 0 0: aload 0
getfield sun.management.GcInfoBuilder.gcInfoCompositeType:Ljavax/management/openmbean/CompositeType;
ifnull 2
1: aload 0
getfield sun.management.GcInfoBuilder.gcInfoCompositeType:Ljavax/management/openmbean/CompositeType;
areturn
2: StackMap locals:
StackMap stack:
invokestatic sun.management.GcInfoCompositeData.getBaseGcInfoItemNames:()[Ljava/lang/String;
astore 1
start local 1 3: invokestatic sun.management.GcInfoCompositeData.getBaseGcInfoItemTypes:()[Ljavax/management/openmbean/OpenType;
astore 2
start local 2 4: aload 1
arraylength
istore 3
start local 3 5: iload 3
aload 0
getfield sun.management.GcInfoBuilder.gcExtItemCount:I
iadd
istore 4
start local 4 6: aload 0
iload 4
anewarray java.lang.String
putfield sun.management.GcInfoBuilder.allItemNames:[Ljava/lang/String;
7: iload 4
anewarray java.lang.String
astore 5
start local 5 8: iload 4
anewarray javax.management.openmbean.OpenType
astore 6
start local 6 9: aload 1
iconst_0
aload 0
getfield sun.management.GcInfoBuilder.allItemNames:[Ljava/lang/String;
iconst_0
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
10: aload 1
iconst_0
aload 5
iconst_0
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
11: aload 2
iconst_0
aload 6
iconst_0
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
12: aload 0
getfield sun.management.GcInfoBuilder.gcExtItemCount:I
ifle 47
13: aload 0
aload 0
getfield sun.management.GcInfoBuilder.gc:Ljava/lang/management/GarbageCollectorMXBean;
aload 0
getfield sun.management.GcInfoBuilder.gcExtItemCount:I
aload 0
getfield sun.management.GcInfoBuilder.gcExtItemNames:[Ljava/lang/String;
14: aload 0
getfield sun.management.GcInfoBuilder.gcExtItemTypes:[C
aload 0
getfield sun.management.GcInfoBuilder.gcExtItemDescs:[Ljava/lang/String;
15: invokevirtual sun.management.GcInfoBuilder.fillGcAttributeInfo:(Ljava/lang/management/GarbageCollectorMXBean;I[Ljava/lang/String;[C[Ljava/lang/String;)V
16: aload 0
getfield sun.management.GcInfoBuilder.gcExtItemNames:[Ljava/lang/String;
iconst_0
aload 0
getfield sun.management.GcInfoBuilder.allItemNames:[Ljava/lang/String;
17: iload 3
aload 0
getfield sun.management.GcInfoBuilder.gcExtItemCount:I
18: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
19: aload 0
getfield sun.management.GcInfoBuilder.gcExtItemDescs:[Ljava/lang/String;
iconst_0
aload 5
20: iload 3
aload 0
getfield sun.management.GcInfoBuilder.gcExtItemCount:I
21: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
22: iload 3
istore 7
start local 7 23: iconst_0
istore 8
start local 8 24: goto 46
25: StackMap locals: sun.management.GcInfoBuilder java.lang.String[] javax.management.openmbean.OpenType[] int int java.lang.String[] javax.management.openmbean.OpenType[] int int
StackMap stack:
aload 0
getfield sun.management.GcInfoBuilder.gcExtItemTypes:[C
iload 8
caload
lookupswitch { // 8
66: 28
67: 30
68: 40
70: 38
73: 34
74: 36
83: 32
90: 26
default: 42
}
26: StackMap locals:
StackMap stack:
aload 6
iload 7
getstatic javax.management.openmbean.SimpleType.BOOLEAN:Ljavax/management/openmbean/SimpleType;
aastore
27: goto 45
28: StackMap locals:
StackMap stack:
aload 6
iload 7
getstatic javax.management.openmbean.SimpleType.BYTE:Ljavax/management/openmbean/SimpleType;
aastore
29: goto 45
30: StackMap locals:
StackMap stack:
aload 6
iload 7
getstatic javax.management.openmbean.SimpleType.CHARACTER:Ljavax/management/openmbean/SimpleType;
aastore
31: goto 45
32: StackMap locals:
StackMap stack:
aload 6
iload 7
getstatic javax.management.openmbean.SimpleType.SHORT:Ljavax/management/openmbean/SimpleType;
aastore
33: goto 45
34: StackMap locals:
StackMap stack:
aload 6
iload 7
getstatic javax.management.openmbean.SimpleType.INTEGER:Ljavax/management/openmbean/SimpleType;
aastore
35: goto 45
36: StackMap locals:
StackMap stack:
aload 6
iload 7
getstatic javax.management.openmbean.SimpleType.LONG:Ljavax/management/openmbean/SimpleType;
aastore
37: goto 45
38: StackMap locals:
StackMap stack:
aload 6
iload 7
getstatic javax.management.openmbean.SimpleType.FLOAT:Ljavax/management/openmbean/SimpleType;
aastore
39: goto 45
40: StackMap locals:
StackMap stack:
aload 6
iload 7
getstatic javax.management.openmbean.SimpleType.DOUBLE:Ljavax/management/openmbean/SimpleType;
aastore
41: goto 45
42: StackMap locals:
StackMap stack:
new java.lang.AssertionError
dup
43: new java.lang.StringBuilder
dup
ldc "Unsupported type ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.management.GcInfoBuilder.gcExtItemTypes:[C
iload 7
caload
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
44: invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
45: StackMap locals:
StackMap stack:
iinc 7 1
iinc 8 1
StackMap locals:
StackMap stack:
46: iload 8
aload 0
getfield sun.management.GcInfoBuilder.gcExtItemCount:I
if_icmplt 25
end local 8 end local 7 47: StackMap locals:
StackMap stack:
aconst_null
astore 7
start local 7 48: new java.lang.StringBuilder
dup
ldc "sun.management."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.management.GcInfoBuilder.gc:Ljava/lang/management/GarbageCollectorMXBean;
invokeinterface java.lang.management.GarbageCollectorMXBean.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ".GcInfoCompositeType"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
49: astore 8
start local 8 50: new javax.management.openmbean.CompositeType
dup
aload 8
51: new java.lang.StringBuilder
dup
ldc "CompositeType for GC info for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
52: aload 0
getfield sun.management.GcInfoBuilder.gc:Ljava/lang/management/GarbageCollectorMXBean;
invokeinterface java.lang.management.GarbageCollectorMXBean.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
53: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
54: aload 0
getfield sun.management.GcInfoBuilder.allItemNames:[Ljava/lang/String;
55: aload 5
56: aload 6
57: invokespecial javax.management.openmbean.CompositeType.<init>:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljavax/management/openmbean/OpenType;)V
astore 7
end local 8 58: goto 61
StackMap locals: sun.management.GcInfoBuilder java.lang.String[] javax.management.openmbean.OpenType[] int int java.lang.String[] javax.management.openmbean.OpenType[] javax.management.openmbean.CompositeType
StackMap stack: javax.management.openmbean.OpenDataException
59: astore 8
start local 8 60: aload 8
invokestatic sun.management.Util.newException:(Ljava/lang/Exception;)Ljava/lang/RuntimeException;
athrow
end local 8 61: StackMap locals:
StackMap stack:
aload 0
aload 7
putfield sun.management.GcInfoBuilder.gcInfoCompositeType:Ljavax/management/openmbean/CompositeType;
62: aload 0
getfield sun.management.GcInfoBuilder.gcInfoCompositeType:Ljavax/management/openmbean/CompositeType;
areturn
end local 7 end local 6 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 63 0 this Lsun/management/GcInfoBuilder;
3 63 1 gcInfoItemNames [Ljava/lang/String;
4 63 2 gcInfoItemTypes [Ljavax/management/openmbean/OpenType;
5 63 3 numGcInfoItems I
6 63 4 itemCount I
8 63 5 allItemDescs [Ljava/lang/String;
9 63 6 allItemTypes [Ljavax/management/openmbean/OpenType;
23 47 7 i I
24 47 8 j I
48 63 7 gict Ljavax/management/openmbean/CompositeType;
50 58 8 typeName Ljava/lang/String;
60 61 8 e Ljavax/management/openmbean/OpenDataException;
Exception table:
from to target type
48 58 59 Class javax.management.openmbean.OpenDataException
synchronized java.lang.String[] getItemNames();
descriptor: ()[Ljava/lang/String;
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.management.GcInfoBuilder.allItemNames:[Ljava/lang/String;
ifnonnull 2
1: aload 0
invokevirtual sun.management.GcInfoBuilder.getGcInfoCompositeType:()Ljavax/management/openmbean/CompositeType;
pop
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.management.GcInfoBuilder.allItemNames:[Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/management/GcInfoBuilder;
private native int getNumGcExtAttributes(java.lang.management.GarbageCollectorMXBean);
descriptor: (Ljava/lang/management/GarbageCollectorMXBean;)I
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
MethodParameters:
Name Flags
gc
private native void fillGcAttributeInfo(java.lang.management.GarbageCollectorMXBean, int, java.lang.String[], char[], java.lang.String[]);
descriptor: (Ljava/lang/management/GarbageCollectorMXBean;I[Ljava/lang/String;[C[Ljava/lang/String;)V
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
MethodParameters:
Name Flags
gc
numAttributes
attributeNames
types
descriptions
private native com.sun.management.GcInfo getLastGcInfo0(java.lang.management.GarbageCollectorMXBean, int, java.lang.Object[], char[], java.lang.management.MemoryUsage[], java.lang.management.MemoryUsage[]);
descriptor: (Ljava/lang/management/GarbageCollectorMXBean;I[Ljava/lang/Object;[C[Ljava/lang/management/MemoryUsage;[Ljava/lang/management/MemoryUsage;)Lcom/sun/management/GcInfo;
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
MethodParameters:
Name Flags
gc
numExtAtts
extAttValues
extAttTypes
before
after
}
SourceFile: "GcInfoBuilder.java"