public class org.apache.cassandra.utils.StreamingHistogram
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.cassandra.utils.StreamingHistogram
super_class: java.lang.Object
{
public static final org.apache.cassandra.utils.StreamingHistogram$StreamingHistogramSerializer serializer;
descriptor: Lorg/apache/cassandra/utils/StreamingHistogram$StreamingHistogramSerializer;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private final java.util.TreeMap<java.lang.Number, long[]> bin;
descriptor: Ljava/util/TreeMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/TreeMap<Ljava/lang/Number;[J>;
private final int maxBinSize;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new org.apache.cassandra.utils.StreamingHistogram$StreamingHistogramSerializer
dup
invokespecial org.apache.cassandra.utils.StreamingHistogram$StreamingHistogramSerializer.<init>:()V
putstatic org.apache.cassandra.utils.StreamingHistogram.serializer:Lorg/apache/cassandra/utils/StreamingHistogram$StreamingHistogramSerializer;
return
LocalVariableTable:
Start End Slot Name Signature
private void <init>(int, java.util.Map<java.lang.Number, long[]>);
descriptor: (ILjava/util/Map;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iload 1
putfield org.apache.cassandra.utils.StreamingHistogram.maxBinSize:I
2: aload 0
new java.util.TreeMap
dup
invokedynamic compare()Ljava/util/Comparator;
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;)I
org/apache/cassandra/utils/StreamingHistogram.lambda$0(Ljava/lang/Number;Ljava/lang/Number;)I (6)
(Ljava/lang/Number;Ljava/lang/Number;)I
invokespecial java.util.TreeMap.<init>:(Ljava/util/Comparator;)V
putfield org.apache.cassandra.utils.StreamingHistogram.bin:Ljava/util/TreeMap;
3: aload 2
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 6
StackMap locals: org.apache.cassandra.utils.StreamingHistogram int java.util.Map top java.util.Iterator
StackMap stack:
4: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 3
start local 3 5: aload 0
getfield org.apache.cassandra.utils.StreamingHistogram.bin:Ljava/util/TreeMap;
aload 3
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.Number
iconst_1
newarray 11
dup
iconst_0
aload 3
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast long[]
iconst_0
laload
lastore
invokevirtual java.util.TreeMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 3 6: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/apache/cassandra/utils/StreamingHistogram;
0 8 1 maxBinSize I
0 8 2 source Ljava/util/Map<Ljava/lang/Number;[J>;
5 6 3 entry Ljava/util/Map$Entry<Ljava/lang/Number;[J>;
Signature: (ILjava/util/Map<Ljava/lang/Number;[J>;)V
MethodParameters:
Name Flags
maxBinSize
source
public double sum(double);
descriptor: (D)D
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=13, args_size=2
start local 0 start local 1 0: dconst_0
dstore 3
start local 3 1: aload 0
getfield org.apache.cassandra.utils.StreamingHistogram.bin:Ljava/util/TreeMap;
dload 1
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
invokevirtual java.util.TreeMap.higherEntry:(Ljava/lang/Object;)Ljava/util/Map$Entry;
astore 5
start local 5 2: aload 5
ifnonnull 8
3: aload 0
getfield org.apache.cassandra.utils.StreamingHistogram.bin:Ljava/util/TreeMap;
invokevirtual java.util.TreeMap.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 7
goto 6
StackMap locals: org.apache.cassandra.utils.StreamingHistogram double double java.util.Map$Entry top java.util.Iterator
StackMap stack:
4: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast long[]
astore 6
start local 6 5: dload 3
aload 6
iconst_0
laload
l2d
dadd
dstore 3
end local 6 6: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
7: goto 19
8: StackMap locals: org.apache.cassandra.utils.StreamingHistogram double double java.util.Map$Entry
StackMap stack:
aload 0
getfield org.apache.cassandra.utils.StreamingHistogram.bin:Ljava/util/TreeMap;
dload 1
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
invokevirtual java.util.TreeMap.floorEntry:(Ljava/lang/Object;)Ljava/util/Map$Entry;
astore 6
start local 6 9: aload 6
ifnonnull 11
10: dconst_0
dreturn
11: StackMap locals: java.util.Map$Entry
StackMap stack:
dload 1
aload 6
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.Number
invokevirtual java.lang.Number.doubleValue:()D
dsub
aload 5
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.Number
invokevirtual java.lang.Number.doubleValue:()D
aload 6
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.Number
invokevirtual java.lang.Number.doubleValue:()D
dsub
ddiv
dstore 7
start local 7 12: aload 6
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast long[]
iconst_0
laload
l2d
aload 5
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast long[]
iconst_0
laload
aload 6
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast long[]
iconst_0
laload
lsub
l2d
dload 7
dmul
dadd
dstore 9
start local 9 13: dload 3
aload 6
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast long[]
iconst_0
laload
l2d
dload 9
dadd
dload 7
dmul
ldc 2.0
ddiv
dadd
dstore 3
14: dload 3
aload 6
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast long[]
iconst_0
laload
l2d
ldc 2.0
ddiv
dadd
dstore 3
15: aload 0
getfield org.apache.cassandra.utils.StreamingHistogram.bin:Ljava/util/TreeMap;
aload 6
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.Number
iconst_0
invokevirtual java.util.TreeMap.headMap:(Ljava/lang/Object;Z)Ljava/util/NavigableMap;
invokeinterface java.util.NavigableMap.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 12
goto 18
StackMap locals: org.apache.cassandra.utils.StreamingHistogram double double java.util.Map$Entry java.util.Map$Entry double double top java.util.Iterator
StackMap stack:
16: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast long[]
astore 11
start local 11 17: dload 3
aload 11
iconst_0
laload
l2d
dadd
dstore 3
end local 11 18: StackMap locals:
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 16
end local 9 end local 7 end local 6 19: StackMap locals: org.apache.cassandra.utils.StreamingHistogram double double java.util.Map$Entry
StackMap stack:
dload 3
dreturn
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lorg/apache/cassandra/utils/StreamingHistogram;
0 20 1 b D
1 20 3 sum D
2 20 5 pnext Ljava/util/Map$Entry<Ljava/lang/Number;[J>;
5 6 6 value [J
9 19 6 pi Ljava/util/Map$Entry<Ljava/lang/Number;[J>;
12 19 7 weight D
13 19 9 mb D
17 18 11 value [J
MethodParameters:
Name Flags
b
public java.util.Map<java.lang.Number, long[]> getAsMap();
descriptor: ()Ljava/util/Map;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.utils.StreamingHistogram.bin:Ljava/util/TreeMap;
invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/utils/StreamingHistogram;
Signature: ()Ljava/util/Map<Ljava/lang/Number;[J>;
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof org.apache.cassandra.utils.StreamingHistogram
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
checkcast org.apache.cassandra.utils.StreamingHistogram
astore 2
start local 2 5: aload 0
getfield org.apache.cassandra.utils.StreamingHistogram.maxBinSize:I
aload 2
getfield org.apache.cassandra.utils.StreamingHistogram.maxBinSize:I
if_icmpne 8
6: aload 0
getfield org.apache.cassandra.utils.StreamingHistogram.bin:Ljava/util/TreeMap;
aload 2
getfield org.apache.cassandra.utils.StreamingHistogram.bin:Ljava/util/TreeMap;
invokevirtual java.util.TreeMap.equals:(Ljava/lang/Object;)Z
ifeq 8
7: iconst_1
ireturn
StackMap locals: org.apache.cassandra.utils.StreamingHistogram
StackMap stack:
8: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/apache/cassandra/utils/StreamingHistogram;
0 9 1 o Ljava/lang/Object;
5 9 2 that Lorg/apache/cassandra/utils/StreamingHistogram;
MethodParameters:
Name Flags
o
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield org.apache.cassandra.utils.StreamingHistogram.bin:Ljava/util/TreeMap;
invokevirtual java.util.TreeMap.hashCode:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 0
getfield org.apache.cassandra.utils.StreamingHistogram.maxBinSize:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic com.google.common.base.Objects.hashCode:([Ljava/lang/Object;)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/utils/StreamingHistogram;
private static int lambda$0(java.lang.Number, java.lang.Number);
descriptor: (Ljava/lang/Number;Ljava/lang/Number;)I
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 2
1: aload 0
checkcast java.lang.Comparable
aload 1
invokeinterface java.lang.Comparable.compareTo:(Ljava/lang/Object;)I
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Number.doubleValue:()D
aload 1
invokevirtual java.lang.Number.doubleValue:()D
invokestatic java.lang.Double.compare:(DD)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 o1 Ljava/lang/Number;
0 3 1 o2 Ljava/lang/Number;
}
SourceFile: "StreamingHistogram.java"
NestMembers:
org.apache.cassandra.utils.StreamingHistogram$StreamingHistogramBuilder org.apache.cassandra.utils.StreamingHistogram$StreamingHistogramSerializer
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Entry = java.util.Map$Entry of java.util.Map
public StreamingHistogramBuilder = org.apache.cassandra.utils.StreamingHistogram$StreamingHistogramBuilder of org.apache.cassandra.utils.StreamingHistogram
public StreamingHistogramSerializer = org.apache.cassandra.utils.StreamingHistogram$StreamingHistogramSerializer of org.apache.cassandra.utils.StreamingHistogram