public class it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort extends java.util.concurrent.RecursiveAction
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort
  super_class: java.util.concurrent.RecursiveAction
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private final int from;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int to;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final it.unimi.dsi.fastutil.ints.IntComparator comp;
    descriptor: Lit/unimi/dsi/fastutil/ints/IntComparator;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final it.unimi.dsi.fastutil.Swapper swapper;
    descriptor: Lit/unimi/dsi/fastutil/Swapper;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(int, int, it.unimi.dsi.fastutil.ints.IntComparator, it.unimi.dsi.fastutil.Swapper);
    descriptor: (IILit/unimi/dsi/fastutil/ints/IntComparator;Lit/unimi/dsi/fastutil/Swapper;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort this
        start local 1 // int from
        start local 2 // int to
        start local 3 // it.unimi.dsi.fastutil.ints.IntComparator comp
        start local 4 // it.unimi.dsi.fastutil.Swapper swapper
         0: .line 265
            aload 0 /* this */
            invokespecial java.util.concurrent.RecursiveAction.<init>:()V
         1: .line 266
            aload 0 /* this */
            iload 1 /* from */
            putfield it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort.from:I
         2: .line 267
            aload 0 /* this */
            iload 2 /* to */
            putfield it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort.to:I
         3: .line 268
            aload 0 /* this */
            aload 3 /* comp */
            putfield it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort.comp:Lit/unimi/dsi/fastutil/ints/IntComparator;
         4: .line 269
            aload 0 /* this */
            aload 4 /* swapper */
            putfield it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort.swapper:Lit/unimi/dsi/fastutil/Swapper;
         5: .line 270
            return
        end local 4 // it.unimi.dsi.fastutil.Swapper swapper
        end local 3 // it.unimi.dsi.fastutil.ints.IntComparator comp
        end local 2 // int to
        end local 1 // int from
        end local 0 // it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lit/unimi/dsi/fastutil/Arrays$ForkJoinGenericQuickSort;
            0    6     1     from  I
            0    6     2       to  I
            0    6     3     comp  Lit/unimi/dsi/fastutil/ints/IntComparator;
            0    6     4  swapper  Lit/unimi/dsi/fastutil/Swapper;
    MethodParameters:
         Name  Flags
      from     final
      to       final
      comp     final
      swapper  final

  protected void compute();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=9, locals=11, args_size=1
        start local 0 // it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort this
         0: .line 274
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort.to:I
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort.from:I
            isub
            istore 1 /* len */
        start local 1 // int len
         1: .line 275
            iload 1 /* len */
            sipush 8192
            if_icmpge 4
         2: .line 276
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort.from:I
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort.to:I
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort.comp:Lit/unimi/dsi/fastutil/ints/IntComparator;
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort.swapper:Lit/unimi/dsi/fastutil/Swapper;
            invokestatic it.unimi.dsi.fastutil.Arrays.quickSort:(IILit/unimi/dsi/fastutil/ints/IntComparator;Lit/unimi/dsi/fastutil/Swapper;)V
         3: .line 277
            return
         4: .line 280
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort.from:I
            iload 1 /* len */
            iconst_2
            idiv
            iadd
            istore 2 /* m */
        start local 2 // int m
         5: .line 281
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort.from:I
            istore 3 /* l */
        start local 3 // int l
         6: .line 282
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort.to:I
            iconst_1
            isub
            istore 4 /* n */
        start local 4 // int n
         7: .line 283
            iload 1 /* len */
            bipush 8
            idiv
            istore 5 /* s */
        start local 5 // int s
         8: .line 284
            iload 3 /* l */
            iload 3 /* l */
            iload 5 /* s */
            iadd
            iload 3 /* l */
            iconst_2
            iload 5 /* s */
            imul
            iadd
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort.comp:Lit/unimi/dsi/fastutil/ints/IntComparator;
            invokestatic it.unimi.dsi.fastutil.Arrays.med3:(IIILit/unimi/dsi/fastutil/ints/IntComparator;)I
            istore 3 /* l */
         9: .line 285
            iload 2 /* m */
            iload 5 /* s */
            isub
            iload 2 /* m */
            iload 2 /* m */
            iload 5 /* s */
            iadd
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort.comp:Lit/unimi/dsi/fastutil/ints/IntComparator;
            invokestatic it.unimi.dsi.fastutil.Arrays.med3:(IIILit/unimi/dsi/fastutil/ints/IntComparator;)I
            istore 2 /* m */
        10: .line 286
            iload 4 /* n */
            iconst_2
            iload 5 /* s */
            imul
            isub
            iload 4 /* n */
            iload 5 /* s */
            isub
            iload 4 /* n */
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort.comp:Lit/unimi/dsi/fastutil/ints/IntComparator;
            invokestatic it.unimi.dsi.fastutil.Arrays.med3:(IIILit/unimi/dsi/fastutil/ints/IntComparator;)I
            istore 4 /* n */
        11: .line 287
            iload 3 /* l */
            iload 2 /* m */
            iload 4 /* n */
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort.comp:Lit/unimi/dsi/fastutil/ints/IntComparator;
            invokestatic it.unimi.dsi.fastutil.Arrays.med3:(IIILit/unimi/dsi/fastutil/ints/IntComparator;)I
            istore 2 /* m */
        12: .line 289
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort.from:I
            istore 6 /* a */
        start local 6 // int a
        13: iload 6 /* a */
            istore 7 /* b */
        start local 7 // int b
        14: aload 0 /* this */
            getfield it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort.to:I
            iconst_1
            isub
            istore 8 /* c */
        start local 8 // int c
        15: iload 8 /* c */
            istore 9 /* d */
        start local 9 // int d
        16: .line 292
            goto 22
        start local 10 // int comparison
        17: .line 293
      StackMap locals: it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort int int int int int int int int int int
      StackMap stack:
            iload 10 /* comparison */
            ifne 21
        18: .line 295
            iload 6 /* a */
            iload 2 /* m */
            if_icmpne 19
            iload 7 /* b */
            istore 2 /* m */
            goto 20
        19: .line 296
      StackMap locals:
      StackMap stack:
            iload 7 /* b */
            iload 2 /* m */
            if_icmpne 20
            iload 6 /* a */
            istore 2 /* m */
        20: .line 297
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort.swapper:Lit/unimi/dsi/fastutil/Swapper;
            iload 6 /* a */
            iinc 6 /* a */ 1
            iload 7 /* b */
            invokeinterface it.unimi.dsi.fastutil.Swapper.swap:(II)V
        21: .line 299
      StackMap locals:
      StackMap stack:
            iinc 7 /* b */ 1
        end local 10 // int comparison
        22: .line 292
      StackMap locals:
      StackMap stack:
            iload 7 /* b */
            iload 8 /* c */
            if_icmpgt 30
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort.comp:Lit/unimi/dsi/fastutil/ints/IntComparator;
            iload 7 /* b */
            iload 2 /* m */
            invokeinterface it.unimi.dsi.fastutil.ints.IntComparator.compare:(II)I
            dup
            istore 10 /* comparison */
        start local 10 // int comparison
        23: ifle 17
        end local 10 // int comparison
        24: .line 301
            goto 30
        start local 10 // int comparison
        25: .line 302
      StackMap locals: int
      StackMap stack:
            iload 10 /* comparison */
            ifne 29
        26: .line 304
            iload 8 /* c */
            iload 2 /* m */
            if_icmpne 27
            iload 9 /* d */
            istore 2 /* m */
            goto 28
        27: .line 305
      StackMap locals:
      StackMap stack:
            iload 9 /* d */
            iload 2 /* m */
            if_icmpne 28
            iload 8 /* c */
            istore 2 /* m */
        28: .line 306
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort.swapper:Lit/unimi/dsi/fastutil/Swapper;
            iload 8 /* c */
            iload 9 /* d */
            iinc 9 /* d */ -1
            invokeinterface it.unimi.dsi.fastutil.Swapper.swap:(II)V
        29: .line 308
      StackMap locals:
      StackMap stack:
            iinc 8 /* c */ -1
        end local 10 // int comparison
        30: .line 301
      StackMap locals:
      StackMap stack:
            iload 8 /* c */
            iload 7 /* b */
            if_icmplt 32
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort.comp:Lit/unimi/dsi/fastutil/ints/IntComparator;
            iload 8 /* c */
            iload 2 /* m */
            invokeinterface it.unimi.dsi.fastutil.ints.IntComparator.compare:(II)I
            dup
            istore 10 /* comparison */
        start local 10 // int comparison
        31: ifge 25
        end local 10 // int comparison
        32: .line 310
      StackMap locals:
      StackMap stack:
            iload 7 /* b */
            iload 8 /* c */
            if_icmple 33
            goto 37
        33: .line 312
      StackMap locals:
      StackMap stack:
            iload 7 /* b */
            iload 2 /* m */
            if_icmpne 34
            iload 9 /* d */
            istore 2 /* m */
            goto 35
        34: .line 313
      StackMap locals:
      StackMap stack:
            iload 8 /* c */
            iload 2 /* m */
            if_icmpne 35
            iload 8 /* c */
            istore 2 /* m */
        35: .line 314
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort.swapper:Lit/unimi/dsi/fastutil/Swapper;
            iload 7 /* b */
            iinc 7 /* b */ 1
            iload 8 /* c */
            iinc 8 /* c */ -1
            invokeinterface it.unimi.dsi.fastutil.Swapper.swap:(II)V
        36: .line 290
            goto 22
        37: .line 318
      StackMap locals:
      StackMap stack:
            iload 6 /* a */
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort.from:I
            isub
            iload 7 /* b */
            iload 6 /* a */
            isub
            invokestatic java.lang.Math.min:(II)I
            istore 5 /* s */
        38: .line 319
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort.swapper:Lit/unimi/dsi/fastutil/Swapper;
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort.from:I
            iload 7 /* b */
            iload 5 /* s */
            isub
            iload 5 /* s */
            invokestatic it.unimi.dsi.fastutil.Arrays.swap:(Lit/unimi/dsi/fastutil/Swapper;III)V
        39: .line 320
            iload 9 /* d */
            iload 8 /* c */
            isub
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort.to:I
            iload 9 /* d */
            isub
            iconst_1
            isub
            invokestatic java.lang.Math.min:(II)I
            istore 5 /* s */
        40: .line 321
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort.swapper:Lit/unimi/dsi/fastutil/Swapper;
            iload 7 /* b */
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort.to:I
            iload 5 /* s */
            isub
            iload 5 /* s */
            invokestatic it.unimi.dsi.fastutil.Arrays.swap:(Lit/unimi/dsi/fastutil/Swapper;III)V
        41: .line 325
            iload 7 /* b */
            iload 6 /* a */
            isub
            istore 5 /* s */
        42: .line 326
            iload 9 /* d */
            iload 8 /* c */
            isub
            istore 10 /* t */
        start local 10 // int t
        43: .line 327
            iload 5 /* s */
            iconst_1
            if_icmple 44
            iload 10 /* t */
            iconst_1
            if_icmple 44
            new it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort
            dup
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort.from:I
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort.from:I
            iload 5 /* s */
            iadd
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort.comp:Lit/unimi/dsi/fastutil/ints/IntComparator;
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort.swapper:Lit/unimi/dsi/fastutil/Swapper;
            invokespecial it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort.<init>:(IILit/unimi/dsi/fastutil/ints/IntComparator;Lit/unimi/dsi/fastutil/Swapper;)V
            new it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort
            dup
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort.to:I
            iload 10 /* t */
            isub
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort.to:I
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort.comp:Lit/unimi/dsi/fastutil/ints/IntComparator;
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort.swapper:Lit/unimi/dsi/fastutil/Swapper;
            invokespecial it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort.<init>:(IILit/unimi/dsi/fastutil/ints/IntComparator;Lit/unimi/dsi/fastutil/Swapper;)V
            invokestatic it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort.invokeAll:(Ljava/util/concurrent/ForkJoinTask;Ljava/util/concurrent/ForkJoinTask;)V
            goto 47
        44: .line 328
      StackMap locals: int
      StackMap stack:
            iload 5 /* s */
            iconst_1
            if_icmple 45
            iconst_1
            anewarray java.util.concurrent.ForkJoinTask
            dup
            iconst_0
            new it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort
            dup
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort.from:I
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort.from:I
            iload 5 /* s */
            iadd
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort.comp:Lit/unimi/dsi/fastutil/ints/IntComparator;
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort.swapper:Lit/unimi/dsi/fastutil/Swapper;
            invokespecial it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort.<init>:(IILit/unimi/dsi/fastutil/ints/IntComparator;Lit/unimi/dsi/fastutil/Swapper;)V
            aastore
            invokestatic it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort.invokeAll:([Ljava/util/concurrent/ForkJoinTask;)V
            goto 47
      StackMap locals:
      StackMap stack:
        45: iconst_1
            anewarray java.util.concurrent.ForkJoinTask
            dup
            iconst_0
        46: .line 329
            new it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort
            dup
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort.to:I
            iload 10 /* t */
            isub
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort.to:I
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort.comp:Lit/unimi/dsi/fastutil/ints/IntComparator;
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort.swapper:Lit/unimi/dsi/fastutil/Swapper;
            invokespecial it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort.<init>:(IILit/unimi/dsi/fastutil/ints/IntComparator;Lit/unimi/dsi/fastutil/Swapper;)V
            aastore
            invokestatic it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort.invokeAll:([Ljava/util/concurrent/ForkJoinTask;)V
        47: .line 330
      StackMap locals:
      StackMap stack:
            return
        end local 10 // int t
        end local 9 // int d
        end local 8 // int c
        end local 7 // int b
        end local 6 // int a
        end local 5 // int s
        end local 4 // int n
        end local 3 // int l
        end local 2 // int m
        end local 1 // int len
        end local 0 // it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   48     0        this  Lit/unimi/dsi/fastutil/Arrays$ForkJoinGenericQuickSort;
            1   48     1         len  I
            5   48     2           m  I
            6   48     3           l  I
            7   48     4           n  I
            8   48     5           s  I
           13   48     6           a  I
           14   48     7           b  I
           15   48     8           c  I
           16   48     9           d  I
           17   22    10  comparison  I
           23   24    10  comparison  I
           25   30    10  comparison  I
           31   32    10  comparison  I
           43   48    10           t  I
}
SourceFile: "Arrays.java"
NestHost: it.unimi.dsi.fastutil.Arrays
InnerClasses:
  protected ForkJoinGenericQuickSort = it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort of it.unimi.dsi.fastutil.Arrays