public class org.apache.cassandra.utils.btree.BTree
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.cassandra.utils.btree.BTree
super_class: java.lang.Object
{
static final int FAN_SHIFT;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final int FAN_FACTOR;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final int MINIMAL_NODE_SIZE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final java.lang.Object[] EMPTY_LEAF;
descriptor: [Ljava/lang/Object;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final java.lang.Object[] EMPTY_BRANCH;
descriptor: [Ljava/lang/Object;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static java.lang.Object POSITIVE_INFINITY;
descriptor: Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
static java.lang.Object NEGATIVE_INFINITY;
descriptor: Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
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=4, locals=2, args_size=0
0: ldc Lorg/apache/cassandra/utils/btree/BTree;
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.btree.BTree.$assertionsDisabled:Z
3: bipush 32
istore 0
start local 0 4: ldc "cassandra.btree.fanfactor"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
ifnull 6
5: ldc "cassandra.btree.fanfactor"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 0
6: StackMap locals: int
StackMap stack:
iconst_1
istore 1
start local 1 7: goto 9
8: StackMap locals: int
StackMap stack:
iinc 1 1
9: StackMap locals:
StackMap stack:
iconst_1
iload 1
ishl
iload 0
if_icmplt 8
10: iload 1
putstatic org.apache.cassandra.utils.btree.BTree.FAN_SHIFT:I
end local 1 end local 0 11: iconst_1
getstatic org.apache.cassandra.utils.btree.BTree.FAN_SHIFT:I
ishl
putstatic org.apache.cassandra.utils.btree.BTree.FAN_FACTOR:I
12: getstatic org.apache.cassandra.utils.btree.BTree.FAN_FACTOR:I
iconst_1
ishr
putstatic org.apache.cassandra.utils.btree.BTree.MINIMAL_NODE_SIZE:I
13: iconst_1
anewarray java.lang.Object
putstatic org.apache.cassandra.utils.btree.BTree.EMPTY_LEAF:[Ljava/lang/Object;
14: iconst_2
anewarray java.lang.Object
dup
iconst_1
iconst_0
newarray 10
aastore
putstatic org.apache.cassandra.utils.btree.BTree.EMPTY_BRANCH:[Ljava/lang/Object;
15: new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putstatic org.apache.cassandra.utils.btree.BTree.POSITIVE_INFINITY:Ljava/lang/Object;
16: new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putstatic org.apache.cassandra.utils.btree.BTree.NEGATIVE_INFINITY:Ljava/lang/Object;
return
LocalVariableTable:
Start End Slot Name Signature
4 11 0 fanfactor I
7 11 1 shift I
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/utils/btree/BTree;
public static java.lang.Object[] empty();
descriptor: ()[Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic org.apache.cassandra.utils.btree.BTree.EMPTY_LEAF:[Ljava/lang/Object;
areturn
LocalVariableTable:
Start End Slot Name Signature
public static java.lang.Object[] singleton(java.lang.Object);
descriptor: (Ljava/lang/Object;)[Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 value Ljava/lang/Object;
MethodParameters:
Name Flags
value
public static <C, K extends C, V extends C> [] build(java.util.Collection<K>, org.apache.cassandra.utils.btree.UpdateFunction<K, V>);
descriptor: (Ljava/util/Collection;Lorg/apache/cassandra/utils/btree/UpdateFunction;)[Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
invokeinterface java.util.Collection.size:()I
aload 1
invokestatic org.apache.cassandra.utils.btree.BTree.buildInternal:(Ljava/lang/Iterable;ILorg/apache/cassandra/utils/btree/UpdateFunction;)[Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 source Ljava/util/Collection<TK;>;
0 1 1 updateF Lorg/apache/cassandra/utils/btree/UpdateFunction<TK;TV;>;
Signature: <C:Ljava/lang/Object;K:TC;V:TC;>(Ljava/util/Collection<TK;>;Lorg/apache/cassandra/utils/btree/UpdateFunction<TK;TV;>;)[Ljava/lang/Object;
MethodParameters:
Name Flags
source
updateF
public static <C, K extends C, V extends C> [] build(java.lang.Iterable<K>, org.apache.cassandra.utils.btree.UpdateFunction<K, V>);
descriptor: (Ljava/lang/Iterable;Lorg/apache/cassandra/utils/btree/UpdateFunction;)[Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_m1
aload 1
invokestatic org.apache.cassandra.utils.btree.BTree.buildInternal:(Ljava/lang/Iterable;ILorg/apache/cassandra/utils/btree/UpdateFunction;)[Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 source Ljava/lang/Iterable<TK;>;
0 1 1 updateF Lorg/apache/cassandra/utils/btree/UpdateFunction<TK;TV;>;
Signature: <C:Ljava/lang/Object;K:TC;V:TC;>(Ljava/lang/Iterable<TK;>;Lorg/apache/cassandra/utils/btree/UpdateFunction<TK;TV;>;)[Ljava/lang/Object;
MethodParameters:
Name Flags
source
updateF
public static <C, K extends C, V extends C> [] build(java.lang.Iterable<K>, int, org.apache.cassandra.utils.btree.UpdateFunction<K, V>);
descriptor: (Ljava/lang/Iterable;ILorg/apache/cassandra/utils/btree/UpdateFunction;)[Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 1
ifge 2
1: new java.lang.IllegalArgumentException
dup
iload 1
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
iload 1
aload 2
invokestatic org.apache.cassandra.utils.btree.BTree.buildInternal:(Ljava/lang/Iterable;ILorg/apache/cassandra/utils/btree/UpdateFunction;)[Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 source Ljava/lang/Iterable<TK;>;
0 3 1 size I
0 3 2 updateF Lorg/apache/cassandra/utils/btree/UpdateFunction<TK;TV;>;
Signature: <C:Ljava/lang/Object;K:TC;V:TC;>(Ljava/lang/Iterable<TK;>;ILorg/apache/cassandra/utils/btree/UpdateFunction<TK;TV;>;)[Ljava/lang/Object;
MethodParameters:
Name Flags
source
size
updateF
private static <C, K extends C, V extends C> [] buildInternal(java.lang.Iterable<K>, int, org.apache.cassandra.utils.btree.UpdateFunction<K, V>);
descriptor: (Ljava/lang/Iterable;ILorg/apache/cassandra/utils/btree/UpdateFunction;)[Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: iload 1
iflt 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: iload 1
getstatic org.apache.cassandra.utils.btree.BTree.FAN_FACTOR:I
if_icmpge 3
iconst_1
goto 4
StackMap locals:
StackMap stack: int
3: iconst_0
StackMap locals: java.lang.Iterable int org.apache.cassandra.utils.btree.UpdateFunction
StackMap stack: int int
4: iand
ifeq 16
5: iload 1
ifne 7
6: getstatic org.apache.cassandra.utils.btree.BTree.EMPTY_LEAF:[Ljava/lang/Object;
areturn
7: StackMap locals:
StackMap stack:
iload 1
iconst_1
ior
anewarray java.lang.Object
astore 3
start local 3 8: iconst_0
istore 4
start local 4 9: aload 0
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 6
goto 12
StackMap locals: java.lang.Iterable int org.apache.cassandra.utils.btree.UpdateFunction java.lang.Object[] int top java.util.Iterator
StackMap stack:
10: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Object
astore 5
start local 5 11: aload 3
iload 4
iinc 4 1
aload 2
aload 5
invokeinterface org.apache.cassandra.utils.btree.UpdateFunction.apply:(Ljava/lang/Object;)Ljava/lang/Object;
aastore
end local 5 12: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
end local 4 13: aload 2
invokestatic org.apache.cassandra.utils.btree.UpdateFunction.noOp:()Lorg/apache/cassandra/utils/btree/UpdateFunction;
if_acmpeq 15
14: aload 2
aload 3
invokestatic org.apache.cassandra.utils.ObjectSizes.sizeOfArray:([Ljava/lang/Object;)J
invokeinterface org.apache.cassandra.utils.btree.UpdateFunction.allocated:(J)V
15: StackMap locals: java.lang.Iterable int org.apache.cassandra.utils.btree.UpdateFunction java.lang.Object[]
StackMap stack:
aload 3
areturn
end local 3 16: StackMap locals:
StackMap stack:
invokestatic org.apache.cassandra.utils.btree.TreeBuilder.newInstance:()Lorg/apache/cassandra/utils/btree/TreeBuilder;
astore 3
start local 3 17: aload 3
aload 0
aload 2
iload 1
invokevirtual org.apache.cassandra.utils.btree.TreeBuilder.build:(Ljava/lang/Iterable;Lorg/apache/cassandra/utils/btree/UpdateFunction;I)[Ljava/lang/Object;
astore 4
start local 4 18: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 source Ljava/lang/Iterable<TK;>;
0 19 1 size I
0 19 2 updateF Lorg/apache/cassandra/utils/btree/UpdateFunction<TK;TV;>;
8 16 3 values [Ljava/lang/Object;
9 13 4 i I
11 12 5 k TK;
17 19 3 builder Lorg/apache/cassandra/utils/btree/TreeBuilder;
18 19 4 btree [Ljava/lang/Object;
Signature: <C:Ljava/lang/Object;K:TC;V:TC;>(Ljava/lang/Iterable<TK;>;ILorg/apache/cassandra/utils/btree/UpdateFunction<TK;TV;>;)[Ljava/lang/Object;
MethodParameters:
Name Flags
source
size
updateF
public static <C, K extends C, V extends C> [] update([], java.util.Comparator<C>, java.util.Collection<K>, org.apache.cassandra.utils.btree.UpdateFunction<K, V>);
descriptor: ([Ljava/lang/Object;Ljava/util/Comparator;Ljava/util/Collection;Lorg/apache/cassandra/utils/btree/UpdateFunction;)[Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 2
invokeinterface java.util.Collection.size:()I
aload 3
invokestatic org.apache.cassandra.utils.btree.BTree.update:([Ljava/lang/Object;Ljava/util/Comparator;Ljava/lang/Iterable;ILorg/apache/cassandra/utils/btree/UpdateFunction;)[Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 btree [Ljava/lang/Object;
0 1 1 comparator Ljava/util/Comparator<TC;>;
0 1 2 updateWith Ljava/util/Collection<TK;>;
0 1 3 updateF Lorg/apache/cassandra/utils/btree/UpdateFunction<TK;TV;>;
Signature: <C:Ljava/lang/Object;K:TC;V:TC;>([Ljava/lang/Object;Ljava/util/Comparator<TC;>;Ljava/util/Collection<TK;>;Lorg/apache/cassandra/utils/btree/UpdateFunction<TK;TV;>;)[Ljava/lang/Object;
MethodParameters:
Name Flags
btree
comparator
updateWith
updateF
public static <C, K extends C, V extends C> [] update([], java.util.Comparator<C>, java.lang.Iterable<K>, int, org.apache.cassandra.utils.btree.UpdateFunction<K, V>);
descriptor: ([Ljava/lang/Object;Ljava/util/Comparator;Ljava/lang/Iterable;ILorg/apache/cassandra/utils/btree/UpdateFunction;)[Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokestatic org.apache.cassandra.utils.btree.BTree.isEmpty:([Ljava/lang/Object;)Z
ifeq 2
1: aload 2
iload 3
aload 4
invokestatic org.apache.cassandra.utils.btree.BTree.build:(Ljava/lang/Iterable;ILorg/apache/cassandra/utils/btree/UpdateFunction;)[Ljava/lang/Object;
areturn
2: StackMap locals:
StackMap stack:
invokestatic org.apache.cassandra.utils.btree.TreeBuilder.newInstance:()Lorg/apache/cassandra/utils/btree/TreeBuilder;
astore 5
start local 5 3: aload 5
aload 0
aload 1
aload 2
aload 4
invokevirtual org.apache.cassandra.utils.btree.TreeBuilder.update:([Ljava/lang/Object;Ljava/util/Comparator;Ljava/lang/Iterable;Lorg/apache/cassandra/utils/btree/UpdateFunction;)[Ljava/lang/Object;
astore 0
4: aload 0
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 5 0 btree [Ljava/lang/Object;
0 5 1 comparator Ljava/util/Comparator<TC;>;
0 5 2 updateWith Ljava/lang/Iterable<TK;>;
0 5 3 updateWithLength I
0 5 4 updateF Lorg/apache/cassandra/utils/btree/UpdateFunction<TK;TV;>;
3 5 5 builder Lorg/apache/cassandra/utils/btree/TreeBuilder;
Signature: <C:Ljava/lang/Object;K:TC;V:TC;>([Ljava/lang/Object;Ljava/util/Comparator<TC;>;Ljava/lang/Iterable<TK;>;ILorg/apache/cassandra/utils/btree/UpdateFunction<TK;TV;>;)[Ljava/lang/Object;
MethodParameters:
Name Flags
btree
comparator
updateWith
updateWithLength
updateF
public static <K> [] merge([], [], java.util.Comparator<? super K>, org.apache.cassandra.utils.btree.UpdateFunction<K, K>);
descriptor: ([Ljava/lang/Object;[Ljava/lang/Object;Ljava/util/Comparator;Lorg/apache/cassandra/utils/btree/UpdateFunction;)[Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokestatic org.apache.cassandra.utils.btree.BTree.size:([Ljava/lang/Object;)I
aload 1
invokestatic org.apache.cassandra.utils.btree.BTree.size:([Ljava/lang/Object;)I
if_icmpge 4
1: aload 0
astore 4
start local 4 2: aload 1
astore 0
3: aload 4
astore 1
end local 4 4: StackMap locals:
StackMap stack:
aload 0
aload 2
new org.apache.cassandra.utils.btree.BTreeSet
dup
aload 1
aload 2
invokespecial org.apache.cassandra.utils.btree.BTreeSet.<init>:([Ljava/lang/Object;Ljava/util/Comparator;)V
aload 3
invokestatic org.apache.cassandra.utils.btree.BTree.update:([Ljava/lang/Object;Ljava/util/Comparator;Ljava/util/Collection;Lorg/apache/cassandra/utils/btree/UpdateFunction;)[Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 tree1 [Ljava/lang/Object;
0 5 1 tree2 [Ljava/lang/Object;
0 5 2 comparator Ljava/util/Comparator<-TK;>;
0 5 3 updateF Lorg/apache/cassandra/utils/btree/UpdateFunction<TK;TK;>;
2 4 4 tmp [Ljava/lang/Object;
Signature: <K:Ljava/lang/Object;>([Ljava/lang/Object;[Ljava/lang/Object;Ljava/util/Comparator<-TK;>;Lorg/apache/cassandra/utils/btree/UpdateFunction<TK;TK;>;)[Ljava/lang/Object;
MethodParameters:
Name Flags
tree1
tree2
comparator
updateF
public static <V> java.util.Iterator<V> iterator([]);
descriptor: ([Ljava/lang/Object;)Ljava/util/Iterator;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic org.apache.cassandra.utils.btree.BTree$Dir.ASC:Lorg/apache/cassandra/utils/btree/BTree$Dir;
invokestatic org.apache.cassandra.utils.btree.BTree.iterator:([Ljava/lang/Object;Lorg/apache/cassandra/utils/btree/BTree$Dir;)Ljava/util/Iterator;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 btree [Ljava/lang/Object;
Signature: <V:Ljava/lang/Object;>([Ljava/lang/Object;)Ljava/util/Iterator<TV;>;
MethodParameters:
Name Flags
btree
public static <V> java.util.Iterator<V> iterator([], org.apache.cassandra.utils.btree.BTree$Dir);
descriptor: ([Ljava/lang/Object;Lorg/apache/cassandra/utils/btree/BTree$Dir;)Ljava/util/Iterator;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: new org.apache.cassandra.utils.btree.BTreeSearchIterator
dup
aload 0
aconst_null
aload 1
invokespecial org.apache.cassandra.utils.btree.BTreeSearchIterator.<init>:([Ljava/lang/Object;Ljava/util/Comparator;Lorg/apache/cassandra/utils/btree/BTree$Dir;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 btree [Ljava/lang/Object;
0 1 1 dir Lorg/apache/cassandra/utils/btree/BTree$Dir;
Signature: <V:Ljava/lang/Object;>([Ljava/lang/Object;Lorg/apache/cassandra/utils/btree/BTree$Dir;)Ljava/util/Iterator<TV;>;
MethodParameters:
Name Flags
btree
dir
public static <V> java.util.Iterator<V> iterator([], int, int, org.apache.cassandra.utils.btree.BTree$Dir);
descriptor: ([Ljava/lang/Object;IILorg/apache/cassandra/utils/btree/BTree$Dir;)Ljava/util/Iterator;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new org.apache.cassandra.utils.btree.BTreeSearchIterator
dup
aload 0
aconst_null
aload 3
iload 1
iload 2
invokespecial org.apache.cassandra.utils.btree.BTreeSearchIterator.<init>:([Ljava/lang/Object;Ljava/util/Comparator;Lorg/apache/cassandra/utils/btree/BTree$Dir;II)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 btree [Ljava/lang/Object;
0 1 1 lb I
0 1 2 ub I
0 1 3 dir Lorg/apache/cassandra/utils/btree/BTree$Dir;
Signature: <V:Ljava/lang/Object;>([Ljava/lang/Object;IILorg/apache/cassandra/utils/btree/BTree$Dir;)Ljava/util/Iterator<TV;>;
MethodParameters:
Name Flags
btree
lb
ub
dir
public static <V> java.lang.Iterable<V> iterable([]);
descriptor: ([Ljava/lang/Object;)Ljava/lang/Iterable;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic org.apache.cassandra.utils.btree.BTree$Dir.ASC:Lorg/apache/cassandra/utils/btree/BTree$Dir;
invokestatic org.apache.cassandra.utils.btree.BTree.iterable:([Ljava/lang/Object;Lorg/apache/cassandra/utils/btree/BTree$Dir;)Ljava/lang/Iterable;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 btree [Ljava/lang/Object;
Signature: <V:Ljava/lang/Object;>([Ljava/lang/Object;)Ljava/lang/Iterable<TV;>;
MethodParameters:
Name Flags
btree
public static <V> java.lang.Iterable<V> iterable([], org.apache.cassandra.utils.btree.BTree$Dir);
descriptor: ([Ljava/lang/Object;Lorg/apache/cassandra/utils/btree/BTree$Dir;)Ljava/lang/Iterable;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokedynamic iterator([Ljava/lang/Object;Lorg/apache/cassandra/utils/btree/BTree$Dir;)Ljava/lang/Iterable;
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/util/Iterator;
org/apache/cassandra/utils/btree/BTree.lambda$0([Ljava/lang/Object;Lorg/apache/cassandra/utils/btree/BTree$Dir;)Ljava/util/Iterator; (6)
()Ljava/util/Iterator;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 btree [Ljava/lang/Object;
0 1 1 dir Lorg/apache/cassandra/utils/btree/BTree$Dir;
Signature: <V:Ljava/lang/Object;>([Ljava/lang/Object;Lorg/apache/cassandra/utils/btree/BTree$Dir;)Ljava/lang/Iterable<TV;>;
MethodParameters:
Name Flags
btree
dir
public static <V> java.lang.Iterable<V> iterable([], int, int, org.apache.cassandra.utils.btree.BTree$Dir);
descriptor: ([Ljava/lang/Object;IILorg/apache/cassandra/utils/btree/BTree$Dir;)Ljava/lang/Iterable;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iload 1
iload 2
aload 3
invokedynamic iterator([Ljava/lang/Object;IILorg/apache/cassandra/utils/btree/BTree$Dir;)Ljava/lang/Iterable;
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/util/Iterator;
org/apache/cassandra/utils/btree/BTree.lambda$1([Ljava/lang/Object;IILorg/apache/cassandra/utils/btree/BTree$Dir;)Ljava/util/Iterator; (6)
()Ljava/util/Iterator;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 btree [Ljava/lang/Object;
0 1 1 lb I
0 1 2 ub I
0 1 3 dir Lorg/apache/cassandra/utils/btree/BTree$Dir;
Signature: <V:Ljava/lang/Object;>([Ljava/lang/Object;IILorg/apache/cassandra/utils/btree/BTree$Dir;)Ljava/lang/Iterable<TV;>;
MethodParameters:
Name Flags
btree
lb
ub
dir
public static <K, V> org.apache.cassandra.utils.btree.BTreeSearchIterator<K, V> slice([], java.util.Comparator<? super K>, org.apache.cassandra.utils.btree.BTree$Dir);
descriptor: ([Ljava/lang/Object;Ljava/util/Comparator;Lorg/apache/cassandra/utils/btree/BTree$Dir;)Lorg/apache/cassandra/utils/btree/BTreeSearchIterator;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new org.apache.cassandra.utils.btree.BTreeSearchIterator
dup
aload 0
aload 1
aload 2
invokespecial org.apache.cassandra.utils.btree.BTreeSearchIterator.<init>:([Ljava/lang/Object;Ljava/util/Comparator;Lorg/apache/cassandra/utils/btree/BTree$Dir;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 btree [Ljava/lang/Object;
0 1 1 comparator Ljava/util/Comparator<-TK;>;
0 1 2 dir Lorg/apache/cassandra/utils/btree/BTree$Dir;
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>([Ljava/lang/Object;Ljava/util/Comparator<-TK;>;Lorg/apache/cassandra/utils/btree/BTree$Dir;)Lorg/apache/cassandra/utils/btree/BTreeSearchIterator<TK;TV;>;
MethodParameters:
Name Flags
btree
comparator
dir
public static <K, V extends K> org.apache.cassandra.utils.btree.BTreeSearchIterator<K, V> slice([], java.util.Comparator<? super K>, K, K, org.apache.cassandra.utils.btree.BTree$Dir);
descriptor: ([Ljava/lang/Object;Ljava/util/Comparator;Ljava/lang/Object;Ljava/lang/Object;Lorg/apache/cassandra/utils/btree/BTree$Dir;)Lorg/apache/cassandra/utils/btree/BTreeSearchIterator;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
iconst_1
aload 3
iconst_0
aload 4
invokestatic org.apache.cassandra.utils.btree.BTree.slice:([Ljava/lang/Object;Ljava/util/Comparator;Ljava/lang/Object;ZLjava/lang/Object;ZLorg/apache/cassandra/utils/btree/BTree$Dir;)Lorg/apache/cassandra/utils/btree/BTreeSearchIterator;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 btree [Ljava/lang/Object;
0 1 1 comparator Ljava/util/Comparator<-TK;>;
0 1 2 start TK;
0 1 3 end TK;
0 1 4 dir Lorg/apache/cassandra/utils/btree/BTree$Dir;
Signature: <K:Ljava/lang/Object;V:TK;>([Ljava/lang/Object;Ljava/util/Comparator<-TK;>;TK;TK;Lorg/apache/cassandra/utils/btree/BTree$Dir;)Lorg/apache/cassandra/utils/btree/BTreeSearchIterator<TK;TV;>;
MethodParameters:
Name Flags
btree
comparator
start
end
dir
public static <K, V extends K> org.apache.cassandra.utils.btree.BTreeSearchIterator<K, V> slice([], java.util.Comparator<? super K>, K, boolean, K, boolean, org.apache.cassandra.utils.btree.BTree$Dir);
descriptor: ([Ljava/lang/Object;Ljava/util/Comparator;Ljava/lang/Object;ZLjava/lang/Object;ZLorg/apache/cassandra/utils/btree/BTree$Dir;)Lorg/apache/cassandra/utils/btree/BTreeSearchIterator;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=9, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: iconst_0
1: aload 2
ifnonnull 2
ldc -2147483648
goto 4
2: StackMap locals:
StackMap stack: int
iload 3
ifeq 3
aload 0
aload 1
aload 2
invokestatic org.apache.cassandra.utils.btree.BTree.ceilIndex:([Ljava/lang/Object;Ljava/util/Comparator;Ljava/lang/Object;)I
goto 4
3: StackMap locals:
StackMap stack: int
aload 0
aload 1
aload 2
invokestatic org.apache.cassandra.utils.btree.BTree.higherIndex:([Ljava/lang/Object;Ljava/util/Comparator;Ljava/lang/Object;)I
4: StackMap locals: java.lang.Object[] java.util.Comparator java.lang.Object int java.lang.Object int org.apache.cassandra.utils.btree.BTree$Dir
StackMap stack: int int
invokestatic java.lang.Math.max:(II)I
istore 7
start local 7 5: aload 0
invokestatic org.apache.cassandra.utils.btree.BTree.size:([Ljava/lang/Object;)I
iconst_1
isub
6: aload 4
ifnonnull 7
ldc 2147483647
goto 9
7: StackMap locals: java.lang.Object[] java.util.Comparator java.lang.Object int java.lang.Object int org.apache.cassandra.utils.btree.BTree$Dir int
StackMap stack: int
iload 5
ifeq 8
aload 0
aload 1
aload 4
invokestatic org.apache.cassandra.utils.btree.BTree.floorIndex:([Ljava/lang/Object;Ljava/util/Comparator;Ljava/lang/Object;)I
goto 9
8: StackMap locals:
StackMap stack: int
aload 0
aload 1
aload 4
invokestatic org.apache.cassandra.utils.btree.BTree.lowerIndex:([Ljava/lang/Object;Ljava/util/Comparator;Ljava/lang/Object;)I
9: StackMap locals: java.lang.Object[] java.util.Comparator java.lang.Object int java.lang.Object int org.apache.cassandra.utils.btree.BTree$Dir int
StackMap stack: int int
invokestatic java.lang.Math.min:(II)I
istore 8
start local 8 10: new org.apache.cassandra.utils.btree.BTreeSearchIterator
dup
aload 0
aload 1
aload 6
iload 7
iload 8
invokespecial org.apache.cassandra.utils.btree.BTreeSearchIterator.<init>:([Ljava/lang/Object;Ljava/util/Comparator;Lorg/apache/cassandra/utils/btree/BTree$Dir;II)V
areturn
end local 8 end local 7 end local 6 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 11 0 btree [Ljava/lang/Object;
0 11 1 comparator Ljava/util/Comparator<-TK;>;
0 11 2 start TK;
0 11 3 startInclusive Z
0 11 4 end TK;
0 11 5 endInclusive Z
0 11 6 dir Lorg/apache/cassandra/utils/btree/BTree$Dir;
5 11 7 inclusiveLowerBound I
10 11 8 inclusiveUpperBound I
Signature: <K:Ljava/lang/Object;V:TK;>([Ljava/lang/Object;Ljava/util/Comparator<-TK;>;TK;ZTK;ZLorg/apache/cassandra/utils/btree/BTree$Dir;)Lorg/apache/cassandra/utils/btree/BTreeSearchIterator<TK;TV;>;
MethodParameters:
Name Flags
btree
comparator
start
startInclusive
end
endInclusive
dir
public static <V> V find([], java.util.Comparator<? super V>, );
descriptor: ([Ljava/lang/Object;Ljava/util/Comparator;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: StackMap locals:
StackMap stack:
aload 0
invokestatic org.apache.cassandra.utils.btree.BTree.getKeyEnd:([Ljava/lang/Object;)I
istore 3
start local 3 1: aload 0
iconst_0
iload 3
aload 2
aload 1
invokestatic java.util.Arrays.binarySearch:([Ljava/lang/Object;IILjava/lang/Object;Ljava/util/Comparator;)I
istore 4
start local 4 2: iload 4
iflt 4
3: aload 0
iload 4
aaload
areturn
4: StackMap locals: int int
StackMap stack:
aload 0
invokestatic org.apache.cassandra.utils.btree.BTree.isLeaf:([Ljava/lang/Object;)Z
ifeq 6
5: aconst_null
areturn
6: StackMap locals:
StackMap stack:
iconst_m1
iload 4
isub
istore 4
7: aload 0
iload 3
iload 4
iadd
aaload
checkcast java.lang.Object[]
astore 0
end local 4 end local 3 8: goto 0
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 node [Ljava/lang/Object;
0 9 1 comparator Ljava/util/Comparator<-TV;>;
0 9 2 find TV;
1 8 3 keyEnd I
2 8 4 i I
Signature: <V:Ljava/lang/Object;>([Ljava/lang/Object;Ljava/util/Comparator<-TV;>;TV;)TV;
MethodParameters:
Name Flags
node
comparator
find
public static <V> void replaceInSitu([], int, );
descriptor: ([Ljava/lang/Object;ILjava/lang/Object;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: iload 1
ifge 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: iload 1
aload 0
invokestatic org.apache.cassandra.utils.btree.BTree.size:([Ljava/lang/Object;)I
if_icmplt 3
iconst_1
goto 4
StackMap locals:
StackMap stack: int
3: iconst_0
StackMap locals: java.lang.Object[] int java.lang.Object
StackMap stack: int int
4: ior
ifeq 17
5: new java.lang.IndexOutOfBoundsException
dup
new java.lang.StringBuilder
dup
iload 1
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " not in range [0.."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokestatic org.apache.cassandra.utils.btree.BTree.size:([Ljava/lang/Object;)I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
invokestatic org.apache.cassandra.utils.btree.BTree.getSizeMap:([Ljava/lang/Object;)[I
astore 3
start local 3 7: aload 3
iload 1
invokestatic java.util.Arrays.binarySearch:([II)I
istore 4
start local 4 8: iload 4
iflt 12
9: getstatic org.apache.cassandra.utils.btree.BTree.$assertionsDisabled:Z
ifne 10
iload 4
aload 3
arraylength
iconst_1
isub
if_icmplt 10
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
10: StackMap locals: int[] int
StackMap stack:
aload 0
iload 4
aload 2
aastore
11: return
12: StackMap locals:
StackMap stack:
iconst_m1
iload 4
isub
istore 4
13: iload 4
ifle 16
14: getstatic org.apache.cassandra.utils.btree.BTree.$assertionsDisabled:Z
ifne 15
iload 4
aload 3
arraylength
if_icmplt 15
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
15: StackMap locals:
StackMap stack:
iload 1
iconst_1
aload 3
iload 4
iconst_1
isub
iaload
iadd
isub
istore 1
16: StackMap locals:
StackMap stack:
aload 0
aload 0
invokestatic org.apache.cassandra.utils.btree.BTree.getChildStart:([Ljava/lang/Object;)I
iload 4
iadd
aaload
checkcast java.lang.Object[]
astore 0
end local 4 end local 3 17: StackMap locals:
StackMap stack:
aload 0
invokestatic org.apache.cassandra.utils.btree.BTree.isLeaf:([Ljava/lang/Object;)Z
ifeq 6
18: getstatic org.apache.cassandra.utils.btree.BTree.$assertionsDisabled:Z
ifne 19
iload 1
aload 0
invokestatic org.apache.cassandra.utils.btree.BTree.getLeafKeyEnd:([Ljava/lang/Object;)I
if_icmplt 19
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
19: StackMap locals:
StackMap stack:
aload 0
iload 1
aload 2
aastore
20: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 tree [Ljava/lang/Object;
0 21 1 index I
0 21 2 replace TV;
7 17 3 sizeMap [I
8 17 4 boundary I
Signature: <V:Ljava/lang/Object;>([Ljava/lang/Object;ITV;)V
MethodParameters:
Name Flags
tree
index
replace
public static <V> void replaceInSitu([], java.util.Comparator<? super V>, V, );
descriptor: ([Ljava/lang/Object;Ljava/util/Comparator;Ljava/lang/Object;Ljava/lang/Object;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: StackMap locals:
StackMap stack:
aload 0
invokestatic org.apache.cassandra.utils.btree.BTree.getKeyEnd:([Ljava/lang/Object;)I
istore 4
start local 4 1: aload 0
iconst_0
iload 4
aload 2
aload 1
invokestatic java.util.Arrays.binarySearch:([Ljava/lang/Object;IILjava/lang/Object;Ljava/util/Comparator;)I
istore 5
start local 5 2: iload 5
iflt 6
3: getstatic org.apache.cassandra.utils.btree.BTree.$assertionsDisabled:Z
ifne 4
aload 2
aload 0
iload 5
aaload
if_acmpeq 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals: int int
StackMap stack:
aload 0
iload 5
aload 3
aastore
5: return
6: StackMap locals:
StackMap stack:
aload 0
invokestatic org.apache.cassandra.utils.btree.BTree.isLeaf:([Ljava/lang/Object;)Z
ifeq 8
7: new java.util.NoSuchElementException
dup
invokespecial java.util.NoSuchElementException.<init>:()V
athrow
8: StackMap locals:
StackMap stack:
iconst_m1
iload 5
isub
istore 5
9: aload 0
iload 4
iload 5
iadd
aaload
checkcast java.lang.Object[]
astore 0
end local 5 end local 4 10: goto 0
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 node [Ljava/lang/Object;
0 11 1 comparator Ljava/util/Comparator<-TV;>;
0 11 2 find TV;
0 11 3 replace TV;
1 10 4 keyEnd I
2 10 5 i I
Signature: <V:Ljava/lang/Object;>([Ljava/lang/Object;Ljava/util/Comparator<-TV;>;TV;TV;)V
MethodParameters:
Name Flags
node
comparator
find
replace
public static <V> int findIndex([], java.util.Comparator<? super V>, );
descriptor: ([Ljava/lang/Object;Ljava/util/Comparator;Ljava/lang/Object;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=8, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: StackMap locals: int
StackMap stack:
aload 0
invokestatic org.apache.cassandra.utils.btree.BTree.getKeyEnd:([Ljava/lang/Object;)I
istore 4
start local 4 2: aload 0
iconst_0
iload 4
aload 2
aload 1
invokestatic java.util.Arrays.binarySearch:([Ljava/lang/Object;IILjava/lang/Object;Ljava/util/Comparator;)I
istore 5
start local 5 3: iload 5
iflt 4
iconst_1
goto 5
StackMap locals: int int
StackMap stack:
4: iconst_0
StackMap locals:
StackMap stack: int
5: istore 6
start local 6 6: aload 0
invokestatic org.apache.cassandra.utils.btree.BTree.isLeaf:([Ljava/lang/Object;)Z
ifeq 10
7: iload 6
ifeq 8
iload 3
iload 5
iadd
goto 9
StackMap locals: int
StackMap stack:
8: iload 5
iload 3
isub
StackMap locals:
StackMap stack: int
9: ireturn
10: StackMap locals:
StackMap stack:
iload 6
ifne 12
11: iconst_m1
iload 5
isub
istore 5
12: StackMap locals:
StackMap stack:
aload 0
invokestatic org.apache.cassandra.utils.btree.BTree.getSizeMap:([Ljava/lang/Object;)[I
astore 7
start local 7 13: iload 6
ifeq 15
14: iload 3
aload 7
iload 5
iaload
iadd
ireturn
15: StackMap locals: int[]
StackMap stack:
iload 5
ifle 17
16: iload 3
aload 7
iload 5
iconst_1
isub
iaload
iconst_1
iadd
iadd
istore 3
17: StackMap locals:
StackMap stack:
aload 0
iload 4
iload 5
iadd
aaload
checkcast java.lang.Object[]
astore 0
end local 7 end local 6 end local 5 end local 4 18: goto 1
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 node [Ljava/lang/Object;
0 19 1 comparator Ljava/util/Comparator<-TV;>;
0 19 2 find TV;
1 19 3 lb I
2 18 4 keyEnd I
3 18 5 i I
6 18 6 exact Z
13 18 7 sizeMap [I
Signature: <V:Ljava/lang/Object;>([Ljava/lang/Object;Ljava/util/Comparator<-TV;>;TV;)I
MethodParameters:
Name Flags
node
comparator
find
public static <V> V findByIndex([], );
descriptor: ([Ljava/lang/Object;I)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: iload 1
ifge 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: iload 1
aload 0
invokestatic org.apache.cassandra.utils.btree.BTree.size:([Ljava/lang/Object;)I
if_icmplt 3
iconst_1
goto 4
StackMap locals:
StackMap stack: int
3: iconst_0
StackMap locals: java.lang.Object[] int
StackMap stack: int int
4: ior
ifeq 6
5: new java.lang.IndexOutOfBoundsException
dup
new java.lang.StringBuilder
dup
iload 1
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " not in range [0.."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokestatic org.apache.cassandra.utils.btree.BTree.size:([Ljava/lang/Object;)I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
astore 2
start local 2 7: StackMap locals: java.lang.Object[]
StackMap stack:
aload 2
invokestatic org.apache.cassandra.utils.btree.BTree.isLeaf:([Ljava/lang/Object;)Z
ifeq 11
8: aload 2
invokestatic org.apache.cassandra.utils.btree.BTree.getLeafKeyEnd:([Ljava/lang/Object;)I
istore 3
start local 3 9: getstatic org.apache.cassandra.utils.btree.BTree.$assertionsDisabled:Z
ifne 10
iload 1
iload 3
if_icmplt 10
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
10: StackMap locals: int
StackMap stack:
aload 2
iload 1
aaload
areturn
end local 3 11: StackMap locals:
StackMap stack:
aload 2
invokestatic org.apache.cassandra.utils.btree.BTree.getSizeMap:([Ljava/lang/Object;)[I
astore 3
start local 3 12: aload 3
iload 1
invokestatic java.util.Arrays.binarySearch:([II)I
istore 4
start local 4 13: iload 4
iflt 16
14: getstatic org.apache.cassandra.utils.btree.BTree.$assertionsDisabled:Z
ifne 15
iload 4
aload 3
arraylength
iconst_1
isub
if_icmplt 15
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
15: StackMap locals: int[] int
StackMap stack:
aload 2
iload 4
aaload
areturn
16: StackMap locals:
StackMap stack:
iconst_m1
iload 4
isub
istore 4
17: iload 4
ifle 20
18: getstatic org.apache.cassandra.utils.btree.BTree.$assertionsDisabled:Z
ifne 19
iload 4
aload 3
arraylength
if_icmplt 19
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
19: StackMap locals:
StackMap stack:
iload 1
iconst_1
aload 3
iload 4
iconst_1
isub
iaload
iadd
isub
istore 1
20: StackMap locals:
StackMap stack:
aload 2
aload 2
invokestatic org.apache.cassandra.utils.btree.BTree.getChildStart:([Ljava/lang/Object;)I
iload 4
iadd
aaload
checkcast java.lang.Object[]
astore 2
end local 4 end local 3 21: goto 7
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 tree [Ljava/lang/Object;
0 22 1 index I
7 22 2 node [Ljava/lang/Object;
9 11 3 keyEnd I
12 21 3 sizeMap [I
13 21 4 boundary I
Signature: <V:Ljava/lang/Object;>([Ljava/lang/Object;I)TV;
MethodParameters:
Name Flags
tree
index
public static <V> int lowerIndex([], java.util.Comparator<? super V>, );
descriptor: ([Ljava/lang/Object;Ljava/util/Comparator;Ljava/lang/Object;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokestatic org.apache.cassandra.utils.btree.BTree.findIndex:([Ljava/lang/Object;Ljava/util/Comparator;Ljava/lang/Object;)I
istore 3
start local 3 1: iload 3
ifge 3
2: iconst_m1
iload 3
isub
istore 3
3: StackMap locals: int
StackMap stack:
iload 3
iconst_1
isub
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 btree [Ljava/lang/Object;
0 4 1 comparator Ljava/util/Comparator<-TV;>;
0 4 2 find TV;
1 4 3 i I
Signature: <V:Ljava/lang/Object;>([Ljava/lang/Object;Ljava/util/Comparator<-TV;>;TV;)I
MethodParameters:
Name Flags
btree
comparator
find
public static <V> V lower([], java.util.Comparator<? super V>, );
descriptor: ([Ljava/lang/Object;Ljava/util/Comparator;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokestatic org.apache.cassandra.utils.btree.BTree.lowerIndex:([Ljava/lang/Object;Ljava/util/Comparator;Ljava/lang/Object;)I
istore 3
start local 3 1: iload 3
iflt 2
aload 0
iload 3
invokestatic org.apache.cassandra.utils.btree.BTree.findByIndex:([Ljava/lang/Object;I)Ljava/lang/Object;
goto 3
StackMap locals: int
StackMap stack:
2: aconst_null
StackMap locals:
StackMap stack: java.lang.Object
3: areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 btree [Ljava/lang/Object;
0 4 1 comparator Ljava/util/Comparator<-TV;>;
0 4 2 find TV;
1 4 3 i I
Signature: <V:Ljava/lang/Object;>([Ljava/lang/Object;Ljava/util/Comparator<-TV;>;TV;)TV;
MethodParameters:
Name Flags
btree
comparator
find
public static <V> int floorIndex([], java.util.Comparator<? super V>, );
descriptor: ([Ljava/lang/Object;Ljava/util/Comparator;Ljava/lang/Object;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokestatic org.apache.cassandra.utils.btree.BTree.findIndex:([Ljava/lang/Object;Ljava/util/Comparator;Ljava/lang/Object;)I
istore 3
start local 3 1: iload 3
ifge 3
2: bipush -2
iload 3
isub
istore 3
3: StackMap locals: int
StackMap stack:
iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 btree [Ljava/lang/Object;
0 4 1 comparator Ljava/util/Comparator<-TV;>;
0 4 2 find TV;
1 4 3 i I
Signature: <V:Ljava/lang/Object;>([Ljava/lang/Object;Ljava/util/Comparator<-TV;>;TV;)I
MethodParameters:
Name Flags
btree
comparator
find
public static <V> V floor([], java.util.Comparator<? super V>, );
descriptor: ([Ljava/lang/Object;Ljava/util/Comparator;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokestatic org.apache.cassandra.utils.btree.BTree.floorIndex:([Ljava/lang/Object;Ljava/util/Comparator;Ljava/lang/Object;)I
istore 3
start local 3 1: iload 3
iflt 2
aload 0
iload 3
invokestatic org.apache.cassandra.utils.btree.BTree.findByIndex:([Ljava/lang/Object;I)Ljava/lang/Object;
goto 3
StackMap locals: int
StackMap stack:
2: aconst_null
StackMap locals:
StackMap stack: java.lang.Object
3: areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 btree [Ljava/lang/Object;
0 4 1 comparator Ljava/util/Comparator<-TV;>;
0 4 2 find TV;
1 4 3 i I
Signature: <V:Ljava/lang/Object;>([Ljava/lang/Object;Ljava/util/Comparator<-TV;>;TV;)TV;
MethodParameters:
Name Flags
btree
comparator
find
public static <V> int higherIndex([], java.util.Comparator<? super V>, );
descriptor: ([Ljava/lang/Object;Ljava/util/Comparator;Ljava/lang/Object;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokestatic org.apache.cassandra.utils.btree.BTree.findIndex:([Ljava/lang/Object;Ljava/util/Comparator;Ljava/lang/Object;)I
istore 3
start local 3 1: iload 3
ifge 2
iconst_m1
iload 3
isub
istore 3
goto 3
2: StackMap locals: int
StackMap stack:
iinc 3 1
3: StackMap locals:
StackMap stack:
iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 btree [Ljava/lang/Object;
0 4 1 comparator Ljava/util/Comparator<-TV;>;
0 4 2 find TV;
1 4 3 i I
Signature: <V:Ljava/lang/Object;>([Ljava/lang/Object;Ljava/util/Comparator<-TV;>;TV;)I
MethodParameters:
Name Flags
btree
comparator
find
public static <V> V higher([], java.util.Comparator<? super V>, );
descriptor: ([Ljava/lang/Object;Ljava/util/Comparator;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokestatic org.apache.cassandra.utils.btree.BTree.higherIndex:([Ljava/lang/Object;Ljava/util/Comparator;Ljava/lang/Object;)I
istore 3
start local 3 1: iload 3
aload 0
invokestatic org.apache.cassandra.utils.btree.BTree.size:([Ljava/lang/Object;)I
if_icmpge 2
aload 0
iload 3
invokestatic org.apache.cassandra.utils.btree.BTree.findByIndex:([Ljava/lang/Object;I)Ljava/lang/Object;
goto 3
StackMap locals: int
StackMap stack:
2: aconst_null
StackMap locals:
StackMap stack: java.lang.Object
3: areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 btree [Ljava/lang/Object;
0 4 1 comparator Ljava/util/Comparator<-TV;>;
0 4 2 find TV;
1 4 3 i I
Signature: <V:Ljava/lang/Object;>([Ljava/lang/Object;Ljava/util/Comparator<-TV;>;TV;)TV;
MethodParameters:
Name Flags
btree
comparator
find
public static <V> int ceilIndex([], java.util.Comparator<? super V>, );
descriptor: ([Ljava/lang/Object;Ljava/util/Comparator;Ljava/lang/Object;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokestatic org.apache.cassandra.utils.btree.BTree.findIndex:([Ljava/lang/Object;Ljava/util/Comparator;Ljava/lang/Object;)I
istore 3
start local 3 1: iload 3
ifge 3
2: iconst_m1
iload 3
isub
istore 3
3: StackMap locals: int
StackMap stack:
iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 btree [Ljava/lang/Object;
0 4 1 comparator Ljava/util/Comparator<-TV;>;
0 4 2 find TV;
1 4 3 i I
Signature: <V:Ljava/lang/Object;>([Ljava/lang/Object;Ljava/util/Comparator<-TV;>;TV;)I
MethodParameters:
Name Flags
btree
comparator
find
public static <V> V ceil([], java.util.Comparator<? super V>, );
descriptor: ([Ljava/lang/Object;Ljava/util/Comparator;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokestatic org.apache.cassandra.utils.btree.BTree.ceilIndex:([Ljava/lang/Object;Ljava/util/Comparator;Ljava/lang/Object;)I
istore 3
start local 3 1: iload 3
aload 0
invokestatic org.apache.cassandra.utils.btree.BTree.size:([Ljava/lang/Object;)I
if_icmpge 2
aload 0
iload 3
invokestatic org.apache.cassandra.utils.btree.BTree.findByIndex:([Ljava/lang/Object;I)Ljava/lang/Object;
goto 3
StackMap locals: int
StackMap stack:
2: aconst_null
StackMap locals:
StackMap stack: java.lang.Object
3: areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 btree [Ljava/lang/Object;
0 4 1 comparator Ljava/util/Comparator<-TV;>;
0 4 2 find TV;
1 4 3 i I
Signature: <V:Ljava/lang/Object;>([Ljava/lang/Object;Ljava/util/Comparator<-TV;>;TV;)TV;
MethodParameters:
Name Flags
btree
comparator
find
static int getKeyEnd(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)I
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic org.apache.cassandra.utils.btree.BTree.isLeaf:([Ljava/lang/Object;)Z
ifeq 2
1: aload 0
invokestatic org.apache.cassandra.utils.btree.BTree.getLeafKeyEnd:([Ljava/lang/Object;)I
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokestatic org.apache.cassandra.utils.btree.BTree.getBranchKeyEnd:([Ljava/lang/Object;)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 node [Ljava/lang/Object;
MethodParameters:
Name Flags
node
static int getLeafKeyEnd(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)I
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
arraylength
istore 1
start local 1 1: aload 0
iload 1
iconst_1
isub
aaload
ifnonnull 2
iload 1
iconst_1
isub
goto 3
StackMap locals: int
StackMap stack:
2: iload 1
StackMap locals:
StackMap stack: int
3: ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 node [Ljava/lang/Object;
1 4 1 len I
MethodParameters:
Name Flags
node
static int getBranchKeyEnd(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)I
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
arraylength
iconst_2
idiv
iconst_1
isub
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 branchNode [Ljava/lang/Object;
MethodParameters:
Name Flags
branchNode
static int getChildStart(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)I
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic org.apache.cassandra.utils.btree.BTree.getBranchKeyEnd:([Ljava/lang/Object;)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 branchNode [Ljava/lang/Object;
MethodParameters:
Name Flags
branchNode
static int getChildEnd(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)I
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
arraylength
iconst_1
isub
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 branchNode [Ljava/lang/Object;
MethodParameters:
Name Flags
branchNode
static int getChildCount(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)I
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
arraylength
iconst_2
idiv
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 branchNode [Ljava/lang/Object;
MethodParameters:
Name Flags
branchNode
static int[] getSizeMap(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)[I
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
invokestatic org.apache.cassandra.utils.btree.BTree.getChildEnd:([Ljava/lang/Object;)I
aaload
checkcast int[]
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 branchNode [Ljava/lang/Object;
MethodParameters:
Name Flags
branchNode
static int lookupSizeMap(java.lang.Object[], int);
descriptor: ([Ljava/lang/Object;I)I
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokestatic org.apache.cassandra.utils.btree.BTree.getSizeMap:([Ljava/lang/Object;)[I
iload 1
iaload
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 branchNode [Ljava/lang/Object;
0 1 1 index I
MethodParameters:
Name Flags
branchNode
index
public static int size(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokestatic org.apache.cassandra.utils.btree.BTree.isLeaf:([Ljava/lang/Object;)Z
ifeq 2
1: aload 0
invokestatic org.apache.cassandra.utils.btree.BTree.getLeafKeyEnd:([Ljava/lang/Object;)I
ireturn
2: StackMap locals:
StackMap stack:
aload 0
arraylength
istore 1
start local 1 3: aload 0
iload 1
iconst_1
isub
aaload
checkcast int[]
iload 1
iconst_2
idiv
iconst_1
isub
iaload
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 tree [Ljava/lang/Object;
3 4 1 length I
MethodParameters:
Name Flags
tree
public static long sizeOfStructureOnHeap(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
invokestatic org.apache.cassandra.utils.ObjectSizes.sizeOfArray:([Ljava/lang/Object;)J
lstore 1
start local 1 1: aload 0
invokestatic org.apache.cassandra.utils.btree.BTree.isLeaf:([Ljava/lang/Object;)Z
ifeq 3
2: lload 1
lreturn
3: StackMap locals: long
StackMap stack:
aload 0
invokestatic org.apache.cassandra.utils.btree.BTree.getChildStart:([Ljava/lang/Object;)I
istore 3
start local 3 4: goto 7
5: StackMap locals: int
StackMap stack:
lload 1
aload 0
iload 3
aaload
checkcast java.lang.Object[]
invokestatic org.apache.cassandra.utils.btree.BTree.sizeOfStructureOnHeap:([Ljava/lang/Object;)J
ladd
lstore 1
6: iinc 3 1
StackMap locals:
StackMap stack:
7: iload 3
aload 0
invokestatic org.apache.cassandra.utils.btree.BTree.getChildEnd:([Ljava/lang/Object;)I
if_icmplt 5
end local 3 8: lload 1
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 tree [Ljava/lang/Object;
1 9 1 size J
4 8 3 i I
MethodParameters:
Name Flags
tree
static boolean isLeaf(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
arraylength
iconst_1
iand
iconst_1
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 node [Ljava/lang/Object;
MethodParameters:
Name Flags
node
public static boolean isEmpty(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic org.apache.cassandra.utils.btree.BTree.EMPTY_LEAF:[Ljava/lang/Object;
if_acmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 tree [Ljava/lang/Object;
MethodParameters:
Name Flags
tree
public static int depth(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: iconst_1
istore 1
start local 1 1: goto 4
2: StackMap locals: int
StackMap stack:
iinc 1 1
3: aload 0
aload 0
invokestatic org.apache.cassandra.utils.btree.BTree.getKeyEnd:([Ljava/lang/Object;)I
aaload
checkcast java.lang.Object[]
astore 0
4: StackMap locals:
StackMap stack:
aload 0
invokestatic org.apache.cassandra.utils.btree.BTree.isLeaf:([Ljava/lang/Object;)Z
ifeq 2
5: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 tree [Ljava/lang/Object;
1 6 1 depth I
MethodParameters:
Name Flags
tree
public static int toArray(java.lang.Object[], java.lang.Object[], int);
descriptor: ([Ljava/lang/Object;[Ljava/lang/Object;I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iconst_0
aload 0
invokestatic org.apache.cassandra.utils.btree.BTree.size:([Ljava/lang/Object;)I
aload 1
iload 2
invokestatic org.apache.cassandra.utils.btree.BTree.toArray:([Ljava/lang/Object;II[Ljava/lang/Object;I)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 tree [Ljava/lang/Object;
0 1 1 target [Ljava/lang/Object;
0 1 2 targetOffset I
MethodParameters:
Name Flags
tree
target
targetOffset
public static int toArray(java.lang.Object[], int, int, java.lang.Object[], int);
descriptor: ([Ljava/lang/Object;II[Ljava/lang/Object;I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=11, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokestatic org.apache.cassandra.utils.btree.BTree.isLeaf:([Ljava/lang/Object;)Z
ifeq 4
1: iload 2
iload 1
isub
istore 5
start local 5 2: aload 0
iload 1
aload 3
iload 4
iload 5
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
3: iload 5
ireturn
end local 5 4: StackMap locals:
StackMap stack:
iload 4
istore 5
start local 5 5: aload 0
invokestatic org.apache.cassandra.utils.btree.BTree.getChildCount:([Ljava/lang/Object;)I
istore 6
start local 6 6: aload 0
invokestatic org.apache.cassandra.utils.btree.BTree.getChildStart:([Ljava/lang/Object;)I
istore 7
start local 7 7: iconst_0
istore 8
start local 8 8: goto 18
9: StackMap locals: java.lang.Object[] int int java.lang.Object[] int int int int int
StackMap stack:
aload 0
iload 8
invokestatic org.apache.cassandra.utils.btree.BTree.treeIndexOffsetOfChild:([Ljava/lang/Object;I)I
istore 9
start local 9 10: aload 0
iload 8
invokestatic org.apache.cassandra.utils.btree.BTree.treeIndexOfBranchKey:([Ljava/lang/Object;I)I
istore 10
start local 10 11: iload 9
iload 2
if_icmpgt 17
iload 10
iload 1
if_icmplt 17
12: iload 5
aload 0
iload 7
iload 8
iadd
aaload
checkcast java.lang.Object[]
iconst_0
iload 1
iload 9
isub
invokestatic java.lang.Math.max:(II)I
iload 10
iload 2
invokestatic java.lang.Math.min:(II)I
iload 9
isub
13: aload 3
iload 5
14: invokestatic org.apache.cassandra.utils.btree.BTree.toArray:([Ljava/lang/Object;II[Ljava/lang/Object;I)I
iadd
istore 5
15: iload 1
iload 10
if_icmpgt 17
iload 2
iload 10
if_icmple 17
16: aload 3
iload 5
iinc 5 1
aload 0
iload 8
aaload
aastore
end local 10 end local 9 17: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
18: iload 8
iload 6
if_icmplt 9
end local 8 19: iload 5
iload 4
isub
ireturn
end local 7 end local 6 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 20 0 tree [Ljava/lang/Object;
0 20 1 treeStart I
0 20 2 treeEnd I
0 20 3 target [Ljava/lang/Object;
0 20 4 targetOffset I
2 4 5 count I
5 20 5 newTargetOffset I
6 20 6 childCount I
7 20 7 childOffset I
8 19 8 i I
10 17 9 childStart I
11 17 10 childEnd I
MethodParameters:
Name Flags
tree
treeStart
treeEnd
target
targetOffset
public static <V> [] transformAndFilter([], com.google.common.base.Function<? super V, ? extends V>);
descriptor: ([Ljava/lang/Object;Lcom/google/common/base/Function;)[Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: aload 0
invokestatic org.apache.cassandra.utils.btree.BTree.isEmpty:([Ljava/lang/Object;)Z
ifeq 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
new org.apache.cassandra.utils.btree.BTree$FiltrationTracker
dup
aload 1
invokespecial org.apache.cassandra.utils.btree.BTree$FiltrationTracker.<init>:(Lcom/google/common/base/Function;)V
astore 2
start local 2 3: aload 0
aload 2
invokestatic org.apache.cassandra.utils.btree.BTree.transformAndFilter:([Ljava/lang/Object;Lorg/apache/cassandra/utils/btree/BTree$FiltrationTracker;)[Ljava/lang/Object;
astore 3
start local 3 4: aload 2
getfield org.apache.cassandra.utils.btree.BTree$FiltrationTracker.failed:Z
ifne 6
5: aload 3
areturn
6: StackMap locals: org.apache.cassandra.utils.btree.BTree$FiltrationTracker java.lang.Object[]
StackMap stack:
aload 3
iconst_0
aload 2
getfield org.apache.cassandra.utils.btree.BTree$FiltrationTracker.index:I
iconst_1
isub
getstatic org.apache.cassandra.utils.btree.BTree$Dir.ASC:Lorg/apache/cassandra/utils/btree/BTree$Dir;
invokestatic org.apache.cassandra.utils.btree.BTree.iterable:([Ljava/lang/Object;IILorg/apache/cassandra/utils/btree/BTree$Dir;)Ljava/lang/Iterable;
astore 4
start local 4 7: aload 0
aload 2
getfield org.apache.cassandra.utils.btree.BTree$FiltrationTracker.index:I
iconst_1
iadd
aload 0
invokestatic org.apache.cassandra.utils.btree.BTree.size:([Ljava/lang/Object;)I
iconst_1
isub
getstatic org.apache.cassandra.utils.btree.BTree$Dir.ASC:Lorg/apache/cassandra/utils/btree/BTree$Dir;
invokestatic org.apache.cassandra.utils.btree.BTree.iterable:([Ljava/lang/Object;IILorg/apache/cassandra/utils/btree/BTree$Dir;)Ljava/lang/Iterable;
astore 5
start local 5 8: aload 5
aload 1
invokestatic com.google.common.collect.Iterables.transform:(Ljava/lang/Iterable;Lcom/google/common/base/Function;)Ljava/lang/Iterable;
invokedynamic apply()Lcom/google/common/base/Predicate;
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;)Z
org/apache/cassandra/utils/btree/BTree.lambda$2(Ljava/lang/Object;)Z (6)
(Ljava/lang/Object;)Z
invokestatic com.google.common.collect.Iterables.filter:(Ljava/lang/Iterable;Lcom/google/common/base/Predicate;)Ljava/lang/Iterable;
astore 5
9: aload 4
aload 5
invokestatic com.google.common.collect.Iterables.concat:(Ljava/lang/Iterable;Ljava/lang/Iterable;)Ljava/lang/Iterable;
astore 6
start local 6 10: aload 6
iconst_m1
invokestatic org.apache.cassandra.utils.btree.UpdateFunction.noOp:()Lorg/apache/cassandra/utils/btree/UpdateFunction;
invokestatic org.apache.cassandra.utils.btree.BTree.buildInternal:(Ljava/lang/Iterable;ILorg/apache/cassandra/utils/btree/UpdateFunction;)[Ljava/lang/Object;
areturn
end local 6 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 11 0 btree [Ljava/lang/Object;
0 11 1 function Lcom/google/common/base/Function<-TV;+TV;>;
3 11 2 wrapped Lorg/apache/cassandra/utils/btree/BTree$FiltrationTracker<TV;>;
4 11 3 result [Ljava/lang/Object;
7 11 4 head Ljava/lang/Iterable<TV;>;
8 11 5 remainder Ljava/lang/Iterable<TV;>;
10 11 6 build Ljava/lang/Iterable<TV;>;
Signature: <V:Ljava/lang/Object;>([Ljava/lang/Object;Lcom/google/common/base/Function<-TV;+TV;>;)[Ljava/lang/Object;
MethodParameters:
Name Flags
btree
function
private static <V> [] transformAndFilter([], org.apache.cassandra.utils.btree.BTree$FiltrationTracker<V>);
descriptor: ([Ljava/lang/Object;Lorg/apache/cassandra/utils/btree/BTree$FiltrationTracker;)[Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=10, args_size=2
start local 0 start local 1 0: aload 0
astore 2
start local 2 1: aload 0
invokestatic org.apache.cassandra.utils.btree.BTree.isLeaf:([Ljava/lang/Object;)Z
istore 3
start local 3 2: iload 3
ifeq 3
ldc 2147483647
goto 4
StackMap locals: java.lang.Object[] int
StackMap stack:
3: aload 0
invokestatic org.apache.cassandra.utils.btree.BTree.getChildStart:([Ljava/lang/Object;)I
StackMap locals:
StackMap stack: int
4: istore 4
start local 4 5: iload 3
ifeq 6
aload 0
invokestatic org.apache.cassandra.utils.btree.BTree.getLeafKeyEnd:([Ljava/lang/Object;)I
goto 7
StackMap locals: int
StackMap stack:
6: aload 0
arraylength
iconst_1
isub
StackMap locals:
StackMap stack: int
7: istore 5
start local 5 8: iconst_0
istore 6
start local 6 9: goto 26
10: StackMap locals: int int
StackMap stack:
iload 3
ifeq 11
iload 6
goto 14
StackMap locals:
StackMap stack:
11: iload 6
iconst_2
idiv
iload 6
iconst_2
irem
ifne 12
iload 4
goto 13
StackMap locals:
StackMap stack: int
12: iconst_0
StackMap locals: java.lang.Object[] org.apache.cassandra.utils.btree.BTree$FiltrationTracker java.lang.Object[] int int int int
StackMap stack: int int
13: iadd
StackMap locals:
StackMap stack: int
14: istore 7
start local 7 15: aload 0
iload 7
aaload
astore 8
start local 8 16: iload 7
iload 4
if_icmpge 17
aload 1
aload 8
invokevirtual org.apache.cassandra.utils.btree.BTree$FiltrationTracker.apply:(Ljava/lang/Object;)Ljava/lang/Object;
goto 18
StackMap locals: int java.lang.Object
StackMap stack:
17: aload 8
checkcast java.lang.Object[]
aload 1
invokestatic org.apache.cassandra.utils.btree.BTree.transformAndFilter:([Ljava/lang/Object;Lorg/apache/cassandra/utils/btree/BTree$FiltrationTracker;)[Ljava/lang/Object;
StackMap locals:
StackMap stack: java.lang.Object
18: astore 9
start local 9 19: aload 9
aload 8
if_acmpeq 23
20: aload 2
aload 0
if_acmpne 22
21: aload 0
invokevirtual java.lang.Object[].clone:()Ljava/lang/Object;
checkcast java.lang.Object[]
astore 2
22: StackMap locals: java.lang.Object
StackMap stack:
aload 2
iload 7
aload 9
aastore
23: StackMap locals:
StackMap stack:
aload 1
getfield org.apache.cassandra.utils.btree.BTree$FiltrationTracker.failed:Z
ifeq 25
24: aload 2
areturn
end local 9 end local 8 end local 7 25: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
26: iload 6
iload 5
if_icmplt 10
end local 6 27: aload 2
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 28 0 btree [Ljava/lang/Object;
0 28 1 function Lorg/apache/cassandra/utils/btree/BTree$FiltrationTracker<TV;>;
1 28 2 result [Ljava/lang/Object;
2 28 3 isLeaf Z
5 28 4 childOffset I
8 28 5 limit I
9 27 6 i I
15 25 7 idx I
16 25 8 current Ljava/lang/Object;
19 25 9 updated Ljava/lang/Object;
Signature: <V:Ljava/lang/Object;>([Ljava/lang/Object;Lorg/apache/cassandra/utils/btree/BTree$FiltrationTracker<TV;>;)[Ljava/lang/Object;
MethodParameters:
Name Flags
btree
function
public static boolean equals(java.lang.Object[], java.lang.Object[]);
descriptor: ([Ljava/lang/Object;[Ljava/lang/Object;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokestatic org.apache.cassandra.utils.btree.BTree.size:([Ljava/lang/Object;)I
aload 1
invokestatic org.apache.cassandra.utils.btree.BTree.size:([Ljava/lang/Object;)I
if_icmpne 1
aload 0
invokestatic org.apache.cassandra.utils.btree.BTree.iterator:([Ljava/lang/Object;)Ljava/util/Iterator;
aload 1
invokestatic org.apache.cassandra.utils.btree.BTree.iterator:([Ljava/lang/Object;)Ljava/util/Iterator;
invokestatic com.google.common.collect.Iterators.elementsEqual:(Ljava/util/Iterator;Ljava/util/Iterator;)Z
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 a [Ljava/lang/Object;
0 2 1 b [Ljava/lang/Object;
MethodParameters:
Name Flags
a
b
public static int hashCode(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: iconst_1
istore 1
start local 1 1: aload 0
invokestatic org.apache.cassandra.utils.btree.BTree.iterable:([Ljava/lang/Object;)Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 3
goto 4
StackMap locals: java.lang.Object[] int top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 2
start local 2 3: bipush 31
iload 1
imul
aload 2
invokestatic java.util.Objects.hashCode:(Ljava/lang/Object;)I
iadd
istore 1
end local 2 4: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 btree [Ljava/lang/Object;
1 6 1 result I
3 4 2 v Ljava/lang/Object;
MethodParameters:
Name Flags
btree
public static int treeIndexOfKey(java.lang.Object[], int);
descriptor: ([Ljava/lang/Object;I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokestatic org.apache.cassandra.utils.btree.BTree.isLeaf:([Ljava/lang/Object;)Z
ifeq 2
1: iload 1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokestatic org.apache.cassandra.utils.btree.BTree.getSizeMap:([Ljava/lang/Object;)[I
astore 2
start local 2 3: iload 1
iflt 4
iconst_1
goto 5
StackMap locals: int[]
StackMap stack:
4: iconst_0
StackMap locals:
StackMap stack: int
5: iload 1
aload 2
arraylength
if_icmpge 6
iconst_1
goto 7
StackMap locals:
StackMap stack: int
6: iconst_0
StackMap locals: java.lang.Object[] int int[]
StackMap stack: int int
7: iand
ifeq 9
8: aload 2
iload 1
iaload
ireturn
9: StackMap locals:
StackMap stack:
iload 1
ifge 11
10: iconst_m1
ireturn
11: StackMap locals:
StackMap stack:
aload 2
iload 1
iconst_1
isub
iaload
iconst_1
iadd
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 root [Ljava/lang/Object;
0 12 1 keyIndex I
3 12 2 sizeMap [I
MethodParameters:
Name Flags
root
keyIndex
public static int treeIndexOfLeafKey(int);
descriptor: (I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 keyIndex I
MethodParameters:
Name Flags
keyIndex
public static int treeIndexOfBranchKey(java.lang.Object[], int);
descriptor: ([Ljava/lang/Object;I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokestatic org.apache.cassandra.utils.btree.BTree.lookupSizeMap:([Ljava/lang/Object;I)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 root [Ljava/lang/Object;
0 1 1 keyIndex I
MethodParameters:
Name Flags
root
keyIndex
public static int treeIndexOffsetOfChild(java.lang.Object[], int);
descriptor: ([Ljava/lang/Object;I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
iconst_1
aload 0
iload 1
iconst_1
isub
invokestatic org.apache.cassandra.utils.btree.BTree.lookupSizeMap:([Ljava/lang/Object;I)I
iadd
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 root [Ljava/lang/Object;
0 3 1 childIndex I
MethodParameters:
Name Flags
root
childIndex
public static <V> org.apache.cassandra.utils.btree.BTree$Builder<V> builder(java.util.Comparator<? super V>);
descriptor: (Ljava/util/Comparator;)Lorg/apache/cassandra/utils/btree/BTree$Builder;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new org.apache.cassandra.utils.btree.BTree$Builder
dup
aload 0
invokespecial org.apache.cassandra.utils.btree.BTree$Builder.<init>:(Ljava/util/Comparator;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 comparator Ljava/util/Comparator<-TV;>;
Signature: <V:Ljava/lang/Object;>(Ljava/util/Comparator<-TV;>;)Lorg/apache/cassandra/utils/btree/BTree$Builder<TV;>;
MethodParameters:
Name Flags
comparator
public static <V> org.apache.cassandra.utils.btree.BTree$Builder<V> builder(java.util.Comparator<? super V>, int);
descriptor: (Ljava/util/Comparator;I)Lorg/apache/cassandra/utils/btree/BTree$Builder;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new org.apache.cassandra.utils.btree.BTree$Builder
dup
aload 0
iload 1
invokespecial org.apache.cassandra.utils.btree.BTree$Builder.<init>:(Ljava/util/Comparator;I)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 comparator Ljava/util/Comparator<-TV;>;
0 1 1 initialCapacity I
Signature: <V:Ljava/lang/Object;>(Ljava/util/Comparator<-TV;>;I)Lorg/apache/cassandra/utils/btree/BTree$Builder<TV;>;
MethodParameters:
Name Flags
comparator
initialCapacity
static <V> int compare(java.util.Comparator<V>, , );
descriptor: (Ljava/util/Comparator;Ljava/lang/Object;Ljava/lang/Object;)I
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
if_acmpne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 1
getstatic org.apache.cassandra.utils.btree.BTree.NEGATIVE_INFINITY:Ljava/lang/Object;
if_acmpne 3
iconst_1
goto 4
StackMap locals:
StackMap stack:
3: iconst_0
StackMap locals:
StackMap stack: int
4: aload 2
getstatic org.apache.cassandra.utils.btree.BTree.POSITIVE_INFINITY:Ljava/lang/Object;
if_acmpne 5
iconst_1
goto 6
StackMap locals:
StackMap stack: int
5: iconst_0
StackMap locals: java.util.Comparator java.lang.Object java.lang.Object
StackMap stack: int int
6: ior
ifeq 8
7: iconst_m1
ireturn
8: StackMap locals:
StackMap stack:
aload 2
getstatic org.apache.cassandra.utils.btree.BTree.NEGATIVE_INFINITY:Ljava/lang/Object;
if_acmpne 9
iconst_1
goto 10
StackMap locals:
StackMap stack:
9: iconst_0
StackMap locals:
StackMap stack: int
10: aload 1
getstatic org.apache.cassandra.utils.btree.BTree.POSITIVE_INFINITY:Ljava/lang/Object;
if_acmpne 11
iconst_1
goto 12
StackMap locals:
StackMap stack: int
11: iconst_0
StackMap locals: java.util.Comparator java.lang.Object java.lang.Object
StackMap stack: int int
12: ior
ifeq 14
13: iconst_1
ireturn
14: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokeinterface java.util.Comparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 cmp Ljava/util/Comparator<TV;>;
0 15 1 a Ljava/lang/Object;
0 15 2 b Ljava/lang/Object;
Signature: <V:Ljava/lang/Object;>(Ljava/util/Comparator<TV;>;Ljava/lang/Object;Ljava/lang/Object;)I
MethodParameters:
Name Flags
cmp
a
b
public static boolean isWellFormed([], java.util.Comparator<? extends java.lang.Object>);
descriptor: ([Ljava/lang/Object;Ljava/util/Comparator;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
iconst_1
getstatic org.apache.cassandra.utils.btree.BTree.NEGATIVE_INFINITY:Ljava/lang/Object;
getstatic org.apache.cassandra.utils.btree.BTree.POSITIVE_INFINITY:Ljava/lang/Object;
invokestatic org.apache.cassandra.utils.btree.BTree.isWellFormed:(Ljava/util/Comparator;[Ljava/lang/Object;ZLjava/lang/Object;Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 btree [Ljava/lang/Object;
0 1 1 cmp Ljava/util/Comparator<+Ljava/lang/Object;>;
Signature: ([Ljava/lang/Object;Ljava/util/Comparator<+Ljava/lang/Object;>;)Z
MethodParameters:
Name Flags
btree
cmp
private static boolean isWellFormed(java.util.Comparator<?>, [], boolean, , );
descriptor: (Ljava/util/Comparator;[Ljava/lang/Object;ZLjava/lang/Object;Ljava/lang/Object;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=12, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
ifnull 2
aload 0
aload 1
aload 3
aload 4
invokestatic org.apache.cassandra.utils.btree.BTree.isNodeWellFormed:(Ljava/util/Comparator;[Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 1
invokestatic org.apache.cassandra.utils.btree.BTree.isLeaf:([Ljava/lang/Object;)Z
ifeq 8
3: iload 2
ifeq 6
4: aload 1
arraylength
getstatic org.apache.cassandra.utils.btree.BTree.FAN_FACTOR:I
iconst_1
iadd
if_icmpgt 5
iconst_1
ireturn
StackMap locals:
StackMap stack:
5: iconst_0
ireturn
6: StackMap locals:
StackMap stack:
aload 1
arraylength
getstatic org.apache.cassandra.utils.btree.BTree.FAN_FACTOR:I
iconst_2
idiv
if_icmplt 7
aload 1
arraylength
getstatic org.apache.cassandra.utils.btree.BTree.FAN_FACTOR:I
iconst_1
iadd
if_icmpgt 7
iconst_1
ireturn
StackMap locals:
StackMap stack:
7: iconst_0
ireturn
8: StackMap locals:
StackMap stack:
aload 1
invokestatic org.apache.cassandra.utils.btree.BTree.getBranchKeyEnd:([Ljava/lang/Object;)I
istore 5
start local 5 9: iload 2
ifne 10
iload 5
getstatic org.apache.cassandra.utils.btree.BTree.FAN_FACTOR:I
iconst_2
idiv
if_icmplt 11
StackMap locals: int
StackMap stack:
10: iload 5
getstatic org.apache.cassandra.utils.btree.BTree.FAN_FACTOR:I
iconst_1
iadd
if_icmple 12
11: StackMap locals:
StackMap stack:
iconst_0
ireturn
12: StackMap locals:
StackMap stack:
iconst_0
istore 6
start local 6 13: iconst_m1
istore 7
start local 7 14: aload 1
invokestatic org.apache.cassandra.utils.btree.BTree.getSizeMap:([Ljava/lang/Object;)[I
astore 8
start local 8 15: aload 1
invokestatic org.apache.cassandra.utils.btree.BTree.getChildStart:([Ljava/lang/Object;)I
istore 9
start local 9 16: goto 31
17: StackMap locals: java.util.Comparator java.lang.Object[] int java.lang.Object java.lang.Object int int int int[] int
StackMap stack:
aload 1
iload 9
aaload
checkcast java.lang.Object[]
astore 10
start local 10 18: iload 7
aload 10
invokestatic org.apache.cassandra.utils.btree.BTree.size:([Ljava/lang/Object;)I
iconst_1
iadd
iadd
istore 7
19: aload 8
iload 9
aload 1
invokestatic org.apache.cassandra.utils.btree.BTree.getChildStart:([Ljava/lang/Object;)I
isub
iaload
iload 7
if_icmpeq 21
20: iconst_0
ireturn
21: StackMap locals: java.lang.Object[]
StackMap stack:
iload 9
aload 1
arraylength
iconst_2
isub
if_icmpge 22
aload 1
iload 9
aload 1
invokestatic org.apache.cassandra.utils.btree.BTree.getChildStart:([Ljava/lang/Object;)I
isub
aaload
goto 23
StackMap locals:
StackMap stack:
22: aload 4
StackMap locals:
StackMap stack: java.lang.Object
23: astore 11
start local 11 24: aload 0
aload 10
iconst_0
aload 3
aload 11
invokestatic org.apache.cassandra.utils.btree.BTree.isWellFormed:(Ljava/util/Comparator;[Ljava/lang/Object;ZLjava/lang/Object;Ljava/lang/Object;)Z
ifne 26
25: iconst_0
ireturn
26: StackMap locals: java.lang.Object
StackMap stack:
iload 6
aload 10
invokestatic org.apache.cassandra.utils.btree.BTree.isLeaf:([Ljava/lang/Object;)Z
ifeq 27
iconst_1
goto 28
StackMap locals:
StackMap stack: int
27: iconst_2
StackMap locals: java.util.Comparator java.lang.Object[] int java.lang.Object java.lang.Object int int int int[] int java.lang.Object[] java.lang.Object
StackMap stack: int int
28: ior
istore 6
29: aload 11
astore 3
end local 11 end local 10 30: iinc 9 1
StackMap locals:
StackMap stack:
31: iload 9
aload 1
invokestatic org.apache.cassandra.utils.btree.BTree.getChildEnd:([Ljava/lang/Object;)I
if_icmplt 17
end local 9 32: iload 6
iconst_3
if_icmpge 33
iconst_1
ireturn
StackMap locals:
StackMap stack:
33: iconst_0
ireturn
end local 8 end local 7 end local 6 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 34 0 cmp Ljava/util/Comparator<*>;
0 34 1 node [Ljava/lang/Object;
0 34 2 isRoot Z
0 34 3 min Ljava/lang/Object;
0 34 4 max Ljava/lang/Object;
9 34 5 keyCount I
13 34 6 type I
14 34 7 size I
15 34 8 sizeMap [I
16 32 9 i I
18 30 10 child [Ljava/lang/Object;
24 30 11 localmax Ljava/lang/Object;
Signature: (Ljava/util/Comparator<*>;[Ljava/lang/Object;ZLjava/lang/Object;Ljava/lang/Object;)Z
MethodParameters:
Name Flags
cmp
node
isRoot
min
max
private static boolean isNodeWellFormed(java.util.Comparator<?>, [], , );
descriptor: (Ljava/util/Comparator;[Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
astore 4
start local 4 1: aload 1
invokestatic org.apache.cassandra.utils.btree.BTree.getKeyEnd:([Ljava/lang/Object;)I
istore 5
start local 5 2: iconst_0
istore 6
start local 6 3: goto 9
4: StackMap locals: java.lang.Object int int
StackMap stack:
aload 1
iload 6
aaload
astore 7
start local 7 5: aload 0
aload 4
aload 7
invokestatic org.apache.cassandra.utils.btree.BTree.compare:(Ljava/util/Comparator;Ljava/lang/Object;Ljava/lang/Object;)I
iflt 7
6: iconst_0
ireturn
7: StackMap locals: java.lang.Object
StackMap stack:
aload 7
astore 4
end local 7 8: iinc 6 1
StackMap locals:
StackMap stack:
9: iload 6
iload 5
if_icmplt 4
end local 6 10: aload 0
aload 4
aload 3
invokestatic org.apache.cassandra.utils.btree.BTree.compare:(Ljava/util/Comparator;Ljava/lang/Object;Ljava/lang/Object;)I
ifge 11
iconst_1
ireturn
StackMap locals:
StackMap stack:
11: iconst_0
ireturn
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 12 0 cmp Ljava/util/Comparator<*>;
0 12 1 node [Ljava/lang/Object;
0 12 2 min Ljava/lang/Object;
0 12 3 max Ljava/lang/Object;
1 12 4 previous Ljava/lang/Object;
2 12 5 end I
3 10 6 i I
5 8 7 current Ljava/lang/Object;
Signature: (Ljava/util/Comparator<*>;[Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
MethodParameters:
Name Flags
cmp
node
min
max
public static <V> void apply([], java.util.function.Consumer<V>, );
descriptor: ([Ljava/lang/Object;Ljava/util/function/Consumer;Z)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 2
ifeq 2
1: aload 0
aload 1
aconst_null
invokestatic org.apache.cassandra.utils.btree.BTree.applyReverse:([Ljava/lang/Object;Ljava/util/function/Consumer;Lcom/google/common/base/Predicate;)Z
pop
goto 3
2: StackMap locals:
StackMap stack:
aload 0
aload 1
aconst_null
invokestatic org.apache.cassandra.utils.btree.BTree.applyForwards:([Ljava/lang/Object;Ljava/util/function/Consumer;Lcom/google/common/base/Predicate;)Z
pop
3: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 btree [Ljava/lang/Object;
0 4 1 function Ljava/util/function/Consumer<TV;>;
0 4 2 reversed Z
Signature: <V:Ljava/lang/Object;>([Ljava/lang/Object;Ljava/util/function/Consumer<TV;>;Z)V
MethodParameters:
Name Flags
btree
function
reversed
public static <V> void apply([], java.util.function.Consumer<V>, com.google.common.base.Predicate<V>, );
descriptor: ([Ljava/lang/Object;Ljava/util/function/Consumer;Lcom/google/common/base/Predicate;Z)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
ifeq 2
1: aload 0
aload 1
aload 2
invokestatic org.apache.cassandra.utils.btree.BTree.applyReverse:([Ljava/lang/Object;Ljava/util/function/Consumer;Lcom/google/common/base/Predicate;)Z
pop
goto 3
2: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokestatic org.apache.cassandra.utils.btree.BTree.applyForwards:([Ljava/lang/Object;Ljava/util/function/Consumer;Lcom/google/common/base/Predicate;)Z
pop
3: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 btree [Ljava/lang/Object;
0 4 1 function Ljava/util/function/Consumer<TV;>;
0 4 2 stopCondition Lcom/google/common/base/Predicate<TV;>;
0 4 3 reversed Z
Signature: <V:Ljava/lang/Object;>([Ljava/lang/Object;Ljava/util/function/Consumer<TV;>;Lcom/google/common/base/Predicate<TV;>;Z)V
MethodParameters:
Name Flags
btree
function
stopCondition
reversed
private static <V> boolean applyForwards([], java.util.function.Consumer<V>, com.google.common.base.Predicate<V>);
descriptor: ([Ljava/lang/Object;Ljava/util/function/Consumer;Lcom/google/common/base/Predicate;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokestatic org.apache.cassandra.utils.btree.BTree.isLeaf:([Ljava/lang/Object;)Z
istore 3
start local 3 1: iload 3
ifeq 2
ldc 2147483647
goto 3
StackMap locals: int
StackMap stack:
2: aload 0
invokestatic org.apache.cassandra.utils.btree.BTree.getChildStart:([Ljava/lang/Object;)I
StackMap locals:
StackMap stack: int
3: istore 4
start local 4 4: iload 3
ifeq 5
aload 0
invokestatic org.apache.cassandra.utils.btree.BTree.getLeafKeyEnd:([Ljava/lang/Object;)I
goto 6
StackMap locals: int
StackMap stack:
5: aload 0
arraylength
iconst_1
isub
StackMap locals:
StackMap stack: int
6: istore 5
start local 5 7: iconst_0
istore 6
start local 6 8: goto 24
9: StackMap locals: int int
StackMap stack:
iload 3
ifeq 10
iload 6
goto 13
StackMap locals:
StackMap stack:
10: iload 6
iconst_2
idiv
iload 6
iconst_2
irem
ifne 11
iload 4
goto 12
StackMap locals:
StackMap stack: int
11: iconst_0
StackMap locals: java.lang.Object[] java.util.function.Consumer com.google.common.base.Predicate int int int int
StackMap stack: int int
12: iadd
StackMap locals:
StackMap stack: int
13: istore 7
start local 7 14: aload 0
iload 7
aaload
astore 8
start local 8 15: iload 7
iload 4
if_icmpge 21
16: aload 8
astore 9
start local 9 17: aload 2
ifnull 19
aload 2
aload 9
invokeinterface com.google.common.base.Predicate.apply:(Ljava/lang/Object;)Z
ifeq 19
18: iconst_1
ireturn
19: StackMap locals: int java.lang.Object java.lang.Object
StackMap stack:
aload 1
aload 9
invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
end local 9 20: goto 23
21: StackMap locals:
StackMap stack:
aload 8
checkcast java.lang.Object[]
aload 1
aload 2
invokestatic org.apache.cassandra.utils.btree.BTree.applyForwards:([Ljava/lang/Object;Ljava/util/function/Consumer;Lcom/google/common/base/Predicate;)Z
ifeq 23
22: iconst_1
ireturn
end local 8 end local 7 23: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
24: iload 6
iload 5
if_icmplt 9
end local 6 25: iconst_0
ireturn
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 26 0 btree [Ljava/lang/Object;
0 26 1 function Ljava/util/function/Consumer<TV;>;
0 26 2 stopCondition Lcom/google/common/base/Predicate<TV;>;
1 26 3 isLeaf Z
4 26 4 childOffset I
7 26 5 limit I
8 25 6 i I
14 23 7 idx I
15 23 8 current Ljava/lang/Object;
17 20 9 castedCurrent TV;
Signature: <V:Ljava/lang/Object;>([Ljava/lang/Object;Ljava/util/function/Consumer<TV;>;Lcom/google/common/base/Predicate<TV;>;)Z
MethodParameters:
Name Flags
btree
function
stopCondition
private static <V> boolean applyReverse([], java.util.function.Consumer<V>, com.google.common.base.Predicate<V>);
descriptor: ([Ljava/lang/Object;Ljava/util/function/Consumer;Lcom/google/common/base/Predicate;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=11, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokestatic org.apache.cassandra.utils.btree.BTree.isLeaf:([Ljava/lang/Object;)Z
istore 3
start local 3 1: iload 3
ifeq 2
iconst_0
goto 3
StackMap locals: int
StackMap stack:
2: aload 0
invokestatic org.apache.cassandra.utils.btree.BTree.getChildStart:([Ljava/lang/Object;)I
StackMap locals:
StackMap stack: int
3: istore 4
start local 4 4: iload 3
ifeq 5
aload 0
invokestatic org.apache.cassandra.utils.btree.BTree.getLeafKeyEnd:([Ljava/lang/Object;)I
goto 6
StackMap locals: int
StackMap stack:
5: aload 0
arraylength
iconst_1
isub
StackMap locals:
StackMap stack: int
6: istore 5
start local 5 7: iload 5
iconst_1
isub
istore 6
start local 6 8: iconst_0
istore 7
start local 7 9: goto 27
10: StackMap locals: int int int
StackMap stack:
iload 6
istore 8
start local 8 11: iload 3
ifne 17
12: iload 7
iconst_2
idiv
istore 9
start local 9 13: iload 6
iconst_2
irem
ifne 16
14: iload 8
iload 9
iadd
istore 8
15: goto 17
16: StackMap locals: int int
StackMap stack:
iload 6
iload 4
isub
iload 9
iadd
istore 8
end local 9 17: StackMap locals:
StackMap stack:
aload 0
iload 8
aaload
astore 9
start local 9 18: iload 3
ifne 19
iload 8
iload 4
if_icmpge 24
19: StackMap locals: java.lang.Object
StackMap stack:
aload 9
astore 10
start local 10 20: aload 2
ifnull 22
aload 2
aload 10
invokeinterface com.google.common.base.Predicate.apply:(Ljava/lang/Object;)Z
ifeq 22
21: iconst_1
ireturn
22: StackMap locals: java.lang.Object
StackMap stack:
aload 1
aload 10
invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
end local 10 23: goto 26
24: StackMap locals:
StackMap stack:
aload 9
checkcast java.lang.Object[]
aload 1
aload 2
invokestatic org.apache.cassandra.utils.btree.BTree.applyReverse:([Ljava/lang/Object;Ljava/util/function/Consumer;Lcom/google/common/base/Predicate;)Z
ifeq 26
25: iconst_1
ireturn
end local 9 end local 8 26: StackMap locals:
StackMap stack:
iinc 6 -1
iinc 7 1
StackMap locals:
StackMap stack:
27: iload 6
ifge 10
end local 7 end local 6 28: iconst_0
ireturn
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 btree [Ljava/lang/Object;
0 29 1 function Ljava/util/function/Consumer<TV;>;
0 29 2 stopCondition Lcom/google/common/base/Predicate<TV;>;
1 29 3 isLeaf Z
4 29 4 childOffset I
7 29 5 limit I
8 28 6 i I
9 28 7 visited I
11 26 8 idx I
13 17 9 typeOffset I
18 26 9 current Ljava/lang/Object;
20 23 10 castedCurrent TV;
Signature: <V:Ljava/lang/Object;>([Ljava/lang/Object;Ljava/util/function/Consumer<TV;>;Lcom/google/common/base/Predicate<TV;>;)Z
MethodParameters:
Name Flags
btree
function
stopCondition
private static java.util.Iterator lambda$0(java.lang.Object[], org.apache.cassandra.utils.btree.BTree$Dir);
descriptor: ([Ljava/lang/Object;Lorg/apache/cassandra/utils/btree/BTree$Dir;)Ljava/util/Iterator;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokestatic org.apache.cassandra.utils.btree.BTree.iterator:([Ljava/lang/Object;Lorg/apache/cassandra/utils/btree/BTree$Dir;)Ljava/util/Iterator;
areturn
LocalVariableTable:
Start End Slot Name Signature
private static java.util.Iterator lambda$1(java.lang.Object[], int, int, org.apache.cassandra.utils.btree.BTree$Dir);
descriptor: ([Ljava/lang/Object;IILorg/apache/cassandra/utils/btree/BTree$Dir;)Ljava/util/Iterator;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=4
0: aload 0
iload 1
iload 2
aload 3
invokestatic org.apache.cassandra.utils.btree.BTree.iterator:([Ljava/lang/Object;IILorg/apache/cassandra/utils/btree/BTree$Dir;)Ljava/util/Iterator;
areturn
LocalVariableTable:
Start End Slot Name Signature
private static boolean lambda$2(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
ifnull 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 x TV;
}
SourceFile: "BTree.java"
NestMembers:
org.apache.cassandra.utils.btree.BTree$Builder org.apache.cassandra.utils.btree.BTree$Builder$QuickResolver org.apache.cassandra.utils.btree.BTree$Builder$Resolver org.apache.cassandra.utils.btree.BTree$Dir org.apache.cassandra.utils.btree.BTree$FiltrationTracker
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public Builder = org.apache.cassandra.utils.btree.BTree$Builder of org.apache.cassandra.utils.btree.BTree
public final Dir = org.apache.cassandra.utils.btree.BTree$Dir of org.apache.cassandra.utils.btree.BTree
private FiltrationTracker = org.apache.cassandra.utils.btree.BTree$FiltrationTracker of org.apache.cassandra.utils.btree.BTree