public class org.apache.cassandra.io.sstable.Downsampling
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.cassandra.io.sstable.Downsampling
super_class: java.lang.Object
{
public static final int BASE_SAMPLING_LEVEL;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 128
private static final java.util.Map<java.lang.Integer, java.util.List<java.lang.Integer>> samplePatternCache;
descriptor: Ljava/util/Map;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/Integer;Ljava/util/List<Ljava/lang/Integer;>;>;
private static final java.util.Map<java.lang.Integer, java.util.List<java.lang.Integer>> originalIndexCache;
descriptor: Ljava/util/Map;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/Integer;Ljava/util/List<Ljava/lang/Integer;>;>;
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/io/sstable/Downsampling;
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.io.sstable.Downsampling.$assertionsDisabled:Z
3: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putstatic org.apache.cassandra.io.sstable.Downsampling.samplePatternCache:Ljava/util/Map;
4: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putstatic org.apache.cassandra.io.sstable.Downsampling.originalIndexCache:Ljava/util/Map;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/io/sstable/Downsampling;
public static java.util.List<java.lang.Integer> getSamplingPattern(int);
descriptor: (I)Ljava/util/List;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=8, args_size=1
start local 0 0: getstatic org.apache.cassandra.io.sstable.Downsampling.samplePatternCache:Ljava/util/Map;
iload 0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
areturn
3: StackMap locals: java.util.List
StackMap stack:
iload 0
iconst_1
if_icmpgt 5
4: iconst_1
anewarray java.lang.Integer
dup
iconst_0
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
areturn
5: StackMap locals:
StackMap stack:
iload 0
iconst_2
idiv
newarray 10
astore 2
start local 2 6: iload 0
iconst_2
idiv
newarray 10
astore 3
start local 3 7: iconst_1
istore 4
start local 4 8: goto 11
9: StackMap locals: int[] int[] int
StackMap stack:
aload 2
iload 4
iconst_2
idiv
iload 4
iastore
10: iinc 4 2
StackMap locals:
StackMap stack:
11: iload 4
iload 0
if_icmplt 9
end local 4 12: iconst_0
istore 4
start local 4 13: goto 16
14: StackMap locals:
StackMap stack:
aload 3
iload 4
iconst_2
idiv
iload 4
iastore
15: iinc 4 2
StackMap locals:
StackMap stack:
16: iload 4
iload 0
if_icmplt 14
end local 4 17: iload 0
iconst_2
idiv
invokestatic org.apache.cassandra.io.sstable.Downsampling.getSamplingPattern:(I)Ljava/util/List;
astore 4
start local 4 18: new java.util.ArrayList
dup
iload 0
invokespecial java.util.ArrayList.<init>:(I)V
astore 5
start local 5 19: aload 4
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 22
StackMap locals: int java.util.List int[] int[] java.util.List java.util.List top java.util.Iterator
StackMap stack:
20: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Integer
astore 6
start local 6 21: aload 5
aload 2
aload 6
invokevirtual java.lang.Integer.intValue:()I
iaload
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 6 22: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 20
23: aload 4
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 26
StackMap locals:
StackMap stack:
24: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Integer
astore 6
start local 6 25: aload 5
aload 3
aload 6
invokevirtual java.lang.Integer.intValue:()I
iaload
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 6 26: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 24
27: getstatic org.apache.cassandra.io.sstable.Downsampling.samplePatternCache:Ljava/util/Map;
iload 0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 5
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
28: aload 5
areturn
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 29 0 samplingLevel I
1 29 1 pattern Ljava/util/List<Ljava/lang/Integer;>;
6 29 2 odds [I
7 29 3 evens [I
8 12 4 i I
13 17 4 i I
18 29 4 ordering Ljava/util/List<Ljava/lang/Integer;>;
19 29 5 startIndices Ljava/util/List<Ljava/lang/Integer;>;
21 22 6 index Ljava/lang/Integer;
25 26 6 index Ljava/lang/Integer;
Signature: (I)Ljava/util/List<Ljava/lang/Integer;>;
MethodParameters:
Name Flags
samplingLevel
public static java.util.List<java.lang.Integer> getOriginalIndexes(int);
descriptor: (I)Ljava/util/List;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: getstatic org.apache.cassandra.io.sstable.Downsampling.originalIndexCache:Ljava/util/Map;
iload 0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
areturn
3: StackMap locals: java.util.List
StackMap stack:
sipush 128
invokestatic org.apache.cassandra.io.sstable.Downsampling.getSamplingPattern:(I)Ljava/util/List;
iconst_0
sipush 128
iload 0
isub
invokeinterface java.util.List.subList:(II)Ljava/util/List;
astore 2
start local 2 4: new java.util.ArrayList
dup
iload 0
invokespecial java.util.ArrayList.<init>:(I)V
astore 1
5: iconst_0
istore 3
start local 3 6: goto 10
7: StackMap locals: java.util.List int
StackMap stack:
aload 2
iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifne 9
8: aload 1
iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
9: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
10: iload 3
sipush 128
if_icmplt 7
end local 3 11: getstatic org.apache.cassandra.io.sstable.Downsampling.originalIndexCache:Ljava/util/Map;
iload 0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 1
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
12: aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 samplingLevel I
1 13 1 originalIndexes Ljava/util/List<Ljava/lang/Integer;>;
4 13 2 pattern Ljava/util/List<Ljava/lang/Integer;>;
6 11 3 j I
Signature: (I)Ljava/util/List<Ljava/lang/Integer;>;
MethodParameters:
Name Flags
samplingLevel
public static int getEffectiveIndexIntervalAfterIndex(int, int, int);
descriptor: (III)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.apache.cassandra.io.sstable.Downsampling.$assertionsDisabled:Z
ifne 1
iload 0
ifge 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
iload 0
iload 1
irem
istore 0
2: iload 1
invokestatic org.apache.cassandra.io.sstable.Downsampling.getOriginalIndexes:(I)Ljava/util/List;
astore 3
start local 3 3: iload 0
aload 3
invokeinterface java.util.List.size:()I
iconst_1
isub
if_icmpne 4
sipush 128
goto 5
StackMap locals: java.util.List
StackMap stack:
4: aload 3
iload 0
iconst_1
iadd
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
StackMap locals:
StackMap stack: int
5: istore 4
start local 4 6: iload 4
aload 3
iload 0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
isub
iload 2
imul
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 index I
0 7 1 samplingLevel I
0 7 2 minIndexInterval I
3 7 3 originalIndexes Ljava/util/List<Ljava/lang/Integer;>;
6 7 4 nextEntryOriginalIndex I
MethodParameters:
Name Flags
index
samplingLevel
minIndexInterval
public static int[] getStartPoints(int, int);
descriptor: (II)[I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=10, args_size=2
start local 0 start local 1 0: sipush 128
invokestatic org.apache.cassandra.io.sstable.Downsampling.getSamplingPattern:(I)Ljava/util/List;
astore 2
start local 2 1: sipush 128
iload 0
isub
istore 3
start local 3 2: iload 0
iload 1
isub
invokestatic java.lang.Math.abs:(I)I
istore 4
start local 4 3: iload 4
newarray 10
astore 5
start local 5 4: iconst_0
istore 6
start local 6 5: goto 16
6: StackMap locals: int int java.util.List int int int[] int
StackMap stack:
aload 2
iload 3
iload 6
iadd
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 7
start local 7 7: iconst_0
istore 8
start local 8 8: iconst_0
istore 9
start local 9 9: goto 13
10: StackMap locals: int int int
StackMap stack:
aload 2
iload 9
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
iload 7
if_icmpge 12
11: iinc 8 1
12: StackMap locals:
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
13: iload 9
iload 3
if_icmplt 10
end local 9 14: aload 5
iload 6
iload 7
iload 8
isub
iastore
end local 8 end local 7 15: iinc 6 1
StackMap locals:
StackMap stack:
16: iload 6
iload 4
if_icmplt 6
end local 6 17: aload 5
areturn
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 18 0 currentSamplingLevel I
0 18 1 newSamplingLevel I
1 18 2 allStartPoints Ljava/util/List<Ljava/lang/Integer;>;
2 18 3 initialRound I
3 18 4 numRounds I
4 18 5 startPoints [I
5 17 6 i I
7 15 7 start I
8 15 8 adjustment I
9 14 9 j I
MethodParameters:
Name Flags
currentSamplingLevel
newSamplingLevel
}
SourceFile: "Downsampling.java"