final class com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassStatistics
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassStatistics
super_class: java.lang.Object
{
private java.util.List<com.oracle.truffle.api.dsl.SpecializationStatistics$EnabledNodeStatistics> statistics;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Lcom/oracle/truffle/api/dsl/SpecializationStatistics$EnabledNodeStatistics;>;
private final com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram collectedHistogram;
descriptor: Lcom/oracle/truffle/api/dsl/SpecializationStatistics$NodeClassHistogram;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int nodeCounter;
descriptor: I
flags: (0x0002) ACC_PRIVATE
void <init>(java.lang.Class<?>, java.lang.String[]);
descriptor: (Ljava/lang/Class;[Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=5, locals=3, args_size=3
start local 0 // com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassStatistics this
start local 1 // java.lang.Class nodeClass
start local 2 // java.lang.String[] specializations
0: .line 253
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 246
aload 0 /* this */
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassStatistics.statistics:Ljava/util/List;
2: .line 254
aload 0 /* this */
new com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram
dup
aload 1 /* nodeClass */
aload 2 /* specializations */
invokespecial com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.<init>:(Ljava/lang/Class;[Ljava/lang/String;)V
putfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassStatistics.collectedHistogram:Lcom/oracle/truffle/api/dsl/SpecializationStatistics$NodeClassHistogram;
3: .line 255
return
end local 2 // java.lang.String[] specializations
end local 1 // java.lang.Class nodeClass
end local 0 // com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassStatistics this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/api/dsl/SpecializationStatistics$NodeClassStatistics;
0 4 1 nodeClass Ljava/lang/Class<*>;
0 4 2 specializations [Ljava/lang/String;
Signature: (Ljava/lang/Class<*>;[Ljava/lang/String;)V
MethodParameters:
Name Flags
nodeClass
specializations
private void processCollectedStatistics();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=1
start local 0 // com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassStatistics this
0: .line 258
iconst_0
istore 1 /* found */
start local 1 // boolean found
1: .line 265
aload 0 /* this */
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassStatistics.statistics:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 6
StackMap locals: com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassStatistics int top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.dsl.SpecializationStatistics$EnabledNodeStatistics
astore 2 /* statistic */
start local 2 // com.oracle.truffle.api.dsl.SpecializationStatistics$EnabledNodeStatistics statistic
3: .line 266
aload 2 /* statistic */
invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$EnabledNodeStatistics.isCollected:()Z
ifeq 6
4: .line 267
iconst_1
istore 1 /* found */
5: .line 268
goto 7
end local 2 // com.oracle.truffle.api.dsl.SpecializationStatistics$EnabledNodeStatistics statistic
6: .line 265
StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
7: .line 271
StackMap locals: com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassStatistics int
StackMap stack:
iload 1 /* found */
ifeq 17
8: .line 272
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2 /* newStatistics */
start local 2 // java.util.List newStatistics
9: .line 273
aload 0 /* this */
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassStatistics.statistics:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 15
StackMap locals: com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassStatistics int java.util.List top java.util.Iterator
StackMap stack:
10: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.dsl.SpecializationStatistics$EnabledNodeStatistics
astore 3 /* statistic */
start local 3 // com.oracle.truffle.api.dsl.SpecializationStatistics$EnabledNodeStatistics statistic
11: .line 274
aload 3 /* statistic */
invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$EnabledNodeStatistics.isCollected:()Z
ifeq 14
12: .line 275
aload 0 /* this */
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassStatistics.collectedHistogram:Lcom/oracle/truffle/api/dsl/SpecializationStatistics$NodeClassHistogram;
aload 3 /* statistic */
invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.accept:(Lcom/oracle/truffle/api/dsl/SpecializationStatistics$EnabledNodeStatistics;)V
13: .line 276
goto 15
14: .line 277
StackMap locals: com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassStatistics int java.util.List com.oracle.truffle.api.dsl.SpecializationStatistics$EnabledNodeStatistics java.util.Iterator
StackMap stack:
aload 2 /* newStatistics */
aload 3 /* statistic */
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 3 // com.oracle.truffle.api.dsl.SpecializationStatistics$EnabledNodeStatistics statistic
15: .line 273
StackMap locals: com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassStatistics int java.util.List top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
16: .line 280
aload 0 /* this */
aload 2 /* newStatistics */
putfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassStatistics.statistics:Ljava/util/List;
end local 2 // java.util.List newStatistics
17: .line 282
StackMap locals: com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassStatistics int
StackMap stack:
return
end local 1 // boolean found
end local 0 // com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassStatistics this
LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/oracle/truffle/api/dsl/SpecializationStatistics$NodeClassStatistics;
1 18 1 found Z
3 6 2 statistic Lcom/oracle/truffle/api/dsl/SpecializationStatistics$EnabledNodeStatistics;
9 17 2 newStatistics Ljava/util/List<Lcom/oracle/truffle/api/dsl/SpecializationStatistics$EnabledNodeStatistics;>;
11 15 3 statistic Lcom/oracle/truffle/api/dsl/SpecializationStatistics$EnabledNodeStatistics;
public com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram createHistogram();
descriptor: ()Lcom/oracle/truffle/api/dsl/SpecializationStatistics$NodeClassHistogram;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=1
start local 0 // com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassStatistics this
0: .line 285
new com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram
dup
aload 0 /* this */
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassStatistics.collectedHistogram:Lcom/oracle/truffle/api/dsl/SpecializationStatistics$NodeClassHistogram;
invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.getNodeClass:()Ljava/lang/Class;
aload 0 /* this */
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassStatistics.collectedHistogram:Lcom/oracle/truffle/api/dsl/SpecializationStatistics$NodeClassHistogram;
invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.getSpecializationNames:()[Ljava/lang/String;
invokespecial com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.<init>:(Ljava/lang/Class;[Ljava/lang/String;)V
astore 1 /* h */
start local 1 // com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram h
1: .line 286
aload 1 /* h */
aload 0 /* this */
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassStatistics.collectedHistogram:Lcom/oracle/truffle/api/dsl/SpecializationStatistics$NodeClassHistogram;
invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.combine:(Lcom/oracle/truffle/api/dsl/SpecializationStatistics$NodeClassHistogram;)V
2: .line 287
aload 0 /* this */
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassStatistics.statistics:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 5
StackMap locals: com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassStatistics com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram top java.util.Iterator
StackMap stack:
3: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.dsl.SpecializationStatistics$EnabledNodeStatistics
astore 2 /* stat */
start local 2 // com.oracle.truffle.api.dsl.SpecializationStatistics$EnabledNodeStatistics stat
4: .line 288
aload 1 /* h */
aload 2 /* stat */
invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.accept:(Lcom/oracle/truffle/api/dsl/SpecializationStatistics$EnabledNodeStatistics;)V
end local 2 // com.oracle.truffle.api.dsl.SpecializationStatistics$EnabledNodeStatistics stat
5: .line 287
StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
6: .line 290
aload 1 /* h */
areturn
end local 1 // com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram h
end local 0 // com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassStatistics this
LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/api/dsl/SpecializationStatistics$NodeClassStatistics;
1 7 1 h Lcom/oracle/truffle/api/dsl/SpecializationStatistics$NodeClassHistogram;
4 5 2 stat Lcom/oracle/truffle/api/dsl/SpecializationStatistics$EnabledNodeStatistics;
}
SourceFile: "SpecializationStatistics.java"
NestHost: com.oracle.truffle.api.dsl.SpecializationStatistics
InnerClasses:
final EnabledNodeStatistics = com.oracle.truffle.api.dsl.SpecializationStatistics$EnabledNodeStatistics of com.oracle.truffle.api.dsl.SpecializationStatistics
final NodeClassHistogram = com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram of com.oracle.truffle.api.dsl.SpecializationStatistics
final NodeClassStatistics = com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassStatistics of com.oracle.truffle.api.dsl.SpecializationStatistics