public class org.openjdk.jmh.util.SampleBuffer implements java.io.Serializable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.openjdk.jmh.util.SampleBuffer
super_class: java.lang.Object
{
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 6124923853916845327
private static final int PRECISION_BITS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 10
private static final int BUCKETS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 54
private final int[][] hdr;
descriptor: [[I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 // org.openjdk.jmh.util.SampleBuffer this
0: .line 40
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 41
aload 0 /* this */
bipush 54
anewarray int[]
putfield org.openjdk.jmh.util.SampleBuffer.hdr:[[I
2: .line 42
return
end local 0 // org.openjdk.jmh.util.SampleBuffer this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/openjdk/jmh/util/SampleBuffer;
public void half();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=1
start local 0 // org.openjdk.jmh.util.SampleBuffer this
0: .line 45
aload 0 /* this */
getfield org.openjdk.jmh.util.SampleBuffer.hdr:[[I
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 11
StackMap locals: org.openjdk.jmh.util.SampleBuffer top int int int[][]
StackMap stack:
1: aload 4
iload 2
aaload
astore 1 /* bucket */
start local 1 // int[] bucket
2: .line 46
aload 1 /* bucket */
ifnull 10
3: .line 47
iconst_0
istore 5 /* j */
start local 5 // int j
4: goto 9
5: .line 48
StackMap locals: org.openjdk.jmh.util.SampleBuffer int[] int int int[][] int
StackMap stack:
aload 1 /* bucket */
iload 5 /* j */
iaload
iconst_2
idiv
istore 6 /* nV */
start local 6 // int nV
6: .line 49
iload 6 /* nV */
ifeq 8
7: .line 50
aload 1 /* bucket */
iload 5 /* j */
iload 6 /* nV */
iastore
end local 6 // int nV
8: .line 47
StackMap locals:
StackMap stack:
iinc 5 /* j */ 1
StackMap locals:
StackMap stack:
9: iload 5 /* j */
aload 1 /* bucket */
arraylength
if_icmplt 5
end local 5 // int j
end local 1 // int[] bucket
10: .line 45
StackMap locals: org.openjdk.jmh.util.SampleBuffer top int int int[][]
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
11: iload 2
iload 3
if_icmplt 1
12: .line 55
return
end local 0 // org.openjdk.jmh.util.SampleBuffer this
LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/openjdk/jmh/util/SampleBuffer;
2 10 1 bucket [I
4 10 5 j I
6 8 6 nV I
public void add(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=2
start local 0 // org.openjdk.jmh.util.SampleBuffer this
start local 1 // long sample
0: .line 58
iconst_0
bipush 54
lload 1 /* sample */
invokestatic java.lang.Long.numberOfLeadingZeros:(J)I
isub
invokestatic java.lang.Math.max:(II)I
istore 3 /* bucket */
start local 3 // int bucket
1: .line 59
lload 1 /* sample */
iload 3 /* bucket */
lshr
l2i
istore 4 /* subBucket */
start local 4 // int subBucket
2: .line 61
aload 0 /* this */
getfield org.openjdk.jmh.util.SampleBuffer.hdr:[[I
iload 3 /* bucket */
aaload
astore 5 /* b */
start local 5 // int[] b
3: .line 62
aload 5 /* b */
ifnonnull 6
4: .line 63
sipush 1024
newarray 10
astore 5 /* b */
5: .line 64
aload 0 /* this */
getfield org.openjdk.jmh.util.SampleBuffer.hdr:[[I
iload 3 /* bucket */
aload 5 /* b */
aastore
6: .line 66
StackMap locals: int int int[]
StackMap stack:
aload 5 /* b */
iload 4 /* subBucket */
dup2
iaload
iconst_1
iadd
iastore
7: .line 67
return
end local 5 // int[] b
end local 4 // int subBucket
end local 3 // int bucket
end local 1 // long sample
end local 0 // org.openjdk.jmh.util.SampleBuffer this
LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/openjdk/jmh/util/SampleBuffer;
0 8 1 sample J
1 8 3 bucket I
2 8 4 subBucket I
3 8 5 b [I
MethodParameters:
Name Flags
sample
public org.openjdk.jmh.util.Statistics getStatistics(double);
descriptor: (D)Lorg/openjdk/jmh/util/Statistics;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=2
start local 0 // org.openjdk.jmh.util.SampleBuffer this
start local 1 // double multiplier
0: .line 70
new org.openjdk.jmh.util.MultisetStatistics
dup
invokespecial org.openjdk.jmh.util.MultisetStatistics.<init>:()V
astore 3 /* stat */
start local 3 // org.openjdk.jmh.util.MultisetStatistics stat
1: .line 71
iconst_0
istore 4 /* i */
start local 4 // int i
2: goto 12
3: .line 72
StackMap locals: org.openjdk.jmh.util.MultisetStatistics int
StackMap stack:
aload 0 /* this */
getfield org.openjdk.jmh.util.SampleBuffer.hdr:[[I
iload 4 /* i */
aaload
astore 5 /* bucket */
start local 5 // int[] bucket
4: .line 73
aload 5 /* bucket */
ifnull 11
5: .line 74
iconst_0
istore 6 /* j */
start local 6 // int j
6: goto 10
7: .line 75
StackMap locals: int[] int
StackMap stack:
iload 6 /* j */
i2l
iload 4 /* i */
lshl
lstore 7 /* ns */
start local 7 // long ns
8: .line 76
aload 3 /* stat */
dload 1 /* multiplier */
lload 7 /* ns */
l2d
dmul
aload 5 /* bucket */
iload 6 /* j */
iaload
i2l
invokevirtual org.openjdk.jmh.util.MultisetStatistics.addValue:(DJ)V
end local 7 // long ns
9: .line 74
iinc 6 /* j */ 1
StackMap locals:
StackMap stack:
10: iload 6 /* j */
aload 5 /* bucket */
arraylength
if_icmplt 7
end local 6 // int j
end local 5 // int[] bucket
11: .line 71
StackMap locals:
StackMap stack:
iinc 4 /* i */ 1
StackMap locals:
StackMap stack:
12: iload 4 /* i */
aload 0 /* this */
getfield org.openjdk.jmh.util.SampleBuffer.hdr:[[I
arraylength
if_icmplt 3
end local 4 // int i
13: .line 80
aload 3 /* stat */
areturn
end local 3 // org.openjdk.jmh.util.MultisetStatistics stat
end local 1 // double multiplier
end local 0 // org.openjdk.jmh.util.SampleBuffer this
LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/openjdk/jmh/util/SampleBuffer;
0 14 1 multiplier D
1 14 3 stat Lorg/openjdk/jmh/util/MultisetStatistics;
2 13 4 i I
4 11 5 bucket [I
6 11 6 j I
8 9 7 ns J
MethodParameters:
Name Flags
multiplier
public void addAll(org.openjdk.jmh.util.SampleBuffer);
descriptor: (Lorg/openjdk/jmh/util/SampleBuffer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=2
start local 0 // org.openjdk.jmh.util.SampleBuffer this
start local 1 // org.openjdk.jmh.util.SampleBuffer other
0: .line 84
iconst_0
istore 2 /* i */
start local 2 // int i
1: goto 14
2: .line 85
StackMap locals: int
StackMap stack:
aload 1 /* other */
getfield org.openjdk.jmh.util.SampleBuffer.hdr:[[I
iload 2 /* i */
aaload
astore 3 /* otherBucket */
start local 3 // int[] otherBucket
3: .line 86
aload 3 /* otherBucket */
ifnull 13
4: .line 87
aload 0 /* this */
getfield org.openjdk.jmh.util.SampleBuffer.hdr:[[I
iload 2 /* i */
aaload
astore 4 /* myBucket */
start local 4 // int[] myBucket
5: .line 88
aload 4 /* myBucket */
ifnonnull 8
6: .line 89
sipush 1024
newarray 10
astore 4 /* myBucket */
7: .line 90
aload 0 /* this */
getfield org.openjdk.jmh.util.SampleBuffer.hdr:[[I
iload 2 /* i */
aload 4 /* myBucket */
aastore
8: .line 92
StackMap locals: int[] int[]
StackMap stack:
iconst_0
istore 5 /* j */
start local 5 // int j
9: goto 12
10: .line 93
StackMap locals: int
StackMap stack:
aload 4 /* myBucket */
iload 5 /* j */
dup2
iaload
aload 3 /* otherBucket */
iload 5 /* j */
iaload
iadd
iastore
11: .line 92
iinc 5 /* j */ 1
StackMap locals:
StackMap stack:
12: iload 5 /* j */
aload 3 /* otherBucket */
arraylength
if_icmplt 10
end local 5 // int j
end local 4 // int[] myBucket
end local 3 // int[] otherBucket
13: .line 84
StackMap locals:
StackMap stack:
iinc 2 /* i */ 1
StackMap locals:
StackMap stack:
14: iload 2 /* i */
aload 1 /* other */
getfield org.openjdk.jmh.util.SampleBuffer.hdr:[[I
arraylength
if_icmplt 2
end local 2 // int i
15: .line 97
return
end local 1 // org.openjdk.jmh.util.SampleBuffer other
end local 0 // org.openjdk.jmh.util.SampleBuffer this
LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/openjdk/jmh/util/SampleBuffer;
0 16 1 other Lorg/openjdk/jmh/util/SampleBuffer;
1 15 2 i I
3 13 3 otherBucket [I
5 13 4 myBucket [I
9 13 5 j I
MethodParameters:
Name Flags
other
public int count();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=10, args_size=1
start local 0 // org.openjdk.jmh.util.SampleBuffer this
0: .line 100
iconst_0
istore 1 /* count */
start local 1 // int count
1: .line 101
aload 0 /* this */
getfield org.openjdk.jmh.util.SampleBuffer.hdr:[[I
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 10
StackMap locals: org.openjdk.jmh.util.SampleBuffer int top int int int[][]
StackMap stack:
2: aload 5
iload 3
aaload
astore 2 /* bucket */
start local 2 // int[] bucket
3: .line 102
aload 2 /* bucket */
ifnull 9
4: .line 103
aload 2 /* bucket */
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 8
StackMap locals: org.openjdk.jmh.util.SampleBuffer int int[] int int int[][] top int int int[]
StackMap stack:
5: aload 9
iload 7
iaload
istore 6 /* v */
start local 6 // int v
6: .line 104
iload 1 /* count */
iload 6 /* v */
iadd
istore 1 /* count */
end local 6 // int v
7: .line 103
iinc 7 1
StackMap locals:
StackMap stack:
8: iload 7
iload 8
if_icmplt 5
end local 2 // int[] bucket
9: .line 101
StackMap locals: org.openjdk.jmh.util.SampleBuffer int top int int int[][]
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
10: iload 3
iload 4
if_icmplt 2
11: .line 108
iload 1 /* count */
ireturn
end local 1 // int count
end local 0 // org.openjdk.jmh.util.SampleBuffer this
LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/openjdk/jmh/util/SampleBuffer;
1 12 1 count I
3 9 2 bucket [I
6 7 6 v I
}
SourceFile: "SampleBuffer.java"