public final class it.unimi.dsi.fastutil.chars.CharArrays
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: it.unimi.dsi.fastutil.chars.CharArrays
super_class: java.lang.Object
{
public static final char[] EMPTY_ARRAY;
descriptor: [C
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final char[] DEFAULT_EMPTY_ARRAY;
descriptor: [C
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private static final int QUICKSORT_NO_REC;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16
private static final int PARALLEL_QUICKSORT_NO_FORK;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8192
private static final int QUICKSORT_MEDIAN_OF_9;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 128
private static final int MERGESORT_NO_REC;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16
private static final int DIGIT_BITS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8
private static final int DIGIT_MASK;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 255
private static final int DIGITS_PER_ELEMENT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int RADIXSORT_NO_REC;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1024
private static final int PARALLEL_RADIXSORT_NO_FORK;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1024
static final int RADIX_SORT_MIN_THRESHOLD;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 4000
protected static final it.unimi.dsi.fastutil.chars.CharArrays$Segment POISON_PILL;
descriptor: Lit/unimi/dsi/fastutil/chars/CharArrays$Segment;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
public static final it.unimi.dsi.fastutil.Hash$Strategy<char[]> HASH_STRATEGY;
descriptor: Lit/unimi/dsi/fastutil/Hash$Strategy;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Lit/unimi/dsi/fastutil/Hash$Strategy<[C>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=0, args_size=0
0: .line 103
iconst_0
newarray 5
putstatic it.unimi.dsi.fastutil.chars.CharArrays.EMPTY_ARRAY:[C
1: .line 112
iconst_0
newarray 5
putstatic it.unimi.dsi.fastutil.chars.CharArrays.DEFAULT_EMPTY_ARRAY:[C
2: .line 2115
new it.unimi.dsi.fastutil.chars.CharArrays$Segment
dup
iconst_m1
iconst_m1
iconst_m1
invokespecial it.unimi.dsi.fastutil.chars.CharArrays$Segment.<init>:(III)V
putstatic it.unimi.dsi.fastutil.chars.CharArrays.POISON_PILL:Lit/unimi/dsi/fastutil/chars/CharArrays$Segment;
3: .line 3193
new it.unimi.dsi.fastutil.chars.CharArrays$ArrayHashStrategy
dup
invokespecial it.unimi.dsi.fastutil.chars.CharArrays$ArrayHashStrategy.<init>:()V
putstatic it.unimi.dsi.fastutil.chars.CharArrays.HASH_STRATEGY:Lit/unimi/dsi/fastutil/Hash$Strategy;
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.chars.CharArrays this
0: .line 100
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 101
return
end local 0 // it.unimi.dsi.fastutil.chars.CharArrays this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lit/unimi/dsi/fastutil/chars/CharArrays;
public static char[] forceCapacity(char[], int, int);
descriptor: ([CII)[C
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=4, args_size=3
start local 0 // char[] array
start local 1 // int length
start local 2 // int preserve
0: .line 128
iload 1 /* length */
newarray 5
astore 3 /* t */
start local 3 // char[] t
1: .line 129
aload 0 /* array */
iconst_0
aload 3 /* t */
iconst_0
iload 2 /* preserve */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
2: .line 130
aload 3 /* t */
areturn
end local 3 // char[] t
end local 2 // int preserve
end local 1 // int length
end local 0 // char[] array
LocalVariableTable:
Start End Slot Name Signature
0 3 0 array [C
0 3 1 length I
0 3 2 preserve I
1 3 3 t [C
MethodParameters:
Name Flags
array final
length final
preserve final
public static char[] ensureCapacity(char[], int);
descriptor: ([CI)[C
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 // char[] array
start local 1 // int length
0: .line 148
aload 0 /* array */
iload 1 /* length */
aload 0 /* array */
arraylength
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.ensureCapacity:([CII)[C
areturn
end local 1 // int length
end local 0 // char[] array
LocalVariableTable:
Start End Slot Name Signature
0 1 0 array [C
0 1 1 length I
MethodParameters:
Name Flags
array final
length final
public static char[] ensureCapacity(char[], int, int);
descriptor: ([CII)[C
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 // char[] array
start local 1 // int length
start local 2 // int preserve
0: .line 166
iload 1 /* length */
aload 0 /* array */
arraylength
if_icmple 1
aload 0 /* array */
iload 1 /* length */
iload 2 /* preserve */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.forceCapacity:([CII)[C
goto 2
StackMap locals:
StackMap stack:
1: aload 0 /* array */
StackMap locals:
StackMap stack: char[]
2: areturn
end local 2 // int preserve
end local 1 // int length
end local 0 // char[] array
LocalVariableTable:
Start End Slot Name Signature
0 3 0 array [C
0 3 1 length I
0 3 2 preserve I
MethodParameters:
Name Flags
array final
length final
preserve final
public static char[] grow(char[], int);
descriptor: ([CI)[C
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 // char[] array
start local 1 // int length
0: .line 187
aload 0 /* array */
iload 1 /* length */
aload 0 /* array */
arraylength
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.grow:([CII)[C
areturn
end local 1 // int length
end local 0 // char[] array
LocalVariableTable:
Start End Slot Name Signature
0 1 0 array [C
0 1 1 length I
MethodParameters:
Name Flags
array final
length final
public static char[] grow(char[], int, int);
descriptor: ([CII)[C
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=3
start local 0 // char[] array
start local 1 // int length
start local 2 // int preserve
0: .line 211
iload 1 /* length */
aload 0 /* array */
arraylength
if_icmple 6
1: .line 213
aload 0 /* array */
arraylength
i2l
aload 0 /* array */
arraylength
iconst_1
ishr
i2l
ladd
ldc 2147483639
invokestatic java.lang.Math.min:(JJ)J
iload 1 /* length */
i2l
invokestatic java.lang.Math.max:(JJ)J
l2i
2: .line 212
istore 3 /* newLength */
start local 3 // int newLength
3: .line 214
iload 3 /* newLength */
newarray 5
astore 4 /* t */
start local 4 // char[] t
4: .line 215
aload 0 /* array */
iconst_0
aload 4 /* t */
iconst_0
iload 2 /* preserve */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
5: .line 216
aload 4 /* t */
areturn
end local 4 // char[] t
end local 3 // int newLength
6: .line 218
StackMap locals:
StackMap stack:
aload 0 /* array */
areturn
end local 2 // int preserve
end local 1 // int length
end local 0 // char[] array
LocalVariableTable:
Start End Slot Name Signature
0 7 0 array [C
0 7 1 length I
0 7 2 preserve I
3 6 3 newLength I
4 6 4 t [C
MethodParameters:
Name Flags
array final
length final
preserve final
public static char[] trim(char[], int);
descriptor: ([CI)[C
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 // char[] array
start local 1 // int length
0: .line 233
iload 1 /* length */
aload 0 /* array */
arraylength
if_icmplt 2
1: .line 234
aload 0 /* array */
areturn
2: .line 235
StackMap locals:
StackMap stack:
iload 1 /* length */
ifne 3
getstatic it.unimi.dsi.fastutil.chars.CharArrays.EMPTY_ARRAY:[C
goto 4
StackMap locals:
StackMap stack:
3: iload 1 /* length */
newarray 5
StackMap locals:
StackMap stack: char[]
4: astore 2 /* t */
start local 2 // char[] t
5: .line 236
aload 0 /* array */
iconst_0
aload 2 /* t */
iconst_0
iload 1 /* length */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
6: .line 237
aload 2 /* t */
areturn
end local 2 // char[] t
end local 1 // int length
end local 0 // char[] array
LocalVariableTable:
Start End Slot Name Signature
0 7 0 array [C
0 7 1 length I
5 7 2 t [C
MethodParameters:
Name Flags
array final
length final
public static char[] setLength(char[], int);
descriptor: ([CI)[C
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 // char[] array
start local 1 // int length
0: .line 255
iload 1 /* length */
aload 0 /* array */
arraylength
if_icmpne 2
1: .line 256
aload 0 /* array */
areturn
2: .line 257
StackMap locals:
StackMap stack:
iload 1 /* length */
aload 0 /* array */
arraylength
if_icmpge 4
3: .line 258
aload 0 /* array */
iload 1 /* length */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.trim:([CI)[C
areturn
4: .line 259
StackMap locals:
StackMap stack:
aload 0 /* array */
iload 1 /* length */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.ensureCapacity:([CI)[C
areturn
end local 1 // int length
end local 0 // char[] array
LocalVariableTable:
Start End Slot Name Signature
0 5 0 array [C
0 5 1 length I
MethodParameters:
Name Flags
array final
length final
public static char[] copy(char[], int, int);
descriptor: ([CII)[C
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=4, args_size=3
start local 0 // char[] array
start local 1 // int offset
start local 2 // int length
0: .line 274
aload 0 /* array */
iload 1 /* offset */
iload 2 /* length */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.ensureOffsetLength:([CII)V
1: .line 275
iload 2 /* length */
ifne 2
getstatic it.unimi.dsi.fastutil.chars.CharArrays.EMPTY_ARRAY:[C
goto 3
StackMap locals:
StackMap stack:
2: iload 2 /* length */
newarray 5
StackMap locals:
StackMap stack: char[]
3: astore 3 /* a */
start local 3 // char[] a
4: .line 276
aload 0 /* array */
iload 1 /* offset */
aload 3 /* a */
iconst_0
iload 2 /* length */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
5: .line 277
aload 3 /* a */
areturn
end local 3 // char[] a
end local 2 // int length
end local 1 // int offset
end local 0 // char[] array
LocalVariableTable:
Start End Slot Name Signature
0 6 0 array [C
0 6 1 offset I
0 6 2 length I
4 6 3 a [C
MethodParameters:
Name Flags
array final
offset final
length final
public static char[] copy(char[]);
descriptor: ([C)[C
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 // char[] array
0: .line 287
aload 0 /* array */
invokevirtual char[].clone:()Ljava/lang/Object;
checkcast char[]
areturn
end local 0 // char[] array
LocalVariableTable:
Start End Slot Name Signature
0 1 0 array [C
MethodParameters:
Name Flags
array final
public static void fill(char[], char);
descriptor: ([CC)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 // char[] array
start local 1 // char value
0: .line 300
aload 0 /* array */
arraylength
istore 2 /* i */
start local 2 // int i
1: .line 301
goto 3
2: .line 302
StackMap locals: int
StackMap stack:
aload 0 /* array */
iload 2 /* i */
iload 1 /* value */
castore
3: .line 301
StackMap locals:
StackMap stack:
iload 2 /* i */
iinc 2 /* i */ -1
ifne 2
4: .line 303
return
end local 2 // int i
end local 1 // char value
end local 0 // char[] array
LocalVariableTable:
Start End Slot Name Signature
0 5 0 array [C
0 5 1 value C
1 5 2 i I
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
array final
value final
public static void fill(char[], int, int, char);
descriptor: ([CIIC)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=5, args_size=4
start local 0 // char[] array
start local 1 // int from
start local 2 // int to
start local 3 // char value
0: .line 320
aload 0 /* array */
iload 1 /* from */
iload 2 /* to */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.ensureFromTo:([CII)V
1: .line 321
iload 1 /* from */
ifne 6
2: .line 322
goto 4
3: .line 323
StackMap locals:
StackMap stack:
aload 0 /* array */
iload 2 /* to */
iload 3 /* value */
castore
4: .line 322
StackMap locals:
StackMap stack:
iload 2 /* to */
iinc 2 /* to */ -1
ifne 3
5: .line 323
goto 11
6: .line 325
StackMap locals:
StackMap stack:
iload 1 /* from */
istore 4 /* i */
start local 4 // int i
7: goto 10
8: .line 326
StackMap locals: int
StackMap stack:
aload 0 /* array */
iload 4 /* i */
iload 3 /* value */
castore
9: .line 325
iinc 4 /* i */ 1
StackMap locals:
StackMap stack:
10: iload 4 /* i */
iload 2 /* to */
if_icmplt 8
end local 4 // int i
11: .line 327
StackMap locals:
StackMap stack:
return
end local 3 // char value
end local 2 // int to
end local 1 // int from
end local 0 // char[] array
LocalVariableTable:
Start End Slot Name Signature
0 12 0 array [C
0 12 1 from I
0 12 2 to I
0 12 3 value C
7 11 4 i I
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
array final
from final
to
value final
public static boolean equals(char[], char[]);
descriptor: ([C[C)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 // char[] a1
start local 1 // char[] a2
0: .line 342
aload 0 /* a1 */
arraylength
istore 2 /* i */
start local 2 // int i
1: .line 343
iload 2 /* i */
aload 1 /* a2 */
arraylength
if_icmpeq 5
2: .line 344
iconst_0
ireturn
3: .line 346
StackMap locals: int
StackMap stack:
aload 0 /* a1 */
iload 2 /* i */
caload
aload 1 /* a2 */
iload 2 /* i */
caload
if_icmpeq 5
4: .line 347
iconst_0
ireturn
5: .line 345
StackMap locals:
StackMap stack:
iload 2 /* i */
iinc 2 /* i */ -1
ifne 3
6: .line 348
iconst_1
ireturn
end local 2 // int i
end local 1 // char[] a2
end local 0 // char[] a1
LocalVariableTable:
Start End Slot Name Signature
0 7 0 a1 [C
0 7 1 a2 [C
1 7 2 i I
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
a1 final
a2 final
public static void ensureFromTo(char[], int, int);
descriptor: ([CII)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 // char[] a
start local 1 // int from
start local 2 // int to
0: .line 370
aload 0 /* a */
arraylength
iload 1 /* from */
iload 2 /* to */
invokestatic it.unimi.dsi.fastutil.Arrays.ensureFromTo:(III)V
1: .line 371
return
end local 2 // int to
end local 1 // int from
end local 0 // char[] a
LocalVariableTable:
Start End Slot Name Signature
0 2 0 a [C
0 2 1 from I
0 2 2 to I
MethodParameters:
Name Flags
a final
from final
to final
public static void ensureOffsetLength(char[], int, int);
descriptor: ([CII)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 // char[] a
start local 1 // int offset
start local 2 // int length
0: .line 391
aload 0 /* a */
arraylength
iload 1 /* offset */
iload 2 /* length */
invokestatic it.unimi.dsi.fastutil.Arrays.ensureOffsetLength:(III)V
1: .line 392
return
end local 2 // int length
end local 1 // int offset
end local 0 // char[] a
LocalVariableTable:
Start End Slot Name Signature
0 2 0 a [C
0 2 1 offset I
0 2 2 length I
MethodParameters:
Name Flags
a final
offset final
length final
public static void ensureSameLength(char[], char[]);
descriptor: ([C[C)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 // char[] a
start local 1 // char[] b
0: .line 404
aload 0 /* a */
arraylength
aload 1 /* b */
arraylength
if_icmpeq 2
1: .line 405
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Array size mismatch: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0 /* a */
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " != "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1 /* b */
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: .line 406
StackMap locals:
StackMap stack:
return
end local 1 // char[] b
end local 0 // char[] a
LocalVariableTable:
Start End Slot Name Signature
0 3 0 a [C
0 3 1 b [C
MethodParameters:
Name Flags
a final
b final
public static void swap(char[], int, int);
descriptor: ([CII)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=3
start local 0 // char[] x
start local 1 // int a
start local 2 // int b
0: .line 422
aload 0 /* x */
iload 1 /* a */
caload
istore 3 /* t */
start local 3 // char t
1: .line 423
aload 0 /* x */
iload 1 /* a */
aload 0 /* x */
iload 2 /* b */
caload
castore
2: .line 424
aload 0 /* x */
iload 2 /* b */
iload 3 /* t */
castore
3: .line 425
return
end local 3 // char t
end local 2 // int b
end local 1 // int a
end local 0 // char[] x
LocalVariableTable:
Start End Slot Name Signature
0 4 0 x [C
0 4 1 a I
0 4 2 b I
1 4 3 t C
MethodParameters:
Name Flags
x final
a final
b final
public static void swap(char[], int, int, int);
descriptor: ([CIII)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=5, args_size=4
start local 0 // char[] x
start local 1 // int a
start local 2 // int b
start local 3 // int n
0: .line 440
iconst_0
istore 4 /* i */
start local 4 // int i
1: goto 4
2: .line 441
StackMap locals: int
StackMap stack:
aload 0 /* x */
iload 1 /* a */
iload 2 /* b */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.swap:([CII)V
3: .line 440
iinc 4 /* i */ 1
iinc 1 /* a */ 1
iinc 2 /* b */ 1
StackMap locals:
StackMap stack:
4: iload 4 /* i */
iload 3 /* n */
if_icmplt 2
end local 4 // int i
5: .line 442
return
end local 3 // int n
end local 2 // int b
end local 1 // int a
end local 0 // char[] x
LocalVariableTable:
Start End Slot Name Signature
0 6 0 x [C
0 6 1 a I
0 6 2 b I
0 6 3 n I
1 5 4 i I
MethodParameters:
Name Flags
x final
a
b
n final
private static int med3(char[], int, int, int, it.unimi.dsi.fastutil.chars.CharComparator);
descriptor: ([CIIILit/unimi/dsi/fastutil/chars/CharComparator;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=8, args_size=5
start local 0 // char[] x
start local 1 // int a
start local 2 // int b
start local 3 // int c
start local 4 // it.unimi.dsi.fastutil.chars.CharComparator comp
0: .line 444
aload 4 /* comp */
aload 0 /* x */
iload 1 /* a */
caload
aload 0 /* x */
iload 2 /* b */
caload
invokeinterface it.unimi.dsi.fastutil.chars.CharComparator.compare:(CC)I
istore 5 /* ab */
start local 5 // int ab
1: .line 445
aload 4 /* comp */
aload 0 /* x */
iload 1 /* a */
caload
aload 0 /* x */
iload 3 /* c */
caload
invokeinterface it.unimi.dsi.fastutil.chars.CharComparator.compare:(CC)I
istore 6 /* ac */
start local 6 // int ac
2: .line 446
aload 4 /* comp */
aload 0 /* x */
iload 2 /* b */
caload
aload 0 /* x */
iload 3 /* c */
caload
invokeinterface it.unimi.dsi.fastutil.chars.CharComparator.compare:(CC)I
istore 7 /* bc */
start local 7 // int bc
3: .line 447
iload 5 /* ab */
ifge 6
iload 7 /* bc */
ifge 4
iload 2 /* b */
goto 9
StackMap locals: int int int
StackMap stack:
4: iload 6 /* ac */
ifge 5
iload 3 /* c */
goto 9
StackMap locals:
StackMap stack:
5: iload 1 /* a */
goto 9
StackMap locals:
StackMap stack:
6: iload 7 /* bc */
ifle 7
iload 2 /* b */
goto 9
StackMap locals:
StackMap stack:
7: iload 6 /* ac */
ifle 8
iload 3 /* c */
goto 9
StackMap locals:
StackMap stack:
8: iload 1 /* a */
StackMap locals:
StackMap stack: int
9: ireturn
end local 7 // int bc
end local 6 // int ac
end local 5 // int ab
end local 4 // it.unimi.dsi.fastutil.chars.CharComparator comp
end local 3 // int c
end local 2 // int b
end local 1 // int a
end local 0 // char[] x
LocalVariableTable:
Start End Slot Name Signature
0 10 0 x [C
0 10 1 a I
0 10 2 b I
0 10 3 c I
0 10 4 comp Lit/unimi/dsi/fastutil/chars/CharComparator;
1 10 5 ab I
2 10 6 ac I
3 10 7 bc I
MethodParameters:
Name Flags
x final
a final
b final
c final
comp
private static void selectionSort(char[], int, int, it.unimi.dsi.fastutil.chars.CharComparator);
descriptor: ([CIILit/unimi/dsi/fastutil/chars/CharComparator;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=7, args_size=4
start local 0 // char[] a
start local 1 // int from
start local 2 // int to
start local 3 // it.unimi.dsi.fastutil.chars.CharComparator comp
0: .line 450
iload 1 /* from */
istore 4 /* i */
start local 4 // int i
1: goto 14
2: .line 451
StackMap locals: int
StackMap stack:
iload 4 /* i */
istore 5 /* m */
start local 5 // int m
3: .line 452
iload 4 /* i */
iconst_1
iadd
istore 6 /* j */
start local 6 // int j
4: goto 8
5: .line 453
StackMap locals: int int
StackMap stack:
aload 3 /* comp */
aload 0 /* a */
iload 6 /* j */
caload
aload 0 /* a */
iload 5 /* m */
caload
invokeinterface it.unimi.dsi.fastutil.chars.CharComparator.compare:(CC)I
ifge 7
6: .line 454
iload 6 /* j */
istore 5 /* m */
7: .line 452
StackMap locals:
StackMap stack:
iinc 6 /* j */ 1
StackMap locals:
StackMap stack:
8: iload 6 /* j */
iload 2 /* to */
if_icmplt 5
end local 6 // int j
9: .line 455
iload 5 /* m */
iload 4 /* i */
if_icmpeq 13
10: .line 456
aload 0 /* a */
iload 4 /* i */
caload
istore 6 /* u */
start local 6 // char u
11: .line 457
aload 0 /* a */
iload 4 /* i */
aload 0 /* a */
iload 5 /* m */
caload
castore
12: .line 458
aload 0 /* a */
iload 5 /* m */
iload 6 /* u */
castore
end local 6 // char u
end local 5 // int m
13: .line 450
StackMap locals:
StackMap stack:
iinc 4 /* i */ 1
StackMap locals:
StackMap stack:
14: iload 4 /* i */
iload 2 /* to */
iconst_1
isub
if_icmplt 2
end local 4 // int i
15: .line 461
return
end local 3 // it.unimi.dsi.fastutil.chars.CharComparator comp
end local 2 // int to
end local 1 // int from
end local 0 // char[] a
LocalVariableTable:
Start End Slot Name Signature
0 16 0 a [C
0 16 1 from I
0 16 2 to I
0 16 3 comp Lit/unimi/dsi/fastutil/chars/CharComparator;
1 15 4 i I
3 13 5 m I
4 9 6 j I
11 13 6 u C
MethodParameters:
Name Flags
a final
from final
to final
comp final
private static void insertionSort(char[], int, int, it.unimi.dsi.fastutil.chars.CharComparator);
descriptor: ([CIILit/unimi/dsi/fastutil/chars/CharComparator;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=8, args_size=4
start local 0 // char[] a
start local 1 // int from
start local 2 // int to
start local 3 // it.unimi.dsi.fastutil.chars.CharComparator comp
0: .line 463
iload 1 /* from */
istore 4 /* i */
start local 4 // int i
1: goto 13
2: .line 464
StackMap locals: int
StackMap stack:
aload 0 /* a */
iload 4 /* i */
caload
istore 5 /* t */
start local 5 // char t
3: .line 465
iload 4 /* i */
istore 6 /* j */
start local 6 // int j
4: .line 466
aload 0 /* a */
iload 6 /* j */
iconst_1
isub
caload
istore 7 /* u */
start local 7 // char u
5: goto 11
6: .line 467
StackMap locals: int int int
StackMap stack:
aload 0 /* a */
iload 6 /* j */
iload 7 /* u */
castore
7: .line 468
iload 1 /* from */
iload 6 /* j */
iconst_1
isub
if_icmpne 10
8: .line 469
iinc 6 /* j */ -1
9: .line 470
goto 12
10: .line 466
StackMap locals:
StackMap stack:
aload 0 /* a */
iinc 6 /* j */ -1
iload 6 /* j */
iconst_1
isub
caload
istore 7 /* u */
StackMap locals:
StackMap stack:
11: aload 3 /* comp */
iload 5 /* t */
iload 7 /* u */
invokeinterface it.unimi.dsi.fastutil.chars.CharComparator.compare:(CC)I
iflt 6
end local 7 // char u
12: .line 473
StackMap locals:
StackMap stack:
aload 0 /* a */
iload 6 /* j */
iload 5 /* t */
castore
end local 6 // int j
end local 5 // char t
13: .line 463
StackMap locals:
StackMap stack:
iinc 4 /* i */ 1
iload 4 /* i */
iload 2 /* to */
if_icmplt 2
end local 4 // int i
14: .line 475
return
end local 3 // it.unimi.dsi.fastutil.chars.CharComparator comp
end local 2 // int to
end local 1 // int from
end local 0 // char[] a
LocalVariableTable:
Start End Slot Name Signature
0 15 0 a [C
0 15 1 from I
0 15 2 to I
0 15 3 comp Lit/unimi/dsi/fastutil/chars/CharComparator;
1 14 4 i I
3 13 5 t C
4 13 6 j I
5 12 7 u C
MethodParameters:
Name Flags
a final
from final
to final
comp final
public static void quickSort(char[], int, int, it.unimi.dsi.fastutil.chars.CharComparator);
descriptor: ([CIILit/unimi/dsi/fastutil/chars/CharComparator;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=14, args_size=4
start local 0 // char[] x
start local 1 // int from
start local 2 // int to
start local 3 // it.unimi.dsi.fastutil.chars.CharComparator comp
0: .line 501
iload 2 /* to */
iload 1 /* from */
isub
istore 4 /* len */
start local 4 // int len
1: .line 503
iload 4 /* len */
bipush 16
if_icmpge 4
2: .line 504
aload 0 /* x */
iload 1 /* from */
iload 2 /* to */
aload 3 /* comp */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.selectionSort:([CIILit/unimi/dsi/fastutil/chars/CharComparator;)V
3: .line 505
return
4: .line 508
StackMap locals: int
StackMap stack:
iload 1 /* from */
iload 4 /* len */
iconst_2
idiv
iadd
istore 5 /* m */
start local 5 // int m
5: .line 509
iload 1 /* from */
istore 6 /* l */
start local 6 // int l
6: .line 510
iload 2 /* to */
iconst_1
isub
istore 7 /* n */
start local 7 // int n
7: .line 511
iload 4 /* len */
sipush 128
if_icmple 12
8: .line 512
iload 4 /* len */
bipush 8
idiv
istore 8 /* s */
start local 8 // int s
9: .line 513
aload 0 /* x */
iload 6 /* l */
iload 6 /* l */
iload 8 /* s */
iadd
iload 6 /* l */
iconst_2
iload 8 /* s */
imul
iadd
aload 3 /* comp */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.med3:([CIIILit/unimi/dsi/fastutil/chars/CharComparator;)I
istore 6 /* l */
10: .line 514
aload 0 /* x */
iload 5 /* m */
iload 8 /* s */
isub
iload 5 /* m */
iload 5 /* m */
iload 8 /* s */
iadd
aload 3 /* comp */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.med3:([CIIILit/unimi/dsi/fastutil/chars/CharComparator;)I
istore 5 /* m */
11: .line 515
aload 0 /* x */
iload 7 /* n */
iconst_2
iload 8 /* s */
imul
isub
iload 7 /* n */
iload 8 /* s */
isub
iload 7 /* n */
aload 3 /* comp */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.med3:([CIIILit/unimi/dsi/fastutil/chars/CharComparator;)I
istore 7 /* n */
end local 8 // int s
12: .line 517
StackMap locals: int int int
StackMap stack:
aload 0 /* x */
iload 6 /* l */
iload 5 /* m */
iload 7 /* n */
aload 3 /* comp */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.med3:([CIIILit/unimi/dsi/fastutil/chars/CharComparator;)I
istore 5 /* m */
13: .line 518
aload 0 /* x */
iload 5 /* m */
caload
istore 8 /* v */
start local 8 // char v
14: .line 520
iload 1 /* from */
istore 9 /* a */
start local 9 // int a
15: iload 9 /* a */
istore 10 /* b */
start local 10 // int b
16: iload 2 /* to */
iconst_1
isub
istore 11 /* c */
start local 11 // int c
17: iload 11 /* c */
istore 12 /* d */
start local 12 // int d
18: .line 523
goto 22
start local 13 // int comparison
19: .line 524
StackMap locals: char[] int int it.unimi.dsi.fastutil.chars.CharComparator int int int int int int int int int int
StackMap stack:
iload 13 /* comparison */
ifne 21
20: .line 525
aload 0 /* x */
iload 9 /* a */
iinc 9 /* a */ 1
iload 10 /* b */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.swap:([CII)V
21: .line 526
StackMap locals:
StackMap stack:
iinc 10 /* b */ 1
end local 13 // int comparison
22: .line 523
StackMap locals:
StackMap stack:
iload 10 /* b */
iload 11 /* c */
if_icmpgt 28
aload 3 /* comp */
aload 0 /* x */
iload 10 /* b */
caload
iload 8 /* v */
invokeinterface it.unimi.dsi.fastutil.chars.CharComparator.compare:(CC)I
dup
istore 13 /* comparison */
start local 13 // int comparison
23: ifle 19
end local 13 // int comparison
24: .line 528
goto 28
start local 13 // int comparison
25: .line 529
StackMap locals: int
StackMap stack:
iload 13 /* comparison */
ifne 27
26: .line 530
aload 0 /* x */
iload 11 /* c */
iload 12 /* d */
iinc 12 /* d */ -1
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.swap:([CII)V
27: .line 531
StackMap locals:
StackMap stack:
iinc 11 /* c */ -1
end local 13 // int comparison
28: .line 528
StackMap locals:
StackMap stack:
iload 11 /* c */
iload 10 /* b */
if_icmplt 30
aload 3 /* comp */
aload 0 /* x */
iload 11 /* c */
caload
iload 8 /* v */
invokeinterface it.unimi.dsi.fastutil.chars.CharComparator.compare:(CC)I
dup
istore 13 /* comparison */
start local 13 // int comparison
29: ifge 25
end local 13 // int comparison
30: .line 533
StackMap locals:
StackMap stack:
iload 10 /* b */
iload 11 /* c */
if_icmple 32
31: .line 534
goto 34
32: .line 535
StackMap locals:
StackMap stack:
aload 0 /* x */
iload 10 /* b */
iinc 10 /* b */ 1
iload 11 /* c */
iinc 11 /* c */ -1
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.swap:([CII)V
33: .line 521
goto 22
34: .line 539
StackMap locals:
StackMap stack:
iload 9 /* a */
iload 1 /* from */
isub
iload 10 /* b */
iload 9 /* a */
isub
invokestatic java.lang.Math.min:(II)I
istore 13 /* s */
start local 13 // int s
35: .line 540
aload 0 /* x */
iload 1 /* from */
iload 10 /* b */
iload 13 /* s */
isub
iload 13 /* s */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.swap:([CIII)V
36: .line 541
iload 12 /* d */
iload 11 /* c */
isub
iload 2 /* to */
iload 12 /* d */
isub
iconst_1
isub
invokestatic java.lang.Math.min:(II)I
istore 13 /* s */
37: .line 542
aload 0 /* x */
iload 10 /* b */
iload 2 /* to */
iload 13 /* s */
isub
iload 13 /* s */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.swap:([CIII)V
38: .line 544
iload 10 /* b */
iload 9 /* a */
isub
dup
istore 13 /* s */
iconst_1
if_icmple 40
39: .line 545
aload 0 /* x */
iload 1 /* from */
iload 1 /* from */
iload 13 /* s */
iadd
aload 3 /* comp */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.quickSort:([CIILit/unimi/dsi/fastutil/chars/CharComparator;)V
40: .line 546
StackMap locals: int
StackMap stack:
iload 12 /* d */
iload 11 /* c */
isub
dup
istore 13 /* s */
iconst_1
if_icmple 42
41: .line 547
aload 0 /* x */
iload 2 /* to */
iload 13 /* s */
isub
iload 2 /* to */
aload 3 /* comp */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.quickSort:([CIILit/unimi/dsi/fastutil/chars/CharComparator;)V
42: .line 548
StackMap locals:
StackMap stack:
return
end local 13 // int s
end local 12 // int d
end local 11 // int c
end local 10 // int b
end local 9 // int a
end local 8 // char v
end local 7 // int n
end local 6 // int l
end local 5 // int m
end local 4 // int len
end local 3 // it.unimi.dsi.fastutil.chars.CharComparator comp
end local 2 // int to
end local 1 // int from
end local 0 // char[] x
LocalVariableTable:
Start End Slot Name Signature
0 43 0 x [C
0 43 1 from I
0 43 2 to I
0 43 3 comp Lit/unimi/dsi/fastutil/chars/CharComparator;
1 43 4 len I
5 43 5 m I
6 43 6 l I
7 43 7 n I
9 12 8 s I
14 43 8 v C
15 43 9 a I
16 43 10 b I
17 43 11 c I
18 43 12 d I
19 22 13 comparison I
23 24 13 comparison I
25 28 13 comparison I
29 30 13 comparison I
35 43 13 s I
MethodParameters:
Name Flags
x final
from final
to final
comp final
public static void quickSort(char[], it.unimi.dsi.fastutil.chars.CharComparator);
descriptor: ([CLit/unimi/dsi/fastutil/chars/CharComparator;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 // char[] x
start local 1 // it.unimi.dsi.fastutil.chars.CharComparator comp
0: .line 570
aload 0 /* x */
iconst_0
aload 0 /* x */
arraylength
aload 1 /* comp */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.quickSort:([CIILit/unimi/dsi/fastutil/chars/CharComparator;)V
1: .line 571
return
end local 1 // it.unimi.dsi.fastutil.chars.CharComparator comp
end local 0 // char[] x
LocalVariableTable:
Start End Slot Name Signature
0 2 0 x [C
0 2 1 comp Lit/unimi/dsi/fastutil/chars/CharComparator;
MethodParameters:
Name Flags
x final
comp final
public static void parallelQuickSort(char[], int, int, it.unimi.dsi.fastutil.chars.CharComparator);
descriptor: ([CIILit/unimi/dsi/fastutil/chars/CharComparator;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=5, args_size=4
start local 0 // char[] x
start local 1 // int from
start local 2 // int to
start local 3 // it.unimi.dsi.fastutil.chars.CharComparator comp
0: .line 661
iload 2 /* to */
iload 1 /* from */
isub
sipush 8192
if_icmpge 2
1: .line 662
aload 0 /* x */
iload 1 /* from */
iload 2 /* to */
aload 3 /* comp */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.quickSort:([CIILit/unimi/dsi/fastutil/chars/CharComparator;)V
goto 5
2: .line 664
StackMap locals:
StackMap stack:
new java.util.concurrent.ForkJoinPool
dup
invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
invokevirtual java.lang.Runtime.availableProcessors:()I
invokespecial java.util.concurrent.ForkJoinPool.<init>:(I)V
astore 4 /* pool */
start local 4 // java.util.concurrent.ForkJoinPool pool
3: .line 665
aload 4 /* pool */
new it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp
dup
aload 0 /* x */
iload 1 /* from */
iload 2 /* to */
aload 3 /* comp */
invokespecial it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp.<init>:([CIILit/unimi/dsi/fastutil/chars/CharComparator;)V
invokevirtual java.util.concurrent.ForkJoinPool.invoke:(Ljava/util/concurrent/ForkJoinTask;)Ljava/lang/Object;
pop
4: .line 666
aload 4 /* pool */
invokevirtual java.util.concurrent.ForkJoinPool.shutdown:()V
end local 4 // java.util.concurrent.ForkJoinPool pool
5: .line 668
StackMap locals:
StackMap stack:
return
end local 3 // it.unimi.dsi.fastutil.chars.CharComparator comp
end local 2 // int to
end local 1 // int from
end local 0 // char[] x
LocalVariableTable:
Start End Slot Name Signature
0 6 0 x [C
0 6 1 from I
0 6 2 to I
0 6 3 comp Lit/unimi/dsi/fastutil/chars/CharComparator;
3 5 4 pool Ljava/util/concurrent/ForkJoinPool;
MethodParameters:
Name Flags
x final
from final
to final
comp final
public static void parallelQuickSort(char[], it.unimi.dsi.fastutil.chars.CharComparator);
descriptor: ([CLit/unimi/dsi/fastutil/chars/CharComparator;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 // char[] x
start local 1 // it.unimi.dsi.fastutil.chars.CharComparator comp
0: .line 688
aload 0 /* x */
iconst_0
aload 0 /* x */
arraylength
aload 1 /* comp */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.parallelQuickSort:([CIILit/unimi/dsi/fastutil/chars/CharComparator;)V
1: .line 689
return
end local 1 // it.unimi.dsi.fastutil.chars.CharComparator comp
end local 0 // char[] x
LocalVariableTable:
Start End Slot Name Signature
0 2 0 x [C
0 2 1 comp Lit/unimi/dsi/fastutil/chars/CharComparator;
MethodParameters:
Name Flags
x final
comp final
private static int med3(char[], int, int, int);
descriptor: ([CIII)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=7, args_size=4
start local 0 // char[] x
start local 1 // int a
start local 2 // int b
start local 3 // int c
0: .line 692
aload 0 /* x */
iload 1 /* a */
caload
aload 0 /* x */
iload 2 /* b */
caload
invokestatic java.lang.Character.compare:(CC)I
istore 4 /* ab */
start local 4 // int ab
1: .line 693
aload 0 /* x */
iload 1 /* a */
caload
aload 0 /* x */
iload 3 /* c */
caload
invokestatic java.lang.Character.compare:(CC)I
istore 5 /* ac */
start local 5 // int ac
2: .line 694
aload 0 /* x */
iload 2 /* b */
caload
aload 0 /* x */
iload 3 /* c */
caload
invokestatic java.lang.Character.compare:(CC)I
istore 6 /* bc */
start local 6 // int bc
3: .line 695
iload 4 /* ab */
ifge 6
iload 6 /* bc */
ifge 4
iload 2 /* b */
goto 9
StackMap locals: int int int
StackMap stack:
4: iload 5 /* ac */
ifge 5
iload 3 /* c */
goto 9
StackMap locals:
StackMap stack:
5: iload 1 /* a */
goto 9
StackMap locals:
StackMap stack:
6: iload 6 /* bc */
ifle 7
iload 2 /* b */
goto 9
StackMap locals:
StackMap stack:
7: iload 5 /* ac */
ifle 8
iload 3 /* c */
goto 9
StackMap locals:
StackMap stack:
8: iload 1 /* a */
StackMap locals:
StackMap stack: int
9: ireturn
end local 6 // int bc
end local 5 // int ac
end local 4 // int ab
end local 3 // int c
end local 2 // int b
end local 1 // int a
end local 0 // char[] x
LocalVariableTable:
Start End Slot Name Signature
0 10 0 x [C
0 10 1 a I
0 10 2 b I
0 10 3 c I
1 10 4 ab I
2 10 5 ac I
3 10 6 bc I
MethodParameters:
Name Flags
x final
a final
b final
c final
private static void selectionSort(char[], int, int);
descriptor: ([CII)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=6, args_size=3
start local 0 // char[] a
start local 1 // int from
start local 2 // int to
0: .line 699
iload 1 /* from */
istore 3 /* i */
start local 3 // int i
1: goto 14
2: .line 700
StackMap locals: int
StackMap stack:
iload 3 /* i */
istore 4 /* m */
start local 4 // int m
3: .line 701
iload 3 /* i */
iconst_1
iadd
istore 5 /* j */
start local 5 // int j
4: goto 8
5: .line 702
StackMap locals: int int
StackMap stack:
aload 0 /* a */
iload 5 /* j */
caload
aload 0 /* a */
iload 4 /* m */
caload
if_icmpge 7
6: .line 703
iload 5 /* j */
istore 4 /* m */
7: .line 701
StackMap locals:
StackMap stack:
iinc 5 /* j */ 1
StackMap locals:
StackMap stack:
8: iload 5 /* j */
iload 2 /* to */
if_icmplt 5
end local 5 // int j
9: .line 704
iload 4 /* m */
iload 3 /* i */
if_icmpeq 13
10: .line 705
aload 0 /* a */
iload 3 /* i */
caload
istore 5 /* u */
start local 5 // char u
11: .line 706
aload 0 /* a */
iload 3 /* i */
aload 0 /* a */
iload 4 /* m */
caload
castore
12: .line 707
aload 0 /* a */
iload 4 /* m */
iload 5 /* u */
castore
end local 5 // char u
end local 4 // int m
13: .line 699
StackMap locals:
StackMap stack:
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
14: iload 3 /* i */
iload 2 /* to */
iconst_1
isub
if_icmplt 2
end local 3 // int i
15: .line 710
return
end local 2 // int to
end local 1 // int from
end local 0 // char[] a
LocalVariableTable:
Start End Slot Name Signature
0 16 0 a [C
0 16 1 from I
0 16 2 to I
1 15 3 i I
3 13 4 m I
4 9 5 j I
11 13 5 u C
MethodParameters:
Name Flags
a final
from final
to final
private static void insertionSort(char[], int, int);
descriptor: ([CII)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=7, args_size=3
start local 0 // char[] a
start local 1 // int from
start local 2 // int to
0: .line 713
iload 1 /* from */
istore 3 /* i */
start local 3 // int i
1: goto 13
2: .line 714
StackMap locals: int
StackMap stack:
aload 0 /* a */
iload 3 /* i */
caload
istore 4 /* t */
start local 4 // char t
3: .line 715
iload 3 /* i */
istore 5 /* j */
start local 5 // int j
4: .line 716
aload 0 /* a */
iload 5 /* j */
iconst_1
isub
caload
istore 6 /* u */
start local 6 // char u
5: goto 11
6: .line 717
StackMap locals: int int int
StackMap stack:
aload 0 /* a */
iload 5 /* j */
iload 6 /* u */
castore
7: .line 718
iload 1 /* from */
iload 5 /* j */
iconst_1
isub
if_icmpne 10
8: .line 719
iinc 5 /* j */ -1
9: .line 720
goto 12
10: .line 716
StackMap locals:
StackMap stack:
aload 0 /* a */
iinc 5 /* j */ -1
iload 5 /* j */
iconst_1
isub
caload
istore 6 /* u */
StackMap locals:
StackMap stack:
11: iload 4 /* t */
iload 6 /* u */
if_icmplt 6
end local 6 // char u
12: .line 723
StackMap locals:
StackMap stack:
aload 0 /* a */
iload 5 /* j */
iload 4 /* t */
castore
end local 5 // int j
end local 4 // char t
13: .line 713
StackMap locals:
StackMap stack:
iinc 3 /* i */ 1
iload 3 /* i */
iload 2 /* to */
if_icmplt 2
end local 3 // int i
14: .line 725
return
end local 2 // int to
end local 1 // int from
end local 0 // char[] a
LocalVariableTable:
Start End Slot Name Signature
0 15 0 a [C
0 15 1 from I
0 15 2 to I
1 14 3 i I
3 13 4 t C
4 13 5 j I
5 12 6 u C
MethodParameters:
Name Flags
a final
from final
to final
public static void quickSort(char[], int, int);
descriptor: ([CII)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=13, args_size=3
start local 0 // char[] x
start local 1 // int from
start local 2 // int to
0: .line 749
iload 2 /* to */
iload 1 /* from */
isub
istore 3 /* len */
start local 3 // int len
1: .line 751
iload 3 /* len */
bipush 16
if_icmpge 4
2: .line 752
aload 0 /* x */
iload 1 /* from */
iload 2 /* to */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.selectionSort:([CII)V
3: .line 753
return
4: .line 756
StackMap locals: int
StackMap stack:
iload 1 /* from */
iload 3 /* len */
iconst_2
idiv
iadd
istore 4 /* m */
start local 4 // int m
5: .line 757
iload 1 /* from */
istore 5 /* l */
start local 5 // int l
6: .line 758
iload 2 /* to */
iconst_1
isub
istore 6 /* n */
start local 6 // int n
7: .line 759
iload 3 /* len */
sipush 128
if_icmple 12
8: .line 760
iload 3 /* len */
bipush 8
idiv
istore 7 /* s */
start local 7 // int s
9: .line 761
aload 0 /* x */
iload 5 /* l */
iload 5 /* l */
iload 7 /* s */
iadd
iload 5 /* l */
iconst_2
iload 7 /* s */
imul
iadd
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.med3:([CIII)I
istore 5 /* l */
10: .line 762
aload 0 /* x */
iload 4 /* m */
iload 7 /* s */
isub
iload 4 /* m */
iload 4 /* m */
iload 7 /* s */
iadd
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.med3:([CIII)I
istore 4 /* m */
11: .line 763
aload 0 /* x */
iload 6 /* n */
iconst_2
iload 7 /* s */
imul
isub
iload 6 /* n */
iload 7 /* s */
isub
iload 6 /* n */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.med3:([CIII)I
istore 6 /* n */
end local 7 // int s
12: .line 765
StackMap locals: int int int
StackMap stack:
aload 0 /* x */
iload 5 /* l */
iload 4 /* m */
iload 6 /* n */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.med3:([CIII)I
istore 4 /* m */
13: .line 766
aload 0 /* x */
iload 4 /* m */
caload
istore 7 /* v */
start local 7 // char v
14: .line 768
iload 1 /* from */
istore 8 /* a */
start local 8 // int a
15: iload 8 /* a */
istore 9 /* b */
start local 9 // int b
16: iload 2 /* to */
iconst_1
isub
istore 10 /* c */
start local 10 // int c
17: iload 10 /* c */
istore 11 /* d */
start local 11 // int d
18: .line 771
goto 22
start local 12 // int comparison
19: .line 772
StackMap locals: char[] int int int int int int int int int int int int
StackMap stack:
iload 12 /* comparison */
ifne 21
20: .line 773
aload 0 /* x */
iload 8 /* a */
iinc 8 /* a */ 1
iload 9 /* b */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.swap:([CII)V
21: .line 774
StackMap locals:
StackMap stack:
iinc 9 /* b */ 1
end local 12 // int comparison
22: .line 771
StackMap locals:
StackMap stack:
iload 9 /* b */
iload 10 /* c */
if_icmpgt 28
aload 0 /* x */
iload 9 /* b */
caload
iload 7 /* v */
invokestatic java.lang.Character.compare:(CC)I
dup
istore 12 /* comparison */
start local 12 // int comparison
23: ifle 19
end local 12 // int comparison
24: .line 776
goto 28
start local 12 // int comparison
25: .line 777
StackMap locals: int
StackMap stack:
iload 12 /* comparison */
ifne 27
26: .line 778
aload 0 /* x */
iload 10 /* c */
iload 11 /* d */
iinc 11 /* d */ -1
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.swap:([CII)V
27: .line 779
StackMap locals:
StackMap stack:
iinc 10 /* c */ -1
end local 12 // int comparison
28: .line 776
StackMap locals:
StackMap stack:
iload 10 /* c */
iload 9 /* b */
if_icmplt 30
aload 0 /* x */
iload 10 /* c */
caload
iload 7 /* v */
invokestatic java.lang.Character.compare:(CC)I
dup
istore 12 /* comparison */
start local 12 // int comparison
29: ifge 25
end local 12 // int comparison
30: .line 781
StackMap locals:
StackMap stack:
iload 9 /* b */
iload 10 /* c */
if_icmple 32
31: .line 782
goto 34
32: .line 783
StackMap locals:
StackMap stack:
aload 0 /* x */
iload 9 /* b */
iinc 9 /* b */ 1
iload 10 /* c */
iinc 10 /* c */ -1
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.swap:([CII)V
33: .line 769
goto 22
34: .line 787
StackMap locals:
StackMap stack:
iload 8 /* a */
iload 1 /* from */
isub
iload 9 /* b */
iload 8 /* a */
isub
invokestatic java.lang.Math.min:(II)I
istore 12 /* s */
start local 12 // int s
35: .line 788
aload 0 /* x */
iload 1 /* from */
iload 9 /* b */
iload 12 /* s */
isub
iload 12 /* s */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.swap:([CIII)V
36: .line 789
iload 11 /* d */
iload 10 /* c */
isub
iload 2 /* to */
iload 11 /* d */
isub
iconst_1
isub
invokestatic java.lang.Math.min:(II)I
istore 12 /* s */
37: .line 790
aload 0 /* x */
iload 9 /* b */
iload 2 /* to */
iload 12 /* s */
isub
iload 12 /* s */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.swap:([CIII)V
38: .line 792
iload 9 /* b */
iload 8 /* a */
isub
dup
istore 12 /* s */
iconst_1
if_icmple 40
39: .line 793
aload 0 /* x */
iload 1 /* from */
iload 1 /* from */
iload 12 /* s */
iadd
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.quickSort:([CII)V
40: .line 794
StackMap locals: int
StackMap stack:
iload 11 /* d */
iload 10 /* c */
isub
dup
istore 12 /* s */
iconst_1
if_icmple 42
41: .line 795
aload 0 /* x */
iload 2 /* to */
iload 12 /* s */
isub
iload 2 /* to */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.quickSort:([CII)V
42: .line 796
StackMap locals:
StackMap stack:
return
end local 12 // int s
end local 11 // int d
end local 10 // int c
end local 9 // int b
end local 8 // int a
end local 7 // char v
end local 6 // int n
end local 5 // int l
end local 4 // int m
end local 3 // int len
end local 2 // int to
end local 1 // int from
end local 0 // char[] x
LocalVariableTable:
Start End Slot Name Signature
0 43 0 x [C
0 43 1 from I
0 43 2 to I
1 43 3 len I
5 43 4 m I
6 43 5 l I
7 43 6 n I
9 12 7 s I
14 43 7 v C
15 43 8 a I
16 43 9 b I
17 43 10 c I
18 43 11 d I
19 22 12 comparison I
23 24 12 comparison I
25 28 12 comparison I
29 30 12 comparison I
35 43 12 s I
MethodParameters:
Name Flags
x final
from final
to final
public static void quickSort(char[]);
descriptor: ([C)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 // char[] x
0: .line 815
aload 0 /* x */
iconst_0
aload 0 /* x */
arraylength
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.quickSort:([CII)V
1: .line 816
return
end local 0 // char[] x
LocalVariableTable:
Start End Slot Name Signature
0 2 0 x [C
MethodParameters:
Name Flags
x final
public static void parallelQuickSort(char[], int, int);
descriptor: ([CII)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=4, args_size=3
start local 0 // char[] x
start local 1 // int from
start local 2 // int to
0: .line 902
iload 2 /* to */
iload 1 /* from */
isub
sipush 8192
if_icmpge 2
1: .line 903
aload 0 /* x */
iload 1 /* from */
iload 2 /* to */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.quickSort:([CII)V
goto 5
2: .line 905
StackMap locals:
StackMap stack:
new java.util.concurrent.ForkJoinPool
dup
invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
invokevirtual java.lang.Runtime.availableProcessors:()I
invokespecial java.util.concurrent.ForkJoinPool.<init>:(I)V
astore 3 /* pool */
start local 3 // java.util.concurrent.ForkJoinPool pool
3: .line 906
aload 3 /* pool */
new it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSort
dup
aload 0 /* x */
iload 1 /* from */
iload 2 /* to */
invokespecial it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSort.<init>:([CII)V
invokevirtual java.util.concurrent.ForkJoinPool.invoke:(Ljava/util/concurrent/ForkJoinTask;)Ljava/lang/Object;
pop
4: .line 907
aload 3 /* pool */
invokevirtual java.util.concurrent.ForkJoinPool.shutdown:()V
end local 3 // java.util.concurrent.ForkJoinPool pool
5: .line 909
StackMap locals:
StackMap stack:
return
end local 2 // int to
end local 1 // int from
end local 0 // char[] x
LocalVariableTable:
Start End Slot Name Signature
0 6 0 x [C
0 6 1 from I
0 6 2 to I
3 5 3 pool Ljava/util/concurrent/ForkJoinPool;
MethodParameters:
Name Flags
x final
from final
to final
public static void parallelQuickSort(char[]);
descriptor: ([C)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 // char[] x
0: .line 928
aload 0 /* x */
iconst_0
aload 0 /* x */
arraylength
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.parallelQuickSort:([CII)V
1: .line 929
return
end local 0 // char[] x
LocalVariableTable:
Start End Slot Name Signature
0 2 0 x [C
MethodParameters:
Name Flags
x final
private static int med3Indirect(int[], char[], int, int, int);
descriptor: ([I[CIII)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=11, args_size=5
start local 0 // int[] perm
start local 1 // char[] x
start local 2 // int a
start local 3 // int b
start local 4 // int c
0: .line 932
aload 1 /* x */
aload 0 /* perm */
iload 2 /* a */
iaload
caload
istore 5 /* aa */
start local 5 // char aa
1: .line 933
aload 1 /* x */
aload 0 /* perm */
iload 3 /* b */
iaload
caload
istore 6 /* bb */
start local 6 // char bb
2: .line 934
aload 1 /* x */
aload 0 /* perm */
iload 4 /* c */
iaload
caload
istore 7 /* cc */
start local 7 // char cc
3: .line 935
iload 5 /* aa */
iload 6 /* bb */
invokestatic java.lang.Character.compare:(CC)I
istore 8 /* ab */
start local 8 // int ab
4: .line 936
iload 5 /* aa */
iload 7 /* cc */
invokestatic java.lang.Character.compare:(CC)I
istore 9 /* ac */
start local 9 // int ac
5: .line 937
iload 6 /* bb */
iload 7 /* cc */
invokestatic java.lang.Character.compare:(CC)I
istore 10 /* bc */
start local 10 // int bc
6: .line 938
iload 8 /* ab */
ifge 9
iload 10 /* bc */
ifge 7
iload 3 /* b */
goto 12
StackMap locals: int[] char[] int int int int int int int int int
StackMap stack:
7: iload 9 /* ac */
ifge 8
iload 4 /* c */
goto 12
StackMap locals:
StackMap stack:
8: iload 2 /* a */
goto 12
StackMap locals:
StackMap stack:
9: iload 10 /* bc */
ifle 10
iload 3 /* b */
goto 12
StackMap locals:
StackMap stack:
10: iload 9 /* ac */
ifle 11
iload 4 /* c */
goto 12
StackMap locals:
StackMap stack:
11: iload 2 /* a */
StackMap locals:
StackMap stack: int
12: ireturn
end local 10 // int bc
end local 9 // int ac
end local 8 // int ab
end local 7 // char cc
end local 6 // char bb
end local 5 // char aa
end local 4 // int c
end local 3 // int b
end local 2 // int a
end local 1 // char[] x
end local 0 // int[] perm
LocalVariableTable:
Start End Slot Name Signature
0 13 0 perm [I
0 13 1 x [C
0 13 2 a I
0 13 3 b I
0 13 4 c I
1 13 5 aa C
2 13 6 bb C
3 13 7 cc C
4 13 8 ab I
5 13 9 ac I
6 13 10 bc I
MethodParameters:
Name Flags
perm final
x final
a final
b final
c final
private static void insertionSortIndirect(int[], char[], int, int);
descriptor: ([I[CII)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=8, args_size=4
start local 0 // int[] perm
start local 1 // char[] a
start local 2 // int from
start local 3 // int to
0: .line 942
iload 2 /* from */
istore 4 /* i */
start local 4 // int i
1: goto 13
2: .line 943
StackMap locals: int
StackMap stack:
aload 0 /* perm */
iload 4 /* i */
iaload
istore 5 /* t */
start local 5 // int t
3: .line 944
iload 4 /* i */
istore 6 /* j */
start local 6 // int j
4: .line 945
aload 0 /* perm */
iload 6 /* j */
iconst_1
isub
iaload
istore 7 /* u */
start local 7 // int u
5: goto 11
6: .line 946
StackMap locals: int int int
StackMap stack:
aload 0 /* perm */
iload 6 /* j */
iload 7 /* u */
iastore
7: .line 947
iload 2 /* from */
iload 6 /* j */
iconst_1
isub
if_icmpne 10
8: .line 948
iinc 6 /* j */ -1
9: .line 949
goto 12
10: .line 945
StackMap locals:
StackMap stack:
aload 0 /* perm */
iinc 6 /* j */ -1
iload 6 /* j */
iconst_1
isub
iaload
istore 7 /* u */
StackMap locals:
StackMap stack:
11: aload 1 /* a */
iload 5 /* t */
caload
aload 1 /* a */
iload 7 /* u */
caload
if_icmplt 6
end local 7 // int u
12: .line 952
StackMap locals:
StackMap stack:
aload 0 /* perm */
iload 6 /* j */
iload 5 /* t */
iastore
end local 6 // int j
end local 5 // int t
13: .line 942
StackMap locals:
StackMap stack:
iinc 4 /* i */ 1
iload 4 /* i */
iload 3 /* to */
if_icmplt 2
end local 4 // int i
14: .line 954
return
end local 3 // int to
end local 2 // int from
end local 1 // char[] a
end local 0 // int[] perm
LocalVariableTable:
Start End Slot Name Signature
0 15 0 perm [I
0 15 1 a [C
0 15 2 from I
0 15 3 to I
1 14 4 i I
3 13 5 t I
4 13 6 j I
5 12 7 u I
MethodParameters:
Name Flags
perm final
a final
from final
to final
public static void quickSortIndirect(int[], char[], int, int);
descriptor: ([I[CII)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=14, args_size=4
start local 0 // int[] perm
start local 1 // char[] x
start local 2 // int from
start local 3 // int to
0: .line 985
iload 3 /* to */
iload 2 /* from */
isub
istore 4 /* len */
start local 4 // int len
1: .line 987
iload 4 /* len */
bipush 16
if_icmpge 4
2: .line 988
aload 0 /* perm */
aload 1 /* x */
iload 2 /* from */
iload 3 /* to */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.insertionSortIndirect:([I[CII)V
3: .line 989
return
4: .line 992
StackMap locals: int
StackMap stack:
iload 2 /* from */
iload 4 /* len */
iconst_2
idiv
iadd
istore 5 /* m */
start local 5 // int m
5: .line 993
iload 2 /* from */
istore 6 /* l */
start local 6 // int l
6: .line 994
iload 3 /* to */
iconst_1
isub
istore 7 /* n */
start local 7 // int n
7: .line 995
iload 4 /* len */
sipush 128
if_icmple 12
8: .line 996
iload 4 /* len */
bipush 8
idiv
istore 8 /* s */
start local 8 // int s
9: .line 997
aload 0 /* perm */
aload 1 /* x */
iload 6 /* l */
iload 6 /* l */
iload 8 /* s */
iadd
iload 6 /* l */
iconst_2
iload 8 /* s */
imul
iadd
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.med3Indirect:([I[CIII)I
istore 6 /* l */
10: .line 998
aload 0 /* perm */
aload 1 /* x */
iload 5 /* m */
iload 8 /* s */
isub
iload 5 /* m */
iload 5 /* m */
iload 8 /* s */
iadd
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.med3Indirect:([I[CIII)I
istore 5 /* m */
11: .line 999
aload 0 /* perm */
aload 1 /* x */
iload 7 /* n */
iconst_2
iload 8 /* s */
imul
isub
iload 7 /* n */
iload 8 /* s */
isub
iload 7 /* n */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.med3Indirect:([I[CIII)I
istore 7 /* n */
end local 8 // int s
12: .line 1001
StackMap locals: int int int
StackMap stack:
aload 0 /* perm */
aload 1 /* x */
iload 6 /* l */
iload 5 /* m */
iload 7 /* n */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.med3Indirect:([I[CIII)I
istore 5 /* m */
13: .line 1002
aload 1 /* x */
aload 0 /* perm */
iload 5 /* m */
iaload
caload
istore 8 /* v */
start local 8 // char v
14: .line 1004
iload 2 /* from */
istore 9 /* a */
start local 9 // int a
15: iload 9 /* a */
istore 10 /* b */
start local 10 // int b
16: iload 3 /* to */
iconst_1
isub
istore 11 /* c */
start local 11 // int c
17: iload 11 /* c */
istore 12 /* d */
start local 12 // int d
18: .line 1007
goto 22
start local 13 // int comparison
19: .line 1008
StackMap locals: int[] char[] int int int int int int int int int int int int
StackMap stack:
iload 13 /* comparison */
ifne 21
20: .line 1009
aload 0 /* perm */
iload 9 /* a */
iinc 9 /* a */ 1
iload 10 /* b */
invokestatic it.unimi.dsi.fastutil.ints.IntArrays.swap:([III)V
21: .line 1010
StackMap locals:
StackMap stack:
iinc 10 /* b */ 1
end local 13 // int comparison
22: .line 1007
StackMap locals:
StackMap stack:
iload 10 /* b */
iload 11 /* c */
if_icmpgt 28
aload 1 /* x */
aload 0 /* perm */
iload 10 /* b */
iaload
caload
iload 8 /* v */
invokestatic java.lang.Character.compare:(CC)I
dup
istore 13 /* comparison */
start local 13 // int comparison
23: ifle 19
end local 13 // int comparison
24: .line 1012
goto 28
start local 13 // int comparison
25: .line 1013
StackMap locals: int
StackMap stack:
iload 13 /* comparison */
ifne 27
26: .line 1014
aload 0 /* perm */
iload 11 /* c */
iload 12 /* d */
iinc 12 /* d */ -1
invokestatic it.unimi.dsi.fastutil.ints.IntArrays.swap:([III)V
27: .line 1015
StackMap locals:
StackMap stack:
iinc 11 /* c */ -1
end local 13 // int comparison
28: .line 1012
StackMap locals:
StackMap stack:
iload 11 /* c */
iload 10 /* b */
if_icmplt 30
aload 1 /* x */
aload 0 /* perm */
iload 11 /* c */
iaload
caload
iload 8 /* v */
invokestatic java.lang.Character.compare:(CC)I
dup
istore 13 /* comparison */
start local 13 // int comparison
29: ifge 25
end local 13 // int comparison
30: .line 1017
StackMap locals:
StackMap stack:
iload 10 /* b */
iload 11 /* c */
if_icmple 32
31: .line 1018
goto 34
32: .line 1019
StackMap locals:
StackMap stack:
aload 0 /* perm */
iload 10 /* b */
iinc 10 /* b */ 1
iload 11 /* c */
iinc 11 /* c */ -1
invokestatic it.unimi.dsi.fastutil.ints.IntArrays.swap:([III)V
33: .line 1005
goto 22
34: .line 1023
StackMap locals:
StackMap stack:
iload 9 /* a */
iload 2 /* from */
isub
iload 10 /* b */
iload 9 /* a */
isub
invokestatic java.lang.Math.min:(II)I
istore 13 /* s */
start local 13 // int s
35: .line 1024
aload 0 /* perm */
iload 2 /* from */
iload 10 /* b */
iload 13 /* s */
isub
iload 13 /* s */
invokestatic it.unimi.dsi.fastutil.ints.IntArrays.swap:([IIII)V
36: .line 1025
iload 12 /* d */
iload 11 /* c */
isub
iload 3 /* to */
iload 12 /* d */
isub
iconst_1
isub
invokestatic java.lang.Math.min:(II)I
istore 13 /* s */
37: .line 1026
aload 0 /* perm */
iload 10 /* b */
iload 3 /* to */
iload 13 /* s */
isub
iload 13 /* s */
invokestatic it.unimi.dsi.fastutil.ints.IntArrays.swap:([IIII)V
38: .line 1028
iload 10 /* b */
iload 9 /* a */
isub
dup
istore 13 /* s */
iconst_1
if_icmple 40
39: .line 1029
aload 0 /* perm */
aload 1 /* x */
iload 2 /* from */
iload 2 /* from */
iload 13 /* s */
iadd
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.quickSortIndirect:([I[CII)V
40: .line 1030
StackMap locals: int
StackMap stack:
iload 12 /* d */
iload 11 /* c */
isub
dup
istore 13 /* s */
iconst_1
if_icmple 42
41: .line 1031
aload 0 /* perm */
aload 1 /* x */
iload 3 /* to */
iload 13 /* s */
isub
iload 3 /* to */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.quickSortIndirect:([I[CII)V
42: .line 1032
StackMap locals:
StackMap stack:
return
end local 13 // int s
end local 12 // int d
end local 11 // int c
end local 10 // int b
end local 9 // int a
end local 8 // char v
end local 7 // int n
end local 6 // int l
end local 5 // int m
end local 4 // int len
end local 3 // int to
end local 2 // int from
end local 1 // char[] x
end local 0 // int[] perm
LocalVariableTable:
Start End Slot Name Signature
0 43 0 perm [I
0 43 1 x [C
0 43 2 from I
0 43 3 to I
1 43 4 len I
5 43 5 m I
6 43 6 l I
7 43 7 n I
9 12 8 s I
14 43 8 v C
15 43 9 a I
16 43 10 b I
17 43 11 c I
18 43 12 d I
19 22 13 comparison I
23 24 13 comparison I
25 28 13 comparison I
29 30 13 comparison I
35 43 13 s I
MethodParameters:
Name Flags
perm final
x final
from final
to final
public static void quickSortIndirect(int[], char[]);
descriptor: ([I[C)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 // int[] perm
start local 1 // char[] x
0: .line 1058
aload 0 /* perm */
aload 1 /* x */
iconst_0
aload 1 /* x */
arraylength
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.quickSortIndirect:([I[CII)V
1: .line 1059
return
end local 1 // char[] x
end local 0 // int[] perm
LocalVariableTable:
Start End Slot Name Signature
0 2 0 perm [I
0 2 1 x [C
MethodParameters:
Name Flags
perm final
x final
public static void parallelQuickSortIndirect(int[], char[], int, int);
descriptor: ([I[CII)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=5, args_size=4
start local 0 // int[] perm
start local 1 // char[] x
start local 2 // int from
start local 3 // int to
0: .line 1155
iload 3 /* to */
iload 2 /* from */
isub
sipush 8192
if_icmpge 2
1: .line 1156
aload 0 /* perm */
aload 1 /* x */
iload 2 /* from */
iload 3 /* to */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.quickSortIndirect:([I[CII)V
goto 5
2: .line 1158
StackMap locals:
StackMap stack:
new java.util.concurrent.ForkJoinPool
dup
invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
invokevirtual java.lang.Runtime.availableProcessors:()I
invokespecial java.util.concurrent.ForkJoinPool.<init>:(I)V
astore 4 /* pool */
start local 4 // java.util.concurrent.ForkJoinPool pool
3: .line 1159
aload 4 /* pool */
new it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortIndirect
dup
aload 0 /* perm */
aload 1 /* x */
iload 2 /* from */
iload 3 /* to */
invokespecial it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortIndirect.<init>:([I[CII)V
invokevirtual java.util.concurrent.ForkJoinPool.invoke:(Ljava/util/concurrent/ForkJoinTask;)Ljava/lang/Object;
pop
4: .line 1160
aload 4 /* pool */
invokevirtual java.util.concurrent.ForkJoinPool.shutdown:()V
end local 4 // java.util.concurrent.ForkJoinPool pool
5: .line 1162
StackMap locals:
StackMap stack:
return
end local 3 // int to
end local 2 // int from
end local 1 // char[] x
end local 0 // int[] perm
LocalVariableTable:
Start End Slot Name Signature
0 6 0 perm [I
0 6 1 x [C
0 6 2 from I
0 6 3 to I
3 5 4 pool Ljava/util/concurrent/ForkJoinPool;
MethodParameters:
Name Flags
perm final
x final
from final
to final
public static void parallelQuickSortIndirect(int[], char[]);
descriptor: ([I[C)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 // int[] perm
start local 1 // char[] x
0: .line 1188
aload 0 /* perm */
aload 1 /* x */
iconst_0
aload 1 /* x */
arraylength
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.parallelQuickSortIndirect:([I[CII)V
1: .line 1189
return
end local 1 // char[] x
end local 0 // int[] perm
LocalVariableTable:
Start End Slot Name Signature
0 2 0 perm [I
0 2 1 x [C
MethodParameters:
Name Flags
perm final
x final
public static void stabilize(int[], char[], int, int);
descriptor: ([I[CII)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=6, args_size=4
start local 0 // int[] perm
start local 1 // char[] x
start local 2 // int from
start local 3 // int to
0: .line 1221
iload 2 /* from */
istore 4 /* curr */
start local 4 // int curr
1: .line 1222
iload 2 /* from */
iconst_1
iadd
istore 5 /* i */
start local 5 // int i
2: goto 8
3: .line 1223
StackMap locals: int int
StackMap stack:
aload 1 /* x */
aload 0 /* perm */
iload 5 /* i */
iaload
caload
aload 1 /* x */
aload 0 /* perm */
iload 4 /* curr */
iaload
caload
if_icmpeq 7
4: .line 1224
iload 5 /* i */
iload 4 /* curr */
isub
iconst_1
if_icmple 6
5: .line 1225
aload 0 /* perm */
iload 4 /* curr */
iload 5 /* i */
invokestatic it.unimi.dsi.fastutil.ints.IntArrays.parallelQuickSort:([III)V
6: .line 1226
StackMap locals:
StackMap stack:
iload 5 /* i */
istore 4 /* curr */
7: .line 1222
StackMap locals:
StackMap stack:
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
8: iload 5 /* i */
iload 3 /* to */
if_icmplt 3
end local 5 // int i
9: .line 1229
iload 3 /* to */
iload 4 /* curr */
isub
iconst_1
if_icmple 11
10: .line 1230
aload 0 /* perm */
iload 4 /* curr */
iload 3 /* to */
invokestatic it.unimi.dsi.fastutil.ints.IntArrays.parallelQuickSort:([III)V
11: .line 1231
StackMap locals:
StackMap stack:
return
end local 4 // int curr
end local 3 // int to
end local 2 // int from
end local 1 // char[] x
end local 0 // int[] perm
LocalVariableTable:
Start End Slot Name Signature
0 12 0 perm [I
0 12 1 x [C
0 12 2 from I
0 12 3 to I
1 12 4 curr I
2 9 5 i I
MethodParameters:
Name Flags
perm final
x final
from final
to final
public static void stabilize(int[], char[]);
descriptor: ([I[C)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 // int[] perm
start local 1 // char[] x
0: .line 1259
aload 0 /* perm */
aload 1 /* x */
iconst_0
aload 0 /* perm */
arraylength
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.stabilize:([I[CII)V
1: .line 1260
return
end local 1 // char[] x
end local 0 // int[] perm
LocalVariableTable:
Start End Slot Name Signature
0 2 0 perm [I
0 2 1 x [C
MethodParameters:
Name Flags
perm final
x final
private static int med3(char[], char[], int, int, int);
descriptor: ([C[CIII)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=9, args_size=5
start local 0 // char[] x
start local 1 // char[] y
start local 2 // int a
start local 3 // int b
start local 4 // int c
0: .line 1264
aload 0 /* x */
iload 2 /* a */
caload
aload 0 /* x */
iload 3 /* b */
caload
invokestatic java.lang.Character.compare:(CC)I
dup
istore 5 /* t */
start local 5 // int t
1: ifne 2
aload 1 /* y */
iload 2 /* a */
caload
aload 1 /* y */
iload 3 /* b */
caload
invokestatic java.lang.Character.compare:(CC)I
goto 3
StackMap locals: int
StackMap stack:
2: iload 5 /* t */
StackMap locals:
StackMap stack: int
3: istore 6 /* ab */
start local 6 // int ab
4: .line 1265
aload 0 /* x */
iload 2 /* a */
caload
aload 0 /* x */
iload 4 /* c */
caload
invokestatic java.lang.Character.compare:(CC)I
dup
istore 5 /* t */
ifne 5
aload 1 /* y */
iload 2 /* a */
caload
aload 1 /* y */
iload 4 /* c */
caload
invokestatic java.lang.Character.compare:(CC)I
goto 6
StackMap locals: int
StackMap stack:
5: iload 5 /* t */
StackMap locals:
StackMap stack: int
6: istore 7 /* ac */
start local 7 // int ac
7: .line 1266
aload 0 /* x */
iload 3 /* b */
caload
aload 0 /* x */
iload 4 /* c */
caload
invokestatic java.lang.Character.compare:(CC)I
dup
istore 5 /* t */
ifne 8
aload 1 /* y */
iload 3 /* b */
caload
aload 1 /* y */
iload 4 /* c */
caload
invokestatic java.lang.Character.compare:(CC)I
goto 9
StackMap locals: int
StackMap stack:
8: iload 5 /* t */
StackMap locals:
StackMap stack: int
9: istore 8 /* bc */
start local 8 // int bc
10: .line 1267
iload 6 /* ab */
ifge 13
iload 8 /* bc */
ifge 11
iload 3 /* b */
goto 16
StackMap locals: int
StackMap stack:
11: iload 7 /* ac */
ifge 12
iload 4 /* c */
goto 16
StackMap locals:
StackMap stack:
12: iload 2 /* a */
goto 16
StackMap locals:
StackMap stack:
13: iload 8 /* bc */
ifle 14
iload 3 /* b */
goto 16
StackMap locals:
StackMap stack:
14: iload 7 /* ac */
ifle 15
iload 4 /* c */
goto 16
StackMap locals:
StackMap stack:
15: iload 2 /* a */
StackMap locals:
StackMap stack: int
16: ireturn
end local 8 // int bc
end local 7 // int ac
end local 6 // int ab
end local 5 // int t
end local 4 // int c
end local 3 // int b
end local 2 // int a
end local 1 // char[] y
end local 0 // char[] x
LocalVariableTable:
Start End Slot Name Signature
0 17 0 x [C
0 17 1 y [C
0 17 2 a I
0 17 3 b I
0 17 4 c I
1 17 5 t I
4 17 6 ab I
7 17 7 ac I
10 17 8 bc I
MethodParameters:
Name Flags
x final
y final
a final
b final
c final
private static void swap(char[], char[], int, int);
descriptor: ([C[CII)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=6, args_size=4
start local 0 // char[] x
start local 1 // char[] y
start local 2 // int a
start local 3 // int b
0: .line 1270
aload 0 /* x */
iload 2 /* a */
caload
istore 4 /* t */
start local 4 // char t
1: .line 1271
aload 1 /* y */
iload 2 /* a */
caload
istore 5 /* u */
start local 5 // char u
2: .line 1272
aload 0 /* x */
iload 2 /* a */
aload 0 /* x */
iload 3 /* b */
caload
castore
3: .line 1273
aload 1 /* y */
iload 2 /* a */
aload 1 /* y */
iload 3 /* b */
caload
castore
4: .line 1274
aload 0 /* x */
iload 3 /* b */
iload 4 /* t */
castore
5: .line 1275
aload 1 /* y */
iload 3 /* b */
iload 5 /* u */
castore
6: .line 1276
return
end local 5 // char u
end local 4 // char t
end local 3 // int b
end local 2 // int a
end local 1 // char[] y
end local 0 // char[] x
LocalVariableTable:
Start End Slot Name Signature
0 7 0 x [C
0 7 1 y [C
0 7 2 a I
0 7 3 b I
1 7 4 t C
2 7 5 u C
MethodParameters:
Name Flags
x final
y final
a final
b final
private static void swap(char[], char[], int, int, int);
descriptor: ([C[CIII)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=6, args_size=5
start local 0 // char[] x
start local 1 // char[] y
start local 2 // int a
start local 3 // int b
start local 4 // int n
0: .line 1278
iconst_0
istore 5 /* i */
start local 5 // int i
1: goto 4
2: .line 1279
StackMap locals: int
StackMap stack:
aload 0 /* x */
aload 1 /* y */
iload 2 /* a */
iload 3 /* b */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.swap:([C[CII)V
3: .line 1278
iinc 5 /* i */ 1
iinc 2 /* a */ 1
iinc 3 /* b */ 1
StackMap locals:
StackMap stack:
4: iload 5 /* i */
iload 4 /* n */
if_icmplt 2
end local 5 // int i
5: .line 1280
return
end local 4 // int n
end local 3 // int b
end local 2 // int a
end local 1 // char[] y
end local 0 // char[] x
LocalVariableTable:
Start End Slot Name Signature
0 6 0 x [C
0 6 1 y [C
0 6 2 a I
0 6 3 b I
0 6 4 n I
1 5 5 i I
MethodParameters:
Name Flags
x final
y final
a
b
n final
private static void selectionSort(char[], char[], int, int);
descriptor: ([C[CII)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=8, args_size=4
start local 0 // char[] a
start local 1 // char[] b
start local 2 // int from
start local 3 // int to
0: .line 1283
iload 2 /* from */
istore 4 /* i */
start local 4 // int i
1: goto 18
2: .line 1284
StackMap locals: int
StackMap stack:
iload 4 /* i */
istore 5 /* m */
start local 5 // int m
3: .line 1285
iload 4 /* i */
iconst_1
iadd
istore 7 /* j */
start local 7 // int j
4: goto 9
5: .line 1286
StackMap locals: char[] char[] int int int int top int
StackMap stack:
aload 0 /* a */
iload 7 /* j */
caload
aload 0 /* a */
iload 5 /* m */
caload
invokestatic java.lang.Character.compare:(CC)I
dup
istore 6 /* u */
start local 6 // int u
6: iflt 7
iload 6 /* u */
ifne 8
aload 1 /* b */
iload 7 /* j */
caload
aload 1 /* b */
iload 5 /* m */
caload
if_icmpge 8
7: .line 1287
StackMap locals: char[] char[] int int int int int int
StackMap stack:
iload 7 /* j */
istore 5 /* m */
8: .line 1285
StackMap locals:
StackMap stack:
iinc 7 /* j */ 1
end local 6 // int u
StackMap locals: char[] char[] int int int int top int
StackMap stack:
9: iload 7 /* j */
iload 3 /* to */
if_icmplt 5
end local 7 // int j
10: .line 1288
iload 5 /* m */
iload 4 /* i */
if_icmpeq 17
11: .line 1289
aload 0 /* a */
iload 4 /* i */
caload
istore 7 /* t */
start local 7 // char t
12: .line 1290
aload 0 /* a */
iload 4 /* i */
aload 0 /* a */
iload 5 /* m */
caload
castore
13: .line 1291
aload 0 /* a */
iload 5 /* m */
iload 7 /* t */
castore
14: .line 1292
aload 1 /* b */
iload 4 /* i */
caload
istore 7 /* t */
15: .line 1293
aload 1 /* b */
iload 4 /* i */
aload 1 /* b */
iload 5 /* m */
caload
castore
16: .line 1294
aload 1 /* b */
iload 5 /* m */
iload 7 /* t */
castore
end local 7 // char t
end local 5 // int m
17: .line 1283
StackMap locals: char[] char[] int int int
StackMap stack:
iinc 4 /* i */ 1
StackMap locals:
StackMap stack:
18: iload 4 /* i */
iload 3 /* to */
iconst_1
isub
if_icmplt 2
end local 4 // int i
19: .line 1297
return
end local 3 // int to
end local 2 // int from
end local 1 // char[] b
end local 0 // char[] a
LocalVariableTable:
Start End Slot Name Signature
0 20 0 a [C
0 20 1 b [C
0 20 2 from I
0 20 3 to I
1 19 4 i I
3 17 5 m I
6 9 6 u I
4 10 7 j I
12 17 7 t C
MethodParameters:
Name Flags
a final
b final
from final
to final
public static void quickSort(char[], char[], int, int);
descriptor: ([C[CII)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=16, args_size=4
start local 0 // char[] x
start local 1 // char[] y
start local 2 // int from
start local 3 // int to
0: .line 1325
iload 3 /* to */
iload 2 /* from */
isub
istore 4 /* len */
start local 4 // int len
1: .line 1326
iload 4 /* len */
bipush 16
if_icmpge 4
2: .line 1327
aload 0 /* x */
aload 1 /* y */
iload 2 /* from */
iload 3 /* to */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.selectionSort:([C[CII)V
3: .line 1328
return
4: .line 1331
StackMap locals: int
StackMap stack:
iload 2 /* from */
iload 4 /* len */
iconst_2
idiv
iadd
istore 5 /* m */
start local 5 // int m
5: .line 1332
iload 2 /* from */
istore 6 /* l */
start local 6 // int l
6: .line 1333
iload 3 /* to */
iconst_1
isub
istore 7 /* n */
start local 7 // int n
7: .line 1334
iload 4 /* len */
sipush 128
if_icmple 12
8: .line 1335
iload 4 /* len */
bipush 8
idiv
istore 8 /* s */
start local 8 // int s
9: .line 1336
aload 0 /* x */
aload 1 /* y */
iload 6 /* l */
iload 6 /* l */
iload 8 /* s */
iadd
iload 6 /* l */
iconst_2
iload 8 /* s */
imul
iadd
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.med3:([C[CIII)I
istore 6 /* l */
10: .line 1337
aload 0 /* x */
aload 1 /* y */
iload 5 /* m */
iload 8 /* s */
isub
iload 5 /* m */
iload 5 /* m */
iload 8 /* s */
iadd
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.med3:([C[CIII)I
istore 5 /* m */
11: .line 1338
aload 0 /* x */
aload 1 /* y */
iload 7 /* n */
iconst_2
iload 8 /* s */
imul
isub
iload 7 /* n */
iload 8 /* s */
isub
iload 7 /* n */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.med3:([C[CIII)I
istore 7 /* n */
end local 8 // int s
12: .line 1340
StackMap locals: int int int
StackMap stack:
aload 0 /* x */
aload 1 /* y */
iload 6 /* l */
iload 5 /* m */
iload 7 /* n */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.med3:([C[CIII)I
istore 5 /* m */
13: .line 1341
aload 0 /* x */
iload 5 /* m */
caload
istore 8 /* v */
start local 8 // char v
14: aload 1 /* y */
iload 5 /* m */
caload
istore 9 /* w */
start local 9 // char w
15: .line 1343
iload 2 /* from */
istore 10 /* a */
start local 10 // int a
16: iload 10 /* a */
istore 11 /* b */
start local 11 // int b
17: iload 3 /* to */
iconst_1
isub
istore 12 /* c */
start local 12 // int c
18: iload 12 /* c */
istore 13 /* d */
start local 13 // int d
19: .line 1346
goto 23
start local 14 // int comparison
start local 15 // int t
20: .line 1349
StackMap locals: char[] char[] int int int int int int int int int int int int int int
StackMap stack:
iload 14 /* comparison */
ifne 22
21: .line 1350
aload 0 /* x */
aload 1 /* y */
iload 10 /* a */
iinc 10 /* a */ 1
iload 11 /* b */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.swap:([C[CII)V
22: .line 1351
StackMap locals:
StackMap stack:
iinc 11 /* b */ 1
end local 15 // int t
end local 14 // int comparison
23: .line 1346
StackMap locals:
StackMap stack:
iload 11 /* b */
iload 12 /* c */
if_icmpgt 33
aload 0 /* x */
iload 11 /* b */
caload
iload 8 /* v */
invokestatic java.lang.Character.compare:(CC)I
dup
istore 15 /* t */
start local 15 // int t
24: ifne 26
25: .line 1347
aload 1 /* y */
iload 11 /* b */
caload
iload 9 /* w */
invokestatic java.lang.Character.compare:(CC)I
goto 27
26: .line 1348
StackMap locals: char[] char[] int int int int int int int int int int int int top int
StackMap stack:
iload 15 /* t */
StackMap locals:
StackMap stack: int
27: dup
istore 14 /* comparison */
start local 14 // int comparison
28: .line 1346
ifle 20
end local 15 // int t
end local 14 // int comparison
29: .line 1353
goto 33
start local 14 // int comparison
start local 15 // int t
30: .line 1356
StackMap locals: char[] char[] int int int int int int int int int int int int int int
StackMap stack:
iload 14 /* comparison */
ifne 32
31: .line 1357
aload 0 /* x */
aload 1 /* y */
iload 12 /* c */
iload 13 /* d */
iinc 13 /* d */ -1
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.swap:([C[CII)V
32: .line 1358
StackMap locals:
StackMap stack:
iinc 12 /* c */ -1
end local 15 // int t
end local 14 // int comparison
33: .line 1353
StackMap locals:
StackMap stack:
iload 12 /* c */
iload 11 /* b */
if_icmplt 39
aload 0 /* x */
iload 12 /* c */
caload
iload 8 /* v */
invokestatic java.lang.Character.compare:(CC)I
dup
istore 15 /* t */
start local 15 // int t
34: ifne 36
35: .line 1354
aload 1 /* y */
iload 12 /* c */
caload
iload 9 /* w */
invokestatic java.lang.Character.compare:(CC)I
goto 37
36: .line 1355
StackMap locals: char[] char[] int int int int int int int int int int int int top int
StackMap stack:
iload 15 /* t */
StackMap locals:
StackMap stack: int
37: dup
istore 14 /* comparison */
start local 14 // int comparison
38: .line 1353
ifge 30
end local 15 // int t
end local 14 // int comparison
39: .line 1360
StackMap locals: char[] char[] int int int int int int int int int int int int
StackMap stack:
iload 11 /* b */
iload 12 /* c */
if_icmple 41
40: .line 1361
goto 43
41: .line 1362
StackMap locals:
StackMap stack:
aload 0 /* x */
aload 1 /* y */
iload 11 /* b */
iinc 11 /* b */ 1
iload 12 /* c */
iinc 12 /* c */ -1
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.swap:([C[CII)V
42: .line 1344
goto 23
43: .line 1366
StackMap locals:
StackMap stack:
iload 10 /* a */
iload 2 /* from */
isub
iload 11 /* b */
iload 10 /* a */
isub
invokestatic java.lang.Math.min:(II)I
istore 14 /* s */
start local 14 // int s
44: .line 1367
aload 0 /* x */
aload 1 /* y */
iload 2 /* from */
iload 11 /* b */
iload 14 /* s */
isub
iload 14 /* s */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.swap:([C[CIII)V
45: .line 1368
iload 13 /* d */
iload 12 /* c */
isub
iload 3 /* to */
iload 13 /* d */
isub
iconst_1
isub
invokestatic java.lang.Math.min:(II)I
istore 14 /* s */
46: .line 1369
aload 0 /* x */
aload 1 /* y */
iload 11 /* b */
iload 3 /* to */
iload 14 /* s */
isub
iload 14 /* s */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.swap:([C[CIII)V
47: .line 1371
iload 11 /* b */
iload 10 /* a */
isub
dup
istore 14 /* s */
iconst_1
if_icmple 49
48: .line 1372
aload 0 /* x */
aload 1 /* y */
iload 2 /* from */
iload 2 /* from */
iload 14 /* s */
iadd
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.quickSort:([C[CII)V
49: .line 1373
StackMap locals: int
StackMap stack:
iload 13 /* d */
iload 12 /* c */
isub
dup
istore 14 /* s */
iconst_1
if_icmple 51
50: .line 1374
aload 0 /* x */
aload 1 /* y */
iload 3 /* to */
iload 14 /* s */
isub
iload 3 /* to */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.quickSort:([C[CII)V
51: .line 1375
StackMap locals:
StackMap stack:
return
end local 14 // int s
end local 13 // int d
end local 12 // int c
end local 11 // int b
end local 10 // int a
end local 9 // char w
end local 8 // char v
end local 7 // int n
end local 6 // int l
end local 5 // int m
end local 4 // int len
end local 3 // int to
end local 2 // int from
end local 1 // char[] y
end local 0 // char[] x
LocalVariableTable:
Start End Slot Name Signature
0 52 0 x [C
0 52 1 y [C
0 52 2 from I
0 52 3 to I
1 52 4 len I
5 52 5 m I
6 52 6 l I
7 52 7 n I
9 12 8 s I
14 52 8 v C
15 52 9 w C
16 52 10 a I
17 52 11 b I
18 52 12 c I
19 52 13 d I
20 23 14 comparison I
28 29 14 comparison I
30 33 14 comparison I
38 39 14 comparison I
20 23 15 t I
24 29 15 t I
30 33 15 t I
34 39 15 t I
44 52 14 s I
MethodParameters:
Name Flags
x final
y final
from final
to final
public static void quickSort(char[], char[]);
descriptor: ([C[C)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 // char[] x
start local 1 // char[] y
0: .line 1398
aload 0 /* x */
aload 1 /* y */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.ensureSameLength:([C[C)V
1: .line 1399
aload 0 /* x */
aload 1 /* y */
iconst_0
aload 0 /* x */
arraylength
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.quickSort:([C[CII)V
2: .line 1400
return
end local 1 // char[] y
end local 0 // char[] x
LocalVariableTable:
Start End Slot Name Signature
0 3 0 x [C
0 3 1 y [C
MethodParameters:
Name Flags
x final
y final
public static void parallelQuickSort(char[], char[], int, int);
descriptor: ([C[CII)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=5, args_size=4
start local 0 // char[] x
start local 1 // char[] y
start local 2 // int from
start local 3 // int to
0: .line 1501
iload 3 /* to */
iload 2 /* from */
isub
sipush 8192
if_icmpge 2
1: .line 1502
aload 0 /* x */
aload 1 /* y */
iload 2 /* from */
iload 3 /* to */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.quickSort:([C[CII)V
2: .line 1503
StackMap locals:
StackMap stack:
new java.util.concurrent.ForkJoinPool
dup
invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
invokevirtual java.lang.Runtime.availableProcessors:()I
invokespecial java.util.concurrent.ForkJoinPool.<init>:(I)V
astore 4 /* pool */
start local 4 // java.util.concurrent.ForkJoinPool pool
3: .line 1504
aload 4 /* pool */
new it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSort2
dup
aload 0 /* x */
aload 1 /* y */
iload 2 /* from */
iload 3 /* to */
invokespecial it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSort2.<init>:([C[CII)V
invokevirtual java.util.concurrent.ForkJoinPool.invoke:(Ljava/util/concurrent/ForkJoinTask;)Ljava/lang/Object;
pop
4: .line 1505
aload 4 /* pool */
invokevirtual java.util.concurrent.ForkJoinPool.shutdown:()V
5: .line 1506
return
end local 4 // java.util.concurrent.ForkJoinPool pool
end local 3 // int to
end local 2 // int from
end local 1 // char[] y
end local 0 // char[] x
LocalVariableTable:
Start End Slot Name Signature
0 6 0 x [C
0 6 1 y [C
0 6 2 from I
0 6 3 to I
3 6 4 pool Ljava/util/concurrent/ForkJoinPool;
MethodParameters:
Name Flags
x final
y final
from final
to final
public static void parallelQuickSort(char[], char[]);
descriptor: ([C[C)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 // char[] x
start local 1 // char[] y
0: .line 1533
aload 0 /* x */
aload 1 /* y */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.ensureSameLength:([C[C)V
1: .line 1534
aload 0 /* x */
aload 1 /* y */
iconst_0
aload 0 /* x */
arraylength
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.parallelQuickSort:([C[CII)V
2: .line 1535
return
end local 1 // char[] y
end local 0 // char[] x
LocalVariableTable:
Start End Slot Name Signature
0 3 0 x [C
0 3 1 y [C
MethodParameters:
Name Flags
x final
y final
public static void unstableSort(char[], int, int);
descriptor: ([CII)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 // char[] a
start local 1 // int from
start local 2 // int to
0: .line 1554
iload 2 /* to */
iload 1 /* from */
isub
sipush 4000
if_icmplt 3
1: .line 1555
aload 0 /* a */
iload 1 /* from */
iload 2 /* to */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.radixSort:([CII)V
2: .line 1556
goto 4
3: .line 1557
StackMap locals:
StackMap stack:
aload 0 /* a */
iload 1 /* from */
iload 2 /* to */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.quickSort:([CII)V
4: .line 1559
StackMap locals:
StackMap stack:
return
end local 2 // int to
end local 1 // int from
end local 0 // char[] a
LocalVariableTable:
Start End Slot Name Signature
0 5 0 a [C
0 5 1 from I
0 5 2 to I
MethodParameters:
Name Flags
a final
from final
to final
public static void unstableSort(char[]);
descriptor: ([C)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 // char[] a
0: .line 1571
aload 0 /* a */
iconst_0
aload 0 /* a */
arraylength
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.unstableSort:([CII)V
1: .line 1572
return
end local 0 // char[] a
LocalVariableTable:
Start End Slot Name Signature
0 2 0 a [C
MethodParameters:
Name Flags
a final
public static void unstableSort(char[], int, int, it.unimi.dsi.fastutil.chars.CharComparator);
descriptor: ([CIILit/unimi/dsi/fastutil/chars/CharComparator;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=4
start local 0 // char[] a
start local 1 // int from
start local 2 // int to
start local 3 // it.unimi.dsi.fastutil.chars.CharComparator comp
0: .line 1590
aload 0 /* a */
iload 1 /* from */
iload 2 /* to */
aload 3 /* comp */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.quickSort:([CIILit/unimi/dsi/fastutil/chars/CharComparator;)V
1: .line 1591
return
end local 3 // it.unimi.dsi.fastutil.chars.CharComparator comp
end local 2 // int to
end local 1 // int from
end local 0 // char[] a
LocalVariableTable:
Start End Slot Name Signature
0 2 0 a [C
0 2 1 from I
0 2 2 to I
0 2 3 comp Lit/unimi/dsi/fastutil/chars/CharComparator;
MethodParameters:
Name Flags
a final
from final
to final
comp
public static void unstableSort(char[], it.unimi.dsi.fastutil.chars.CharComparator);
descriptor: ([CLit/unimi/dsi/fastutil/chars/CharComparator;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 // char[] a
start local 1 // it.unimi.dsi.fastutil.chars.CharComparator comp
0: .line 1604
aload 0 /* a */
iconst_0
aload 0 /* a */
arraylength
aload 1 /* comp */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.unstableSort:([CIILit/unimi/dsi/fastutil/chars/CharComparator;)V
1: .line 1605
return
end local 1 // it.unimi.dsi.fastutil.chars.CharComparator comp
end local 0 // char[] a
LocalVariableTable:
Start End Slot Name Signature
0 2 0 a [C
0 2 1 comp Lit/unimi/dsi/fastutil/chars/CharComparator;
MethodParameters:
Name Flags
a final
comp
public static void mergeSort(char[], int, int, char[]);
descriptor: ([CII[C)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=9, args_size=4
start local 0 // char[] a
start local 1 // int from
start local 2 // int to
start local 3 // char[] supp
0: .line 1628
iload 2 /* to */
iload 1 /* from */
isub
istore 4 /* len */
start local 4 // int len
1: .line 1630
iload 4 /* len */
bipush 16
if_icmpge 4
2: .line 1631
aload 0 /* a */
iload 1 /* from */
iload 2 /* to */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.insertionSort:([CII)V
3: .line 1632
return
4: .line 1635
StackMap locals: int
StackMap stack:
iload 1 /* from */
iload 2 /* to */
iadd
iconst_1
iushr
istore 5 /* mid */
start local 5 // int mid
5: .line 1636
aload 3 /* supp */
iload 1 /* from */
iload 5 /* mid */
aload 0 /* a */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.mergeSort:([CII[C)V
6: .line 1637
aload 3 /* supp */
iload 5 /* mid */
iload 2 /* to */
aload 0 /* a */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.mergeSort:([CII[C)V
7: .line 1640
aload 3 /* supp */
iload 5 /* mid */
iconst_1
isub
caload
aload 3 /* supp */
iload 5 /* mid */
caload
if_icmpgt 10
8: .line 1641
aload 3 /* supp */
iload 1 /* from */
aload 0 /* a */
iload 1 /* from */
iload 4 /* len */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
9: .line 1642
return
10: .line 1645
StackMap locals: int
StackMap stack:
iload 1 /* from */
istore 6 /* i */
start local 6 // int i
11: iload 1 /* from */
istore 7 /* p */
start local 7 // int p
12: iload 5 /* mid */
istore 8 /* q */
start local 8 // int q
13: goto 18
14: .line 1646
StackMap locals: int int int
StackMap stack:
iload 8 /* q */
iload 2 /* to */
if_icmpge 15
iload 7 /* p */
iload 5 /* mid */
if_icmpge 16
aload 3 /* supp */
iload 7 /* p */
caload
aload 3 /* supp */
iload 8 /* q */
caload
if_icmpgt 16
15: .line 1647
StackMap locals:
StackMap stack:
aload 0 /* a */
iload 6 /* i */
aload 3 /* supp */
iload 7 /* p */
iinc 7 /* p */ 1
caload
castore
goto 17
16: .line 1649
StackMap locals:
StackMap stack:
aload 0 /* a */
iload 6 /* i */
aload 3 /* supp */
iload 8 /* q */
iinc 8 /* q */ 1
caload
castore
17: .line 1645
StackMap locals:
StackMap stack:
iinc 6 /* i */ 1
StackMap locals:
StackMap stack:
18: iload 6 /* i */
iload 2 /* to */
if_icmplt 14
end local 8 // int q
end local 7 // int p
end local 6 // int i
19: .line 1651
return
end local 5 // int mid
end local 4 // int len
end local 3 // char[] supp
end local 2 // int to
end local 1 // int from
end local 0 // char[] a
LocalVariableTable:
Start End Slot Name Signature
0 20 0 a [C
0 20 1 from I
0 20 2 to I
0 20 3 supp [C
1 20 4 len I
5 20 5 mid I
11 19 6 i I
12 19 7 p I
13 19 8 q I
MethodParameters:
Name Flags
a final
from final
to final
supp final
public static void mergeSort(char[], int, int);
descriptor: ([CII)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 // char[] a
start local 1 // int from
start local 2 // int to
0: .line 1669
aload 0 /* a */
iload 1 /* from */
iload 2 /* to */
aload 0 /* a */
invokevirtual char[].clone:()Ljava/lang/Object;
checkcast char[]
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.mergeSort:([CII[C)V
1: .line 1670
return
end local 2 // int to
end local 1 // int from
end local 0 // char[] a
LocalVariableTable:
Start End Slot Name Signature
0 2 0 a [C
0 2 1 from I
0 2 2 to I
MethodParameters:
Name Flags
a final
from final
to final
public static void mergeSort(char[]);
descriptor: ([C)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 // char[] a
0: .line 1683
aload 0 /* a */
iconst_0
aload 0 /* a */
arraylength
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.mergeSort:([CII)V
1: .line 1684
return
end local 0 // char[] a
LocalVariableTable:
Start End Slot Name Signature
0 2 0 a [C
MethodParameters:
Name Flags
a final
public static void mergeSort(char[], int, int, it.unimi.dsi.fastutil.chars.CharComparator, char[]);
descriptor: ([CIILit/unimi/dsi/fastutil/chars/CharComparator;[C)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=10, args_size=5
start local 0 // char[] a
start local 1 // int from
start local 2 // int to
start local 3 // it.unimi.dsi.fastutil.chars.CharComparator comp
start local 4 // char[] supp
0: .line 1708
iload 2 /* to */
iload 1 /* from */
isub
istore 5 /* len */
start local 5 // int len
1: .line 1710
iload 5 /* len */
bipush 16
if_icmpge 4
2: .line 1711
aload 0 /* a */
iload 1 /* from */
iload 2 /* to */
aload 3 /* comp */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.insertionSort:([CIILit/unimi/dsi/fastutil/chars/CharComparator;)V
3: .line 1712
return
4: .line 1715
StackMap locals: int
StackMap stack:
iload 1 /* from */
iload 2 /* to */
iadd
iconst_1
iushr
istore 6 /* mid */
start local 6 // int mid
5: .line 1716
aload 4 /* supp */
iload 1 /* from */
iload 6 /* mid */
aload 3 /* comp */
aload 0 /* a */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.mergeSort:([CIILit/unimi/dsi/fastutil/chars/CharComparator;[C)V
6: .line 1717
aload 4 /* supp */
iload 6 /* mid */
iload 2 /* to */
aload 3 /* comp */
aload 0 /* a */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.mergeSort:([CIILit/unimi/dsi/fastutil/chars/CharComparator;[C)V
7: .line 1720
aload 3 /* comp */
aload 4 /* supp */
iload 6 /* mid */
iconst_1
isub
caload
aload 4 /* supp */
iload 6 /* mid */
caload
invokeinterface it.unimi.dsi.fastutil.chars.CharComparator.compare:(CC)I
ifgt 10
8: .line 1721
aload 4 /* supp */
iload 1 /* from */
aload 0 /* a */
iload 1 /* from */
iload 5 /* len */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
9: .line 1722
return
10: .line 1725
StackMap locals: int
StackMap stack:
iload 1 /* from */
istore 7 /* i */
start local 7 // int i
11: iload 1 /* from */
istore 8 /* p */
start local 8 // int p
12: iload 6 /* mid */
istore 9 /* q */
start local 9 // int q
13: goto 18
14: .line 1726
StackMap locals: int int int
StackMap stack:
iload 9 /* q */
iload 2 /* to */
if_icmpge 15
iload 8 /* p */
iload 6 /* mid */
if_icmpge 16
aload 3 /* comp */
aload 4 /* supp */
iload 8 /* p */
caload
aload 4 /* supp */
iload 9 /* q */
caload
invokeinterface it.unimi.dsi.fastutil.chars.CharComparator.compare:(CC)I
ifgt 16
15: .line 1727
StackMap locals:
StackMap stack:
aload 0 /* a */
iload 7 /* i */
aload 4 /* supp */
iload 8 /* p */
iinc 8 /* p */ 1
caload
castore
goto 17
16: .line 1729
StackMap locals:
StackMap stack:
aload 0 /* a */
iload 7 /* i */
aload 4 /* supp */
iload 9 /* q */
iinc 9 /* q */ 1
caload
castore
17: .line 1725
StackMap locals:
StackMap stack:
iinc 7 /* i */ 1
StackMap locals:
StackMap stack:
18: iload 7 /* i */
iload 2 /* to */
if_icmplt 14
end local 9 // int q
end local 8 // int p
end local 7 // int i
19: .line 1731
return
end local 6 // int mid
end local 5 // int len
end local 4 // char[] supp
end local 3 // it.unimi.dsi.fastutil.chars.CharComparator comp
end local 2 // int to
end local 1 // int from
end local 0 // char[] a
LocalVariableTable:
Start End Slot Name Signature
0 20 0 a [C
0 20 1 from I
0 20 2 to I
0 20 3 comp Lit/unimi/dsi/fastutil/chars/CharComparator;
0 20 4 supp [C
1 20 5 len I
5 20 6 mid I
11 19 7 i I
12 19 8 p I
13 19 9 q I
MethodParameters:
Name Flags
a final
from final
to final
comp
supp final
public static void mergeSort(char[], int, int, it.unimi.dsi.fastutil.chars.CharComparator);
descriptor: ([CIILit/unimi/dsi/fastutil/chars/CharComparator;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=4, args_size=4
start local 0 // char[] a
start local 1 // int from
start local 2 // int to
start local 3 // it.unimi.dsi.fastutil.chars.CharComparator comp
0: .line 1751
aload 0 /* a */
iload 1 /* from */
iload 2 /* to */
aload 3 /* comp */
aload 0 /* a */
invokevirtual char[].clone:()Ljava/lang/Object;
checkcast char[]
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.mergeSort:([CIILit/unimi/dsi/fastutil/chars/CharComparator;[C)V
1: .line 1752
return
end local 3 // it.unimi.dsi.fastutil.chars.CharComparator comp
end local 2 // int to
end local 1 // int from
end local 0 // char[] a
LocalVariableTable:
Start End Slot Name Signature
0 2 0 a [C
0 2 1 from I
0 2 2 to I
0 2 3 comp Lit/unimi/dsi/fastutil/chars/CharComparator;
MethodParameters:
Name Flags
a final
from final
to final
comp
public static void mergeSort(char[], it.unimi.dsi.fastutil.chars.CharComparator);
descriptor: ([CLit/unimi/dsi/fastutil/chars/CharComparator;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 // char[] a
start local 1 // it.unimi.dsi.fastutil.chars.CharComparator comp
0: .line 1768
aload 0 /* a */
iconst_0
aload 0 /* a */
arraylength
aload 1 /* comp */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.mergeSort:([CIILit/unimi/dsi/fastutil/chars/CharComparator;)V
1: .line 1769
return
end local 1 // it.unimi.dsi.fastutil.chars.CharComparator comp
end local 0 // char[] a
LocalVariableTable:
Start End Slot Name Signature
0 2 0 a [C
0 2 1 comp Lit/unimi/dsi/fastutil/chars/CharComparator;
MethodParameters:
Name Flags
a final
comp
public static void stableSort(char[], int, int);
descriptor: ([CII)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 // char[] a
start local 1 // int from
start local 2 // int to
0: .line 1793
aload 0 /* a */
iload 1 /* from */
iload 2 /* to */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.unstableSort:([CII)V
1: .line 1794
return
end local 2 // int to
end local 1 // int from
end local 0 // char[] a
LocalVariableTable:
Start End Slot Name Signature
0 2 0 a [C
0 2 1 from I
0 2 2 to I
MethodParameters:
Name Flags
a final
from final
to final
public static void stableSort(char[]);
descriptor: ([C)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 // char[] a
0: .line 1811
aload 0 /* a */
iconst_0
aload 0 /* a */
arraylength
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.stableSort:([CII)V
1: .line 1812
return
end local 0 // char[] a
LocalVariableTable:
Start End Slot Name Signature
0 2 0 a [C
MethodParameters:
Name Flags
a final
public static void stableSort(char[], int, int, it.unimi.dsi.fastutil.chars.CharComparator);
descriptor: ([CIILit/unimi/dsi/fastutil/chars/CharComparator;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=4
start local 0 // char[] a
start local 1 // int from
start local 2 // int to
start local 3 // it.unimi.dsi.fastutil.chars.CharComparator comp
0: .line 1835
aload 0 /* a */
iload 1 /* from */
iload 2 /* to */
aload 3 /* comp */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.mergeSort:([CIILit/unimi/dsi/fastutil/chars/CharComparator;)V
1: .line 1836
return
end local 3 // it.unimi.dsi.fastutil.chars.CharComparator comp
end local 2 // int to
end local 1 // int from
end local 0 // char[] a
LocalVariableTable:
Start End Slot Name Signature
0 2 0 a [C
0 2 1 from I
0 2 2 to I
0 2 3 comp Lit/unimi/dsi/fastutil/chars/CharComparator;
MethodParameters:
Name Flags
a final
from final
to final
comp
public static void stableSort(char[], it.unimi.dsi.fastutil.chars.CharComparator);
descriptor: ([CLit/unimi/dsi/fastutil/chars/CharComparator;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 // char[] a
start local 1 // it.unimi.dsi.fastutil.chars.CharComparator comp
0: .line 1855
aload 0 /* a */
iconst_0
aload 0 /* a */
arraylength
aload 1 /* comp */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.stableSort:([CIILit/unimi/dsi/fastutil/chars/CharComparator;)V
1: .line 1856
return
end local 1 // it.unimi.dsi.fastutil.chars.CharComparator comp
end local 0 // char[] a
LocalVariableTable:
Start End Slot Name Signature
0 2 0 a [C
0 2 1 comp Lit/unimi/dsi/fastutil/chars/CharComparator;
MethodParameters:
Name Flags
a final
comp
public static int binarySearch(char[], int, int, char);
descriptor: ([CIIC)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=6, args_size=4
start local 0 // char[] a
start local 1 // int from
start local 2 // int to
start local 3 // char key
0: .line 1884
iinc 2 /* to */ -1
1: .line 1885
goto 9
2: .line 1886
StackMap locals:
StackMap stack:
iload 1 /* from */
iload 2 /* to */
iadd
iconst_1
iushr
istore 5 /* mid */
start local 5 // int mid
3: .line 1887
aload 0 /* a */
iload 5 /* mid */
caload
istore 4 /* midVal */
start local 4 // char midVal
4: .line 1888
iload 4 /* midVal */
iload 3 /* key */
if_icmpge 6
5: .line 1889
iload 5 /* mid */
iconst_1
iadd
istore 1 /* from */
goto 9
6: .line 1890
StackMap locals: int int
StackMap stack:
iload 4 /* midVal */
iload 3 /* key */
if_icmple 8
7: .line 1891
iload 5 /* mid */
iconst_1
isub
istore 2 /* to */
goto 9
8: .line 1893
StackMap locals:
StackMap stack:
iload 5 /* mid */
ireturn
end local 5 // int mid
end local 4 // char midVal
9: .line 1885
StackMap locals:
StackMap stack:
iload 1 /* from */
iload 2 /* to */
if_icmple 2
10: .line 1895
iload 1 /* from */
iconst_1
iadd
ineg
ireturn
end local 3 // char key
end local 2 // int to
end local 1 // int from
end local 0 // char[] a
LocalVariableTable:
Start End Slot Name Signature
0 11 0 a [C
0 11 1 from I
0 11 2 to I
0 11 3 key C
4 9 4 midVal C
3 9 5 mid I
MethodParameters:
Name Flags
a final
from
to
key final
public static int binarySearch(char[], char);
descriptor: ([CC)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 // char[] a
start local 1 // char key
0: .line 1917
aload 0 /* a */
iconst_0
aload 0 /* a */
arraylength
iload 1 /* key */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.binarySearch:([CIIC)I
ireturn
end local 1 // char key
end local 0 // char[] a
LocalVariableTable:
Start End Slot Name Signature
0 1 0 a [C
0 1 1 key C
MethodParameters:
Name Flags
a final
key final
public static int binarySearch(char[], int, int, char, it.unimi.dsi.fastutil.chars.CharComparator);
descriptor: ([CIICLit/unimi/dsi/fastutil/chars/CharComparator;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=8, args_size=5
start local 0 // char[] a
start local 1 // int from
start local 2 // int to
start local 3 // char key
start local 4 // it.unimi.dsi.fastutil.chars.CharComparator c
0: .line 1947
iinc 2 /* to */ -1
1: .line 1948
goto 10
2: .line 1949
StackMap locals:
StackMap stack:
iload 1 /* from */
iload 2 /* to */
iadd
iconst_1
iushr
istore 6 /* mid */
start local 6 // int mid
3: .line 1950
aload 0 /* a */
iload 6 /* mid */
caload
istore 5 /* midVal */
start local 5 // char midVal
4: .line 1951
aload 4 /* c */
iload 5 /* midVal */
iload 3 /* key */
invokeinterface it.unimi.dsi.fastutil.chars.CharComparator.compare:(CC)I
istore 7 /* cmp */
start local 7 // int cmp
5: .line 1952
iload 7 /* cmp */
ifge 7
6: .line 1953
iload 6 /* mid */
iconst_1
iadd
istore 1 /* from */
goto 10
7: .line 1954
StackMap locals: int int int
StackMap stack:
iload 7 /* cmp */
ifle 9
8: .line 1955
iload 6 /* mid */
iconst_1
isub
istore 2 /* to */
goto 10
9: .line 1957
StackMap locals:
StackMap stack:
iload 6 /* mid */
ireturn
end local 7 // int cmp
end local 6 // int mid
end local 5 // char midVal
10: .line 1948
StackMap locals:
StackMap stack:
iload 1 /* from */
iload 2 /* to */
if_icmple 2
11: .line 1959
iload 1 /* from */
iconst_1
iadd
ineg
ireturn
end local 4 // it.unimi.dsi.fastutil.chars.CharComparator c
end local 3 // char key
end local 2 // int to
end local 1 // int from
end local 0 // char[] a
LocalVariableTable:
Start End Slot Name Signature
0 12 0 a [C
0 12 1 from I
0 12 2 to I
0 12 3 key C
0 12 4 c Lit/unimi/dsi/fastutil/chars/CharComparator;
4 10 5 midVal C
3 10 6 mid I
5 10 7 cmp I
MethodParameters:
Name Flags
a final
from
to
key final
c final
public static int binarySearch(char[], char, it.unimi.dsi.fastutil.chars.CharComparator);
descriptor: ([CCLit/unimi/dsi/fastutil/chars/CharComparator;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=3
start local 0 // char[] a
start local 1 // char key
start local 2 // it.unimi.dsi.fastutil.chars.CharComparator c
0: .line 1984
aload 0 /* a */
iconst_0
aload 0 /* a */
arraylength
iload 1 /* key */
aload 2 /* c */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.binarySearch:([CIICLit/unimi/dsi/fastutil/chars/CharComparator;)I
ireturn
end local 2 // it.unimi.dsi.fastutil.chars.CharComparator c
end local 1 // char key
end local 0 // char[] a
LocalVariableTable:
Start End Slot Name Signature
0 1 0 a [C
0 1 1 key C
0 1 2 c Lit/unimi/dsi/fastutil/chars/CharComparator;
MethodParameters:
Name Flags
a final
key final
c final
public static void radixSort(char[]);
descriptor: ([C)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 // char[] a
0: .line 2020
aload 0 /* a */
iconst_0
aload 0 /* a */
arraylength
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.radixSort:([CII)V
1: .line 2021
return
end local 0 // char[] a
LocalVariableTable:
Start End Slot Name Signature
0 2 0 a [C
MethodParameters:
Name Flags
a final
public static void radixSort(char[], int, int);
descriptor: ([CII)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=20, args_size=3
start local 0 // char[] a
start local 1 // int from
start local 2 // int to
0: .line 2043
iload 2 /* to */
iload 1 /* from */
isub
sipush 1024
if_icmpge 3
1: .line 2044
aload 0 /* a */
iload 1 /* from */
iload 2 /* to */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.quickSort:([CII)V
2: .line 2045
return
3: .line 2049
StackMap locals:
StackMap stack:
iconst_0
istore 3 /* stackPos */
start local 3 // int stackPos
4: .line 2050
sipush 256
newarray 10
astore 4 /* offsetStack */
start local 4 // int[] offsetStack
5: .line 2051
sipush 256
newarray 10
astore 5 /* lengthStack */
start local 5 // int[] lengthStack
6: .line 2052
sipush 256
newarray 10
astore 6 /* levelStack */
start local 6 // int[] levelStack
7: .line 2053
aload 4 /* offsetStack */
iload 3 /* stackPos */
iload 1 /* from */
iastore
8: .line 2054
aload 5 /* lengthStack */
iload 3 /* stackPos */
iload 2 /* to */
iload 1 /* from */
isub
iastore
9: .line 2055
aload 6 /* levelStack */
iload 3 /* stackPos */
iinc 3 /* stackPos */ 1
iconst_0
iastore
10: .line 2056
sipush 256
newarray 10
astore 7 /* count */
start local 7 // int[] count
11: .line 2057
sipush 256
newarray 10
astore 8 /* pos */
start local 8 // int[] pos
12: .line 2058
goto 53
13: .line 2059
StackMap locals: char[] int int int int[] int[] int[] int[] int[]
StackMap stack:
aload 4 /* offsetStack */
iinc 3 /* stackPos */ -1
iload 3 /* stackPos */
iaload
istore 9 /* first */
start local 9 // int first
14: .line 2060
aload 5 /* lengthStack */
iload 3 /* stackPos */
iaload
istore 10 /* length */
start local 10 // int length
15: .line 2061
aload 6 /* levelStack */
iload 3 /* stackPos */
iaload
istore 11 /* level */
start local 11 // int level
16: .line 2063
iconst_1
iload 11 /* level */
iconst_2
irem
isub
bipush 8
imul
istore 12 /* shift */
start local 12 // int shift
17: .line 2068
iload 9 /* first */
iload 10 /* length */
iadd
istore 13 /* i */
start local 13 // int i
18: goto 20
19: .line 2069
StackMap locals: char[] int int int int[] int[] int[] int[] int[] int int int int int
StackMap stack:
aload 7 /* count */
aload 0 /* a */
iload 13 /* i */
caload
iload 12 /* shift */
iushr
sipush 255
iand
dup2
iaload
iconst_1
iadd
iastore
20: .line 2068
StackMap locals:
StackMap stack:
iload 13 /* i */
iinc 13 /* i */ -1
iload 9 /* first */
if_icmpne 19
end local 13 // int i
21: .line 2071
iconst_m1
istore 13 /* lastUsed */
start local 13 // int lastUsed
22: .line 2072
iconst_0
istore 14 /* i */
start local 14 // int i
23: iload 9 /* first */
istore 15 /* p */
start local 15 // int p
24: goto 29
25: .line 2073
StackMap locals: int int
StackMap stack:
aload 7 /* count */
iload 14 /* i */
iaload
ifeq 27
26: .line 2074
iload 14 /* i */
istore 13 /* lastUsed */
27: .line 2075
StackMap locals:
StackMap stack:
aload 8 /* pos */
iload 14 /* i */
iload 15 /* p */
aload 7 /* count */
iload 14 /* i */
iaload
iadd
dup
istore 15 /* p */
iastore
28: .line 2072
iinc 14 /* i */ 1
StackMap locals:
StackMap stack:
29: iload 14 /* i */
sipush 256
if_icmplt 25
end local 15 // int p
end local 14 // int i
30: .line 2077
iload 9 /* first */
iload 10 /* length */
iadd
aload 7 /* count */
iload 13 /* lastUsed */
iaload
isub
istore 14 /* end */
start local 14 // int end
31: .line 2079
iload 9 /* first */
istore 15 /* i */
start local 15 // int i
32: iconst_m1
istore 16 /* c */
start local 16 // int c
33: goto 52
34: .line 2080
StackMap locals: int
StackMap stack:
aload 0 /* a */
iload 15 /* i */
caload
istore 18 /* t */
start local 18 // char t
35: .line 2081
iload 18 /* t */
iload 12 /* shift */
iushr
sipush 255
iand
istore 16 /* c */
36: .line 2082
iload 15 /* i */
iload 14 /* end */
if_icmpge 45
37: .line 2083
goto 42
start local 17 // int d
38: .line 2084
StackMap locals: int int
StackMap stack:
iload 18 /* t */
istore 19 /* z */
start local 19 // char z
39: .line 2085
aload 0 /* a */
iload 17 /* d */
caload
istore 18 /* t */
40: .line 2086
aload 0 /* a */
iload 17 /* d */
iload 19 /* z */
castore
41: .line 2087
iload 18 /* t */
iload 12 /* shift */
iushr
sipush 255
iand
istore 16 /* c */
end local 19 // char z
end local 17 // int d
42: .line 2083
StackMap locals: char[] int int int int[] int[] int[] int[] int[] int int int int int int int int top int
StackMap stack:
aload 8 /* pos */
iload 16 /* c */
dup2
iaload
iconst_1
isub
dup_x2
iastore
dup
istore 17 /* d */
start local 17 // int d
43: iload 15 /* i */
if_icmpgt 38
44: .line 2089
aload 0 /* a */
iload 15 /* i */
iload 18 /* t */
castore
end local 17 // int d
45: .line 2091
StackMap locals:
StackMap stack:
iload 11 /* level */
iconst_1
if_icmpge 51
aload 7 /* count */
iload 16 /* c */
iaload
iconst_1
if_icmple 51
46: .line 2092
aload 7 /* count */
iload 16 /* c */
iaload
sipush 1024
if_icmpge 48
47: .line 2093
aload 0 /* a */
iload 15 /* i */
iload 15 /* i */
aload 7 /* count */
iload 16 /* c */
iaload
iadd
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.quickSort:([CII)V
goto 51
48: .line 2095
StackMap locals:
StackMap stack:
aload 4 /* offsetStack */
iload 3 /* stackPos */
iload 15 /* i */
iastore
49: .line 2096
aload 5 /* lengthStack */
iload 3 /* stackPos */
aload 7 /* count */
iload 16 /* c */
iaload
iastore
50: .line 2097
aload 6 /* levelStack */
iload 3 /* stackPos */
iinc 3 /* stackPos */ 1
iload 11 /* level */
iconst_1
iadd
iastore
end local 18 // char t
51: .line 2079
StackMap locals: char[] int int int int[] int[] int[] int[] int[] int int int int int int int int
StackMap stack:
iload 15 /* i */
aload 7 /* count */
iload 16 /* c */
iaload
iadd
istore 15 /* i */
aload 7 /* count */
iload 16 /* c */
iconst_0
iastore
StackMap locals:
StackMap stack:
52: iload 15 /* i */
iload 14 /* end */
if_icmple 34
end local 16 // int c
end local 15 // int i
end local 14 // int end
end local 13 // int lastUsed
end local 12 // int shift
end local 11 // int level
end local 10 // int length
end local 9 // int first
53: .line 2058
StackMap locals: char[] int int int int[] int[] int[] int[] int[]
StackMap stack:
iload 3 /* stackPos */
ifgt 13
54: .line 2102
return
end local 8 // int[] pos
end local 7 // int[] count
end local 6 // int[] levelStack
end local 5 // int[] lengthStack
end local 4 // int[] offsetStack
end local 3 // int stackPos
end local 2 // int to
end local 1 // int from
end local 0 // char[] a
LocalVariableTable:
Start End Slot Name Signature
0 55 0 a [C
0 55 1 from I
0 55 2 to I
4 55 3 stackPos I
5 55 4 offsetStack [I
6 55 5 lengthStack [I
7 55 6 levelStack [I
11 55 7 count [I
12 55 8 pos [I
14 53 9 first I
15 53 10 length I
16 53 11 level I
17 53 12 shift I
18 21 13 i I
22 53 13 lastUsed I
23 30 14 i I
24 30 15 p I
31 53 14 end I
32 53 15 i I
33 53 16 c I
38 42 17 d I
43 45 17 d I
35 51 18 t C
39 42 19 z C
MethodParameters:
Name Flags
a final
from final
to final
public static void parallelRadixSort(char[], int, int);
descriptor: ([CII)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=11, args_size=3
start local 0 // char[] a
start local 1 // int from
start local 2 // int to
0: .line 2136
iload 2 /* to */
iload 1 /* from */
isub
sipush 1024
if_icmpge 3
1: .line 2137
aload 0 /* a */
iload 1 /* from */
iload 2 /* to */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.quickSort:([CII)V
2: .line 2138
return
3: .line 2141
StackMap locals:
StackMap stack:
new java.util.concurrent.LinkedBlockingQueue
dup
invokespecial java.util.concurrent.LinkedBlockingQueue.<init>:()V
astore 3 /* queue */
start local 3 // java.util.concurrent.LinkedBlockingQueue queue
4: .line 2142
aload 3 /* queue */
new it.unimi.dsi.fastutil.chars.CharArrays$Segment
dup
iload 1 /* from */
iload 2 /* to */
iload 1 /* from */
isub
iconst_0
invokespecial it.unimi.dsi.fastutil.chars.CharArrays$Segment.<init>:(III)V
invokevirtual java.util.concurrent.LinkedBlockingQueue.add:(Ljava/lang/Object;)Z
pop
5: .line 2143
new java.util.concurrent.atomic.AtomicInteger
dup
iconst_1
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:(I)V
astore 4 /* queueSize */
start local 4 // java.util.concurrent.atomic.AtomicInteger queueSize
6: .line 2144
invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
invokevirtual java.lang.Runtime.availableProcessors:()I
istore 5 /* numberOfThreads */
start local 5 // int numberOfThreads
7: .line 2145
iload 5 /* numberOfThreads */
8: .line 2146
invokestatic java.util.concurrent.Executors.defaultThreadFactory:()Ljava/util/concurrent/ThreadFactory;
9: .line 2145
invokestatic java.util.concurrent.Executors.newFixedThreadPool:(ILjava/util/concurrent/ThreadFactory;)Ljava/util/concurrent/ExecutorService;
astore 6 /* executorService */
start local 6 // java.util.concurrent.ExecutorService executorService
10: .line 2147
new java.util.concurrent.ExecutorCompletionService
dup
11: .line 2148
aload 6 /* executorService */
12: .line 2147
invokespecial java.util.concurrent.ExecutorCompletionService.<init>:(Ljava/util/concurrent/Executor;)V
astore 7 /* executorCompletionService */
start local 7 // java.util.concurrent.ExecutorCompletionService executorCompletionService
13: .line 2149
iload 5 /* numberOfThreads */
istore 8 /* j */
start local 8 // int j
14: goto 16
15: .line 2150
StackMap locals: char[] int int java.util.concurrent.LinkedBlockingQueue java.util.concurrent.atomic.AtomicInteger int java.util.concurrent.ExecutorService java.util.concurrent.ExecutorCompletionService int
StackMap stack:
aload 7 /* executorCompletionService */
aload 4 /* queueSize */
iload 5 /* numberOfThreads */
aload 3 /* queue */
aload 0 /* a */
invokedynamic call(Ljava/util/concurrent/atomic/AtomicInteger;ILjava/util/concurrent/LinkedBlockingQueue;[C)Ljava/util/concurrent/Callable;
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;
it/unimi/dsi/fastutil/chars/CharArrays.lambda$0(Ljava/util/concurrent/atomic/AtomicInteger;ILjava/util/concurrent/LinkedBlockingQueue;[C)Ljava/lang/Void; (6)
()Ljava/lang/Void;
invokevirtual java.util.concurrent.ExecutorCompletionService.submit:(Ljava/util/concurrent/Callable;)Ljava/util/concurrent/Future;
pop
16: .line 2149
StackMap locals:
StackMap stack:
iload 8 /* j */
iinc 8 /* j */ -1
ifne 15
end local 8 // int j
17: .line 2207
aconst_null
astore 8 /* problem */
start local 8 // java.lang.Throwable problem
18: .line 2208
iload 5 /* numberOfThreads */
istore 9 /* i */
start local 9 // int i
19: goto 24
20: .line 2210
StackMap locals: char[] int int java.util.concurrent.LinkedBlockingQueue java.util.concurrent.atomic.AtomicInteger int java.util.concurrent.ExecutorService java.util.concurrent.ExecutorCompletionService java.lang.Throwable int
StackMap stack:
aload 7 /* executorCompletionService */
invokevirtual java.util.concurrent.ExecutorCompletionService.take:()Ljava/util/concurrent/Future;
invokeinterface java.util.concurrent.Future.get:()Ljava/lang/Object;
pop
21: .line 2211
goto 24
StackMap locals:
StackMap stack: java.lang.Exception
22: astore 10 /* e */
start local 10 // java.lang.Exception e
23: .line 2212
aload 10 /* e */
invokevirtual java.lang.Exception.getCause:()Ljava/lang/Throwable;
astore 8 /* problem */
end local 10 // java.lang.Exception e
24: .line 2208
StackMap locals:
StackMap stack:
iload 9 /* i */
iinc 9 /* i */ -1
ifne 20
end local 9 // int i
25: .line 2214
aload 6 /* executorService */
invokeinterface java.util.concurrent.ExecutorService.shutdown:()V
26: .line 2215
aload 8 /* problem */
ifnull 30
27: .line 2216
aload 8 /* problem */
instanceof java.lang.RuntimeException
ifeq 28
aload 8 /* problem */
checkcast java.lang.RuntimeException
goto 29
StackMap locals:
StackMap stack:
28: new java.lang.RuntimeException
dup
aload 8 /* problem */
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack: java.lang.RuntimeException
29: athrow
30: .line 2217
StackMap locals:
StackMap stack:
return
end local 8 // java.lang.Throwable problem
end local 7 // java.util.concurrent.ExecutorCompletionService executorCompletionService
end local 6 // java.util.concurrent.ExecutorService executorService
end local 5 // int numberOfThreads
end local 4 // java.util.concurrent.atomic.AtomicInteger queueSize
end local 3 // java.util.concurrent.LinkedBlockingQueue queue
end local 2 // int to
end local 1 // int from
end local 0 // char[] a
LocalVariableTable:
Start End Slot Name Signature
0 31 0 a [C
0 31 1 from I
0 31 2 to I
4 31 3 queue Ljava/util/concurrent/LinkedBlockingQueue<Lit/unimi/dsi/fastutil/chars/CharArrays$Segment;>;
6 31 4 queueSize Ljava/util/concurrent/atomic/AtomicInteger;
7 31 5 numberOfThreads I
10 31 6 executorService Ljava/util/concurrent/ExecutorService;
13 31 7 executorCompletionService Ljava/util/concurrent/ExecutorCompletionService<Ljava/lang/Void;>;
14 17 8 j I
18 31 8 problem Ljava/lang/Throwable;
19 25 9 i I
23 24 10 e Ljava/lang/Exception;
Exception table:
from to target type
20 21 22 Class java.lang.Exception
MethodParameters:
Name Flags
a final
from final
to final
public static void parallelRadixSort(char[]);
descriptor: ([C)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 // char[] a
0: .line 2234
aload 0 /* a */
iconst_0
aload 0 /* a */
arraylength
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.parallelRadixSort:([CII)V
1: .line 2235
return
end local 0 // char[] a
LocalVariableTable:
Start End Slot Name Signature
0 2 0 a [C
MethodParameters:
Name Flags
a final
public static void radixSortIndirect(int[], char[], boolean);
descriptor: ([I[CZ)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=3
start local 0 // int[] perm
start local 1 // char[] a
start local 2 // boolean stable
0: .line 2261
aload 0 /* perm */
aload 1 /* a */
iconst_0
aload 0 /* perm */
arraylength
iload 2 /* stable */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.radixSortIndirect:([I[CIIZ)V
1: .line 2262
return
end local 2 // boolean stable
end local 1 // char[] a
end local 0 // int[] perm
LocalVariableTable:
Start End Slot Name Signature
0 2 0 perm [I
0 2 1 a [C
0 2 2 stable Z
MethodParameters:
Name Flags
perm final
a final
stable final
public static void radixSortIndirect(int[], char[], int, int, boolean);
descriptor: ([I[CIIZ)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=23, args_size=5
start local 0 // int[] perm
start local 1 // char[] a
start local 2 // int from
start local 3 // int to
start local 4 // boolean stable
0: .line 2295
iload 3 /* to */
iload 2 /* from */
isub
sipush 1024
if_icmpge 3
1: .line 2296
aload 0 /* perm */
aload 1 /* a */
iload 2 /* from */
iload 3 /* to */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.insertionSortIndirect:([I[CII)V
2: .line 2297
return
3: .line 2301
StackMap locals:
StackMap stack:
iconst_0
istore 5 /* stackPos */
start local 5 // int stackPos
4: .line 2302
sipush 256
newarray 10
astore 6 /* offsetStack */
start local 6 // int[] offsetStack
5: .line 2303
sipush 256
newarray 10
astore 7 /* lengthStack */
start local 7 // int[] lengthStack
6: .line 2304
sipush 256
newarray 10
astore 8 /* levelStack */
start local 8 // int[] levelStack
7: .line 2305
aload 6 /* offsetStack */
iload 5 /* stackPos */
iload 2 /* from */
iastore
8: .line 2306
aload 7 /* lengthStack */
iload 5 /* stackPos */
iload 3 /* to */
iload 2 /* from */
isub
iastore
9: .line 2307
aload 8 /* levelStack */
iload 5 /* stackPos */
iinc 5 /* stackPos */ 1
iconst_0
iastore
10: .line 2308
sipush 256
newarray 10
astore 9 /* count */
start local 9 // int[] count
11: .line 2309
sipush 256
newarray 10
astore 10 /* pos */
start local 10 // int[] pos
12: .line 2310
iload 4 /* stable */
ifeq 13
aload 0 /* perm */
arraylength
newarray 10
goto 14
StackMap locals: int[] char[] int int int int int[] int[] int[] int[] int[]
StackMap stack:
13: aconst_null
StackMap locals:
StackMap stack: int[]
14: astore 11 /* support */
start local 11 // int[] support
15: .line 2311
goto 78
16: .line 2312
StackMap locals: int[]
StackMap stack:
aload 6 /* offsetStack */
iinc 5 /* stackPos */ -1
iload 5 /* stackPos */
iaload
istore 12 /* first */
start local 12 // int first
17: .line 2313
aload 7 /* lengthStack */
iload 5 /* stackPos */
iaload
istore 13 /* length */
start local 13 // int length
18: .line 2314
aload 8 /* levelStack */
iload 5 /* stackPos */
iaload
istore 14 /* level */
start local 14 // int level
19: .line 2316
iconst_1
iload 14 /* level */
iconst_2
irem
isub
bipush 8
imul
istore 15 /* shift */
start local 15 // int shift
20: .line 2321
iload 12 /* first */
iload 13 /* length */
iadd
istore 16 /* i */
start local 16 // int i
21: goto 23
22: .line 2322
StackMap locals: int[] char[] int int int int int[] int[] int[] int[] int[] int[] int int int int int
StackMap stack:
aload 9 /* count */
aload 1 /* a */
aload 0 /* perm */
iload 16 /* i */
iaload
caload
iload 15 /* shift */
iushr
sipush 255
iand
dup2
iaload
iconst_1
iadd
iastore
23: .line 2321
StackMap locals:
StackMap stack:
iload 16 /* i */
iinc 16 /* i */ -1
iload 12 /* first */
if_icmpne 22
end local 16 // int i
24: .line 2324
iconst_m1
istore 16 /* lastUsed */
start local 16 // int lastUsed
25: .line 2325
iconst_0
istore 17 /* i */
start local 17 // int i
26: iload 4 /* stable */
ifeq 27
iconst_0
goto 28
StackMap locals: int
StackMap stack:
27: iload 12 /* first */
StackMap locals:
StackMap stack: int
28: istore 18 /* p */
start local 18 // int p
29: goto 34
30: .line 2326
StackMap locals: int
StackMap stack:
aload 9 /* count */
iload 17 /* i */
iaload
ifeq 32
31: .line 2327
iload 17 /* i */
istore 16 /* lastUsed */
32: .line 2328
StackMap locals:
StackMap stack:
aload 10 /* pos */
iload 17 /* i */
iload 18 /* p */
aload 9 /* count */
iload 17 /* i */
iaload
iadd
dup
istore 18 /* p */
iastore
33: .line 2325
iinc 17 /* i */ 1
StackMap locals:
StackMap stack:
34: iload 17 /* i */
sipush 256
if_icmplt 30
end local 18 // int p
end local 17 // int i
35: .line 2330
iload 4 /* stable */
ifeq 55
36: .line 2331
iload 12 /* first */
iload 13 /* length */
iadd
istore 17 /* i */
start local 17 // int i
37: goto 39
38: .line 2332
StackMap locals:
StackMap stack:
aload 11 /* support */
aload 10 /* pos */
aload 1 /* a */
aload 0 /* perm */
iload 17 /* i */
iaload
caload
iload 15 /* shift */
iushr
sipush 255
iand
dup2
iaload
iconst_1
isub
dup_x2
iastore
aload 0 /* perm */
iload 17 /* i */
iaload
iastore
39: .line 2331
StackMap locals:
StackMap stack:
iload 17 /* i */
iinc 17 /* i */ -1
iload 12 /* first */
if_icmpne 38
end local 17 // int i
40: .line 2333
aload 11 /* support */
iconst_0
aload 0 /* perm */
iload 12 /* first */
iload 13 /* length */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
41: .line 2334
iconst_0
istore 17 /* i */
start local 17 // int i
42: iload 12 /* first */
istore 18 /* p */
start local 18 // int p
43: goto 52
44: .line 2335
StackMap locals: int
StackMap stack:
iload 14 /* level */
iconst_1
if_icmpge 50
aload 9 /* count */
iload 17 /* i */
iaload
iconst_1
if_icmple 50
45: .line 2336
aload 9 /* count */
iload 17 /* i */
iaload
sipush 1024
if_icmpge 47
46: .line 2337
aload 0 /* perm */
aload 1 /* a */
iload 18 /* p */
iload 18 /* p */
aload 9 /* count */
iload 17 /* i */
iaload
iadd
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.insertionSortIndirect:([I[CII)V
goto 50
47: .line 2339
StackMap locals:
StackMap stack:
aload 6 /* offsetStack */
iload 5 /* stackPos */
iload 18 /* p */
iastore
48: .line 2340
aload 7 /* lengthStack */
iload 5 /* stackPos */
aload 9 /* count */
iload 17 /* i */
iaload
iastore
49: .line 2341
aload 8 /* levelStack */
iload 5 /* stackPos */
iinc 5 /* stackPos */ 1
iload 14 /* level */
iconst_1
iadd
iastore
50: .line 2344
StackMap locals:
StackMap stack:
iload 18 /* p */
aload 9 /* count */
iload 17 /* i */
iaload
iadd
istore 18 /* p */
51: .line 2334
iinc 17 /* i */ 1
StackMap locals:
StackMap stack:
52: iload 17 /* i */
iload 16 /* lastUsed */
if_icmple 44
end local 18 // int p
end local 17 // int i
53: .line 2346
aload 9 /* count */
iconst_0
invokestatic java.util.Arrays.fill:([II)V
54: .line 2347
goto 78
55: .line 2348
StackMap locals:
StackMap stack:
iload 12 /* first */
iload 13 /* length */
iadd
aload 9 /* count */
iload 16 /* lastUsed */
iaload
isub
istore 17 /* end */
start local 17 // int end
56: .line 2350
iload 12 /* first */
istore 18 /* i */
start local 18 // int i
57: iconst_m1
istore 19 /* c */
start local 19 // int c
58: goto 77
59: .line 2351
StackMap locals: int int int
StackMap stack:
aload 0 /* perm */
iload 18 /* i */
iaload
istore 21 /* t */
start local 21 // int t
60: .line 2352
aload 1 /* a */
iload 21 /* t */
caload
iload 15 /* shift */
iushr
sipush 255
iand
istore 19 /* c */
61: .line 2353
iload 18 /* i */
iload 17 /* end */
if_icmpge 70
62: .line 2354
goto 67
start local 20 // int d
63: .line 2355
StackMap locals: int int
StackMap stack:
iload 21 /* t */
istore 22 /* z */
start local 22 // int z
64: .line 2356
aload 0 /* perm */
iload 20 /* d */
iaload
istore 21 /* t */
65: .line 2357
aload 0 /* perm */
iload 20 /* d */
iload 22 /* z */
iastore
66: .line 2358
aload 1 /* a */
iload 21 /* t */
caload
iload 15 /* shift */
iushr
sipush 255
iand
istore 19 /* c */
end local 22 // int z
end local 20 // int d
67: .line 2354
StackMap locals: int[] char[] int int int int int[] int[] int[] int[] int[] int[] int int int int int int int int top int
StackMap stack:
aload 10 /* pos */
iload 19 /* c */
dup2
iaload
iconst_1
isub
dup_x2
iastore
dup
istore 20 /* d */
start local 20 // int d
68: iload 18 /* i */
if_icmpgt 63
69: .line 2360
aload 0 /* perm */
iload 18 /* i */
iload 21 /* t */
iastore
end local 20 // int d
70: .line 2362
StackMap locals:
StackMap stack:
iload 14 /* level */
iconst_1
if_icmpge 76
aload 9 /* count */
iload 19 /* c */
iaload
iconst_1
if_icmple 76
71: .line 2363
aload 9 /* count */
iload 19 /* c */
iaload
sipush 1024
if_icmpge 73
72: .line 2364
aload 0 /* perm */
aload 1 /* a */
iload 18 /* i */
iload 18 /* i */
aload 9 /* count */
iload 19 /* c */
iaload
iadd
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.insertionSortIndirect:([I[CII)V
goto 76
73: .line 2366
StackMap locals:
StackMap stack:
aload 6 /* offsetStack */
iload 5 /* stackPos */
iload 18 /* i */
iastore
74: .line 2367
aload 7 /* lengthStack */
iload 5 /* stackPos */
aload 9 /* count */
iload 19 /* c */
iaload
iastore
75: .line 2368
aload 8 /* levelStack */
iload 5 /* stackPos */
iinc 5 /* stackPos */ 1
iload 14 /* level */
iconst_1
iadd
iastore
end local 21 // int t
76: .line 2350
StackMap locals: int[] char[] int int int int int[] int[] int[] int[] int[] int[] int int int int int int int int
StackMap stack:
iload 18 /* i */
aload 9 /* count */
iload 19 /* c */
iaload
iadd
istore 18 /* i */
aload 9 /* count */
iload 19 /* c */
iconst_0
iastore
StackMap locals:
StackMap stack:
77: iload 18 /* i */
iload 17 /* end */
if_icmple 59
end local 19 // int c
end local 18 // int i
end local 17 // int end
end local 16 // int lastUsed
end local 15 // int shift
end local 14 // int level
end local 13 // int length
end local 12 // int first
78: .line 2311
StackMap locals: int[] char[] int int int int int[] int[] int[] int[] int[] int[]
StackMap stack:
iload 5 /* stackPos */
ifgt 16
79: .line 2374
return
end local 11 // int[] support
end local 10 // int[] pos
end local 9 // int[] count
end local 8 // int[] levelStack
end local 7 // int[] lengthStack
end local 6 // int[] offsetStack
end local 5 // int stackPos
end local 4 // boolean stable
end local 3 // int to
end local 2 // int from
end local 1 // char[] a
end local 0 // int[] perm
LocalVariableTable:
Start End Slot Name Signature
0 80 0 perm [I
0 80 1 a [C
0 80 2 from I
0 80 3 to I
0 80 4 stable Z
4 80 5 stackPos I
5 80 6 offsetStack [I
6 80 7 lengthStack [I
7 80 8 levelStack [I
11 80 9 count [I
12 80 10 pos [I
15 80 11 support [I
17 78 12 first I
18 78 13 length I
19 78 14 level I
20 78 15 shift I
21 24 16 i I
25 78 16 lastUsed I
26 35 17 i I
29 35 18 p I
37 40 17 i I
42 53 17 i I
43 53 18 p I
56 78 17 end I
57 78 18 i I
58 78 19 c I
63 67 20 d I
68 70 20 d I
60 76 21 t I
64 67 22 z I
MethodParameters:
Name Flags
perm final
a final
from final
to final
stable final
public static void parallelRadixSortIndirect(int[], char[], int, int, boolean);
descriptor: ([I[CIIZ)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=14, args_size=5
start local 0 // int[] perm
start local 1 // char[] a
start local 2 // int from
start local 3 // int to
start local 4 // boolean stable
0: .line 2405
iload 3 /* to */
iload 2 /* from */
isub
sipush 1024
if_icmpge 3
1: .line 2406
aload 0 /* perm */
aload 1 /* a */
iload 2 /* from */
iload 3 /* to */
iload 4 /* stable */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.radixSortIndirect:([I[CIIZ)V
2: .line 2407
return
3: .line 2410
StackMap locals:
StackMap stack:
new java.util.concurrent.LinkedBlockingQueue
dup
invokespecial java.util.concurrent.LinkedBlockingQueue.<init>:()V
astore 5 /* queue */
start local 5 // java.util.concurrent.LinkedBlockingQueue queue
4: .line 2411
aload 5 /* queue */
new it.unimi.dsi.fastutil.chars.CharArrays$Segment
dup
iload 2 /* from */
iload 3 /* to */
iload 2 /* from */
isub
iconst_0
invokespecial it.unimi.dsi.fastutil.chars.CharArrays$Segment.<init>:(III)V
invokevirtual java.util.concurrent.LinkedBlockingQueue.add:(Ljava/lang/Object;)Z
pop
5: .line 2412
new java.util.concurrent.atomic.AtomicInteger
dup
iconst_1
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:(I)V
astore 6 /* queueSize */
start local 6 // java.util.concurrent.atomic.AtomicInteger queueSize
6: .line 2413
invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
invokevirtual java.lang.Runtime.availableProcessors:()I
istore 7 /* numberOfThreads */
start local 7 // int numberOfThreads
7: .line 2414
iload 7 /* numberOfThreads */
8: .line 2415
invokestatic java.util.concurrent.Executors.defaultThreadFactory:()Ljava/util/concurrent/ThreadFactory;
9: .line 2414
invokestatic java.util.concurrent.Executors.newFixedThreadPool:(ILjava/util/concurrent/ThreadFactory;)Ljava/util/concurrent/ExecutorService;
astore 8 /* executorService */
start local 8 // java.util.concurrent.ExecutorService executorService
10: .line 2416
new java.util.concurrent.ExecutorCompletionService
dup
11: .line 2417
aload 8 /* executorService */
12: .line 2416
invokespecial java.util.concurrent.ExecutorCompletionService.<init>:(Ljava/util/concurrent/Executor;)V
astore 9 /* executorCompletionService */
start local 9 // java.util.concurrent.ExecutorCompletionService executorCompletionService
13: .line 2418
iload 4 /* stable */
ifeq 14
aload 0 /* perm */
arraylength
newarray 10
goto 15
StackMap locals: int[] char[] int int int java.util.concurrent.LinkedBlockingQueue java.util.concurrent.atomic.AtomicInteger int java.util.concurrent.ExecutorService java.util.concurrent.ExecutorCompletionService
StackMap stack:
14: aconst_null
StackMap locals:
StackMap stack: int[]
15: astore 10 /* support */
start local 10 // int[] support
16: .line 2419
iload 7 /* numberOfThreads */
istore 11 /* j */
start local 11 // int j
17: goto 19
18: .line 2420
StackMap locals: int[] int
StackMap stack:
aload 9 /* executorCompletionService */
aload 6 /* queueSize */
iload 7 /* numberOfThreads */
aload 5 /* queue */
aload 1 /* a */
aload 0 /* perm */
iload 4 /* stable */
aload 10 /* support */
invokedynamic call(Ljava/util/concurrent/atomic/AtomicInteger;ILjava/util/concurrent/LinkedBlockingQueue;[C[IZ[I)Ljava/util/concurrent/Callable;
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;
it/unimi/dsi/fastutil/chars/CharArrays.lambda$1(Ljava/util/concurrent/atomic/AtomicInteger;ILjava/util/concurrent/LinkedBlockingQueue;[C[IZ[I)Ljava/lang/Void; (6)
()Ljava/lang/Void;
invokevirtual java.util.concurrent.ExecutorCompletionService.submit:(Ljava/util/concurrent/Callable;)Ljava/util/concurrent/Future;
pop
19: .line 2419
StackMap locals:
StackMap stack:
iload 11 /* j */
iinc 11 /* j */ -1
ifne 18
end local 11 // int j
20: .line 2495
aconst_null
astore 11 /* problem */
start local 11 // java.lang.Throwable problem
21: .line 2496
iload 7 /* numberOfThreads */
istore 12 /* i */
start local 12 // int i
22: goto 27
23: .line 2498
StackMap locals: int[] char[] int int int java.util.concurrent.LinkedBlockingQueue java.util.concurrent.atomic.AtomicInteger int java.util.concurrent.ExecutorService java.util.concurrent.ExecutorCompletionService int[] java.lang.Throwable int
StackMap stack:
aload 9 /* executorCompletionService */
invokevirtual java.util.concurrent.ExecutorCompletionService.take:()Ljava/util/concurrent/Future;
invokeinterface java.util.concurrent.Future.get:()Ljava/lang/Object;
pop
24: .line 2499
goto 27
StackMap locals:
StackMap stack: java.lang.Exception
25: astore 13 /* e */
start local 13 // java.lang.Exception e
26: .line 2500
aload 13 /* e */
invokevirtual java.lang.Exception.getCause:()Ljava/lang/Throwable;
astore 11 /* problem */
end local 13 // java.lang.Exception e
27: .line 2496
StackMap locals:
StackMap stack:
iload 12 /* i */
iinc 12 /* i */ -1
ifne 23
end local 12 // int i
28: .line 2502
aload 8 /* executorService */
invokeinterface java.util.concurrent.ExecutorService.shutdown:()V
29: .line 2503
aload 11 /* problem */
ifnull 33
30: .line 2504
aload 11 /* problem */
instanceof java.lang.RuntimeException
ifeq 31
aload 11 /* problem */
checkcast java.lang.RuntimeException
goto 32
StackMap locals:
StackMap stack:
31: new java.lang.RuntimeException
dup
aload 11 /* problem */
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack: java.lang.RuntimeException
32: athrow
33: .line 2505
StackMap locals:
StackMap stack:
return
end local 11 // java.lang.Throwable problem
end local 10 // int[] support
end local 9 // java.util.concurrent.ExecutorCompletionService executorCompletionService
end local 8 // java.util.concurrent.ExecutorService executorService
end local 7 // int numberOfThreads
end local 6 // java.util.concurrent.atomic.AtomicInteger queueSize
end local 5 // java.util.concurrent.LinkedBlockingQueue queue
end local 4 // boolean stable
end local 3 // int to
end local 2 // int from
end local 1 // char[] a
end local 0 // int[] perm
LocalVariableTable:
Start End Slot Name Signature
0 34 0 perm [I
0 34 1 a [C
0 34 2 from I
0 34 3 to I
0 34 4 stable Z
4 34 5 queue Ljava/util/concurrent/LinkedBlockingQueue<Lit/unimi/dsi/fastutil/chars/CharArrays$Segment;>;
6 34 6 queueSize Ljava/util/concurrent/atomic/AtomicInteger;
7 34 7 numberOfThreads I
10 34 8 executorService Ljava/util/concurrent/ExecutorService;
13 34 9 executorCompletionService Ljava/util/concurrent/ExecutorCompletionService<Ljava/lang/Void;>;
16 34 10 support [I
17 20 11 j I
21 34 11 problem Ljava/lang/Throwable;
22 28 12 i I
26 27 13 e Ljava/lang/Exception;
Exception table:
from to target type
23 24 25 Class java.lang.Exception
MethodParameters:
Name Flags
perm final
a final
from final
to final
stable final
public static void parallelRadixSortIndirect(int[], char[], boolean);
descriptor: ([I[CZ)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=3
start local 0 // int[] perm
start local 1 // char[] a
start local 2 // boolean stable
0: .line 2531
aload 0 /* perm */
aload 1 /* a */
iconst_0
aload 1 /* a */
arraylength
iload 2 /* stable */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.parallelRadixSortIndirect:([I[CIIZ)V
1: .line 2532
return
end local 2 // boolean stable
end local 1 // char[] a
end local 0 // int[] perm
LocalVariableTable:
Start End Slot Name Signature
0 2 0 perm [I
0 2 1 a [C
0 2 2 stable Z
MethodParameters:
Name Flags
perm final
a final
stable final
public static void radixSort(char[], char[]);
descriptor: ([C[C)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 // char[] a
start local 1 // char[] b
0: .line 2553
aload 0 /* a */
aload 1 /* b */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.ensureSameLength:([C[C)V
1: .line 2554
aload 0 /* a */
aload 1 /* b */
iconst_0
aload 0 /* a */
arraylength
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.radixSort:([C[CII)V
2: .line 2555
return
end local 1 // char[] b
end local 0 // char[] a
LocalVariableTable:
Start End Slot Name Signature
0 3 0 a [C
0 3 1 b [C
MethodParameters:
Name Flags
a final
b final
public static void radixSort(char[], char[], int, int);
descriptor: ([C[CII)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=23, args_size=4
start local 0 // char[] a
start local 1 // char[] b
start local 2 // int from
start local 3 // int to
0: .line 2581
iload 3 /* to */
iload 2 /* from */
isub
sipush 1024
if_icmpge 3
1: .line 2582
aload 0 /* a */
aload 1 /* b */
iload 2 /* from */
iload 3 /* to */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.selectionSort:([C[CII)V
2: .line 2583
return
3: .line 2588
StackMap locals:
StackMap stack:
iconst_0
istore 4 /* stackPos */
start local 4 // int stackPos
4: .line 2589
sipush 766
newarray 10
astore 5 /* offsetStack */
start local 5 // int[] offsetStack
5: .line 2590
sipush 766
newarray 10
astore 6 /* lengthStack */
start local 6 // int[] lengthStack
6: .line 2591
sipush 766
newarray 10
astore 7 /* levelStack */
start local 7 // int[] levelStack
7: .line 2592
aload 5 /* offsetStack */
iload 4 /* stackPos */
iload 2 /* from */
iastore
8: .line 2593
aload 6 /* lengthStack */
iload 4 /* stackPos */
iload 3 /* to */
iload 2 /* from */
isub
iastore
9: .line 2594
aload 7 /* levelStack */
iload 4 /* stackPos */
iinc 4 /* stackPos */ 1
iconst_0
iastore
10: .line 2595
sipush 256
newarray 10
astore 8 /* count */
start local 8 // int[] count
11: .line 2596
sipush 256
newarray 10
astore 9 /* pos */
start local 9 // int[] pos
12: .line 2597
goto 61
13: .line 2598
StackMap locals: char[] char[] int int int int[] int[] int[] int[] int[]
StackMap stack:
aload 5 /* offsetStack */
iinc 4 /* stackPos */ -1
iload 4 /* stackPos */
iaload
istore 10 /* first */
start local 10 // int first
14: .line 2599
aload 6 /* lengthStack */
iload 4 /* stackPos */
iaload
istore 11 /* length */
start local 11 // int length
15: .line 2600
aload 7 /* levelStack */
iload 4 /* stackPos */
iaload
istore 12 /* level */
start local 12 // int level
16: .line 2602
iload 12 /* level */
iconst_2
if_icmpge 17
aload 0 /* a */
goto 18
StackMap locals: int int int
StackMap stack:
17: aload 1 /* b */
StackMap locals:
StackMap stack: char[]
18: astore 13 /* k */
start local 13 // char[] k
19: .line 2603
iconst_1
iload 12 /* level */
iconst_2
irem
isub
bipush 8
imul
istore 14 /* shift */
start local 14 // int shift
20: .line 2608
iload 10 /* first */
iload 11 /* length */
iadd
istore 15 /* i */
start local 15 // int i
21: goto 23
22: .line 2609
StackMap locals: char[] int int
StackMap stack:
aload 8 /* count */
aload 13 /* k */
iload 15 /* i */
caload
iload 14 /* shift */
iushr
sipush 255
iand
dup2
iaload
iconst_1
iadd
iastore
23: .line 2608
StackMap locals:
StackMap stack:
iload 15 /* i */
iinc 15 /* i */ -1
iload 10 /* first */
if_icmpne 22
end local 15 // int i
24: .line 2611
iconst_m1
istore 15 /* lastUsed */
start local 15 // int lastUsed
25: .line 2612
iconst_0
istore 16 /* i */
start local 16 // int i
26: iload 10 /* first */
istore 17 /* p */
start local 17 // int p
27: goto 32
28: .line 2613
StackMap locals: int int
StackMap stack:
aload 8 /* count */
iload 16 /* i */
iaload
ifeq 30
29: .line 2614
iload 16 /* i */
istore 15 /* lastUsed */
30: .line 2615
StackMap locals:
StackMap stack:
aload 9 /* pos */
iload 16 /* i */
iload 17 /* p */
aload 8 /* count */
iload 16 /* i */
iaload
iadd
dup
istore 17 /* p */
iastore
31: .line 2612
iinc 16 /* i */ 1
StackMap locals:
StackMap stack:
32: iload 16 /* i */
sipush 256
if_icmplt 28
end local 17 // int p
end local 16 // int i
33: .line 2617
iload 10 /* first */
iload 11 /* length */
iadd
aload 8 /* count */
iload 15 /* lastUsed */
iaload
isub
istore 16 /* end */
start local 16 // int end
34: .line 2619
iload 10 /* first */
istore 17 /* i */
start local 17 // int i
35: iconst_m1
istore 18 /* c */
start local 18 // int c
36: goto 60
37: .line 2620
StackMap locals: int
StackMap stack:
aload 0 /* a */
iload 17 /* i */
caload
istore 20 /* t */
start local 20 // char t
38: .line 2621
aload 1 /* b */
iload 17 /* i */
caload
istore 21 /* u */
start local 21 // char u
39: .line 2622
aload 13 /* k */
iload 17 /* i */
caload
iload 14 /* shift */
iushr
sipush 255
iand
istore 18 /* c */
40: .line 2623
iload 17 /* i */
iload 16 /* end */
if_icmpge 53
41: .line 2624
goto 49
start local 19 // int d
42: .line 2625
StackMap locals: int int int
StackMap stack:
aload 13 /* k */
iload 19 /* d */
caload
iload 14 /* shift */
iushr
sipush 255
iand
istore 18 /* c */
43: .line 2626
iload 20 /* t */
istore 22 /* z */
start local 22 // char z
44: .line 2627
aload 0 /* a */
iload 19 /* d */
caload
istore 20 /* t */
45: .line 2628
aload 0 /* a */
iload 19 /* d */
iload 22 /* z */
castore
46: .line 2629
iload 21 /* u */
istore 22 /* z */
47: .line 2630
aload 1 /* b */
iload 19 /* d */
caload
istore 21 /* u */
48: .line 2631
aload 1 /* b */
iload 19 /* d */
iload 22 /* z */
castore
end local 22 // char z
end local 19 // int d
49: .line 2624
StackMap locals: char[] char[] int int int int[] int[] int[] int[] int[] int int int char[] int int int int int top int int
StackMap stack:
aload 9 /* pos */
iload 18 /* c */
dup2
iaload
iconst_1
isub
dup_x2
iastore
dup
istore 19 /* d */
start local 19 // int d
50: iload 17 /* i */
if_icmpgt 42
51: .line 2633
aload 0 /* a */
iload 17 /* i */
iload 20 /* t */
castore
52: .line 2634
aload 1 /* b */
iload 17 /* i */
iload 21 /* u */
castore
end local 19 // int d
53: .line 2636
StackMap locals:
StackMap stack:
iload 12 /* level */
iconst_3
if_icmpge 59
aload 8 /* count */
iload 18 /* c */
iaload
iconst_1
if_icmple 59
54: .line 2637
aload 8 /* count */
iload 18 /* c */
iaload
sipush 1024
if_icmpge 56
55: .line 2638
aload 0 /* a */
aload 1 /* b */
iload 17 /* i */
iload 17 /* i */
aload 8 /* count */
iload 18 /* c */
iaload
iadd
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.selectionSort:([C[CII)V
goto 59
56: .line 2640
StackMap locals:
StackMap stack:
aload 5 /* offsetStack */
iload 4 /* stackPos */
iload 17 /* i */
iastore
57: .line 2641
aload 6 /* lengthStack */
iload 4 /* stackPos */
aload 8 /* count */
iload 18 /* c */
iaload
iastore
58: .line 2642
aload 7 /* levelStack */
iload 4 /* stackPos */
iinc 4 /* stackPos */ 1
iload 12 /* level */
iconst_1
iadd
iastore
end local 21 // char u
end local 20 // char t
59: .line 2619
StackMap locals: char[] char[] int int int int[] int[] int[] int[] int[] int int int char[] int int int int int
StackMap stack:
iload 17 /* i */
aload 8 /* count */
iload 18 /* c */
iaload
iadd
istore 17 /* i */
aload 8 /* count */
iload 18 /* c */
iconst_0
iastore
StackMap locals:
StackMap stack:
60: iload 17 /* i */
iload 16 /* end */
if_icmple 37
end local 18 // int c
end local 17 // int i
end local 16 // int end
end local 15 // int lastUsed
end local 14 // int shift
end local 13 // char[] k
end local 12 // int level
end local 11 // int length
end local 10 // int first
61: .line 2597
StackMap locals: char[] char[] int int int int[] int[] int[] int[] int[]
StackMap stack:
iload 4 /* stackPos */
ifgt 13
62: .line 2647
return
end local 9 // int[] pos
end local 8 // int[] count
end local 7 // int[] levelStack
end local 6 // int[] lengthStack
end local 5 // int[] offsetStack
end local 4 // int stackPos
end local 3 // int to
end local 2 // int from
end local 1 // char[] b
end local 0 // char[] a
LocalVariableTable:
Start End Slot Name Signature
0 63 0 a [C
0 63 1 b [C
0 63 2 from I
0 63 3 to I
4 63 4 stackPos I
5 63 5 offsetStack [I
6 63 6 lengthStack [I
7 63 7 levelStack [I
11 63 8 count [I
12 63 9 pos [I
14 61 10 first I
15 61 11 length I
16 61 12 level I
19 61 13 k [C
20 61 14 shift I
21 24 15 i I
25 61 15 lastUsed I
26 33 16 i I
27 33 17 p I
34 61 16 end I
35 61 17 i I
36 61 18 c I
42 49 19 d I
50 53 19 d I
38 59 20 t C
39 59 21 u C
44 49 22 z C
MethodParameters:
Name Flags
a final
b final
from final
to final
public static void parallelRadixSort(char[], char[], int, int);
descriptor: ([C[CII)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=12, args_size=4
start local 0 // char[] a
start local 1 // char[] b
start local 2 // int from
start local 3 // int to
0: .line 2678
iload 3 /* to */
iload 2 /* from */
isub
sipush 1024
if_icmpge 3
1: .line 2679
aload 0 /* a */
aload 1 /* b */
iload 2 /* from */
iload 3 /* to */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.quickSort:([C[CII)V
2: .line 2680
return
3: .line 2683
StackMap locals:
StackMap stack:
aload 0 /* a */
arraylength
aload 1 /* b */
arraylength
if_icmpeq 5
4: .line 2684
new java.lang.IllegalArgumentException
dup
ldc "Array size mismatch."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: .line 2686
StackMap locals:
StackMap stack:
new java.util.concurrent.LinkedBlockingQueue
dup
invokespecial java.util.concurrent.LinkedBlockingQueue.<init>:()V
astore 4 /* queue */
start local 4 // java.util.concurrent.LinkedBlockingQueue queue
6: .line 2687
aload 4 /* queue */
new it.unimi.dsi.fastutil.chars.CharArrays$Segment
dup
iload 2 /* from */
iload 3 /* to */
iload 2 /* from */
isub
iconst_0
invokespecial it.unimi.dsi.fastutil.chars.CharArrays$Segment.<init>:(III)V
invokevirtual java.util.concurrent.LinkedBlockingQueue.add:(Ljava/lang/Object;)Z
pop
7: .line 2688
new java.util.concurrent.atomic.AtomicInteger
dup
iconst_1
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:(I)V
astore 5 /* queueSize */
start local 5 // java.util.concurrent.atomic.AtomicInteger queueSize
8: .line 2689
invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
invokevirtual java.lang.Runtime.availableProcessors:()I
istore 6 /* numberOfThreads */
start local 6 // int numberOfThreads
9: .line 2690
iload 6 /* numberOfThreads */
10: .line 2691
invokestatic java.util.concurrent.Executors.defaultThreadFactory:()Ljava/util/concurrent/ThreadFactory;
11: .line 2690
invokestatic java.util.concurrent.Executors.newFixedThreadPool:(ILjava/util/concurrent/ThreadFactory;)Ljava/util/concurrent/ExecutorService;
astore 7 /* executorService */
start local 7 // java.util.concurrent.ExecutorService executorService
12: .line 2692
new java.util.concurrent.ExecutorCompletionService
dup
13: .line 2693
aload 7 /* executorService */
14: .line 2692
invokespecial java.util.concurrent.ExecutorCompletionService.<init>:(Ljava/util/concurrent/Executor;)V
astore 8 /* executorCompletionService */
start local 8 // java.util.concurrent.ExecutorCompletionService executorCompletionService
15: .line 2694
iload 6 /* numberOfThreads */
istore 9 /* j */
start local 9 // int j
16: goto 18
17: .line 2695
StackMap locals: char[] char[] int int java.util.concurrent.LinkedBlockingQueue java.util.concurrent.atomic.AtomicInteger int java.util.concurrent.ExecutorService java.util.concurrent.ExecutorCompletionService int
StackMap stack:
aload 8 /* executorCompletionService */
aload 5 /* queueSize */
iload 6 /* numberOfThreads */
aload 4 /* queue */
aload 0 /* a */
aload 1 /* b */
invokedynamic call(Ljava/util/concurrent/atomic/AtomicInteger;ILjava/util/concurrent/LinkedBlockingQueue;[C[C)Ljava/util/concurrent/Callable;
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;
it/unimi/dsi/fastutil/chars/CharArrays.lambda$2(Ljava/util/concurrent/atomic/AtomicInteger;ILjava/util/concurrent/LinkedBlockingQueue;[C[C)Ljava/lang/Void; (6)
()Ljava/lang/Void;
invokevirtual java.util.concurrent.ExecutorCompletionService.submit:(Ljava/util/concurrent/Callable;)Ljava/util/concurrent/Future;
pop
18: .line 2694
StackMap locals:
StackMap stack:
iload 9 /* j */
iinc 9 /* j */ -1
ifne 17
end local 9 // int j
19: .line 2751
aconst_null
astore 9 /* problem */
start local 9 // java.lang.Throwable problem
20: .line 2752
iload 6 /* numberOfThreads */
istore 10 /* i */
start local 10 // int i
21: goto 26
22: .line 2754
StackMap locals: char[] char[] int int java.util.concurrent.LinkedBlockingQueue java.util.concurrent.atomic.AtomicInteger int java.util.concurrent.ExecutorService java.util.concurrent.ExecutorCompletionService java.lang.Throwable int
StackMap stack:
aload 8 /* executorCompletionService */
invokevirtual java.util.concurrent.ExecutorCompletionService.take:()Ljava/util/concurrent/Future;
invokeinterface java.util.concurrent.Future.get:()Ljava/lang/Object;
pop
23: .line 2755
goto 26
StackMap locals:
StackMap stack: java.lang.Exception
24: astore 11 /* e */
start local 11 // java.lang.Exception e
25: .line 2756
aload 11 /* e */
invokevirtual java.lang.Exception.getCause:()Ljava/lang/Throwable;
astore 9 /* problem */
end local 11 // java.lang.Exception e
26: .line 2752
StackMap locals:
StackMap stack:
iload 10 /* i */
iinc 10 /* i */ -1
ifne 22
end local 10 // int i
27: .line 2758
aload 7 /* executorService */
invokeinterface java.util.concurrent.ExecutorService.shutdown:()V
28: .line 2759
aload 9 /* problem */
ifnull 32
29: .line 2760
aload 9 /* problem */
instanceof java.lang.RuntimeException
ifeq 30
aload 9 /* problem */
checkcast java.lang.RuntimeException
goto 31
StackMap locals:
StackMap stack:
30: new java.lang.RuntimeException
dup
aload 9 /* problem */
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack: java.lang.RuntimeException
31: athrow
32: .line 2761
StackMap locals:
StackMap stack:
return
end local 9 // java.lang.Throwable problem
end local 8 // java.util.concurrent.ExecutorCompletionService executorCompletionService
end local 7 // java.util.concurrent.ExecutorService executorService
end local 6 // int numberOfThreads
end local 5 // java.util.concurrent.atomic.AtomicInteger queueSize
end local 4 // java.util.concurrent.LinkedBlockingQueue queue
end local 3 // int to
end local 2 // int from
end local 1 // char[] b
end local 0 // char[] a
LocalVariableTable:
Start End Slot Name Signature
0 33 0 a [C
0 33 1 b [C
0 33 2 from I
0 33 3 to I
6 33 4 queue Ljava/util/concurrent/LinkedBlockingQueue<Lit/unimi/dsi/fastutil/chars/CharArrays$Segment;>;
8 33 5 queueSize Ljava/util/concurrent/atomic/AtomicInteger;
9 33 6 numberOfThreads I
12 33 7 executorService Ljava/util/concurrent/ExecutorService;
15 33 8 executorCompletionService Ljava/util/concurrent/ExecutorCompletionService<Ljava/lang/Void;>;
16 19 9 j I
20 33 9 problem Ljava/lang/Throwable;
21 27 10 i I
25 26 11 e Ljava/lang/Exception;
Exception table:
from to target type
22 23 24 Class java.lang.Exception
MethodParameters:
Name Flags
a final
b final
from final
to final
public static void parallelRadixSort(char[], char[]);
descriptor: ([C[C)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 // char[] a
start local 1 // char[] b
0: .line 2787
aload 0 /* a */
aload 1 /* b */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.ensureSameLength:([C[C)V
1: .line 2788
aload 0 /* a */
aload 1 /* b */
iconst_0
aload 0 /* a */
arraylength
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.parallelRadixSort:([C[CII)V
2: .line 2789
return
end local 1 // char[] b
end local 0 // char[] a
LocalVariableTable:
Start End Slot Name Signature
0 3 0 a [C
0 3 1 b [C
MethodParameters:
Name Flags
a final
b final
private static void insertionSortIndirect(int[], char[], char[], int, int);
descriptor: ([I[C[CII)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=9, args_size=5
start local 0 // int[] perm
start local 1 // char[] a
start local 2 // char[] b
start local 3 // int from
start local 4 // int to
0: .line 2792
iload 3 /* from */
istore 5 /* i */
start local 5 // int i
1: goto 13
2: .line 2793
StackMap locals: int
StackMap stack:
aload 0 /* perm */
iload 5 /* i */
iaload
istore 6 /* t */
start local 6 // int t
3: .line 2794
iload 5 /* i */
istore 7 /* j */
start local 7 // int j
4: .line 2795
aload 0 /* perm */
iload 7 /* j */
iconst_1
isub
iaload
istore 8 /* u */
start local 8 // int u
5: goto 11
6: .line 2796
StackMap locals: int int int
StackMap stack:
aload 0 /* perm */
iload 7 /* j */
iload 8 /* u */
iastore
7: .line 2797
iload 3 /* from */
iload 7 /* j */
iconst_1
isub
if_icmpne 10
8: .line 2798
iinc 7 /* j */ -1
9: .line 2799
goto 12
10: .line 2795
StackMap locals:
StackMap stack:
aload 0 /* perm */
iinc 7 /* j */ -1
iload 7 /* j */
iconst_1
isub
iaload
istore 8 /* u */
StackMap locals:
StackMap stack:
11: aload 1 /* a */
iload 6 /* t */
caload
aload 1 /* a */
iload 8 /* u */
caload
if_icmplt 6
aload 1 /* a */
iload 6 /* t */
caload
aload 1 /* a */
iload 8 /* u */
caload
if_icmpne 12
aload 2 /* b */
iload 6 /* t */
caload
aload 2 /* b */
iload 8 /* u */
caload
if_icmplt 6
end local 8 // int u
12: .line 2802
StackMap locals:
StackMap stack:
aload 0 /* perm */
iload 7 /* j */
iload 6 /* t */
iastore
end local 7 // int j
end local 6 // int t
13: .line 2792
StackMap locals:
StackMap stack:
iinc 5 /* i */ 1
iload 5 /* i */
iload 4 /* to */
if_icmplt 2
end local 5 // int i
14: .line 2804
return
end local 4 // int to
end local 3 // int from
end local 2 // char[] b
end local 1 // char[] a
end local 0 // int[] perm
LocalVariableTable:
Start End Slot Name Signature
0 15 0 perm [I
0 15 1 a [C
0 15 2 b [C
0 15 3 from I
0 15 4 to I
1 14 5 i I
3 13 6 t I
4 13 7 j I
5 12 8 u I
MethodParameters:
Name Flags
perm final
a final
b final
from final
to final
public static void radixSortIndirect(int[], char[], char[], boolean);
descriptor: ([I[C[CZ)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=4, args_size=4
start local 0 // int[] perm
start local 1 // char[] a
start local 2 // char[] b
start local 3 // boolean stable
0: .line 2836
aload 1 /* a */
aload 2 /* b */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.ensureSameLength:([C[C)V
1: .line 2837
aload 0 /* perm */
aload 1 /* a */
aload 2 /* b */
iconst_0
aload 1 /* a */
arraylength
iload 3 /* stable */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.radixSortIndirect:([I[C[CIIZ)V
2: .line 2838
return
end local 3 // boolean stable
end local 2 // char[] b
end local 1 // char[] a
end local 0 // int[] perm
LocalVariableTable:
Start End Slot Name Signature
0 3 0 perm [I
0 3 1 a [C
0 3 2 b [C
0 3 3 stable Z
MethodParameters:
Name Flags
perm final
a final
b final
stable final
public static void radixSortIndirect(int[], char[], char[], int, int, boolean);
descriptor: ([I[C[CIIZ)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=25, args_size=6
start local 0 // int[] perm
start local 1 // char[] a
start local 2 // char[] b
start local 3 // int from
start local 4 // int to
start local 5 // boolean stable
0: .line 2877
iload 4 /* to */
iload 3 /* from */
isub
sipush 1024
if_icmpge 3
1: .line 2878
aload 0 /* perm */
aload 1 /* a */
aload 2 /* b */
iload 3 /* from */
iload 4 /* to */
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.insertionSortIndirect:([I[C[CII)V
2: .line 2879
return
3: .line 2884
StackMap locals:
StackMap stack:
iconst_0
istore 6 /* stackPos */
start local 6 // int stackPos
4: .line 2885
sipush 766
newarray 10
astore 7 /* offsetStack */
start local 7 // int[] offsetStack
5: .line 2886
sipush 766
newarray 10
astore 8 /* lengthStack */
start local 8 // int[] lengthStack
6: .line 2887
sipush 766
newarray 10
astore 9 /* levelStack */
start local 9 // int[] levelStack
7: .line 2888
aload 7 /* offsetStack */
iload 6 /* stackPos */
iload 3 /* from */
iastore
8: .line 2889
aload 8 /* lengthStack */
iload 6 /* stackPos */
iload 4 /* to */
iload 3 /* from */
isub
iastore
9: .line 2890
aload 9 /* levelStack */
iload 6 /* stackPos */
iinc 6 /* stackPos */ 1
iconst_0
iastore
10: .line 2891
sipush 256
newarray 10
astore 10 /* count */
start local 10 // int[] count
11: .line 2892
sipush 256
newarray 10
astore 11 /* pos */
start local 11 // int[] pos
12: .line 2893
iload 5 /* stable */
ifeq 13
aload 0 /* perm */
arraylength
newarray 10
goto 14
StackMap locals: int[] char[] char[] int int int int int[] int[] int[] int[] int[]
StackMap stack:
13: aconst_null
StackMap locals:
StackMap stack: int[]
14: astore 12 /* support */
start local 12 // int[] support
15: .line 2894
goto 81
16: .line 2895
StackMap locals: int[]
StackMap stack:
aload 7 /* offsetStack */
iinc 6 /* stackPos */ -1
iload 6 /* stackPos */
iaload
istore 13 /* first */
start local 13 // int first
17: .line 2896
aload 8 /* lengthStack */
iload 6 /* stackPos */
iaload
istore 14 /* length */
start local 14 // int length
18: .line 2897
aload 9 /* levelStack */
iload 6 /* stackPos */
iaload
istore 15 /* level */
start local 15 // int level
19: .line 2899
iload 15 /* level */
iconst_2
if_icmpge 20
aload 1 /* a */
goto 21
StackMap locals: int int int
StackMap stack:
20: aload 2 /* b */
StackMap locals:
StackMap stack: char[]
21: astore 16 /* k */
start local 16 // char[] k
22: .line 2900
iconst_1
iload 15 /* level */
iconst_2
irem
isub
bipush 8
imul
istore 17 /* shift */
start local 17 // int shift
23: .line 2905
iload 13 /* first */
iload 14 /* length */
iadd
istore 18 /* i */
start local 18 // int i
24: goto 26
25: .line 2906
StackMap locals: char[] int int
StackMap stack:
aload 10 /* count */
aload 16 /* k */
aload 0 /* perm */
iload 18 /* i */
iaload
caload
iload 17 /* shift */
iushr
sipush 255
iand
dup2
iaload
iconst_1
iadd
iastore
26: .line 2905
StackMap locals:
StackMap stack:
iload 18 /* i */
iinc 18 /* i */ -1
iload 13 /* first */
if_icmpne 25
end local 18 // int i
27: .line 2908
iconst_m1
istore 18 /* lastUsed */
start local 18 // int lastUsed
28: .line 2909
iconst_0
istore 19 /* i */
start local 19 // int i
29: iload 5 /* stable */
ifeq 30
iconst_0
goto 31
StackMap locals: int
StackMap stack:
30: iload 13 /* first */
StackMap locals:
StackMap stack: int
31: istore 20 /* p */
start local 20 // int p
32: goto 37
33: .line 2910
StackMap locals: int
StackMap stack:
aload 10 /* count */
iload 19 /* i */
iaload
ifeq 35
34: .line 2911
iload 19 /* i */
istore 18 /* lastUsed */
35: .line 2912
StackMap locals:
StackMap stack:
aload 11 /* pos */
iload 19 /* i */
iload 20 /* p */
aload 10 /* count */
iload 19 /* i */
iaload
iadd
dup
istore 20 /* p */
iastore
36: .line 2909
iinc 19 /* i */ 1
StackMap locals:
StackMap stack:
37: iload 19 /* i */
sipush 256
if_icmplt 33
end local 20 // int p
end local 19 // int i
38: .line 2914
iload 5 /* stable */
ifeq 58
39: .line 2915
iload 13 /* first */
iload 14 /* length */
iadd
istore 19 /* i */
start local 19 // int i
40: goto 42
41: .line 2916
StackMap locals:
StackMap stack:
aload 12 /* support */
aload 11 /* pos */
aload 16 /* k */
aload 0 /* perm */
iload 19 /* i */
iaload
caload
iload 17 /* shift */
iushr
sipush 255
iand
dup2
iaload
iconst_1
isub
dup_x2
iastore
aload 0 /* perm */
iload 19 /* i */
iaload
iastore
42: .line 2915
StackMap locals:
StackMap stack:
iload 19 /* i */
iinc 19 /* i */ -1
iload 13 /* first */
if_icmpne 41
end local 19 // int i
43: .line 2917
aload 12 /* support */
iconst_0
aload 0 /* perm */
iload 13 /* first */
iload 14 /* length */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
44: .line 2918
iconst_0
istore 19 /* i */
start local 19 // int i
45: iload 13 /* first */
istore 20 /* p */
start local 20 // int p
46: goto 55
47: .line 2919
StackMap locals: int
StackMap stack:
iload 15 /* level */
iconst_3
if_icmpge 53
aload 10 /* count */
iload 19 /* i */
iaload
iconst_1
if_icmple 53
48: .line 2920
aload 10 /* count */
iload 19 /* i */
iaload
sipush 1024
if_icmpge 50
49: .line 2921
aload 0 /* perm */
aload 1 /* a */
aload 2 /* b */
iload 20 /* p */
iload 20 /* p */
aload 10 /* count */
iload 19 /* i */
iaload
iadd
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.insertionSortIndirect:([I[C[CII)V
goto 53
50: .line 2923
StackMap locals:
StackMap stack:
aload 7 /* offsetStack */
iload 6 /* stackPos */
iload 20 /* p */
iastore
51: .line 2924
aload 8 /* lengthStack */
iload 6 /* stackPos */
aload 10 /* count */
iload 19 /* i */
iaload
iastore
52: .line 2925
aload 9 /* levelStack */
iload 6 /* stackPos */
iinc 6 /* stackPos */ 1
iload 15 /* level */
iconst_1
iadd
iastore
53: .line 2928
StackMap locals:
StackMap stack:
iload 20 /* p */
aload 10 /* count */
iload 19 /* i */
iaload
iadd
istore 20 /* p */
54: .line 2918
iinc 19 /* i */ 1
StackMap locals:
StackMap stack:
55: iload 19 /* i */
sipush 256
if_icmplt 47
end local 20 // int p
end local 19 // int i
56: .line 2930
aload 10 /* count */
iconst_0
invokestatic java.util.Arrays.fill:([II)V
57: .line 2931
goto 81
58: .line 2932
StackMap locals:
StackMap stack:
iload 13 /* first */
iload 14 /* length */
iadd
aload 10 /* count */
iload 18 /* lastUsed */
iaload
isub
istore 19 /* end */
start local 19 // int end
59: .line 2934
iload 13 /* first */
istore 20 /* i */
start local 20 // int i
60: iconst_m1
istore 21 /* c */
start local 21 // int c
61: goto 80
62: .line 2935
StackMap locals: int int int
StackMap stack:
aload 0 /* perm */
iload 20 /* i */
iaload
istore 23 /* t */
start local 23 // int t
63: .line 2936
aload 16 /* k */
iload 23 /* t */
caload
iload 17 /* shift */
iushr
sipush 255
iand
istore 21 /* c */
64: .line 2937
iload 20 /* i */
iload 19 /* end */
if_icmpge 73
65: .line 2938
goto 70
start local 22 // int d
66: .line 2939
StackMap locals: int int
StackMap stack:
iload 23 /* t */
istore 24 /* z */
start local 24 // int z
67: .line 2940
aload 0 /* perm */
iload 22 /* d */
iaload
istore 23 /* t */
68: .line 2941
aload 0 /* perm */
iload 22 /* d */
iload 24 /* z */
iastore
69: .line 2942
aload 16 /* k */
iload 23 /* t */
caload
iload 17 /* shift */
iushr
sipush 255
iand
istore 21 /* c */
end local 24 // int z
end local 22 // int d
70: .line 2938
StackMap locals: int[] char[] char[] int int int int int[] int[] int[] int[] int[] int[] int int int char[] int int int int int top int
StackMap stack:
aload 11 /* pos */
iload 21 /* c */
dup2
iaload
iconst_1
isub
dup_x2
iastore
dup
istore 22 /* d */
start local 22 // int d
71: iload 20 /* i */
if_icmpgt 66
72: .line 2944
aload 0 /* perm */
iload 20 /* i */
iload 23 /* t */
iastore
end local 22 // int d
73: .line 2946
StackMap locals:
StackMap stack:
iload 15 /* level */
iconst_3
if_icmpge 79
aload 10 /* count */
iload 21 /* c */
iaload
iconst_1
if_icmple 79
74: .line 2947
aload 10 /* count */
iload 21 /* c */
iaload
sipush 1024
if_icmpge 76
75: .line 2948
aload 0 /* perm */
aload 1 /* a */
aload 2 /* b */
iload 20 /* i */
iload 20 /* i */
aload 10 /* count */
iload 21 /* c */
iaload
iadd
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.insertionSortIndirect:([I[C[CII)V
goto 79
76: .line 2950
StackMap locals:
StackMap stack:
aload 7 /* offsetStack */
iload 6 /* stackPos */
iload 20 /* i */
iastore
77: .line 2951
aload 8 /* lengthStack */
iload 6 /* stackPos */
aload 10 /* count */
iload 21 /* c */
iaload
iastore
78: .line 2952
aload 9 /* levelStack */
iload 6 /* stackPos */
iinc 6 /* stackPos */ 1
iload 15 /* level */
iconst_1
iadd
iastore
end local 23 // int t
79: .line 2934
StackMap locals: int[] char[] char[] int int int int int[] int[] int[] int[] int[] int[] int int int char[] int int int int int
StackMap stack:
iload 20 /* i */
aload 10 /* count */
iload 21 /* c */
iaload
iadd
istore 20 /* i */
aload 10 /* count */
iload 21 /* c */
iconst_0
iastore
StackMap locals:
StackMap stack:
80: iload 20 /* i */
iload 19 /* end */
if_icmple 62
end local 21 // int c
end local 20 // int i
end local 19 // int end
end local 18 // int lastUsed
end local 17 // int shift
end local 16 // char[] k
end local 15 // int level
end local 14 // int length
end local 13 // int first
81: .line 2894
StackMap locals: int[] char[] char[] int int int int int[] int[] int[] int[] int[] int[]
StackMap stack:
iload 6 /* stackPos */
ifgt 16
82: .line 2958
return
end local 12 // int[] support
end local 11 // int[] pos
end local 10 // int[] count
end local 9 // int[] levelStack
end local 8 // int[] lengthStack
end local 7 // int[] offsetStack
end local 6 // int stackPos
end local 5 // boolean stable
end local 4 // int to
end local 3 // int from
end local 2 // char[] b
end local 1 // char[] a
end local 0 // int[] perm
LocalVariableTable:
Start End Slot Name Signature
0 83 0 perm [I
0 83 1 a [C
0 83 2 b [C
0 83 3 from I
0 83 4 to I
0 83 5 stable Z
4 83 6 stackPos I
5 83 7 offsetStack [I
6 83 8 lengthStack [I
7 83 9 levelStack [I
11 83 10 count [I
12 83 11 pos [I
15 83 12 support [I
17 81 13 first I
18 81 14 length I
19 81 15 level I
22 81 16 k [C
23 81 17 shift I
24 27 18 i I
28 81 18 lastUsed I
29 38 19 i I
32 38 20 p I
40 43 19 i I
45 56 19 i I
46 56 20 p I
59 81 19 end I
60 81 20 i I
61 81 21 c I
66 70 22 d I
71 73 22 d I
63 79 23 t I
67 70 24 z I
MethodParameters:
Name Flags
perm final
a final
b final
from final
to final
stable final
private static void selectionSort(char[][], int, int, int);
descriptor: ([[CIII)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=10, args_size=4
start local 0 // char[][] a
start local 1 // int from
start local 2 // int to
start local 3 // int level
0: .line 2960
aload 0 /* a */
arraylength
istore 4 /* layers */
start local 4 // int layers
1: .line 2961
iload 3 /* level */
iconst_2
idiv
istore 5 /* firstLayer */
start local 5 // int firstLayer
2: .line 2962
iload 1 /* from */
istore 6 /* i */
start local 6 // int i
3: goto 26
4: .line 2963
StackMap locals: int int int
StackMap stack:
iload 6 /* i */
istore 7 /* m */
start local 7 // int m
5: .line 2964
iload 6 /* i */
iconst_1
iadd
istore 8 /* j */
start local 8 // int j
6: goto 17
7: .line 2965
StackMap locals: int int
StackMap stack:
iload 5 /* firstLayer */
istore 9 /* p */
start local 9 // int p
8: goto 15
9: .line 2966
StackMap locals: int
StackMap stack:
aload 0 /* a */
iload 9 /* p */
aaload
iload 8 /* j */
caload
aload 0 /* a */
iload 9 /* p */
aaload
iload 7 /* m */
caload
if_icmpge 12
10: .line 2967
iload 8 /* j */
istore 7 /* m */
11: .line 2968
goto 16
12: .line 2969
StackMap locals:
StackMap stack:
aload 0 /* a */
iload 9 /* p */
aaload
iload 8 /* j */
caload
aload 0 /* a */
iload 9 /* p */
aaload
iload 7 /* m */
caload
if_icmple 14
13: .line 2970
goto 16
14: .line 2965
StackMap locals:
StackMap stack:
iinc 9 /* p */ 1
StackMap locals:
StackMap stack:
15: iload 9 /* p */
iload 4 /* layers */
if_icmplt 9
end local 9 // int p
16: .line 2964
StackMap locals:
StackMap stack:
iinc 8 /* j */ 1
StackMap locals:
StackMap stack:
17: iload 8 /* j */
iload 2 /* to */
if_icmplt 7
end local 8 // int j
18: .line 2973
iload 7 /* m */
iload 6 /* i */
if_icmpeq 25
19: .line 2974
iload 4 /* layers */
istore 8 /* p */
start local 8 // int p
20: goto 24
21: .line 2975
StackMap locals:
StackMap stack:
aload 0 /* a */
iload 8 /* p */
aaload
iload 6 /* i */
caload
istore 9 /* u */
start local 9 // char u
22: .line 2976
aload 0 /* a */
iload 8 /* p */
aaload
iload 6 /* i */
aload 0 /* a */
iload 8 /* p */
aaload
iload 7 /* m */
caload
castore
23: .line 2977
aload 0 /* a */
iload 8 /* p */
aaload
iload 7 /* m */
iload 9 /* u */
castore
end local 9 // char u
24: .line 2974
StackMap locals:
StackMap stack:
iload 8 /* p */
iinc 8 /* p */ -1
ifne 21
end local 8 // int p
end local 7 // int m
25: .line 2962
StackMap locals:
StackMap stack:
iinc 6 /* i */ 1
StackMap locals:
StackMap stack:
26: iload 6 /* i */
iload 2 /* to */
iconst_1
isub
if_icmplt 4
end local 6 // int i
27: .line 2981
return
end local 5 // int firstLayer
end local 4 // int layers
end local 3 // int level
end local 2 // int to
end local 1 // int from
end local 0 // char[][] a
LocalVariableTable:
Start End Slot Name Signature
0 28 0 a [[C
0 28 1 from I
0 28 2 to I
0 28 3 level I
1 28 4 layers I
2 28 5 firstLayer I
3 27 6 i I
5 25 7 m I
6 18 8 j I
8 16 9 p I
20 25 8 p I
22 24 9 u C
MethodParameters:
Name Flags
a final
from final
to final
level final
public static void radixSort(char[][]);
descriptor: ([[C)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 // char[][] a
0: .line 3000
aload 0 /* a */
iconst_0
aload 0 /* a */
iconst_0
aaload
arraylength
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.radixSort:([[CII)V
1: .line 3001
return
end local 0 // char[][] a
LocalVariableTable:
Start End Slot Name Signature
0 2 0 a [[C
MethodParameters:
Name Flags
a final
public static void radixSort(char[][], int, int);
descriptor: ([[CII)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=25, args_size=3
start local 0 // char[][] a
start local 1 // int from
start local 2 // int to
0: .line 3024
iload 2 /* to */
iload 1 /* from */
isub
sipush 1024
if_icmpge 3
1: .line 3025
aload 0 /* a */
iload 1 /* from */
iload 2 /* to */
iconst_0
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.selectionSort:([[CIII)V
2: .line 3026
return
3: .line 3028
StackMap locals:
StackMap stack:
aload 0 /* a */
arraylength
istore 3 /* layers */
start local 3 // int layers
4: .line 3029
iconst_2
iload 3 /* layers */
imul
iconst_1
isub
istore 4 /* maxLevel */
start local 4 // int maxLevel
5: .line 3030
iload 3 /* layers */
istore 5 /* p */
start local 5 // int p
6: aload 0 /* a */
iconst_0
aaload
arraylength
istore 6 /* l */
start local 6 // int l
7: goto 12
8: .line 3031
StackMap locals: char[][] int int int int int int
StackMap stack:
aload 0 /* a */
iload 5 /* p */
aaload
arraylength
iload 6 /* l */
if_icmpeq 12
9: .line 3032
new java.lang.IllegalArgumentException
dup
10: .line 3033
new java.lang.StringBuilder
dup
ldc "The array of index "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 5 /* p */
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " has not the same length of the array of index 0."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
11: .line 3032
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
12: .line 3030
StackMap locals:
StackMap stack:
iload 5 /* p */
iinc 5 /* p */ -1
ifne 8
end local 6 // int l
end local 5 // int p
13: .line 3034
sipush 255
iload 3 /* layers */
iconst_2
imul
iconst_1
isub
imul
iconst_1
iadd
istore 5 /* stackSize */
start local 5 // int stackSize
14: .line 3035
iconst_0
istore 6 /* stackPos */
start local 6 // int stackPos
15: .line 3036
iload 5 /* stackSize */
newarray 10
astore 7 /* offsetStack */
start local 7 // int[] offsetStack
16: .line 3037
iload 5 /* stackSize */
newarray 10
astore 8 /* lengthStack */
start local 8 // int[] lengthStack
17: .line 3038
iload 5 /* stackSize */
newarray 10
astore 9 /* levelStack */
start local 9 // int[] levelStack
18: .line 3039
aload 7 /* offsetStack */
iload 6 /* stackPos */
iload 1 /* from */
iastore
19: .line 3040
aload 8 /* lengthStack */
iload 6 /* stackPos */
iload 2 /* to */
iload 1 /* from */
isub
iastore
20: .line 3041
aload 9 /* levelStack */
iload 6 /* stackPos */
iinc 6 /* stackPos */ 1
iconst_0
iastore
21: .line 3042
sipush 256
newarray 10
astore 10 /* count */
start local 10 // int[] count
22: .line 3043
sipush 256
newarray 10
astore 11 /* pos */
start local 11 // int[] pos
23: .line 3044
iload 3 /* layers */
newarray 5
astore 12 /* t */
start local 12 // char[] t
24: .line 3045
goto 75
25: .line 3046
StackMap locals: char[][] int int int int int int int[] int[] int[] int[] int[] char[]
StackMap stack:
aload 7 /* offsetStack */
iinc 6 /* stackPos */ -1
iload 6 /* stackPos */
iaload
istore 13 /* first */
start local 13 // int first
26: .line 3047
aload 8 /* lengthStack */
iload 6 /* stackPos */
iaload
istore 14 /* length */
start local 14 // int length
27: .line 3048
aload 9 /* levelStack */
iload 6 /* stackPos */
iaload
istore 15 /* level */
start local 15 // int level
28: .line 3050
aload 0 /* a */
iload 15 /* level */
iconst_2
idiv
aaload
astore 16 /* k */
start local 16 // char[] k
29: .line 3051
iconst_1
iload 15 /* level */
iconst_2
irem
isub
bipush 8
imul
istore 17 /* shift */
start local 17 // int shift
30: .line 3056
iload 13 /* first */
iload 14 /* length */
iadd
istore 18 /* i */
start local 18 // int i
31: goto 33
32: .line 3057
StackMap locals: char[][] int int int int int int int[] int[] int[] int[] int[] char[] int int int char[] int int
StackMap stack:
aload 10 /* count */
aload 16 /* k */
iload 18 /* i */
caload
iload 17 /* shift */
iushr
sipush 255
iand
dup2
iaload
iconst_1
iadd
iastore
33: .line 3056
StackMap locals:
StackMap stack:
iload 18 /* i */
iinc 18 /* i */ -1
iload 13 /* first */
if_icmpne 32
end local 18 // int i
34: .line 3059
iconst_m1
istore 18 /* lastUsed */
start local 18 // int lastUsed
35: .line 3060
iconst_0
istore 19 /* i */
start local 19 // int i
36: iload 13 /* first */
istore 20 /* p */
start local 20 // int p
37: goto 42
38: .line 3061
StackMap locals: int int
StackMap stack:
aload 10 /* count */
iload 19 /* i */
iaload
ifeq 40
39: .line 3062
iload 19 /* i */
istore 18 /* lastUsed */
40: .line 3063
StackMap locals:
StackMap stack:
aload 11 /* pos */
iload 19 /* i */
iload 20 /* p */
aload 10 /* count */
iload 19 /* i */
iaload
iadd
dup
istore 20 /* p */
iastore
41: .line 3060
iinc 19 /* i */ 1
StackMap locals:
StackMap stack:
42: iload 19 /* i */
sipush 256
if_icmplt 38
end local 20 // int p
end local 19 // int i
43: .line 3065
iload 13 /* first */
iload 14 /* length */
iadd
aload 10 /* count */
iload 18 /* lastUsed */
iaload
isub
istore 19 /* end */
start local 19 // int end
44: .line 3067
iload 13 /* first */
istore 20 /* i */
start local 20 // int i
45: iconst_m1
istore 21 /* c */
start local 21 // int c
46: goto 74
47: .line 3068
StackMap locals: int
StackMap stack:
iload 3 /* layers */
istore 23 /* p */
start local 23 // int p
48: goto 50
49: .line 3069
StackMap locals: char[][] int int int int int int int[] int[] int[] int[] int[] char[] int int int char[] int int int int int top int
StackMap stack:
aload 12 /* t */
iload 23 /* p */
aload 0 /* a */
iload 23 /* p */
aaload
iload 20 /* i */
caload
castore
50: .line 3068
StackMap locals:
StackMap stack:
iload 23 /* p */
iinc 23 /* p */ -1
ifne 49
end local 23 // int p
51: .line 3070
aload 16 /* k */
iload 20 /* i */
caload
iload 17 /* shift */
iushr
sipush 255
iand
istore 21 /* c */
52: .line 3071
iload 20 /* i */
iload 19 /* end */
if_icmpge 67
53: .line 3072
goto 61
start local 22 // int d
54: .line 3073
StackMap locals: char[][] int int int int int int int[] int[] int[] int[] int[] char[] int int int char[] int int int int int int
StackMap stack:
aload 16 /* k */
iload 22 /* d */
caload
iload 17 /* shift */
iushr
sipush 255
iand
istore 21 /* c */
55: .line 3074
iload 3 /* layers */
istore 23 /* p */
start local 23 // int p
56: goto 60
57: .line 3075
StackMap locals: int
StackMap stack:
aload 12 /* t */
iload 23 /* p */
caload
istore 24 /* u */
start local 24 // char u
58: .line 3076
aload 12 /* t */
iload 23 /* p */
aload 0 /* a */
iload 23 /* p */
aaload
iload 22 /* d */
caload
castore
59: .line 3077
aload 0 /* a */
iload 23 /* p */
aaload
iload 22 /* d */
iload 24 /* u */
castore
end local 24 // char u
60: .line 3074
StackMap locals:
StackMap stack:
iload 23 /* p */
iinc 23 /* p */ -1
ifne 57
end local 23 // int p
end local 22 // int d
61: .line 3072
StackMap locals:
StackMap stack:
aload 11 /* pos */
iload 21 /* c */
dup2
iaload
iconst_1
isub
dup_x2
iastore
dup
istore 22 /* d */
start local 22 // int d
62: iload 20 /* i */
if_icmpgt 54
63: .line 3080
iload 3 /* layers */
istore 23 /* p */
start local 23 // int p
64: goto 66
65: .line 3081
StackMap locals: int int
StackMap stack:
aload 0 /* a */
iload 23 /* p */
aaload
iload 20 /* i */
aload 12 /* t */
iload 23 /* p */
caload
castore
66: .line 3080
StackMap locals:
StackMap stack:
iload 23 /* p */
iinc 23 /* p */ -1
ifne 65
end local 23 // int p
end local 22 // int d
67: .line 3083
StackMap locals:
StackMap stack:
iload 15 /* level */
iload 4 /* maxLevel */
if_icmpge 73
aload 10 /* count */
iload 21 /* c */
iaload
iconst_1
if_icmple 73
68: .line 3084
aload 10 /* count */
iload 21 /* c */
iaload
sipush 1024
if_icmpge 70
69: .line 3085
aload 0 /* a */
iload 20 /* i */
iload 20 /* i */
aload 10 /* count */
iload 21 /* c */
iaload
iadd
iload 15 /* level */
iconst_1
iadd
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.selectionSort:([[CIII)V
goto 73
70: .line 3087
StackMap locals:
StackMap stack:
aload 7 /* offsetStack */
iload 6 /* stackPos */
iload 20 /* i */
iastore
71: .line 3088
aload 8 /* lengthStack */
iload 6 /* stackPos */
aload 10 /* count */
iload 21 /* c */
iaload
iastore
72: .line 3089
aload 9 /* levelStack */
iload 6 /* stackPos */
iinc 6 /* stackPos */ 1
iload 15 /* level */
iconst_1
iadd
iastore
73: .line 3067
StackMap locals:
StackMap stack:
iload 20 /* i */
aload 10 /* count */
iload 21 /* c */
iaload
iadd
istore 20 /* i */
aload 10 /* count */
iload 21 /* c */
iconst_0
iastore
StackMap locals:
StackMap stack:
74: iload 20 /* i */
iload 19 /* end */
if_icmple 47
end local 21 // int c
end local 20 // int i
end local 19 // int end
end local 18 // int lastUsed
end local 17 // int shift
end local 16 // char[] k
end local 15 // int level
end local 14 // int length
end local 13 // int first
75: .line 3045
StackMap locals: char[][] int int int int int int int[] int[] int[] int[] int[] char[]
StackMap stack:
iload 6 /* stackPos */
ifgt 25
76: .line 3094
return
end local 12 // char[] t
end local 11 // int[] pos
end local 10 // int[] count
end local 9 // int[] levelStack
end local 8 // int[] lengthStack
end local 7 // int[] offsetStack
end local 6 // int stackPos
end local 5 // int stackSize
end local 4 // int maxLevel
end local 3 // int layers
end local 2 // int to
end local 1 // int from
end local 0 // char[][] a
LocalVariableTable:
Start End Slot Name Signature
0 77 0 a [[C
0 77 1 from I
0 77 2 to I
4 77 3 layers I
5 77 4 maxLevel I
6 13 5 p I
7 13 6 l I
14 77 5 stackSize I
15 77 6 stackPos I
16 77 7 offsetStack [I
17 77 8 lengthStack [I
18 77 9 levelStack [I
22 77 10 count [I
23 77 11 pos [I
24 77 12 t [C
26 75 13 first I
27 75 14 length I
28 75 15 level I
29 75 16 k [C
30 75 17 shift I
31 34 18 i I
35 75 18 lastUsed I
36 43 19 i I
37 43 20 p I
44 75 19 end I
45 75 20 i I
46 75 21 c I
54 61 22 d I
62 67 22 d I
48 51 23 p I
56 61 23 p I
58 60 24 u C
64 67 23 p I
MethodParameters:
Name Flags
a final
from final
to final
public static char[] shuffle(char[], int, int, java.util.Random);
descriptor: ([CIILjava/util/Random;)[C
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=7, args_size=4
start local 0 // char[] a
start local 1 // int from
start local 2 // int to
start local 3 // java.util.Random random
0: .line 3110
iload 2 /* to */
iload 1 /* from */
isub
istore 4 /* i */
start local 4 // int i
1: goto 6
2: .line 3111
StackMap locals: int
StackMap stack:
aload 3 /* random */
iload 4 /* i */
iconst_1
iadd
invokevirtual java.util.Random.nextInt:(I)I
istore 5 /* p */
start local 5 // int p
3: .line 3112
aload 0 /* a */
iload 1 /* from */
iload 4 /* i */
iadd
caload
istore 6 /* t */
start local 6 // char t
4: .line 3113
aload 0 /* a */
iload 1 /* from */
iload 4 /* i */
iadd
aload 0 /* a */
iload 1 /* from */
iload 5 /* p */
iadd
caload
castore
5: .line 3114
aload 0 /* a */
iload 1 /* from */
iload 5 /* p */
iadd
iload 6 /* t */
castore
end local 6 // char t
end local 5 // int p
6: .line 3110
StackMap locals:
StackMap stack:
iload 4 /* i */
iinc 4 /* i */ -1
ifne 2
end local 4 // int i
7: .line 3116
aload 0 /* a */
areturn
end local 3 // java.util.Random random
end local 2 // int to
end local 1 // int from
end local 0 // char[] a
LocalVariableTable:
Start End Slot Name Signature
0 8 0 a [C
0 8 1 from I
0 8 2 to I
0 8 3 random Ljava/util/Random;
1 7 4 i I
3 6 5 p I
4 6 6 t C
MethodParameters:
Name Flags
a final
from final
to final
random final
public static char[] shuffle(char[], java.util.Random);
descriptor: ([CLjava/util/Random;)[C
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=5, args_size=2
start local 0 // char[] a
start local 1 // java.util.Random random
0: .line 3129
aload 0 /* a */
arraylength
istore 2 /* i */
start local 2 // int i
1: goto 6
2: .line 3130
StackMap locals: int
StackMap stack:
aload 1 /* random */
iload 2 /* i */
iconst_1
iadd
invokevirtual java.util.Random.nextInt:(I)I
istore 3 /* p */
start local 3 // int p
3: .line 3131
aload 0 /* a */
iload 2 /* i */
caload
istore 4 /* t */
start local 4 // char t
4: .line 3132
aload 0 /* a */
iload 2 /* i */
aload 0 /* a */
iload 3 /* p */
caload
castore
5: .line 3133
aload 0 /* a */
iload 3 /* p */
iload 4 /* t */
castore
end local 4 // char t
end local 3 // int p
6: .line 3129
StackMap locals:
StackMap stack:
iload 2 /* i */
iinc 2 /* i */ -1
ifne 2
end local 2 // int i
7: .line 3135
aload 0 /* a */
areturn
end local 1 // java.util.Random random
end local 0 // char[] a
LocalVariableTable:
Start End Slot Name Signature
0 8 0 a [C
0 8 1 random Ljava/util/Random;
1 7 2 i I
3 6 3 p I
4 6 4 t C
MethodParameters:
Name Flags
a final
random final
public static char[] reverse(char[]);
descriptor: ([C)[C
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=1
start local 0 // char[] a
0: .line 3145
aload 0 /* a */
arraylength
istore 1 /* length */
start local 1 // int length
1: .line 3146
iload 1 /* length */
iconst_2
idiv
istore 2 /* i */
start local 2 // int i
2: goto 6
3: .line 3147
StackMap locals: int int
StackMap stack:
aload 0 /* a */
iload 1 /* length */
iload 2 /* i */
isub
iconst_1
isub
caload
istore 3 /* t */
start local 3 // char t
4: .line 3148
aload 0 /* a */
iload 1 /* length */
iload 2 /* i */
isub
iconst_1
isub
aload 0 /* a */
iload 2 /* i */
caload
castore
5: .line 3149
aload 0 /* a */
iload 2 /* i */
iload 3 /* t */
castore
end local 3 // char t
6: .line 3146
StackMap locals:
StackMap stack:
iload 2 /* i */
iinc 2 /* i */ -1
ifne 3
end local 2 // int i
7: .line 3151
aload 0 /* a */
areturn
end local 1 // int length
end local 0 // char[] a
LocalVariableTable:
Start End Slot Name Signature
0 8 0 a [C
1 8 1 length I
2 7 2 i I
4 6 3 t C
MethodParameters:
Name Flags
a final
public static char[] reverse(char[], int, int);
descriptor: ([CII)[C
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=6, args_size=3
start local 0 // char[] a
start local 1 // int from
start local 2 // int to
0: .line 3165
iload 2 /* to */
iload 1 /* from */
isub
istore 3 /* length */
start local 3 // int length
1: .line 3166
iload 3 /* length */
iconst_2
idiv
istore 4 /* i */
start local 4 // int i
2: goto 6
3: .line 3167
StackMap locals: int int
StackMap stack:
aload 0 /* a */
iload 1 /* from */
iload 3 /* length */
iadd
iload 4 /* i */
isub
iconst_1
isub
caload
istore 5 /* t */
start local 5 // char t
4: .line 3168
aload 0 /* a */
iload 1 /* from */
iload 3 /* length */
iadd
iload 4 /* i */
isub
iconst_1
isub
aload 0 /* a */
iload 1 /* from */
iload 4 /* i */
iadd
caload
castore
5: .line 3169
aload 0 /* a */
iload 1 /* from */
iload 4 /* i */
iadd
iload 5 /* t */
castore
end local 5 // char t
6: .line 3166
StackMap locals:
StackMap stack:
iload 4 /* i */
iinc 4 /* i */ -1
ifne 3
end local 4 // int i
7: .line 3171
aload 0 /* a */
areturn
end local 3 // int length
end local 2 // int to
end local 1 // int from
end local 0 // char[] a
LocalVariableTable:
Start End Slot Name Signature
0 8 0 a [C
0 8 1 from I
0 8 2 to I
1 8 3 length I
2 7 4 i I
4 6 5 t C
MethodParameters:
Name Flags
a final
from final
to final
private static java.lang.Void lambda$0(java.util.concurrent.atomic.AtomicInteger, int, java.util.concurrent.LinkedBlockingQueue, char[]);
descriptor: (Ljava/util/concurrent/atomic/AtomicInteger;ILjava/util/concurrent/LinkedBlockingQueue;[C)Ljava/lang/Void;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=7, locals=18, args_size=4
0: .line 2151
sipush 256
newarray 10
astore 4 /* count */
start local 4 // int[] count
1: .line 2152
sipush 256
newarray 10
astore 5 /* pos */
start local 5 // int[] pos
2: .line 2154
StackMap locals: int[] int[]
StackMap stack:
aload 0
invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
ifne 7
3: .line 2155
iload 1
istore 6 /* i */
start local 6 // int i
4: goto 6
5: .line 2156
StackMap locals: int
StackMap stack:
aload 2
getstatic it.unimi.dsi.fastutil.chars.CharArrays.POISON_PILL:Lit/unimi/dsi/fastutil/chars/CharArrays$Segment;
invokevirtual java.util.concurrent.LinkedBlockingQueue.add:(Ljava/lang/Object;)Z
pop
6: .line 2155
StackMap locals:
StackMap stack:
iload 6 /* i */
iinc 6 /* i */ -1
ifne 5
end local 6 // int i
7: .line 2157
StackMap locals:
StackMap stack:
aload 2
invokevirtual java.util.concurrent.LinkedBlockingQueue.take:()Ljava/lang/Object;
checkcast it.unimi.dsi.fastutil.chars.CharArrays$Segment
astore 6 /* segment */
start local 6 // it.unimi.dsi.fastutil.chars.CharArrays$Segment segment
8: .line 2158
aload 6 /* segment */
getstatic it.unimi.dsi.fastutil.chars.CharArrays.POISON_PILL:Lit/unimi/dsi/fastutil/chars/CharArrays$Segment;
if_acmpne 10
9: .line 2159
aconst_null
areturn
10: .line 2160
StackMap locals: it.unimi.dsi.fastutil.chars.CharArrays$Segment
StackMap stack:
aload 6 /* segment */
getfield it.unimi.dsi.fastutil.chars.CharArrays$Segment.offset:I
istore 7 /* first */
start local 7 // int first
11: .line 2161
aload 6 /* segment */
getfield it.unimi.dsi.fastutil.chars.CharArrays$Segment.length:I
istore 8 /* length */
start local 8 // int length
12: .line 2162
aload 6 /* segment */
getfield it.unimi.dsi.fastutil.chars.CharArrays$Segment.level:I
istore 9 /* level */
start local 9 // int level
13: .line 2164
iconst_1
iload 9 /* level */
iconst_2
irem
isub
bipush 8
imul
istore 10 /* shift */
start local 10 // int shift
14: .line 2172
iload 7 /* first */
iload 8 /* length */
iadd
istore 11 /* i */
start local 11 // int i
15: goto 17
16: .line 2173
StackMap locals: java.util.concurrent.atomic.AtomicInteger int java.util.concurrent.LinkedBlockingQueue char[] int[] int[] it.unimi.dsi.fastutil.chars.CharArrays$Segment int int int int int
StackMap stack:
aload 4 /* count */
aload 3
iload 11 /* i */
caload
iload 10 /* shift */
iushr
sipush 255
iand
dup2
iaload
iconst_1
iadd
iastore
17: .line 2172
StackMap locals:
StackMap stack:
iload 11 /* i */
iinc 11 /* i */ -1
iload 7 /* first */
if_icmpne 16
end local 11 // int i
18: .line 2175
iconst_m1
istore 11 /* lastUsed */
start local 11 // int lastUsed
19: .line 2176
iconst_0
istore 12 /* i */
start local 12 // int i
20: iload 7 /* first */
istore 13 /* p */
start local 13 // int p
21: goto 26
22: .line 2177
StackMap locals: int int
StackMap stack:
aload 4 /* count */
iload 12 /* i */
iaload
ifeq 24
23: .line 2178
iload 12 /* i */
istore 11 /* lastUsed */
24: .line 2179
StackMap locals:
StackMap stack:
aload 5 /* pos */
iload 12 /* i */
iload 13 /* p */
aload 4 /* count */
iload 12 /* i */
iaload
iadd
dup
istore 13 /* p */
iastore
25: .line 2176
iinc 12 /* i */ 1
StackMap locals:
StackMap stack:
26: iload 12 /* i */
sipush 256
if_icmplt 22
end local 13 // int p
end local 12 // int i
27: .line 2181
iload 7 /* first */
iload 8 /* length */
iadd
aload 4 /* count */
iload 11 /* lastUsed */
iaload
isub
istore 12 /* end */
start local 12 // int end
28: .line 2183
iload 7 /* first */
istore 13 /* i */
start local 13 // int i
29: iconst_m1
istore 14 /* c */
start local 14 // int c
30: goto 48
31: .line 2184
StackMap locals: int
StackMap stack:
aload 3
iload 13 /* i */
caload
istore 16 /* t */
start local 16 // char t
32: .line 2185
iload 16 /* t */
iload 10 /* shift */
iushr
sipush 255
iand
istore 14 /* c */
33: .line 2186
iload 13 /* i */
iload 12 /* end */
if_icmpge 42
34: .line 2187
goto 39
start local 15 // int d
35: .line 2188
StackMap locals: int int
StackMap stack:
iload 16 /* t */
istore 17 /* z */
start local 17 // char z
36: .line 2189
aload 3
iload 15 /* d */
caload
istore 16 /* t */
37: .line 2190
aload 3
iload 15 /* d */
iload 17 /* z */
castore
38: .line 2191
iload 16 /* t */
iload 10 /* shift */
iushr
sipush 255
iand
istore 14 /* c */
end local 17 // char z
end local 15 // int d
39: .line 2187
StackMap locals: java.util.concurrent.atomic.AtomicInteger int java.util.concurrent.LinkedBlockingQueue char[] int[] int[] it.unimi.dsi.fastutil.chars.CharArrays$Segment int int int int int int int int top int
StackMap stack:
aload 5 /* pos */
iload 14 /* c */
dup2
iaload
iconst_1
isub
dup_x2
iastore
dup
istore 15 /* d */
start local 15 // int d
40: iload 13 /* i */
if_icmpgt 35
41: .line 2193
aload 3
iload 13 /* i */
iload 16 /* t */
castore
end local 15 // int d
42: .line 2195
StackMap locals:
StackMap stack:
iload 9 /* level */
iconst_1
if_icmpge 47
aload 4 /* count */
iload 14 /* c */
iaload
iconst_1
if_icmple 47
43: .line 2196
aload 4 /* count */
iload 14 /* c */
iaload
sipush 1024
if_icmpge 45
44: .line 2197
aload 3
iload 13 /* i */
iload 13 /* i */
aload 4 /* count */
iload 14 /* c */
iaload
iadd
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.quickSort:([CII)V
goto 47
45: .line 2199
StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.concurrent.atomic.AtomicInteger.incrementAndGet:()I
pop
46: .line 2200
aload 2
new it.unimi.dsi.fastutil.chars.CharArrays$Segment
dup
iload 13 /* i */
aload 4 /* count */
iload 14 /* c */
iaload
iload 9 /* level */
iconst_1
iadd
invokespecial it.unimi.dsi.fastutil.chars.CharArrays$Segment.<init>:(III)V
invokevirtual java.util.concurrent.LinkedBlockingQueue.add:(Ljava/lang/Object;)Z
pop
end local 16 // char t
47: .line 2183
StackMap locals: java.util.concurrent.atomic.AtomicInteger int java.util.concurrent.LinkedBlockingQueue char[] int[] int[] it.unimi.dsi.fastutil.chars.CharArrays$Segment int int int int int int int int
StackMap stack:
iload 13 /* i */
aload 4 /* count */
iload 14 /* c */
iaload
iadd
istore 13 /* i */
aload 4 /* count */
iload 14 /* c */
iconst_0
iastore
StackMap locals:
StackMap stack:
48: iload 13 /* i */
iload 12 /* end */
if_icmple 31
end local 14 // int c
end local 13 // int i
49: .line 2204
aload 0
invokevirtual java.util.concurrent.atomic.AtomicInteger.decrementAndGet:()I
pop
end local 12 // int end
end local 11 // int lastUsed
end local 10 // int shift
end local 9 // int level
end local 8 // int length
end local 7 // int first
end local 6 // it.unimi.dsi.fastutil.chars.CharArrays$Segment segment
50: .line 2153
goto 2
end local 5 // int[] pos
end local 4 // int[] count
LocalVariableTable:
Start End Slot Name Signature
1 51 4 count [I
2 51 5 pos [I
4 7 6 i I
8 50 6 segment Lit/unimi/dsi/fastutil/chars/CharArrays$Segment;
11 50 7 first I
12 50 8 length I
13 50 9 level I
14 50 10 shift I
15 18 11 i I
19 50 11 lastUsed I
20 27 12 i I
21 27 13 p I
28 50 12 end I
29 49 13 i I
30 49 14 c I
35 39 15 d I
40 42 15 d I
32 47 16 t C
36 39 17 z C
Exceptions:
throws java.lang.Exception
private static java.lang.Void lambda$1(java.util.concurrent.atomic.AtomicInteger, int, java.util.concurrent.LinkedBlockingQueue, char[], int[], boolean, int[]);
descriptor: (Ljava/util/concurrent/atomic/AtomicInteger;ILjava/util/concurrent/LinkedBlockingQueue;[C[IZ[I)Ljava/lang/Void;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=7, locals=21, args_size=7
0: .line 2421
sipush 256
newarray 10
astore 7 /* count */
start local 7 // int[] count
1: .line 2422
sipush 256
newarray 10
astore 8 /* pos */
start local 8 // int[] pos
2: .line 2424
StackMap locals: int[] int[]
StackMap stack:
aload 0
invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
ifne 7
3: .line 2425
iload 1
istore 9 /* i */
start local 9 // int i
4: goto 6
5: .line 2426
StackMap locals: int
StackMap stack:
aload 2
getstatic it.unimi.dsi.fastutil.chars.CharArrays.POISON_PILL:Lit/unimi/dsi/fastutil/chars/CharArrays$Segment;
invokevirtual java.util.concurrent.LinkedBlockingQueue.add:(Ljava/lang/Object;)Z
pop
6: .line 2425
StackMap locals:
StackMap stack:
iload 9 /* i */
iinc 9 /* i */ -1
ifne 5
end local 9 // int i
7: .line 2427
StackMap locals:
StackMap stack:
aload 2
invokevirtual java.util.concurrent.LinkedBlockingQueue.take:()Ljava/lang/Object;
checkcast it.unimi.dsi.fastutil.chars.CharArrays$Segment
astore 9 /* segment */
start local 9 // it.unimi.dsi.fastutil.chars.CharArrays$Segment segment
8: .line 2428
aload 9 /* segment */
getstatic it.unimi.dsi.fastutil.chars.CharArrays.POISON_PILL:Lit/unimi/dsi/fastutil/chars/CharArrays$Segment;
if_acmpne 10
9: .line 2429
aconst_null
areturn
10: .line 2430
StackMap locals: it.unimi.dsi.fastutil.chars.CharArrays$Segment
StackMap stack:
aload 9 /* segment */
getfield it.unimi.dsi.fastutil.chars.CharArrays$Segment.offset:I
istore 10 /* first */
start local 10 // int first
11: .line 2431
aload 9 /* segment */
getfield it.unimi.dsi.fastutil.chars.CharArrays$Segment.length:I
istore 11 /* length */
start local 11 // int length
12: .line 2432
aload 9 /* segment */
getfield it.unimi.dsi.fastutil.chars.CharArrays$Segment.level:I
istore 12 /* level */
start local 12 // int level
13: .line 2434
iconst_1
iload 12 /* level */
iconst_2
irem
isub
bipush 8
imul
istore 13 /* shift */
start local 13 // int shift
14: .line 2442
iload 10 /* first */
iload 11 /* length */
iadd
istore 14 /* i */
start local 14 // int i
15: goto 17
16: .line 2443
StackMap locals: java.util.concurrent.atomic.AtomicInteger int java.util.concurrent.LinkedBlockingQueue char[] int[] int int[] int[] int[] it.unimi.dsi.fastutil.chars.CharArrays$Segment int int int int int
StackMap stack:
aload 7 /* count */
aload 3
aload 4
iload 14 /* i */
iaload
caload
iload 13 /* shift */
iushr
sipush 255
iand
dup2
iaload
iconst_1
iadd
iastore
17: .line 2442
StackMap locals:
StackMap stack:
iload 14 /* i */
iinc 14 /* i */ -1
iload 10 /* first */
if_icmpne 16
end local 14 // int i
18: .line 2445
iconst_m1
istore 14 /* lastUsed */
start local 14 // int lastUsed
19: .line 2446
iconst_0
istore 15 /* i */
start local 15 // int i
20: iload 10 /* first */
istore 16 /* p */
start local 16 // int p
21: goto 26
22: .line 2447
StackMap locals: int int
StackMap stack:
aload 7 /* count */
iload 15 /* i */
iaload
ifeq 24
23: .line 2448
iload 15 /* i */
istore 14 /* lastUsed */
24: .line 2449
StackMap locals:
StackMap stack:
aload 8 /* pos */
iload 15 /* i */
iload 16 /* p */
aload 7 /* count */
iload 15 /* i */
iaload
iadd
dup
istore 16 /* p */
iastore
25: .line 2446
iinc 15 /* i */ 1
StackMap locals:
StackMap stack:
26: iload 15 /* i */
sipush 256
if_icmplt 22
end local 16 // int p
end local 15 // int i
27: .line 2451
iload 5
ifeq 46
28: .line 2452
iload 10 /* first */
iload 11 /* length */
iadd
istore 15 /* i */
start local 15 // int i
29: goto 31
30: .line 2453
StackMap locals:
StackMap stack:
aload 6
aload 8 /* pos */
aload 3
aload 4
iload 15 /* i */
iaload
caload
iload 13 /* shift */
iushr
sipush 255
iand
dup2
iaload
iconst_1
isub
dup_x2
iastore
aload 4
iload 15 /* i */
iaload
iastore
31: .line 2452
StackMap locals:
StackMap stack:
iload 15 /* i */
iinc 15 /* i */ -1
iload 10 /* first */
if_icmpne 30
end local 15 // int i
32: .line 2454
aload 6
iload 10 /* first */
aload 4
iload 10 /* first */
iload 11 /* length */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
33: .line 2455
iconst_0
istore 15 /* i */
start local 15 // int i
34: iload 10 /* first */
istore 16 /* p */
start local 16 // int p
35: goto 43
36: .line 2456
StackMap locals: int
StackMap stack:
iload 12 /* level */
iconst_1
if_icmpge 41
aload 7 /* count */
iload 15 /* i */
iaload
iconst_1
if_icmple 41
37: .line 2457
aload 7 /* count */
iload 15 /* i */
iaload
sipush 1024
if_icmpge 39
38: .line 2458
aload 4
aload 3
iload 16 /* p */
iload 16 /* p */
aload 7 /* count */
iload 15 /* i */
iaload
iadd
iload 5
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.radixSortIndirect:([I[CIIZ)V
goto 41
39: .line 2460
StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.concurrent.atomic.AtomicInteger.incrementAndGet:()I
pop
40: .line 2461
aload 2
new it.unimi.dsi.fastutil.chars.CharArrays$Segment
dup
iload 16 /* p */
aload 7 /* count */
iload 15 /* i */
iaload
iload 12 /* level */
iconst_1
iadd
invokespecial it.unimi.dsi.fastutil.chars.CharArrays$Segment.<init>:(III)V
invokevirtual java.util.concurrent.LinkedBlockingQueue.add:(Ljava/lang/Object;)Z
pop
41: .line 2464
StackMap locals:
StackMap stack:
iload 16 /* p */
aload 7 /* count */
iload 15 /* i */
iaload
iadd
istore 16 /* p */
42: .line 2455
iinc 15 /* i */ 1
StackMap locals:
StackMap stack:
43: iload 15 /* i */
iload 14 /* lastUsed */
if_icmple 36
end local 16 // int p
end local 15 // int i
44: .line 2466
aload 7 /* count */
iconst_0
invokestatic java.util.Arrays.fill:([II)V
45: .line 2467
goto 68
46: .line 2468
StackMap locals:
StackMap stack:
iload 10 /* first */
iload 11 /* length */
iadd
aload 7 /* count */
iload 14 /* lastUsed */
iaload
isub
istore 15 /* end */
start local 15 // int end
47: .line 2470
iload 10 /* first */
istore 16 /* i */
start local 16 // int i
48: iconst_m1
istore 17 /* c */
start local 17 // int c
49: goto 67
50: .line 2471
StackMap locals: int int int
StackMap stack:
aload 4
iload 16 /* i */
iaload
istore 19 /* t */
start local 19 // int t
51: .line 2472
aload 3
iload 19 /* t */
caload
iload 13 /* shift */
iushr
sipush 255
iand
istore 17 /* c */
52: .line 2473
iload 16 /* i */
iload 15 /* end */
if_icmpge 61
53: .line 2474
goto 58
start local 18 // int d
54: .line 2475
StackMap locals: int int
StackMap stack:
iload 19 /* t */
istore 20 /* z */
start local 20 // int z
55: .line 2476
aload 4
iload 18 /* d */
iaload
istore 19 /* t */
56: .line 2477
aload 4
iload 18 /* d */
iload 20 /* z */
iastore
57: .line 2478
aload 3
iload 19 /* t */
caload
iload 13 /* shift */
iushr
sipush 255
iand
istore 17 /* c */
end local 20 // int z
end local 18 // int d
58: .line 2474
StackMap locals: java.util.concurrent.atomic.AtomicInteger int java.util.concurrent.LinkedBlockingQueue char[] int[] int int[] int[] int[] it.unimi.dsi.fastutil.chars.CharArrays$Segment int int int int int int int int top int
StackMap stack:
aload 8 /* pos */
iload 17 /* c */
dup2
iaload
iconst_1
isub
dup_x2
iastore
dup
istore 18 /* d */
start local 18 // int d
59: iload 16 /* i */
if_icmpgt 54
60: .line 2480
aload 4
iload 16 /* i */
iload 19 /* t */
iastore
end local 18 // int d
61: .line 2482
StackMap locals:
StackMap stack:
iload 12 /* level */
iconst_1
if_icmpge 66
aload 7 /* count */
iload 17 /* c */
iaload
iconst_1
if_icmple 66
62: .line 2483
aload 7 /* count */
iload 17 /* c */
iaload
sipush 1024
if_icmpge 64
63: .line 2484
aload 4
aload 3
iload 16 /* i */
iload 16 /* i */
aload 7 /* count */
iload 17 /* c */
iaload
iadd
iload 5
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.radixSortIndirect:([I[CIIZ)V
goto 66
64: .line 2486
StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.concurrent.atomic.AtomicInteger.incrementAndGet:()I
pop
65: .line 2487
aload 2
new it.unimi.dsi.fastutil.chars.CharArrays$Segment
dup
iload 16 /* i */
aload 7 /* count */
iload 17 /* c */
iaload
iload 12 /* level */
iconst_1
iadd
invokespecial it.unimi.dsi.fastutil.chars.CharArrays$Segment.<init>:(III)V
invokevirtual java.util.concurrent.LinkedBlockingQueue.add:(Ljava/lang/Object;)Z
pop
end local 19 // int t
66: .line 2470
StackMap locals: java.util.concurrent.atomic.AtomicInteger int java.util.concurrent.LinkedBlockingQueue char[] int[] int int[] int[] int[] it.unimi.dsi.fastutil.chars.CharArrays$Segment int int int int int int int int
StackMap stack:
iload 16 /* i */
aload 7 /* count */
iload 17 /* c */
iaload
iadd
istore 16 /* i */
aload 7 /* count */
iload 17 /* c */
iconst_0
iastore
StackMap locals:
StackMap stack:
67: iload 16 /* i */
iload 15 /* end */
if_icmple 50
end local 17 // int c
end local 16 // int i
end local 15 // int end
68: .line 2492
StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.concurrent.atomic.AtomicInteger.decrementAndGet:()I
pop
end local 14 // int lastUsed
end local 13 // int shift
end local 12 // int level
end local 11 // int length
end local 10 // int first
end local 9 // it.unimi.dsi.fastutil.chars.CharArrays$Segment segment
69: .line 2423
goto 2
end local 8 // int[] pos
end local 7 // int[] count
LocalVariableTable:
Start End Slot Name Signature
1 70 7 count [I
2 70 8 pos [I
4 7 9 i I
8 69 9 segment Lit/unimi/dsi/fastutil/chars/CharArrays$Segment;
11 69 10 first I
12 69 11 length I
13 69 12 level I
14 69 13 shift I
15 18 14 i I
19 69 14 lastUsed I
20 27 15 i I
21 27 16 p I
29 32 15 i I
34 44 15 i I
35 44 16 p I
47 68 15 end I
48 68 16 i I
49 68 17 c I
54 58 18 d I
59 61 18 d I
51 66 19 t I
55 58 20 z I
Exceptions:
throws java.lang.Exception
private static java.lang.Void lambda$2(java.util.concurrent.atomic.AtomicInteger, int, java.util.concurrent.LinkedBlockingQueue, char[], char[]);
descriptor: (Ljava/util/concurrent/atomic/AtomicInteger;ILjava/util/concurrent/LinkedBlockingQueue;[C[C)Ljava/lang/Void;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=7, locals=23, args_size=5
0: .line 2696
sipush 256
newarray 10
astore 5 /* count */
start local 5 // int[] count
1: .line 2697
sipush 256
newarray 10
astore 6 /* pos */
start local 6 // int[] pos
2: .line 2699
StackMap locals: int[] int[]
StackMap stack:
aload 0
invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
ifne 7
3: .line 2700
iload 1
istore 7 /* i */
start local 7 // int i
4: goto 6
5: .line 2701
StackMap locals: int
StackMap stack:
aload 2
getstatic it.unimi.dsi.fastutil.chars.CharArrays.POISON_PILL:Lit/unimi/dsi/fastutil/chars/CharArrays$Segment;
invokevirtual java.util.concurrent.LinkedBlockingQueue.add:(Ljava/lang/Object;)Z
pop
6: .line 2700
StackMap locals:
StackMap stack:
iload 7 /* i */
iinc 7 /* i */ -1
ifne 5
end local 7 // int i
7: .line 2702
StackMap locals:
StackMap stack:
aload 2
invokevirtual java.util.concurrent.LinkedBlockingQueue.take:()Ljava/lang/Object;
checkcast it.unimi.dsi.fastutil.chars.CharArrays$Segment
astore 7 /* segment */
start local 7 // it.unimi.dsi.fastutil.chars.CharArrays$Segment segment
8: .line 2703
aload 7 /* segment */
getstatic it.unimi.dsi.fastutil.chars.CharArrays.POISON_PILL:Lit/unimi/dsi/fastutil/chars/CharArrays$Segment;
if_acmpne 10
9: .line 2704
aconst_null
areturn
10: .line 2705
StackMap locals: it.unimi.dsi.fastutil.chars.CharArrays$Segment
StackMap stack:
aload 7 /* segment */
getfield it.unimi.dsi.fastutil.chars.CharArrays$Segment.offset:I
istore 8 /* first */
start local 8 // int first
11: .line 2706
aload 7 /* segment */
getfield it.unimi.dsi.fastutil.chars.CharArrays$Segment.length:I
istore 9 /* length */
start local 9 // int length
12: .line 2707
aload 7 /* segment */
getfield it.unimi.dsi.fastutil.chars.CharArrays$Segment.level:I
istore 10 /* level */
start local 10 // int level
13: .line 2708
iload 10 /* level */
iconst_2
irem
ifne 14
sipush 128
goto 15
StackMap locals: int int int
StackMap stack:
14: iconst_0
StackMap locals:
StackMap stack: int
15: istore 11 /* signMask */
start local 11 // int signMask
16: .line 2709
iload 10 /* level */
iconst_2
if_icmpge 17
aload 3
goto 18
StackMap locals: int
StackMap stack:
17: aload 4
StackMap locals:
StackMap stack: char[]
18: astore 12 /* k */
start local 12 // char[] k
19: .line 2710
iconst_1
iload 10 /* level */
iconst_2
irem
isub
bipush 8
imul
istore 13 /* shift */
start local 13 // int shift
20: .line 2712
iload 8 /* first */
iload 9 /* length */
iadd
istore 14 /* i */
start local 14 // int i
21: goto 23
22: .line 2713
StackMap locals: char[] int int
StackMap stack:
aload 5 /* count */
aload 12 /* k */
iload 14 /* i */
caload
iload 13 /* shift */
iushr
sipush 255
iand
iload 11 /* signMask */
ixor
dup2
iaload
iconst_1
iadd
iastore
23: .line 2712
StackMap locals:
StackMap stack:
iload 14 /* i */
iinc 14 /* i */ -1
iload 8 /* first */
if_icmpne 22
end local 14 // int i
24: .line 2715
iconst_m1
istore 14 /* lastUsed */
start local 14 // int lastUsed
25: .line 2716
iconst_0
istore 15 /* i */
start local 15 // int i
26: iload 8 /* first */
istore 16 /* p */
start local 16 // int p
27: goto 32
28: .line 2717
StackMap locals: int int
StackMap stack:
aload 5 /* count */
iload 15 /* i */
iaload
ifeq 30
29: .line 2718
iload 15 /* i */
istore 14 /* lastUsed */
30: .line 2719
StackMap locals:
StackMap stack:
aload 6 /* pos */
iload 15 /* i */
iload 16 /* p */
aload 5 /* count */
iload 15 /* i */
iaload
iadd
dup
istore 16 /* p */
iastore
31: .line 2716
iinc 15 /* i */ 1
StackMap locals:
StackMap stack:
32: iload 15 /* i */
sipush 256
if_icmplt 28
end local 16 // int p
end local 15 // int i
33: .line 2721
iload 8 /* first */
iload 9 /* length */
iadd
aload 5 /* count */
iload 14 /* lastUsed */
iaload
isub
istore 15 /* end */
start local 15 // int end
34: .line 2722
iload 8 /* first */
istore 16 /* i */
start local 16 // int i
35: iconst_m1
istore 17 /* c */
start local 17 // int c
36: goto 59
37: .line 2723
StackMap locals: int
StackMap stack:
aload 3
iload 16 /* i */
caload
istore 19 /* t */
start local 19 // char t
38: .line 2724
aload 4
iload 16 /* i */
caload
istore 20 /* u */
start local 20 // char u
39: .line 2725
aload 12 /* k */
iload 16 /* i */
caload
iload 13 /* shift */
iushr
sipush 255
iand
iload 11 /* signMask */
ixor
istore 17 /* c */
40: .line 2726
iload 16 /* i */
iload 15 /* end */
if_icmpge 53
41: .line 2727
goto 49
start local 18 // int d
42: .line 2728
StackMap locals: int int int
StackMap stack:
aload 12 /* k */
iload 18 /* d */
caload
iload 13 /* shift */
iushr
sipush 255
iand
iload 11 /* signMask */
ixor
istore 17 /* c */
43: .line 2729
iload 19 /* t */
istore 21 /* z */
start local 21 // char z
44: .line 2730
iload 20 /* u */
istore 22 /* w */
start local 22 // char w
45: .line 2731
aload 3
iload 18 /* d */
caload
istore 19 /* t */
46: .line 2732
aload 4
iload 18 /* d */
caload
istore 20 /* u */
47: .line 2733
aload 3
iload 18 /* d */
iload 21 /* z */
castore
48: .line 2734
aload 4
iload 18 /* d */
iload 22 /* w */
castore
end local 22 // char w
end local 21 // char z
end local 18 // int d
49: .line 2727
StackMap locals: java.util.concurrent.atomic.AtomicInteger int java.util.concurrent.LinkedBlockingQueue char[] char[] int[] int[] it.unimi.dsi.fastutil.chars.CharArrays$Segment int int int int char[] int int int int int top int int
StackMap stack:
aload 6 /* pos */
iload 17 /* c */
dup2
iaload
iconst_1
isub
dup_x2
iastore
dup
istore 18 /* d */
start local 18 // int d
50: iload 16 /* i */
if_icmpgt 42
51: .line 2736
aload 3
iload 16 /* i */
iload 19 /* t */
castore
52: .line 2737
aload 4
iload 16 /* i */
iload 20 /* u */
castore
end local 18 // int d
53: .line 2739
StackMap locals:
StackMap stack:
iload 10 /* level */
iconst_3
if_icmpge 58
aload 5 /* count */
iload 17 /* c */
iaload
iconst_1
if_icmple 58
54: .line 2740
aload 5 /* count */
iload 17 /* c */
iaload
sipush 1024
if_icmpge 56
55: .line 2741
aload 3
aload 4
iload 16 /* i */
iload 16 /* i */
aload 5 /* count */
iload 17 /* c */
iaload
iadd
invokestatic it.unimi.dsi.fastutil.chars.CharArrays.quickSort:([C[CII)V
goto 58
56: .line 2743
StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.concurrent.atomic.AtomicInteger.incrementAndGet:()I
pop
57: .line 2744
aload 2
new it.unimi.dsi.fastutil.chars.CharArrays$Segment
dup
iload 16 /* i */
aload 5 /* count */
iload 17 /* c */
iaload
iload 10 /* level */
iconst_1
iadd
invokespecial it.unimi.dsi.fastutil.chars.CharArrays$Segment.<init>:(III)V
invokevirtual java.util.concurrent.LinkedBlockingQueue.add:(Ljava/lang/Object;)Z
pop
end local 20 // char u
end local 19 // char t
58: .line 2722
StackMap locals: java.util.concurrent.atomic.AtomicInteger int java.util.concurrent.LinkedBlockingQueue char[] char[] int[] int[] it.unimi.dsi.fastutil.chars.CharArrays$Segment int int int int char[] int int int int int
StackMap stack:
iload 16 /* i */
aload 5 /* count */
iload 17 /* c */
iaload
iadd
istore 16 /* i */
aload 5 /* count */
iload 17 /* c */
iconst_0
iastore
StackMap locals:
StackMap stack:
59: iload 16 /* i */
iload 15 /* end */
if_icmple 37
end local 17 // int c
end local 16 // int i
60: .line 2748
aload 0
invokevirtual java.util.concurrent.atomic.AtomicInteger.decrementAndGet:()I
pop
end local 15 // int end
end local 14 // int lastUsed
end local 13 // int shift
end local 12 // char[] k
end local 11 // int signMask
end local 10 // int level
end local 9 // int length
end local 8 // int first
end local 7 // it.unimi.dsi.fastutil.chars.CharArrays$Segment segment
61: .line 2698
goto 2
end local 6 // int[] pos
end local 5 // int[] count
LocalVariableTable:
Start End Slot Name Signature
1 62 5 count [I
2 62 6 pos [I
4 7 7 i I
8 61 7 segment Lit/unimi/dsi/fastutil/chars/CharArrays$Segment;
11 61 8 first I
12 61 9 length I
13 61 10 level I
16 61 11 signMask I
19 61 12 k [C
20 61 13 shift I
21 24 14 i I
25 61 14 lastUsed I
26 33 15 i I
27 33 16 p I
34 61 15 end I
35 60 16 i I
36 60 17 c I
42 49 18 d I
50 53 18 d I
38 58 19 t C
39 58 20 u C
44 49 21 z C
45 49 22 w C
Exceptions:
throws java.lang.Exception
}
SourceFile: "CharArrays.java"
NestMembers:
it.unimi.dsi.fastutil.chars.CharArrays$ArrayHashStrategy it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSort it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSort2 it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortIndirect it.unimi.dsi.fastutil.chars.CharArrays$Segment
InnerClasses:
public abstract Strategy = it.unimi.dsi.fastutil.Hash$Strategy of it.unimi.dsi.fastutil.Hash
private final ArrayHashStrategy = it.unimi.dsi.fastutil.chars.CharArrays$ArrayHashStrategy of it.unimi.dsi.fastutil.chars.CharArrays
protected ForkJoinQuickSort = it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSort of it.unimi.dsi.fastutil.chars.CharArrays
protected ForkJoinQuickSort2 = it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSort2 of it.unimi.dsi.fastutil.chars.CharArrays
protected ForkJoinQuickSortComp = it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp of it.unimi.dsi.fastutil.chars.CharArrays
protected ForkJoinQuickSortIndirect = it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortIndirect of it.unimi.dsi.fastutil.chars.CharArrays
protected final Segment = it.unimi.dsi.fastutil.chars.CharArrays$Segment of it.unimi.dsi.fastutil.chars.CharArrays
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles