public class org.apache.cassandra.utils.EstimatedHistogram
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.cassandra.utils.EstimatedHistogram
super_class: java.lang.Object
{
public static final org.apache.cassandra.utils.EstimatedHistogram$EstimatedHistogramSerializer serializer;
descriptor: Lorg/apache/cassandra/utils/EstimatedHistogram$EstimatedHistogramSerializer;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private final long[] bucketOffsets;
descriptor: [J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
final java.util.concurrent.atomic.AtomicLongArray buckets;
descriptor: Ljava/util/concurrent/atomic/AtomicLongArray;
flags: (0x0010) ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc Lorg/apache/cassandra/utils/EstimatedHistogram;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic org.apache.cassandra.utils.EstimatedHistogram.$assertionsDisabled:Z
3: new org.apache.cassandra.utils.EstimatedHistogram$EstimatedHistogramSerializer
dup
invokespecial org.apache.cassandra.utils.EstimatedHistogram$EstimatedHistogramSerializer.<init>:()V
putstatic org.apache.cassandra.utils.EstimatedHistogram.serializer:Lorg/apache/cassandra/utils/EstimatedHistogram$EstimatedHistogramSerializer;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
bipush 90
invokespecial org.apache.cassandra.utils.EstimatedHistogram.<init>:(I)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/cassandra/utils/EstimatedHistogram;
public void <init>(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
iconst_0
invokespecial org.apache.cassandra.utils.EstimatedHistogram.<init>:(IZ)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/cassandra/utils/EstimatedHistogram;
0 2 1 bucketCount I
MethodParameters:
Name Flags
bucketCount
public void <init>(int, boolean);
descriptor: (IZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iload 1
iload 2
invokestatic org.apache.cassandra.utils.EstimatedHistogram.newOffsets:(IZ)[J
putfield org.apache.cassandra.utils.EstimatedHistogram.bucketOffsets:[J
2: aload 0
new java.util.concurrent.atomic.AtomicLongArray
dup
aload 0
getfield org.apache.cassandra.utils.EstimatedHistogram.bucketOffsets:[J
arraylength
iconst_1
iadd
invokespecial java.util.concurrent.atomic.AtomicLongArray.<init>:(I)V
putfield org.apache.cassandra.utils.EstimatedHistogram.buckets:Ljava/util/concurrent/atomic/AtomicLongArray;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/cassandra/utils/EstimatedHistogram;
0 4 1 bucketCount I
0 4 2 considerZeroes Z
MethodParameters:
Name Flags
bucketCount
considerZeroes
public void <init>(long[]);
descriptor: ([J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: getstatic org.apache.cassandra.utils.EstimatedHistogram.$assertionsDisabled:Z
ifne 3
aload 1
ifnull 2
aload 1
arraylength
ifgt 3
StackMap locals: org.apache.cassandra.utils.EstimatedHistogram long[]
StackMap stack:
2: new java.lang.AssertionError
dup
ldc "Bucket data must be an array of size more than 0"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
aload 1
arraylength
iconst_1
isub
iconst_0
invokestatic org.apache.cassandra.utils.EstimatedHistogram.newOffsets:(IZ)[J
putfield org.apache.cassandra.utils.EstimatedHistogram.bucketOffsets:[J
4: aload 0
new java.util.concurrent.atomic.AtomicLongArray
dup
aload 1
invokespecial java.util.concurrent.atomic.AtomicLongArray.<init>:([J)V
putfield org.apache.cassandra.utils.EstimatedHistogram.buckets:Ljava/util/concurrent/atomic/AtomicLongArray;
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/cassandra/utils/EstimatedHistogram;
0 6 1 bucketData [J
MethodParameters:
Name Flags
bucketData
public void <init>(long[], long[]);
descriptor: ([J[J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: getstatic org.apache.cassandra.utils.EstimatedHistogram.$assertionsDisabled:Z
ifne 2
aload 2
arraylength
aload 1
arraylength
iconst_1
iadd
if_icmpeq 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: org.apache.cassandra.utils.EstimatedHistogram long[] long[]
StackMap stack:
aload 0
aload 1
putfield org.apache.cassandra.utils.EstimatedHistogram.bucketOffsets:[J
3: aload 0
new java.util.concurrent.atomic.AtomicLongArray
dup
aload 2
invokespecial java.util.concurrent.atomic.AtomicLongArray.<init>:([J)V
putfield org.apache.cassandra.utils.EstimatedHistogram.buckets:Ljava/util/concurrent/atomic/AtomicLongArray;
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/cassandra/utils/EstimatedHistogram;
0 5 1 offsets [J
0 5 2 bucketData [J
MethodParameters:
Name Flags
offsets
bucketData
public static long[] newOffsets(int, boolean);
descriptor: (IZ)[J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=8, args_size=2
start local 0 start local 1 0: iload 0
iload 1
ifeq 1
iconst_1
goto 2
StackMap locals:
StackMap stack: int
1: iconst_0
StackMap locals: int int
StackMap stack: int int
2: iadd
newarray 11
astore 2
start local 2 3: iconst_0
istore 3
start local 3 4: iload 1
ifeq 6
5: aload 2
iload 3
iinc 3 1
lconst_0
lastore
6: StackMap locals: long[] int
StackMap stack:
lconst_1
lstore 4
start local 4 7: aload 2
iload 3
iinc 3 1
lload 4
lastore
8: goto 15
9: StackMap locals: long
StackMap stack:
lload 4
l2d
ldc 1.2
dmul
invokestatic java.lang.Math.round:(D)J
lstore 6
start local 6 10: lload 6
lload 4
lcmp
ifne 12
11: lload 6
lconst_1
ladd
lstore 6
12: StackMap locals: long
StackMap stack:
aload 2
iload 3
lload 6
lastore
13: lload 6
lstore 4
end local 6 14: iinc 3 1
StackMap locals:
StackMap stack:
15: iload 3
aload 2
arraylength
if_icmplt 9
16: aload 2
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 size I
0 17 1 considerZeroes Z
3 17 2 result [J
4 17 3 i I
7 17 4 last J
10 14 6 next J
MethodParameters:
Name Flags
size
considerZeroes
public long[] getBucketOffsets();
descriptor: ()[J
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.utils.EstimatedHistogram.bucketOffsets:[J
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/utils/EstimatedHistogram;
public void add(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.cassandra.utils.EstimatedHistogram.bucketOffsets:[J
lload 1
invokestatic java.util.Arrays.binarySearch:([JJ)I
istore 3
start local 3 1: iload 3
ifge 3
2: iload 3
ineg
iconst_1
isub
istore 3
3: StackMap locals: int
StackMap stack:
aload 0
getfield org.apache.cassandra.utils.EstimatedHistogram.buckets:Ljava/util/concurrent/atomic/AtomicLongArray;
iload 3
invokevirtual java.util.concurrent.atomic.AtomicLongArray.incrementAndGet:(I)J
pop2
4: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/cassandra/utils/EstimatedHistogram;
0 5 1 n J
1 5 3 index I
MethodParameters:
Name Flags
n
long get(int);
descriptor: (I)J
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.cassandra.utils.EstimatedHistogram.buckets:Ljava/util/concurrent/atomic/AtomicLongArray;
iload 1
invokevirtual java.util.concurrent.atomic.AtomicLongArray.get:(I)J
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/utils/EstimatedHistogram;
0 1 1 bucket I
MethodParameters:
Name Flags
bucket
public long[] getBuckets(boolean);
descriptor: (Z)[J
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.cassandra.utils.EstimatedHistogram.buckets:Ljava/util/concurrent/atomic/AtomicLongArray;
invokevirtual java.util.concurrent.atomic.AtomicLongArray.length:()I
istore 2
start local 2 1: iload 2
newarray 11
astore 3
start local 3 2: iload 1
ifeq 9
3: iconst_0
istore 4
start local 4 4: goto 7
5: StackMap locals: int long[] int
StackMap stack:
aload 3
iload 4
aload 0
getfield org.apache.cassandra.utils.EstimatedHistogram.buckets:Ljava/util/concurrent/atomic/AtomicLongArray;
iload 4
lconst_0
invokevirtual java.util.concurrent.atomic.AtomicLongArray.getAndSet:(IJ)J
lastore
6: iinc 4 1
StackMap locals:
StackMap stack:
7: iload 4
iload 2
if_icmplt 5
end local 4 8: goto 14
9: StackMap locals:
StackMap stack:
iconst_0
istore 4
start local 4 10: goto 13
11: StackMap locals: int
StackMap stack:
aload 3
iload 4
aload 0
getfield org.apache.cassandra.utils.EstimatedHistogram.buckets:Ljava/util/concurrent/atomic/AtomicLongArray;
iload 4
invokevirtual java.util.concurrent.atomic.AtomicLongArray.get:(I)J
lastore
12: iinc 4 1
StackMap locals:
StackMap stack:
13: iload 4
iload 2
if_icmplt 11
end local 4 14: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/apache/cassandra/utils/EstimatedHistogram;
0 15 1 reset Z
1 15 2 len I
2 15 3 rv [J
4 8 4 i I
10 14 4 i I
MethodParameters:
Name Flags
reset
public long min();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: goto 7
2: StackMap locals: int
StackMap stack:
aload 0
getfield org.apache.cassandra.utils.EstimatedHistogram.buckets:Ljava/util/concurrent/atomic/AtomicLongArray;
iload 1
invokevirtual java.util.concurrent.atomic.AtomicLongArray.get:(I)J
lconst_0
lcmp
ifle 6
3: iload 1
ifne 4
lconst_0
goto 5
StackMap locals:
StackMap stack:
4: lconst_1
aload 0
getfield org.apache.cassandra.utils.EstimatedHistogram.bucketOffsets:[J
iload 1
iconst_1
isub
laload
ladd
StackMap locals:
StackMap stack: long
5: lreturn
6: StackMap locals:
StackMap stack:
iinc 1 1
StackMap locals:
StackMap stack:
7: iload 1
aload 0
getfield org.apache.cassandra.utils.EstimatedHistogram.buckets:Ljava/util/concurrent/atomic/AtomicLongArray;
invokevirtual java.util.concurrent.atomic.AtomicLongArray.length:()I
if_icmplt 2
end local 1 8: lconst_0
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/apache/cassandra/utils/EstimatedHistogram;
1 8 1 i I
public long max();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.utils.EstimatedHistogram.buckets:Ljava/util/concurrent/atomic/AtomicLongArray;
invokevirtual java.util.concurrent.atomic.AtomicLongArray.length:()I
iconst_1
isub
istore 1
start local 1 1: aload 0
getfield org.apache.cassandra.utils.EstimatedHistogram.buckets:Ljava/util/concurrent/atomic/AtomicLongArray;
iload 1
invokevirtual java.util.concurrent.atomic.AtomicLongArray.get:(I)J
lconst_0
lcmp
ifle 3
2: ldc 9223372036854775807
lreturn
3: StackMap locals: int
StackMap stack:
iload 1
iconst_1
isub
istore 2
start local 2 4: goto 8
5: StackMap locals: int
StackMap stack:
aload 0
getfield org.apache.cassandra.utils.EstimatedHistogram.buckets:Ljava/util/concurrent/atomic/AtomicLongArray;
iload 2
invokevirtual java.util.concurrent.atomic.AtomicLongArray.get:(I)J
lconst_0
lcmp
ifle 7
6: aload 0
getfield org.apache.cassandra.utils.EstimatedHistogram.bucketOffsets:[J
iload 2
laload
lreturn
7: StackMap locals:
StackMap stack:
iinc 2 -1
StackMap locals:
StackMap stack:
8: iload 2
ifge 5
end local 2 9: lconst_0
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/apache/cassandra/utils/EstimatedHistogram;
1 10 1 lastBucket I
4 9 2 i I
public long percentile(double);
descriptor: (D)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=9, args_size=2
start local 0 start local 1 0: getstatic org.apache.cassandra.utils.EstimatedHistogram.$assertionsDisabled:Z
ifne 2
dload 1
dconst_0
dcmpl
iflt 1
dload 1
dconst_1
dcmpg
ifle 2
StackMap locals:
StackMap stack:
1: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.utils.EstimatedHistogram.buckets:Ljava/util/concurrent/atomic/AtomicLongArray;
invokevirtual java.util.concurrent.atomic.AtomicLongArray.length:()I
iconst_1
isub
istore 3
start local 3 3: aload 0
getfield org.apache.cassandra.utils.EstimatedHistogram.buckets:Ljava/util/concurrent/atomic/AtomicLongArray;
iload 3
invokevirtual java.util.concurrent.atomic.AtomicLongArray.get:(I)J
lconst_0
lcmp
ifle 5
4: new java.lang.IllegalStateException
dup
ldc "Unable to compute when histogram overflowed"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: int
StackMap stack:
aload 0
invokevirtual org.apache.cassandra.utils.EstimatedHistogram.count:()J
l2d
dload 1
dmul
invokestatic java.lang.Math.ceil:(D)D
d2l
lstore 4
start local 4 6: lload 4
lconst_0
lcmp
ifne 8
7: lconst_0
lreturn
8: StackMap locals: long
StackMap stack:
lconst_0
lstore 6
start local 6 9: iconst_0
istore 8
start local 8 10: goto 15
11: StackMap locals: long int
StackMap stack:
lload 6
aload 0
getfield org.apache.cassandra.utils.EstimatedHistogram.buckets:Ljava/util/concurrent/atomic/AtomicLongArray;
iload 8
invokevirtual java.util.concurrent.atomic.AtomicLongArray.get:(I)J
ladd
lstore 6
12: lload 6
lload 4
lcmp
iflt 14
13: aload 0
getfield org.apache.cassandra.utils.EstimatedHistogram.bucketOffsets:[J
iload 8
laload
lreturn
14: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
15: iload 8
iload 3
if_icmplt 11
end local 8 16: lconst_0
lreturn
end local 6 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/apache/cassandra/utils/EstimatedHistogram;
0 17 1 percentile D
3 17 3 lastBucket I
6 17 4 pcount J
9 17 6 elements J
10 16 8 i I
MethodParameters:
Name Flags
percentile
public long mean();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.apache.cassandra.utils.EstimatedHistogram.rawMean:()D
invokestatic java.lang.Math.ceil:(D)D
d2l
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/utils/EstimatedHistogram;
public double rawMean();
descriptor: ()D
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=9, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.utils.EstimatedHistogram.buckets:Ljava/util/concurrent/atomic/AtomicLongArray;
invokevirtual java.util.concurrent.atomic.AtomicLongArray.length:()I
iconst_1
isub
istore 1
start local 1 1: aload 0
getfield org.apache.cassandra.utils.EstimatedHistogram.buckets:Ljava/util/concurrent/atomic/AtomicLongArray;
iload 1
invokevirtual java.util.concurrent.atomic.AtomicLongArray.get:(I)J
lconst_0
lcmp
ifle 3
2: new java.lang.IllegalStateException
dup
ldc "Unable to compute ceiling for max when histogram overflowed"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: int
StackMap stack:
lconst_0
lstore 2
start local 2 4: lconst_0
lstore 4
start local 4 5: iconst_0
istore 6
start local 6 6: goto 11
7: StackMap locals: long long int
StackMap stack:
aload 0
getfield org.apache.cassandra.utils.EstimatedHistogram.buckets:Ljava/util/concurrent/atomic/AtomicLongArray;
iload 6
invokevirtual java.util.concurrent.atomic.AtomicLongArray.get:(I)J
lstore 7
start local 7 8: lload 2
lload 7
ladd
lstore 2
9: lload 4
lload 7
aload 0
getfield org.apache.cassandra.utils.EstimatedHistogram.bucketOffsets:[J
iload 6
laload
lmul
ladd
lstore 4
end local 7 10: iinc 6 1
StackMap locals:
StackMap stack:
11: iload 6
iload 1
if_icmplt 7
end local 6 12: lload 4
l2d
lload 2
l2d
ddiv
dreturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/apache/cassandra/utils/EstimatedHistogram;
1 13 1 lastBucket I
4 13 2 elements J
5 13 4 sum J
6 12 6 i I
8 10 7 bCount J
public long count();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: lconst_0
lstore 1
start local 1 1: iconst_0
istore 3
start local 3 2: goto 5
3: StackMap locals: long int
StackMap stack:
lload 1
aload 0
getfield org.apache.cassandra.utils.EstimatedHistogram.buckets:Ljava/util/concurrent/atomic/AtomicLongArray;
iload 3
invokevirtual java.util.concurrent.atomic.AtomicLongArray.get:(I)J
ladd
lstore 1
4: iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
aload 0
getfield org.apache.cassandra.utils.EstimatedHistogram.buckets:Ljava/util/concurrent/atomic/AtomicLongArray;
invokevirtual java.util.concurrent.atomic.AtomicLongArray.length:()I
if_icmplt 3
end local 3 6: lload 1
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/cassandra/utils/EstimatedHistogram;
1 7 1 sum J
2 6 3 i I
public long getLargestBucketOffset();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.utils.EstimatedHistogram.bucketOffsets:[J
aload 0
getfield org.apache.cassandra.utils.EstimatedHistogram.bucketOffsets:[J
arraylength
iconst_1
isub
laload
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/utils/EstimatedHistogram;
public boolean isOverflowed();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.utils.EstimatedHistogram.buckets:Ljava/util/concurrent/atomic/AtomicLongArray;
aload 0
getfield org.apache.cassandra.utils.EstimatedHistogram.buckets:Ljava/util/concurrent/atomic/AtomicLongArray;
invokevirtual java.util.concurrent.atomic.AtomicLongArray.length:()I
iconst_1
isub
invokevirtual java.util.concurrent.atomic.AtomicLongArray.get:(I)J
lconst_0
lcmp
ifle 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/cassandra/utils/EstimatedHistogram;
public void log(org.slf4j.Logger);
descriptor: (Lorg/slf4j/Logger;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=9, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.cassandra.utils.EstimatedHistogram.buckets:Ljava/util/concurrent/atomic/AtomicLongArray;
aload 0
getfield org.apache.cassandra.utils.EstimatedHistogram.buckets:Ljava/util/concurrent/atomic/AtomicLongArray;
invokevirtual java.util.concurrent.atomic.AtomicLongArray.length:()I
iconst_1
isub
invokevirtual java.util.concurrent.atomic.AtomicLongArray.get:(I)J
lconst_0
lcmp
ifne 3
1: aload 0
getfield org.apache.cassandra.utils.EstimatedHistogram.buckets:Ljava/util/concurrent/atomic/AtomicLongArray;
invokevirtual java.util.concurrent.atomic.AtomicLongArray.length:()I
iconst_1
isub
istore 2
start local 2 2: goto 4
end local 2 3: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.utils.EstimatedHistogram.buckets:Ljava/util/concurrent/atomic/AtomicLongArray;
invokevirtual java.util.concurrent.atomic.AtomicLongArray.length:()I
istore 2
start local 2 4: StackMap locals: int
StackMap stack:
iload 2
anewarray java.lang.String
astore 3
start local 3 5: iconst_0
istore 4
start local 4 6: iconst_0
istore 5
start local 5 7: goto 11
8: StackMap locals: java.lang.String[] int int
StackMap stack:
aload 3
iload 5
aload 0
getfield org.apache.cassandra.utils.EstimatedHistogram.bucketOffsets:[J
iload 5
invokestatic org.apache.cassandra.utils.EstimatedHistogram.nameOfRange:([JI)Ljava/lang/String;
aastore
9: iload 4
aload 3
iload 5
aaload
invokevirtual java.lang.String.length:()I
invokestatic java.lang.Math.max:(II)I
istore 4
10: iinc 5 1
StackMap locals:
StackMap stack:
11: iload 5
iload 2
if_icmplt 8
end local 5 12: new java.lang.StringBuilder
dup
ldc "%"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "s: %d"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
start local 5 13: iconst_0
istore 6
start local 6 14: goto 20
15: StackMap locals: org.apache.cassandra.utils.EstimatedHistogram org.slf4j.Logger int java.lang.String[] int java.lang.String int
StackMap stack:
aload 0
getfield org.apache.cassandra.utils.EstimatedHistogram.buckets:Ljava/util/concurrent/atomic/AtomicLongArray;
iload 6
invokevirtual java.util.concurrent.atomic.AtomicLongArray.get:(I)J
lstore 7
start local 7 16: iload 6
ifne 18
lload 7
lconst_0
lcmp
ifne 18
17: goto 19
18: StackMap locals: long
StackMap stack:
aload 1
aload 5
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 3
iload 6
aaload
aastore
dup
iconst_1
lload 7
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;)V
end local 7 19: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
20: iload 6
iload 2
if_icmplt 15
end local 6 21: return
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 22 0 this Lorg/apache/cassandra/utils/EstimatedHistogram;
0 22 1 log Lorg/slf4j/Logger;
2 3 2 nameCount I
4 22 2 nameCount I
5 22 3 names [Ljava/lang/String;
6 22 4 maxNameLength I
7 12 5 i I
13 22 5 formatstr Ljava/lang/String;
14 21 6 i I
16 19 7 count J
MethodParameters:
Name Flags
log
private static java.lang.String nameOfRange(long[], int);
descriptor: ([JI)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 2
start local 2 1: aload 2
aload 0
iload 1
invokestatic org.apache.cassandra.utils.EstimatedHistogram.appendRange:(Ljava/lang/StringBuilder;[JI)V
2: 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 3 0 bucketOffsets [J
0 3 1 index I
1 3 2 sb Ljava/lang/StringBuilder;
MethodParameters:
Name Flags
bucketOffsets
index
private static void appendRange(java.lang.StringBuilder, long[], int);
descriptor: (Ljava/lang/StringBuilder;[JI)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
ldc "["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
1: iload 2
ifne 5
2: aload 1
iconst_0
laload
lconst_0
lcmp
ifle 4
3: aload 0
ldc "1"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
goto 6
4: StackMap locals:
StackMap stack:
aload 0
ldc "-Inf"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
goto 6
5: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
iconst_1
isub
laload
lconst_1
ladd
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
pop
6: StackMap locals:
StackMap stack:
aload 0
ldc ".."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
7: iload 2
aload 1
arraylength
if_icmpne 9
8: aload 0
ldc "Inf"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
goto 10
9: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
laload
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
pop
10: StackMap locals:
StackMap stack:
aload 0
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
11: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 sb Ljava/lang/StringBuilder;
0 12 1 bucketOffsets [J
0 12 2 index I
MethodParameters:
Name Flags
sb
bucketOffsets
index
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, 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.EstimatedHistogram
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
checkcast org.apache.cassandra.utils.EstimatedHistogram
astore 2
start local 2 5: aload 0
invokevirtual org.apache.cassandra.utils.EstimatedHistogram.getBucketOffsets:()[J
aload 2
invokevirtual org.apache.cassandra.utils.EstimatedHistogram.getBucketOffsets:()[J
invokestatic java.util.Arrays.equals:([J[J)Z
ifeq 8
6: aload 0
iconst_0
invokevirtual org.apache.cassandra.utils.EstimatedHistogram.getBuckets:(Z)[J
aload 2
iconst_0
invokevirtual org.apache.cassandra.utils.EstimatedHistogram.getBuckets:(Z)[J
invokestatic java.util.Arrays.equals:([J[J)Z
ifeq 8
7: iconst_1
ireturn
StackMap locals: org.apache.cassandra.utils.EstimatedHistogram
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/EstimatedHistogram;
0 9 1 o Ljava/lang/Object;
5 9 2 that Lorg/apache/cassandra/utils/EstimatedHistogram;
MethodParameters:
Name Flags
o
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
invokevirtual org.apache.cassandra.utils.EstimatedHistogram.getBucketOffsets:()[J
aastore
dup
iconst_1
aload 0
iconst_0
invokevirtual org.apache.cassandra.utils.EstimatedHistogram.getBuckets:(Z)[J
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/EstimatedHistogram;
}
SourceFile: "EstimatedHistogram.java"
NestMembers:
org.apache.cassandra.utils.EstimatedHistogram$EstimatedHistogramSerializer
InnerClasses:
public EstimatedHistogramSerializer = org.apache.cassandra.utils.EstimatedHistogram$EstimatedHistogramSerializer of org.apache.cassandra.utils.EstimatedHistogram