public class org.openjdk.jmh.profile.StackProfiler$StackResult extends org.openjdk.jmh.results.Result<org.openjdk.jmh.profile.StackProfiler$StackResult>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.openjdk.jmh.profile.StackProfiler$StackResult
super_class: org.openjdk.jmh.results.Result
{
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2609170863630346073
private final java.util.Map<java.lang.Thread$State, org.openjdk.jmh.util.Multiset<org.openjdk.jmh.profile.StackProfiler$StackRecord>> stacks;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/Thread$State;Lorg/openjdk/jmh/util/Multiset<Lorg/openjdk/jmh/profile/StackProfiler$StackRecord;>;>;
private final int topStacks;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(java.util.Map<java.lang.Thread$State, org.openjdk.jmh.util.Multiset<org.openjdk.jmh.profile.StackProfiler$StackRecord>>, );
descriptor: (Ljava/util/Map;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getstatic org.openjdk.jmh.results.ResultRole.SECONDARY:Lorg/openjdk/jmh/results/ResultRole;
ldc "\u00B7stack"
ldc NaN
invokestatic org.openjdk.jmh.profile.StackProfiler$StackResult.of:(D)Lorg/openjdk/jmh/util/Statistics;
ldc "---"
getstatic org.openjdk.jmh.results.AggregationPolicy.AVG:Lorg/openjdk/jmh/results/AggregationPolicy;
invokespecial org.openjdk.jmh.results.Result.<init>:(Lorg/openjdk/jmh/results/ResultRole;Ljava/lang/String;Lorg/openjdk/jmh/util/Statistics;Ljava/lang/String;Lorg/openjdk/jmh/results/AggregationPolicy;)V
1: aload 0
aload 1
putfield org.openjdk.jmh.profile.StackProfiler$StackResult.stacks:Ljava/util/Map;
2: aload 0
iload 2
putfield org.openjdk.jmh.profile.StackProfiler$StackResult.topStacks:I
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/openjdk/jmh/profile/StackProfiler$StackResult;
0 4 1 stacks Ljava/util/Map<Ljava/lang/Thread$State;Lorg/openjdk/jmh/util/Multiset<Lorg/openjdk/jmh/profile/StackProfiler$StackRecord;>;>;
0 4 2 topStacks I
Signature: (Ljava/util/Map<Ljava/lang/Thread$State;Lorg/openjdk/jmh/util/Multiset<Lorg/openjdk/jmh/profile/StackProfiler$StackRecord;>;>;I)V
MethodParameters:
Name Flags
stacks
topStacks
protected org.openjdk.jmh.results.Aggregator<org.openjdk.jmh.profile.StackProfiler$StackResult> getThreadAggregator();
descriptor: ()Lorg/openjdk/jmh/results/Aggregator;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: new org.openjdk.jmh.profile.StackProfiler$StackResultAggregator
dup
invokespecial org.openjdk.jmh.profile.StackProfiler$StackResultAggregator.<init>:()V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/openjdk/jmh/profile/StackProfiler$StackResult;
Signature: ()Lorg/openjdk/jmh/results/Aggregator<Lorg/openjdk/jmh/profile/StackProfiler$StackResult;>;
protected org.openjdk.jmh.results.Aggregator<org.openjdk.jmh.profile.StackProfiler$StackResult> getIterationAggregator();
descriptor: ()Lorg/openjdk/jmh/results/Aggregator;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: new org.openjdk.jmh.profile.StackProfiler$StackResultAggregator
dup
invokespecial org.openjdk.jmh.profile.StackProfiler$StackResultAggregator.<init>:()V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/openjdk/jmh/profile/StackProfiler$StackResult;
Signature: ()Lorg/openjdk/jmh/results/Aggregator<Lorg/openjdk/jmh/profile/StackProfiler$StackResult;>;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "<delayed till summary>"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/openjdk/jmh/profile/StackProfiler$StackResult;
public java.lang.String extendedInfo();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield org.openjdk.jmh.profile.StackProfiler$StackResult.stacks:Ljava/util/Map;
invokevirtual org.openjdk.jmh.profile.StackProfiler$StackResult.getStack:(Ljava/util/Map;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/openjdk/jmh/profile/StackProfiler$StackResult;
public java.lang.String getStack(java.util.Map<java.lang.Thread$State, org.openjdk.jmh.util.Multiset<org.openjdk.jmh.profile.StackProfiler$StackRecord>>);
descriptor: (Ljava/util/Map;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=14, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
aload 1
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
astore 2
start local 2 1: aload 2
new org.openjdk.jmh.profile.StackProfiler$StackResult$1
dup
aload 0
aload 1
invokespecial org.openjdk.jmh.profile.StackProfiler$StackResult$1.<init>:(Lorg/openjdk/jmh/profile/StackProfiler$StackResult;Ljava/util/Map;)V
invokestatic java.util.Collections.sort:(Ljava/util/List;Ljava/util/Comparator;)V
2: aload 0
aload 1
invokevirtual org.openjdk.jmh.profile.StackProfiler$StackResult.getTotalSize:(Ljava/util/Map;)J
lstore 3
start local 3 3: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 5
start local 5 4: aload 5
ldc "Stack profiler:\n\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
5: aload 5
ldc "Thread state distributions"
invokestatic org.openjdk.jmh.profile.StackProfiler.dottedLine:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
6: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 10
StackMap locals: org.openjdk.jmh.profile.StackProfiler$StackResult java.util.Map java.util.List long java.lang.StringBuilder top java.util.Iterator
StackMap stack:
7: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Thread$State
astore 6
start local 6 8: aload 0
aload 1
aload 6
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.openjdk.jmh.util.Multiset
invokeinterface org.openjdk.jmh.util.Multiset.size:()J
lload 3
invokevirtual org.openjdk.jmh.profile.StackProfiler$StackResult.isSignificant:(JJ)Z
ifeq 10
9: aload 5
ldc "%5.1f%% %7s %s%n"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 1
aload 6
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.openjdk.jmh.util.Multiset
invokeinterface org.openjdk.jmh.util.Multiset.size:()J
l2d
ldc 100.0
dmul
lload 3
l2d
ddiv
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
dup
iconst_1
ldc ""
aastore
dup
iconst_2
aload 6
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 6 10: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
11: aload 5
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
12: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 43
StackMap locals:
StackMap stack:
13: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Thread$State
astore 6
start local 6 14: aload 1
aload 6
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.openjdk.jmh.util.Multiset
astore 8
start local 8 15: aload 0
aload 8
invokeinterface org.openjdk.jmh.util.Multiset.size:()J
lload 3
invokevirtual org.openjdk.jmh.profile.StackProfiler$StackResult.isSignificant:(JJ)Z
ifeq 43
16: aload 5
new java.lang.StringBuilder
dup
ldc "Thread state: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.Thread$State.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.openjdk.jmh.profile.StackProfiler.dottedLine:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
17: iconst_0
istore 9
start local 9 18: aload 8
aload 0
getfield org.openjdk.jmh.profile.StackProfiler$StackResult.topStacks:I
invokestatic org.openjdk.jmh.util.Multisets.countHighest:(Lorg/openjdk/jmh/util/Multiset;I)Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 11
goto 35
StackMap locals: org.openjdk.jmh.profile.StackProfiler$StackResult java.util.Map java.util.List long java.lang.StringBuilder java.lang.Thread$State java.util.Iterator org.openjdk.jmh.util.Multiset int top java.util.Iterator
StackMap stack:
19: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.openjdk.jmh.profile.StackProfiler$StackRecord
astore 10
start local 10 20: aload 10
getfield org.openjdk.jmh.profile.StackProfiler$StackRecord.lines:Ljava/util/List;
astore 12
start local 12 21: aload 12
invokeinterface java.util.List.isEmpty:()Z
ifne 35
22: iload 9
i2l
aload 8
aload 10
invokeinterface org.openjdk.jmh.util.Multiset.count:(Ljava/lang/Object;)J
ladd
l2i
istore 9
23: aload 5
ldc "%5.1f%% %5.1f%% %s%n"
iconst_3
anewarray java.lang.Object
dup
iconst_0
24: aload 8
aload 10
invokeinterface org.openjdk.jmh.util.Multiset.count:(Ljava/lang/Object;)J
l2d
ldc 100.0
dmul
lload 3
l2d
ddiv
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
dup
iconst_1
25: aload 8
aload 10
invokeinterface org.openjdk.jmh.util.Multiset.count:(Ljava/lang/Object;)J
l2d
ldc 100.0
dmul
aload 8
invokeinterface org.openjdk.jmh.util.Multiset.size:()J
l2d
ddiv
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
dup
iconst_2
26: aload 12
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
aastore
27: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
28: aload 12
invokeinterface java.util.List.size:()I
iconst_1
if_icmple 35
29: iconst_1
istore 13
start local 13 30: goto 33
31: StackMap locals: org.openjdk.jmh.profile.StackProfiler$StackResult java.util.Map java.util.List long java.lang.StringBuilder java.lang.Thread$State java.util.Iterator org.openjdk.jmh.util.Multiset int org.openjdk.jmh.profile.StackProfiler$StackRecord java.util.Iterator java.util.List int
StackMap stack:
aload 5
ldc "%13s %s%n"
iconst_2
anewarray java.lang.Object
dup
iconst_0
ldc ""
aastore
dup
iconst_1
aload 12
iload 13
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
32: iinc 13 1
StackMap locals:
StackMap stack:
33: iload 13
aload 12
invokeinterface java.util.List.size:()I
if_icmplt 31
end local 13 34: aload 5
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 12 end local 10 35: StackMap locals: org.openjdk.jmh.profile.StackProfiler$StackResult java.util.Map java.util.List long java.lang.StringBuilder java.lang.Thread$State java.util.Iterator org.openjdk.jmh.util.Multiset int top java.util.Iterator
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 19
36: aload 0
aload 8
invokeinterface org.openjdk.jmh.util.Multiset.size:()J
iload 9
i2l
lsub
aload 8
invokeinterface org.openjdk.jmh.util.Multiset.size:()J
invokevirtual org.openjdk.jmh.profile.StackProfiler$StackResult.isSignificant:(JJ)Z
ifeq 42
37: aload 5
ldc "%5.1f%% %5.1f%% %s%n"
iconst_3
anewarray java.lang.Object
dup
iconst_0
38: aload 8
invokeinterface org.openjdk.jmh.util.Multiset.size:()J
iload 9
i2l
lsub
l2d
ldc 100.0
dmul
lload 3
l2d
ddiv
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
dup
iconst_1
39: aload 8
invokeinterface org.openjdk.jmh.util.Multiset.size:()J
iload 9
i2l
lsub
l2d
ldc 100.0
dmul
aload 8
invokeinterface org.openjdk.jmh.util.Multiset.size:()J
l2d
ddiv
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
dup
iconst_2
40: ldc "<other>"
aastore
41: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
42: StackMap locals: org.openjdk.jmh.profile.StackProfiler$StackResult java.util.Map java.util.List long java.lang.StringBuilder java.lang.Thread$State java.util.Iterator org.openjdk.jmh.util.Multiset int
StackMap stack:
aload 5
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 9 end local 8 end local 6 43: StackMap locals: org.openjdk.jmh.profile.StackProfiler$StackResult java.util.Map java.util.List long java.lang.StringBuilder top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 13
44: aload 5
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 45 0 this Lorg/openjdk/jmh/profile/StackProfiler$StackResult;
0 45 1 stacks Ljava/util/Map<Ljava/lang/Thread$State;Lorg/openjdk/jmh/util/Multiset<Lorg/openjdk/jmh/profile/StackProfiler$StackRecord;>;>;
1 45 2 sortedStates Ljava/util/List<Ljava/lang/Thread$State;>;
3 45 3 totalSize J
4 45 5 builder Ljava/lang/StringBuilder;
8 10 6 state Ljava/lang/Thread$State;
14 43 6 state Ljava/lang/Thread$State;
15 43 8 stateStacks Lorg/openjdk/jmh/util/Multiset<Lorg/openjdk/jmh/profile/StackProfiler$StackRecord;>;
18 43 9 totalDisplayed I
20 35 10 s Lorg/openjdk/jmh/profile/StackProfiler$StackRecord;
21 35 12 lines Ljava/util/List<Ljava/lang/String;>;
30 34 13 i I
Signature: (Ljava/util/Map<Ljava/lang/Thread$State;Lorg/openjdk/jmh/util/Multiset<Lorg/openjdk/jmh/profile/StackProfiler$StackRecord;>;>;)Ljava/lang/String;
MethodParameters:
Name Flags
stacks final
private boolean isSignificant(long, long);
descriptor: (JJ)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 3 0: lload 1
ldc 1000
lmul
lload 3
lcmp
iflt 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/openjdk/jmh/profile/StackProfiler$StackResult;
0 2 1 part J
0 2 3 total J
MethodParameters:
Name Flags
part
total
private long getTotalSize(java.util.Map<java.lang.Thread$State, org.openjdk.jmh.util.Multiset<org.openjdk.jmh.profile.StackProfiler$StackRecord>>);
descriptor: (Ljava/util/Map;)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: lconst_0
lstore 2
start local 2 1: aload 1
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 5
goto 4
StackMap locals: org.openjdk.jmh.profile.StackProfiler$StackResult java.util.Map long top java.util.Iterator
StackMap stack:
2: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.openjdk.jmh.util.Multiset
astore 4
start local 4 3: lload 2
aload 4
invokeinterface org.openjdk.jmh.util.Multiset.size:()J
ladd
lstore 2
end local 4 4: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: lload 2
lreturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/openjdk/jmh/profile/StackProfiler$StackResult;
0 6 1 stacks Ljava/util/Map<Ljava/lang/Thread$State;Lorg/openjdk/jmh/util/Multiset<Lorg/openjdk/jmh/profile/StackProfiler$StackRecord;>;>;
1 6 2 sum J
3 4 4 set Lorg/openjdk/jmh/util/Multiset<Lorg/openjdk/jmh/profile/StackProfiler$StackRecord;>;
Signature: (Ljava/util/Map<Ljava/lang/Thread$State;Lorg/openjdk/jmh/util/Multiset<Lorg/openjdk/jmh/profile/StackProfiler$StackRecord;>;>;)J
MethodParameters:
Name Flags
stacks
}
Signature: Lorg/openjdk/jmh/results/Result<Lorg/openjdk/jmh/profile/StackProfiler$StackResult;>;
SourceFile: "StackProfiler.java"
NestHost: org.openjdk.jmh.profile.StackProfiler
InnerClasses:
public final State = java.lang.Thread$State of java.lang.Thread
private StackRecord = org.openjdk.jmh.profile.StackProfiler$StackRecord of org.openjdk.jmh.profile.StackProfiler
public StackResult = org.openjdk.jmh.profile.StackProfiler$StackResult of org.openjdk.jmh.profile.StackProfiler
org.openjdk.jmh.profile.StackProfiler$StackResult$1
public StackResultAggregator = org.openjdk.jmh.profile.StackProfiler$StackResultAggregator of org.openjdk.jmh.profile.StackProfiler