final class com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram
super_class: java.lang.Object
{
private final java.lang.Class<?> nodeClass;
descriptor: Ljava/lang/Class;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/Class<*>;
private final java.lang.String[] specializationNames;
descriptor: [Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics nodeStat;
descriptor: Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics[] specializationStat;
descriptor: [Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.List<java.util.Map<com.oracle.truffle.api.dsl.SpecializationStatistics$TypeCombination, com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics>> typeCombinationStat;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Ljava/util/Map<Lcom/oracle/truffle/api/dsl/SpecializationStatistics$TypeCombination;Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;>;>;
private final java.util.Map<java.util.BitSet, com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics[]> specializationCombinationStat;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/util/BitSet;[Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;>;
private final java.util.Map<java.util.BitSet, com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics> specializationCombinationSumStat;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/util/BitSet;Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;>;
void <init>(java.lang.Class<?>, java.lang.String[]);
descriptor: (Ljava/lang/Class;[Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=4, locals=4, 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 com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.nodeClass:Ljava/lang/Class;
2: aload 0
aload 2
putfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.specializationNames:[Ljava/lang/String;
3: aload 0
new java.util.ArrayList
dup
aload 2
arraylength
invokespecial java.util.ArrayList.<init>:(I)V
putfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.typeCombinationStat:Ljava/util/List;
4: aload 0
aload 2
arraylength
anewarray com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics
putfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.specializationStat:[Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
5: aload 0
new com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics
dup
invokespecial com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.<init>:()V
putfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.nodeStat:Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
6: iconst_0
istore 3
start local 3 7: goto 11
8: StackMap locals: com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram java.lang.Class java.lang.String[] int
StackMap stack:
aload 0
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.typeCombinationStat:Ljava/util/List;
new java.util.LinkedHashMap
dup
invokespecial java.util.LinkedHashMap.<init>:()V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
9: aload 0
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.specializationStat:[Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
iload 3
new com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics
dup
invokespecial com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.<init>:()V
aastore
10: iinc 3 1
StackMap locals:
StackMap stack:
11: iload 3
aload 2
arraylength
if_icmplt 8
end local 3 12: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.specializationCombinationStat:Ljava/util/Map;
13: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.specializationCombinationSumStat:Ljava/util/Map;
14: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/oracle/truffle/api/dsl/SpecializationStatistics$NodeClassHistogram;
0 15 1 nodeClass Ljava/lang/Class<*>;
0 15 2 specializationNames [Ljava/lang/String;
7 12 3 i I
Signature: (Ljava/lang/Class<*>;[Ljava/lang/String;)V
MethodParameters:
Name Flags
nodeClass
specializationNames
java.lang.Class<?> getNodeClass();
descriptor: ()Ljava/lang/Class;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.nodeClass:Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/dsl/SpecializationStatistics$NodeClassHistogram;
Signature: ()Ljava/lang/Class<*>;
java.lang.String[] getSpecializationNames();
descriptor: ()[Ljava/lang/String;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.specializationNames:[Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/dsl/SpecializationStatistics$NodeClassHistogram;
com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics getNodeStat();
descriptor: ()Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.nodeStat:Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/dsl/SpecializationStatistics$NodeClassHistogram;
void accept(com.oracle.truffle.api.dsl.SpecializationStatistics$EnabledNodeStatistics);
descriptor: (Lcom/oracle/truffle/api/dsl/SpecializationStatistics$EnabledNodeStatistics;)V
flags: (0x0000)
Code:
stack=4, locals=11, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: aload 1
invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$EnabledNodeStatistics.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
astore 3
start local 3 2: new java.util.BitSet
dup
invokespecial java.util.BitSet.<init>:()V
astore 4
start local 4 3: iconst_0
istore 5
start local 5 4: goto 19
5: StackMap locals: com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram com.oracle.truffle.api.dsl.SpecializationStatistics$EnabledNodeStatistics int com.oracle.truffle.api.source.SourceSection java.util.BitSet int
StackMap stack:
aload 1
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$EnabledNodeStatistics.specializations:[Lcom/oracle/truffle/api/dsl/SpecializationStatistics$TypeCombination;
iload 5
aaload
astore 6
start local 6 6: iconst_0
istore 7
start local 7 7: goto 13
8: StackMap locals: com.oracle.truffle.api.dsl.SpecializationStatistics$TypeCombination int
StackMap stack:
aload 6
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$TypeCombination.executionCount:I
istore 8
start local 8 9: aload 0
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.typeCombinationStat:Ljava/util/List;
iload 5
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.util.Map
aload 6
invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
com/oracle/truffle/api/dsl/SpecializationStatistics$NodeClassHistogram.lambda$0(Lcom/oracle/truffle/api/dsl/SpecializationStatistics$TypeCombination;)Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics; (6)
(Lcom/oracle/truffle/api/dsl/SpecializationStatistics$TypeCombination;)Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics
astore 9
start local 9 10: aload 9
iload 8
aload 3
invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.accept:(ILcom/oracle/truffle/api/source/SourceSection;)V
11: aload 6
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$TypeCombination.next:Lcom/oracle/truffle/api/dsl/SpecializationStatistics$TypeCombination;
astore 6
12: iload 7
iload 8
iadd
istore 7
end local 9 end local 8 13: StackMap locals:
StackMap stack:
aload 6
ifnonnull 8
14: iload 2
iload 7
iadd
istore 2
15: iload 7
ifeq 18
16: aload 4
iload 5
invokevirtual java.util.BitSet.set:(I)V
17: aload 0
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.specializationStat:[Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
iload 5
aaload
iload 7
aload 3
invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.accept:(ILcom/oracle/truffle/api/source/SourceSection;)V
end local 7 end local 6 18: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
19: iload 5
aload 1
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$EnabledNodeStatistics.specializations:[Lcom/oracle/truffle/api/dsl/SpecializationStatistics$TypeCombination;
arraylength
if_icmplt 5
end local 5 20: iload 2
ifne 22
21: return
22: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.specializationCombinationSumStat:Ljava/util/Map;
aload 4
invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
com/oracle/truffle/api/dsl/SpecializationStatistics$NodeClassHistogram.lambda$1(Ljava/util/BitSet;)Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics; (6)
(Ljava/util/BitSet;)Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics
astore 5
start local 5 23: aload 0
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.specializationCombinationStat:Ljava/util/Map;
aload 4
aload 0
invokedynamic apply(Lcom/oracle/truffle/api/dsl/SpecializationStatistics$NodeClassHistogram;)Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
com/oracle/truffle/api/dsl/SpecializationStatistics$NodeClassHistogram.lambda$2(Ljava/util/BitSet;)[Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics; (7)
(Ljava/util/BitSet;)[Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics[]
astore 6
start local 6 24: iconst_0
istore 7
start local 7 25: iconst_0
istore 8
start local 8 26: goto 39
27: StackMap locals: com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram com.oracle.truffle.api.dsl.SpecializationStatistics$EnabledNodeStatistics int com.oracle.truffle.api.source.SourceSection java.util.BitSet com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics[] int int
StackMap stack:
aload 1
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$EnabledNodeStatistics.specializations:[Lcom/oracle/truffle/api/dsl/SpecializationStatistics$TypeCombination;
iload 8
aaload
astore 9
start local 9 28: iconst_0
istore 10
start local 10 29: goto 32
30: StackMap locals: com.oracle.truffle.api.dsl.SpecializationStatistics$TypeCombination int
StackMap stack:
iload 10
aload 9
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$TypeCombination.executionCount:I
iadd
istore 10
31: aload 9
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$TypeCombination.next:Lcom/oracle/truffle/api/dsl/SpecializationStatistics$TypeCombination;
astore 9
32: StackMap locals:
StackMap stack:
aload 9
ifnonnull 30
33: iload 10
ifeq 38
34: iload 7
iload 10
iadd
istore 7
35: aload 6
iload 8
aaload
ifnonnull 37
36: aload 6
iload 8
new com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics
dup
invokespecial com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.<init>:()V
aastore
37: StackMap locals:
StackMap stack:
aload 6
iload 8
aaload
iload 10
aload 3
invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.accept:(ILcom/oracle/truffle/api/source/SourceSection;)V
end local 10 end local 9 38: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
39: iload 8
aload 1
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$EnabledNodeStatistics.specializations:[Lcom/oracle/truffle/api/dsl/SpecializationStatistics$TypeCombination;
arraylength
if_icmplt 27
end local 8 40: aload 5
iload 7
aload 3
invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.accept:(ILcom/oracle/truffle/api/source/SourceSection;)V
41: iload 2
ifeq 43
42: aload 0
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.nodeStat:Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
iload 2
aload 3
invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.accept:(ILcom/oracle/truffle/api/source/SourceSection;)V
43: StackMap locals:
StackMap stack:
return
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 44 0 this Lcom/oracle/truffle/api/dsl/SpecializationStatistics$NodeClassHistogram;
0 44 1 statistics Lcom/oracle/truffle/api/dsl/SpecializationStatistics$EnabledNodeStatistics;
1 44 2 nodeSum I
2 44 3 sourceSection Lcom/oracle/truffle/api/source/SourceSection;
3 44 4 enabledBitSet Ljava/util/BitSet;
4 20 5 i I
6 18 6 combination Lcom/oracle/truffle/api/dsl/SpecializationStatistics$TypeCombination;
7 18 7 specializationSum I
9 13 8 count I
10 13 9 typeCombination Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
23 44 5 combinationSumStat Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
24 44 6 combinationSpecializations [Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
25 44 7 combinationSum I
26 40 8 i I
28 38 9 combination Lcom/oracle/truffle/api/dsl/SpecializationStatistics$TypeCombination;
29 38 10 specializationSum I
MethodParameters:
Name Flags
statistics
void combine(com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram);
descriptor: (Lcom/oracle/truffle/api/dsl/SpecializationStatistics$NodeClassHistogram;)V
flags: (0x0000)
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 14
2: StackMap locals: int
StackMap stack:
aload 1
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.typeCombinationStat:Ljava/util/List;
iload 2
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.util.Map
astore 3
start local 3 3: aload 3
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
goto 6
StackMap locals: com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram int java.util.Map top java.util.Iterator
StackMap stack:
4: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 4
start local 4 5: aload 0
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.typeCombinationStat:Ljava/util/List;
iload 2
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.util.Map
aload 4
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.dsl.SpecializationStatistics$TypeCombination
invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
com/oracle/truffle/api/dsl/SpecializationStatistics$NodeClassHistogram.lambda$3(Lcom/oracle/truffle/api/dsl/SpecializationStatistics$TypeCombination;)Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics; (6)
(Lcom/oracle/truffle/api/dsl/SpecializationStatistics$TypeCombination;)Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics
aload 4
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics
invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.combine:(Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;)V
end local 4 6: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
7: iconst_0
istore 4
start local 4 8: goto 11
9: StackMap locals: com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram int java.util.Map int
StackMap stack:
aload 0
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.specializationStat:[Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
iload 4
aaload
aload 1
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.specializationStat:[Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
iload 2
aaload
invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.combine:(Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;)V
10: iinc 4 1
StackMap locals:
StackMap stack:
11: iload 4
aload 0
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.specializationStat:[Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
arraylength
if_icmplt 9
end local 4 12: aload 0
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.nodeStat:Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
aload 1
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.nodeStat:Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.combine:(Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;)V
end local 3 13: iinc 2 1
StackMap locals:
StackMap stack:
14: iload 2
aload 0
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.typeCombinationStat:Ljava/util/List;
invokeinterface java.util.List.size:()I
if_icmplt 2
end local 2 15: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/oracle/truffle/api/dsl/SpecializationStatistics$NodeClassHistogram;
0 16 1 nodeClassStatistics Lcom/oracle/truffle/api/dsl/SpecializationStatistics$NodeClassHistogram;
1 15 2 i I
3 13 3 statistics Ljava/util/Map<Lcom/oracle/truffle/api/dsl/SpecializationStatistics$TypeCombination;Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;>;
5 6 4 executionStat Ljava/util/Map$Entry<Lcom/oracle/truffle/api/dsl/SpecializationStatistics$TypeCombination;Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;>;
8 12 4 j I
MethodParameters:
Name Flags
nodeClassStatistics
void print(java.io.PrintWriter, int, long, long);
descriptor: (Ljava/io/PrintWriter;IJJ)V
flags: (0x0000)
Code:
stack=9, locals=18, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 5 0: aload 0
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.nodeStat:Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.getCount:()J
lconst_0
lcmp
ifne 2
1: return
2: StackMap locals:
StackMap stack:
aload 1
new java.lang.StringBuilder
dup
ldc "| %-"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "s Instances Executions Executions per instance %n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
ldc "Name"
aastore
invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
pop
3: aload 1
ldc " "
iload 2
invokestatic com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.printLine:(Ljava/io/PrintWriter;Ljava/lang/String;I)V
4: aload 0
invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.getDisplayName:()Ljava/lang/String;
astore 7
start local 7 5: aload 1
ldc "| "
aload 7
iload 2
aload 0
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.nodeStat:Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
lload 3
lload 5
invokestatic com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.printStats:(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/lang/String;ILcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;JJ)V
6: iconst_0
istore 8
start local 8 7: goto 19
8: StackMap locals: java.lang.String int
StackMap stack:
aload 0
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.typeCombinationStat:Ljava/util/List;
iload 8
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.util.Map
invokeinterface java.util.Map.size:()I
istore 9
start local 9 9: aload 0
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.specializationNames:[Ljava/lang/String;
iload 8
aaload
astore 10
start local 10 10: iload 9
iconst_1
if_icmpne 12
11: new java.lang.StringBuilder
dup
aload 10
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.typeCombinationStat:Ljava/util/List;
iload 8
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.util.Map
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.dsl.SpecializationStatistics$TypeCombination
invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$TypeCombination.getDisplayName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 10
12: StackMap locals: int java.lang.String
StackMap stack:
aload 1
ldc "| "
aload 10
iload 2
aload 0
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.specializationStat:[Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
iload 8
aaload
aload 0
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.nodeStat:Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.getCount:()J
aload 0
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.nodeStat:Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.getSum:()J
invokestatic com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.printStats:(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/lang/String;ILcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;JJ)V
13: iload 9
iconst_1
if_icmple 18
14: aload 0
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.typeCombinationStat:Ljava/util/List;
iload 8
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.util.Map
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 12
goto 17
StackMap locals: com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram java.io.PrintWriter int long long java.lang.String int int java.lang.String top java.util.Iterator
StackMap stack:
15: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 11
start local 11 16: aload 1
ldc "| "
aload 11
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.dsl.SpecializationStatistics$TypeCombination
invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$TypeCombination.getDisplayName:()Ljava/lang/String;
iload 2
aload 11
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics
aload 0
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.specializationStat:[Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
iload 8
aaload
invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.getCount:()J
aload 0
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.specializationStat:[Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
iload 8
aaload
invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.getSum:()J
invokestatic com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.printStats:(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/lang/String;ILcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;JJ)V
end local 11 17: StackMap locals:
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 15
end local 10 end local 9 18: StackMap locals: com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram java.io.PrintWriter int long long java.lang.String int
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
19: iload 8
aload 0
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.specializationNames:[Ljava/lang/String;
arraylength
if_icmplt 8
end local 8 20: aload 1
ldc "| "
iload 2
invokestatic com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.printLine:(Ljava/io/PrintWriter;Ljava/lang/String;I)V
21: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 8
start local 8 22: iconst_0
istore 9
start local 9 23: goto 54
24: StackMap locals: com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram java.io.PrintWriter int long long java.lang.String java.util.Set int
StackMap stack:
aload 0
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.specializationCombinationStat:Ljava/util/Map;
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 11
goto 52
StackMap locals: com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram java.io.PrintWriter int long long java.lang.String java.util.Set int top java.util.Iterator
StackMap stack:
25: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.BitSet
astore 10
start local 10 26: aload 8
aload 10
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 28
27: goto 52
28: StackMap locals: com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram java.io.PrintWriter int long long java.lang.String java.util.Set int java.util.BitSet java.util.Iterator
StackMap stack:
aload 10
iload 9
invokevirtual java.util.BitSet.get:(I)Z
ifne 30
29: goto 52
30: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.specializationCombinationSumStat:Ljava/util/Map;
aload 10
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics
astore 12
start local 12 31: aload 0
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.specializationCombinationStat:Ljava/util/Map;
aload 10
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics[]
astore 13
start local 13 32: iconst_0
istore 14
start local 14 33: new java.lang.StringBuilder
dup
ldc "["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 15
start local 15 34: ldc ""
astore 16
start local 16 35: iconst_0
istore 17
start local 17 36: goto 42
37: StackMap locals: com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram java.io.PrintWriter int long long java.lang.String java.util.Set int java.util.BitSet java.util.Iterator com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics[] int java.lang.StringBuilder java.lang.String int
StackMap stack:
aload 15
aload 16
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
38: aload 15
aload 0
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.specializationNames:[Ljava/lang/String;
iload 14
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
39: ldc ", "
astore 16
40: iinc 14 1
41: iinc 17 1
42: StackMap locals:
StackMap stack:
aload 10
iload 14
invokevirtual java.util.BitSet.nextSetBit:(I)I
dup
istore 14
iconst_m1
if_icmpne 37
43: aload 15
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
44: aload 1
ldc "| "
aload 15
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iload 2
aload 12
aload 0
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.nodeStat:Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.getCount:()J
aload 0
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.nodeStat:Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.getSum:()J
invokestatic com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.printStats:(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/lang/String;ILcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;JJ)V
45: iload 17
iconst_1
if_icmple 51
46: iconst_0
istore 14
47: goto 50
48: StackMap locals:
StackMap stack:
aload 1
ldc "| "
aload 0
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.specializationNames:[Ljava/lang/String;
iload 14
aaload
iload 2
aload 13
iload 14
aaload
aload 12
invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.getCount:()J
aload 12
invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.getSum:()J
invokestatic com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.printStats:(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/lang/String;ILcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;JJ)V
49: iinc 14 1
50: StackMap locals:
StackMap stack:
aload 10
iload 14
invokevirtual java.util.BitSet.nextSetBit:(I)I
dup
istore 14
iconst_m1
if_icmpne 48
51: StackMap locals:
StackMap stack:
aload 8
aload 10
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 10 52: StackMap locals: com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram java.io.PrintWriter int long long java.lang.String java.util.Set int top java.util.Iterator
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 25
53: iinc 9 1
StackMap locals: com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram java.io.PrintWriter int long long java.lang.String java.util.Set int
StackMap stack:
54: iload 9
aload 0
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.specializationNames:[Ljava/lang/String;
arraylength
if_icmplt 24
end local 9 55: aload 1
ldc " "
iload 2
invokestatic com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.printLine:(Ljava/io/PrintWriter;Ljava/lang/String;I)V
56: return
end local 8 end local 7 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 57 0 this Lcom/oracle/truffle/api/dsl/SpecializationStatistics$NodeClassHistogram;
0 57 1 stream Ljava/io/PrintWriter;
0 57 2 width I
0 57 3 parentCount J
0 57 5 parentSum J
5 57 7 className Ljava/lang/String;
7 20 8 i I
9 18 9 size I
10 18 10 specializationLabel Ljava/lang/String;
16 17 11 entry Ljava/util/Map$Entry<Lcom/oracle/truffle/api/dsl/SpecializationStatistics$TypeCombination;Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;>;
22 57 8 printedCombinations Ljava/util/Set<Ljava/util/BitSet;>;
23 55 9 specialization I
26 52 10 specializations Ljava/util/BitSet;
31 52 12 statistics Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
32 52 13 specializationStatistics [Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
33 52 14 specializationIndex I
34 52 15 label Ljava/lang/StringBuilder;
35 52 16 sep Ljava/lang/String;
36 52 17 bits I
MethodParameters:
Name Flags
stream
width
parentCount
parentSum
static void printLine(java.io.PrintWriter, java.lang.String, int);
descriptor: (Ljava/io/PrintWriter;Ljava/lang/String;I)V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
1: iconst_0
istore 3
start local 3 2: goto 5
3: StackMap locals: int
StackMap stack:
aload 0
bipush 45
invokevirtual java.io.PrintWriter.print:(C)V
4: iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
iload 2
bipush 100
iadd
aload 1
invokevirtual java.lang.String.length:()I
isub
if_icmplt 3
end local 3 6: aload 0
invokestatic java.lang.System.lineSeparator:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 stream Ljava/io/PrintWriter;
0 8 1 indent Ljava/lang/String;
0 8 2 width I
2 6 3 i I
MethodParameters:
Name Flags
stream
indent
width
private java.lang.String getDisplayName();
descriptor: ()Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.nodeClass:Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
astore 1
start local 1 1: aload 1
ldc "Uncached"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 5
2: aload 0
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.nodeClass:Ljava/lang/Class;
invokevirtual java.lang.Class.getEnclosingClass:()Ljava/lang/Class;
astore 2
start local 2 3: aload 2
ifnull 5
4: new java.lang.StringBuilder
dup
aload 2
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 1
end local 2 5: StackMap locals: java.lang.String
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/api/dsl/SpecializationStatistics$NodeClassHistogram;
1 6 1 className Ljava/lang/String;
3 5 2 enclosing Ljava/lang/Class<*>;
private int getLabelWidth();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=6, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: aload 0
invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.getDisplayName:()Ljava/lang/String;
invokevirtual java.lang.String.length:()I
iload 1
invokestatic java.lang.Math.max:(II)I
istore 1
2: aload 0
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.specializationNames:[Ljava/lang/String;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 6
StackMap locals: com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram int top int int java.lang.String[]
StackMap stack:
3: aload 5
iload 3
aaload
astore 2
start local 2 4: aload 2
invokevirtual java.lang.String.length:()I
iload 1
invokestatic java.lang.Math.max:(II)I
istore 1
end local 2 5: iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
iload 4
if_icmplt 3
7: aload 0
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.typeCombinationStat:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 13
StackMap locals: com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram int top java.util.Iterator
StackMap stack:
8: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map
astore 2
start local 2 9: aload 2
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
goto 12
StackMap locals: com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram int java.util.Map java.util.Iterator top java.util.Iterator
StackMap stack:
10: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.dsl.SpecializationStatistics$TypeCombination
astore 4
start local 4 11: aload 4
invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$TypeCombination.getDisplayName:()Ljava/lang/String;
invokevirtual java.lang.String.length:()I
iload 1
invokestatic java.lang.Math.max:(II)I
istore 1
end local 4 12: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
end local 2 13: StackMap locals: com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram int top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
14: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/oracle/truffle/api/dsl/SpecializationStatistics$NodeClassHistogram;
1 15 1 width I
4 5 2 name Ljava/lang/String;
9 13 2 executionStat Ljava/util/Map<Lcom/oracle/truffle/api/dsl/SpecializationStatistics$TypeCombination;Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;>;
11 12 4 combination Lcom/oracle/truffle/api/dsl/SpecializationStatistics$TypeCombination;
private static void printStats(java.io.PrintWriter, java.lang.String, java.lang.String, int, com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics, long, long);
descriptor: (Ljava/io/PrintWriter;Ljava/lang/String;Ljava/lang/String;ILcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;JJ)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=11, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 7 0: ldc "(%.0f%%)"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 4
invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.getCount:()J
l2d
lload 5
l2d
ddiv
ldc 100.0
dmul
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 9
start local 9 1: ldc "(%.0f%%)"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 4
invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.getSum:()J
l2d
lload 7
l2d
ddiv
ldc 100.0
dmul
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 10
start local 10 2: aload 0
new java.lang.StringBuilder
dup
ldc "%s%-"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "s %8d %-6s %12d %-6s Min=%10d Avg=%12.2f Max= %10d MaxNode= %s %n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
bipush 10
anewarray java.lang.Object
dup
iconst_0
3: aload 1
aastore
dup
iconst_1
aload 2
aastore
dup
iconst_2
4: aload 4
invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.getCount:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_3
aload 9
aastore
dup
iconst_4
5: aload 4
invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.getSum:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_5
aload 10
aastore
dup
bipush 6
6: aload 4
invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.getMin:()I
ldc 2147483647
if_icmpne 7
iconst_0
goto 8
StackMap locals: java.io.PrintWriter java.lang.String java.lang.String int com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics long long java.lang.String java.lang.String
StackMap stack: java.io.PrintWriter java.lang.String java.lang.Object[] java.lang.Object[] int
7: aload 4
invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.getMin:()I
StackMap locals: java.io.PrintWriter java.lang.String java.lang.String int com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics long long java.lang.String java.lang.String
StackMap stack: java.io.PrintWriter java.lang.String java.lang.Object[] java.lang.Object[] int int
8: invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
bipush 7
9: aload 4
invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.getAverage:()D
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
dup
bipush 8
aload 4
invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.getMax:()I
ldc -2147483648
if_icmpne 10
iconst_0
goto 11
StackMap locals: java.io.PrintWriter java.lang.String java.lang.String int com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics long long java.lang.String java.lang.String
StackMap stack: java.io.PrintWriter java.lang.String java.lang.Object[] java.lang.Object[] int
10: aload 4
invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.getMax:()I
StackMap locals: java.io.PrintWriter java.lang.String java.lang.String int com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics long long java.lang.String java.lang.String
StackMap stack: java.io.PrintWriter java.lang.String java.lang.Object[] java.lang.Object[] int int
11: invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
bipush 9
12: aload 4
aload 4
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.maxSourceSection:Lcom/oracle/truffle/api/source/SourceSection;
invokestatic com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.formatSourceSection:(Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;Lcom/oracle/truffle/api/source/SourceSection;)Ljava/lang/String;
aastore
13: invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
pop
14: return
end local 10 end local 9 end local 7 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 15 0 stream Ljava/io/PrintWriter;
0 15 1 indent Ljava/lang/String;
0 15 2 label Ljava/lang/String;
0 15 3 labelWidth I
0 15 4 nodeStats Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
0 15 5 parentCount J
0 15 7 parentSum J
1 15 9 countPercent Ljava/lang/String;
2 15 10 sumPercent Ljava/lang/String;
MethodParameters:
Name Flags
stream
indent
label
labelWidth
nodeStats
parentCount
parentSum
private static java.lang.String formatSourceSection(com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics, com.oracle.truffle.api.source.SourceSection);
descriptor: (Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;Lcom/oracle/truffle/api/source/SourceSection;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 4
1: aload 0
invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.getCount:()J
lconst_0
lcmp
ifle 3
2: ldc "N/A"
areturn
3: StackMap locals:
StackMap stack:
ldc " - "
areturn
4: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 2
start local 2 5: aload 1
invokevirtual com.oracle.truffle.api.source.SourceSection.getSource:()Lcom/oracle/truffle/api/source/Source;
invokevirtual com.oracle.truffle.api.source.Source.getPath:()Ljava/lang/String;
ifnonnull 8
6: aload 2
aload 1
invokevirtual com.oracle.truffle.api.source.SourceSection.getSource:()Lcom/oracle/truffle/api/source/Source;
invokevirtual com.oracle.truffle.api.source.Source.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
7: goto 15
8: StackMap locals: java.lang.StringBuilder
StackMap stack:
aload 1
invokevirtual com.oracle.truffle.api.source.SourceSection.getSource:()Lcom/oracle/truffle/api/source/Source;
invokevirtual com.oracle.truffle.api.source.Source.getPath:()Ljava/lang/String;
iconst_0
anewarray java.lang.String
invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
astore 3
start local 3 9: new java.io.File
dup
ldc ""
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
invokevirtual java.io.File.getAbsoluteFile:()Ljava/io/File;
invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
astore 4
start local 4 10: aload 4
aload 3
invokeinterface java.nio.file.Path.relativize:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
astore 5
start local 5 11: aload 2
aload 5
invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
pop
end local 5 12: goto 15
StackMap locals: com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics com.oracle.truffle.api.source.SourceSection java.lang.StringBuilder java.nio.file.Path java.nio.file.Path
StackMap stack: java.lang.IllegalArgumentException
13: pop
14: aload 2
aload 1
invokevirtual com.oracle.truffle.api.source.SourceSection.getSource:()Lcom/oracle/truffle/api/source/Source;
invokevirtual com.oracle.truffle.api.source.Source.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 4 end local 3 15: StackMap locals:
StackMap stack:
aload 2
ldc "~"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
16: aload 2
aload 1
invokestatic com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.formatIndices:(Ljava/lang/StringBuilder;Lcom/oracle/truffle/api/source/SourceSection;)V
17: aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 stats Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
0 18 1 s Lcom/oracle/truffle/api/source/SourceSection;
5 18 2 b Ljava/lang/StringBuilder;
9 15 3 pathAbsolute Ljava/nio/file/Path;
10 15 4 pathBase Ljava/nio/file/Path;
11 12 5 pathRelative Ljava/nio/file/Path;
Exception table:
from to target type
10 12 13 Class java.lang.IllegalArgumentException
MethodParameters:
Name Flags
stats
s
private static void formatIndices(java.lang.StringBuilder, com.oracle.truffle.api.source.SourceSection);
descriptor: (Ljava/lang/StringBuilder;Lcom/oracle/truffle/api/source/SourceSection;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.api.source.SourceSection.getStartLine:()I
aload 1
invokevirtual com.oracle.truffle.api.source.SourceSection.getEndLine:()I
if_icmpne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 2
start local 2 3: iload 2
ifeq 6
4: aload 0
aload 1
invokevirtual com.oracle.truffle.api.source.SourceSection.getStartLine:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
5: goto 7
6: StackMap locals: int
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.truffle.api.source.SourceSection.getStartLine:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "-"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual com.oracle.truffle.api.source.SourceSection.getEndLine:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
7: StackMap locals:
StackMap stack:
aload 0
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
8: aload 1
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharLength:()I
iconst_1
if_icmpgt 11
9: aload 0
aload 1
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharIndex:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
10: goto 12
11: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharIndex:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "-"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharIndex:()I
aload 1
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharLength:()I
iadd
iconst_1
isub
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
12: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 b Ljava/lang/StringBuilder;
0 13 1 s Lcom/oracle/truffle/api/source/SourceSection;
3 13 2 singleLine Z
MethodParameters:
Name Flags
b
s
private static com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics lambda$0(com.oracle.truffle.api.dsl.SpecializationStatistics$TypeCombination);
descriptor: (Lcom/oracle/truffle/api/dsl/SpecializationStatistics$TypeCombination;)Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: new com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics
dup
invokespecial com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.<init>:()V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 c Lcom/oracle/truffle/api/dsl/SpecializationStatistics$TypeCombination;
private static com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics lambda$1(java.util.BitSet);
descriptor: (Ljava/util/BitSet;)Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: new com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics
dup
invokespecial com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.<init>:()V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 b Ljava/util/BitSet;
private com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics[] lambda$2(java.util.BitSet);
descriptor: (Ljava/util/BitSet;)[Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.specializationNames:[Ljava/lang/String;
arraylength
anewarray com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/dsl/SpecializationStatistics$NodeClassHistogram;
0 1 1 b Ljava/util/BitSet;
private static com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics lambda$3(com.oracle.truffle.api.dsl.SpecializationStatistics$TypeCombination);
descriptor: (Lcom/oracle/truffle/api/dsl/SpecializationStatistics$TypeCombination;)Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: new com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics
dup
invokespecial com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.<init>:()V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 c Lcom/oracle/truffle/api/dsl/SpecializationStatistics$TypeCombination;
}
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 IntStatistics = com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics of com.oracle.truffle.api.dsl.SpecializationStatistics
final NodeClassHistogram = com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram of com.oracle.truffle.api.dsl.SpecializationStatistics
final TypeCombination = com.oracle.truffle.api.dsl.SpecializationStatistics$TypeCombination of com.oracle.truffle.api.dsl.SpecializationStatistics
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Entry = java.util.Map$Entry of java.util.Map