public final class it.unimi.dsi.fastutil.bytes.ByteIndirectHeaps
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: it.unimi.dsi.fastutil.bytes.ByteIndirectHeaps
super_class: java.lang.Object
{
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=1, locals=0, args_size=0
0: .line 28
ldc Lit/unimi/dsi/fastutil/bytes/ByteIndirectHeaps;
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 it.unimi.dsi.fastutil.bytes.ByteIndirectHeaps.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 // it.unimi.dsi.fastutil.bytes.ByteIndirectHeaps this
0: .line 29
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 30
return
end local 0 // it.unimi.dsi.fastutil.bytes.ByteIndirectHeaps this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lit/unimi/dsi/fastutil/bytes/ByteIndirectHeaps;
public static int downHeap(byte[], int[], int[], int, int, it.unimi.dsi.fastutil.bytes.ByteComparator);
descriptor: ([B[I[IIILit/unimi/dsi/fastutil/bytes/ByteComparator;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=11, args_size=6
start local 0 // byte[] refArray
start local 1 // int[] heap
start local 2 // int[] inv
start local 3 // int size
start local 4 // int i
start local 5 // it.unimi.dsi.fastutil.bytes.ByteComparator c
0: .line 52
getstatic it.unimi.dsi.fastutil.bytes.ByteIndirectHeaps.$assertionsDisabled:Z
ifne 1
iload 4 /* i */
iload 3 /* size */
if_icmplt 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: .line 53
StackMap locals:
StackMap stack:
aload 1 /* heap */
iload 4 /* i */
iaload
istore 6 /* e */
start local 6 // int e
2: .line 54
aload 0 /* refArray */
iload 6 /* e */
baload
istore 7 /* E */
start local 7 // byte E
3: .line 56
aload 5 /* c */
ifnonnull 26
4: .line 57
goto 14
start local 8 // int child
5: .line 58
StackMap locals: int int int
StackMap stack:
aload 1 /* heap */
iload 8 /* child */
iaload
istore 9 /* t */
start local 9 // int t
6: .line 59
iload 8 /* child */
iconst_1
iadd
istore 10 /* right */
start local 10 // int right
7: .line 60
iload 10 /* right */
iload 3 /* size */
if_icmpge 9
aload 0 /* refArray */
aload 1 /* heap */
iload 10 /* right */
iaload
baload
aload 0 /* refArray */
iload 9 /* t */
baload
if_icmpge 9
8: .line 61
aload 1 /* heap */
iload 10 /* right */
dup
istore 8 /* child */
iaload
istore 9 /* t */
9: .line 62
StackMap locals: int int
StackMap stack:
iload 7 /* E */
aload 0 /* refArray */
iload 9 /* t */
baload
if_icmpgt 11
10: .line 63
goto 28
11: .line 64
StackMap locals:
StackMap stack:
aload 1 /* heap */
iload 4 /* i */
iload 9 /* t */
iastore
12: .line 65
aload 2 /* inv */
aload 1 /* heap */
iload 4 /* i */
iaload
iload 4 /* i */
iastore
13: .line 66
iload 8 /* child */
istore 4 /* i */
end local 10 // int right
end local 9 // int t
end local 8 // int child
14: .line 57
StackMap locals:
StackMap stack:
iload 4 /* i */
iconst_1
ishl
iconst_1
iadd
dup
istore 8 /* child */
start local 8 // int child
15: iload 3 /* size */
if_icmplt 5
16: .line 67
goto 28
17: .line 70
StackMap locals: int
StackMap stack:
aload 1 /* heap */
iload 8 /* child */
iaload
istore 9 /* t */
start local 9 // int t
18: .line 71
iload 8 /* child */
iconst_1
iadd
istore 10 /* right */
start local 10 // int right
19: .line 72
iload 10 /* right */
iload 3 /* size */
if_icmpge 21
aload 5 /* c */
aload 0 /* refArray */
aload 1 /* heap */
iload 10 /* right */
iaload
baload
aload 0 /* refArray */
iload 9 /* t */
baload
invokeinterface it.unimi.dsi.fastutil.bytes.ByteComparator.compare:(BB)I
ifge 21
20: .line 73
aload 1 /* heap */
iload 10 /* right */
dup
istore 8 /* child */
iaload
istore 9 /* t */
21: .line 74
StackMap locals: int int
StackMap stack:
aload 5 /* c */
iload 7 /* E */
aload 0 /* refArray */
iload 9 /* t */
baload
invokeinterface it.unimi.dsi.fastutil.bytes.ByteComparator.compare:(BB)I
ifgt 23
22: .line 75
goto 28
23: .line 76
StackMap locals:
StackMap stack:
aload 1 /* heap */
iload 4 /* i */
iload 9 /* t */
iastore
24: .line 77
aload 2 /* inv */
aload 1 /* heap */
iload 4 /* i */
iaload
iload 4 /* i */
iastore
25: .line 78
iload 8 /* child */
istore 4 /* i */
end local 10 // int right
end local 9 // int t
end local 8 // int child
26: .line 69
StackMap locals:
StackMap stack:
iload 4 /* i */
iconst_1
ishl
iconst_1
iadd
dup
istore 8 /* child */
start local 8 // int child
27: iload 3 /* size */
if_icmplt 17
28: .line 80
StackMap locals: int
StackMap stack:
aload 1 /* heap */
iload 4 /* i */
iload 6 /* e */
iastore
29: .line 81
aload 2 /* inv */
iload 6 /* e */
iload 4 /* i */
iastore
30: .line 82
iload 4 /* i */
ireturn
end local 8 // int child
end local 7 // byte E
end local 6 // int e
end local 5 // it.unimi.dsi.fastutil.bytes.ByteComparator c
end local 4 // int i
end local 3 // int size
end local 2 // int[] inv
end local 1 // int[] heap
end local 0 // byte[] refArray
LocalVariableTable:
Start End Slot Name Signature
0 31 0 refArray [B
0 31 1 heap [I
0 31 2 inv [I
0 31 3 size I
0 31 4 i I
0 31 5 c Lit/unimi/dsi/fastutil/bytes/ByteComparator;
2 31 6 e I
3 31 7 E B
5 14 8 child I
15 26 8 child I
27 31 8 child I
6 14 9 t I
7 14 10 right I
18 26 9 t I
19 26 10 right I
MethodParameters:
Name Flags
refArray final
heap final
inv final
size final
i
c final
public static int upHeap(byte[], int[], int[], int, int, it.unimi.dsi.fastutil.bytes.ByteComparator);
descriptor: ([B[I[IIILit/unimi/dsi/fastutil/bytes/ByteComparator;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=10, args_size=6
start local 0 // byte[] refArray
start local 1 // int[] heap
start local 2 // int[] inv
start local 3 // int size
start local 4 // int i
start local 5 // it.unimi.dsi.fastutil.bytes.ByteComparator c
0: .line 107
getstatic it.unimi.dsi.fastutil.bytes.ByteIndirectHeaps.$assertionsDisabled:Z
ifne 1
iload 4 /* i */
iload 3 /* size */
if_icmplt 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: .line 108
StackMap locals:
StackMap stack:
aload 1 /* heap */
iload 4 /* i */
iaload
istore 6 /* e */
start local 6 // int e
2: .line 109
aload 0 /* refArray */
iload 6 /* e */
baload
istore 7 /* E */
start local 7 // byte E
3: .line 110
aload 5 /* c */
ifnonnull 21
4: .line 111
goto 12
5: .line 112
StackMap locals: int int
StackMap stack:
iload 4 /* i */
iconst_1
isub
iconst_1
iushr
istore 8 /* parent */
start local 8 // int parent
6: .line 113
aload 1 /* heap */
iload 8 /* parent */
iaload
istore 9 /* t */
start local 9 // int t
7: .line 114
aload 0 /* refArray */
iload 9 /* t */
baload
iload 7 /* E */
if_icmpgt 9
8: .line 115
goto 22
9: .line 116
StackMap locals: int int
StackMap stack:
aload 1 /* heap */
iload 4 /* i */
iload 9 /* t */
iastore
10: .line 117
aload 2 /* inv */
aload 1 /* heap */
iload 4 /* i */
iaload
iload 4 /* i */
iastore
11: .line 118
iload 8 /* parent */
istore 4 /* i */
end local 9 // int t
end local 8 // int parent
12: .line 111
StackMap locals:
StackMap stack:
iload 4 /* i */
ifne 5
13: .line 119
goto 22
14: .line 122
StackMap locals:
StackMap stack:
iload 4 /* i */
iconst_1
isub
iconst_1
iushr
istore 8 /* parent */
start local 8 // int parent
15: .line 123
aload 1 /* heap */
iload 8 /* parent */
iaload
istore 9 /* t */
start local 9 // int t
16: .line 124
aload 5 /* c */
aload 0 /* refArray */
iload 9 /* t */
baload
iload 7 /* E */
invokeinterface it.unimi.dsi.fastutil.bytes.ByteComparator.compare:(BB)I
ifgt 18
17: .line 125
goto 22
18: .line 126
StackMap locals: int int
StackMap stack:
aload 1 /* heap */
iload 4 /* i */
iload 9 /* t */
iastore
19: .line 127
aload 2 /* inv */
aload 1 /* heap */
iload 4 /* i */
iaload
iload 4 /* i */
iastore
20: .line 128
iload 8 /* parent */
istore 4 /* i */
end local 9 // int t
end local 8 // int parent
21: .line 121
StackMap locals:
StackMap stack:
iload 4 /* i */
ifne 14
22: .line 130
StackMap locals:
StackMap stack:
aload 1 /* heap */
iload 4 /* i */
iload 6 /* e */
iastore
23: .line 131
aload 2 /* inv */
iload 6 /* e */
iload 4 /* i */
iastore
24: .line 132
iload 4 /* i */
ireturn
end local 7 // byte E
end local 6 // int e
end local 5 // it.unimi.dsi.fastutil.bytes.ByteComparator c
end local 4 // int i
end local 3 // int size
end local 2 // int[] inv
end local 1 // int[] heap
end local 0 // byte[] refArray
LocalVariableTable:
Start End Slot Name Signature
0 25 0 refArray [B
0 25 1 heap [I
0 25 2 inv [I
0 25 3 size I
0 25 4 i I
0 25 5 c Lit/unimi/dsi/fastutil/bytes/ByteComparator;
2 25 6 e I
3 25 7 E B
6 12 8 parent I
7 12 9 t I
15 21 8 parent I
16 21 9 t I
MethodParameters:
Name Flags
refArray final
heap final
inv final
size final
i
c final
public static void makeHeap(byte[], int, int, int[], int[], it.unimi.dsi.fastutil.bytes.ByteComparator);
descriptor: ([BII[I[ILit/unimi/dsi/fastutil/bytes/ByteComparator;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=7, args_size=6
start local 0 // byte[] refArray
start local 1 // int offset
start local 2 // int length
start local 3 // int[] heap
start local 4 // int[] inv
start local 5 // it.unimi.dsi.fastutil.bytes.ByteComparator c
0: .line 152
aload 0 /* refArray */
iload 1 /* offset */
iload 2 /* length */
invokestatic it.unimi.dsi.fastutil.bytes.ByteArrays.ensureOffsetLength:([BII)V
1: .line 153
aload 3 /* heap */
arraylength
iload 2 /* length */
if_icmpge 5
2: .line 154
new java.lang.IllegalArgumentException
dup
3: .line 155
new java.lang.StringBuilder
dup
ldc "The heap length ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3 /* heap */
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ") is smaller than the number of elements ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2 /* length */
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;
4: .line 154
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: .line 156
StackMap locals:
StackMap stack:
aload 4 /* inv */
arraylength
aload 0 /* refArray */
arraylength
if_icmpge 9
6: .line 157
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "The inversion array length ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3 /* heap */
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
7: .line 158
ldc ") is smaller than the length of the reference array ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0 /* refArray */
arraylength
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;
8: .line 157
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
9: .line 159
StackMap locals:
StackMap stack:
aload 4 /* inv */
iconst_0
aload 0 /* refArray */
arraylength
iconst_m1
invokestatic java.util.Arrays.fill:([IIII)V
10: .line 160
iload 2 /* length */
istore 6 /* i */
start local 6 // int i
11: .line 161
goto 13
12: .line 162
StackMap locals: int
StackMap stack:
aload 4 /* inv */
aload 3 /* heap */
iload 6 /* i */
iload 1 /* offset */
iload 6 /* i */
iadd
dup_x2
iastore
iload 6 /* i */
iastore
13: .line 161
StackMap locals:
StackMap stack:
iload 6 /* i */
iinc 6 /* i */ -1
ifne 12
14: .line 163
iload 2 /* length */
iconst_1
iushr
istore 6 /* i */
15: .line 164
goto 17
16: .line 165
StackMap locals:
StackMap stack:
aload 0 /* refArray */
aload 3 /* heap */
aload 4 /* inv */
iload 2 /* length */
iload 6 /* i */
aload 5 /* c */
invokestatic it.unimi.dsi.fastutil.bytes.ByteIndirectHeaps.downHeap:([B[I[IIILit/unimi/dsi/fastutil/bytes/ByteComparator;)I
pop
17: .line 164
StackMap locals:
StackMap stack:
iload 6 /* i */
iinc 6 /* i */ -1
ifne 16
18: .line 166
return
end local 6 // int i
end local 5 // it.unimi.dsi.fastutil.bytes.ByteComparator c
end local 4 // int[] inv
end local 3 // int[] heap
end local 2 // int length
end local 1 // int offset
end local 0 // byte[] refArray
LocalVariableTable:
Start End Slot Name Signature
0 19 0 refArray [B
0 19 1 offset I
0 19 2 length I
0 19 3 heap [I
0 19 4 inv [I
0 19 5 c Lit/unimi/dsi/fastutil/bytes/ByteComparator;
11 19 6 i I
MethodParameters:
Name Flags
refArray final
offset final
length final
heap final
inv final
c final
public static void makeHeap(byte[], int[], int[], int, it.unimi.dsi.fastutil.bytes.ByteComparator);
descriptor: ([B[I[IILit/unimi/dsi/fastutil/bytes/ByteComparator;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=6, args_size=5
start local 0 // byte[] refArray
start local 1 // int[] heap
start local 2 // int[] inv
start local 3 // int size
start local 4 // it.unimi.dsi.fastutil.bytes.ByteComparator c
0: .line 183
iload 3 /* size */
iconst_1
iushr
istore 5 /* i */
start local 5 // int i
1: .line 184
goto 3
2: .line 185
StackMap locals: int
StackMap stack:
aload 0 /* refArray */
aload 1 /* heap */
aload 2 /* inv */
iload 3 /* size */
iload 5 /* i */
aload 4 /* c */
invokestatic it.unimi.dsi.fastutil.bytes.ByteIndirectHeaps.downHeap:([B[I[IIILit/unimi/dsi/fastutil/bytes/ByteComparator;)I
pop
3: .line 184
StackMap locals:
StackMap stack:
iload 5 /* i */
iinc 5 /* i */ -1
ifne 2
4: .line 186
return
end local 5 // int i
end local 4 // it.unimi.dsi.fastutil.bytes.ByteComparator c
end local 3 // int size
end local 2 // int[] inv
end local 1 // int[] heap
end local 0 // byte[] refArray
LocalVariableTable:
Start End Slot Name Signature
0 5 0 refArray [B
0 5 1 heap [I
0 5 2 inv [I
0 5 3 size I
0 5 4 c Lit/unimi/dsi/fastutil/bytes/ByteComparator;
1 5 5 i I
MethodParameters:
Name Flags
refArray final
heap final
inv final
size final
c final
}
SourceFile: "ByteIndirectHeaps.java"