public class it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp extends java.util.concurrent.RecursiveAction
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp
  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 char[] x;
    descriptor: [C
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  public void <init>(char[], int, int, it.unimi.dsi.fastutil.chars.CharComparator);
    descriptor: ([CIILit/unimi/dsi/fastutil/chars/CharComparator;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp this
        start local 1 // char[] x
        start local 2 // int from
        start local 3 // int to
        start local 4 // it.unimi.dsi.fastutil.chars.CharComparator comp
         0: .line 578
            aload 0 /* this */
            invokespecial java.util.concurrent.RecursiveAction.<init>:()V
         1: .line 579
            aload 0 /* this */
            iload 2 /* from */
            putfield it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp.from:I
         2: .line 580
            aload 0 /* this */
            iload 3 /* to */
            putfield it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp.to:I
         3: .line 581
            aload 0 /* this */
            aload 1 /* x */
            putfield it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp.x:[C
         4: .line 582
            aload 0 /* this */
            aload 4 /* comp */
            putfield it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp.comp:Lit/unimi/dsi/fastutil/chars/CharComparator;
         5: .line 583
            return
        end local 4 // it.unimi.dsi.fastutil.chars.CharComparator comp
        end local 3 // int to
        end local 2 // int from
        end local 1 // char[] x
        end local 0 // it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lit/unimi/dsi/fastutil/chars/CharArrays$ForkJoinQuickSortComp;
            0    6     1     x  [C
            0    6     2  from  I
            0    6     3    to  I
            0    6     4  comp  Lit/unimi/dsi/fastutil/chars/CharComparator;
    MethodParameters:
      Name  Flags
      x     final
      from  final
      to    final
      comp  final

  protected void compute();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=9, locals=13, args_size=1
        start local 0 // it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp this
         0: .line 586
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp.x:[C
            astore 1 /* x */
        start local 1 // char[] x
         1: .line 587
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp.to:I
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp.from:I
            isub
            istore 2 /* len */
        start local 2 // int len
         2: .line 588
            iload 2 /* len */
            sipush 8192
            if_icmpge 5
         3: .line 589
            aload 1 /* x */
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp.from:I
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp.to:I
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp.comp:Lit/unimi/dsi/fastutil/chars/CharComparator;
            invokestatic it.unimi.dsi.fastutil.chars.CharArrays.quickSort:([CIILit/unimi/dsi/fastutil/chars/CharComparator;)V
         4: .line 590
            return
         5: .line 593
      StackMap locals: char[] int
      StackMap stack:
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp.from:I
            iload 2 /* len */
            iconst_2
            idiv
            iadd
            istore 3 /* m */
        start local 3 // int m
         6: .line 594
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp.from:I
            istore 4 /* l */
        start local 4 // int l
         7: .line 595
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp.to:I
            iconst_1
            isub
            istore 5 /* n */
        start local 5 // int n
         8: .line 596
            iload 2 /* len */
            bipush 8
            idiv
            istore 6 /* s */
        start local 6 // int s
         9: .line 597
            aload 1 /* x */
            iload 4 /* l */
            iload 4 /* l */
            iload 6 /* s */
            iadd
            iload 4 /* l */
            iconst_2
            iload 6 /* s */
            imul
            iadd
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp.comp:Lit/unimi/dsi/fastutil/chars/CharComparator;
            invokestatic it.unimi.dsi.fastutil.chars.CharArrays.med3:([CIIILit/unimi/dsi/fastutil/chars/CharComparator;)I
            istore 4 /* l */
        10: .line 598
            aload 1 /* x */
            iload 3 /* m */
            iload 6 /* s */
            isub
            iload 3 /* m */
            iload 3 /* m */
            iload 6 /* s */
            iadd
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp.comp:Lit/unimi/dsi/fastutil/chars/CharComparator;
            invokestatic it.unimi.dsi.fastutil.chars.CharArrays.med3:([CIIILit/unimi/dsi/fastutil/chars/CharComparator;)I
            istore 3 /* m */
        11: .line 599
            aload 1 /* x */
            iload 5 /* n */
            iconst_2
            iload 6 /* s */
            imul
            isub
            iload 5 /* n */
            iload 6 /* s */
            isub
            iload 5 /* n */
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp.comp:Lit/unimi/dsi/fastutil/chars/CharComparator;
            invokestatic it.unimi.dsi.fastutil.chars.CharArrays.med3:([CIIILit/unimi/dsi/fastutil/chars/CharComparator;)I
            istore 5 /* n */
        12: .line 600
            aload 1 /* x */
            iload 4 /* l */
            iload 3 /* m */
            iload 5 /* n */
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp.comp:Lit/unimi/dsi/fastutil/chars/CharComparator;
            invokestatic it.unimi.dsi.fastutil.chars.CharArrays.med3:([CIIILit/unimi/dsi/fastutil/chars/CharComparator;)I
            istore 3 /* m */
        13: .line 601
            aload 1 /* x */
            iload 3 /* m */
            caload
            istore 7 /* v */
        start local 7 // char v
        14: .line 603
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp.from:I
            istore 8 /* a */
        start local 8 // int a
        15: iload 8 /* a */
            istore 9 /* b */
        start local 9 // int b
        16: aload 0 /* this */
            getfield it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp.to:I
            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 606
            goto 22
        start local 12 // int comparison
        19: .line 607
      StackMap locals: it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp char[] int int int int int int int int int int int
      StackMap stack:
            iload 12 /* comparison */
            ifne 21
        20: .line 608
            aload 1 /* x */
            iload 8 /* a */
            iinc 8 /* a */ 1
            iload 9 /* b */
            invokestatic it.unimi.dsi.fastutil.chars.CharArrays.swap:([CII)V
        21: .line 609
      StackMap locals:
      StackMap stack:
            iinc 9 /* b */ 1
        end local 12 // int comparison
        22: .line 606
      StackMap locals:
      StackMap stack:
            iload 9 /* b */
            iload 10 /* c */
            if_icmpgt 28
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp.comp:Lit/unimi/dsi/fastutil/chars/CharComparator;
            aload 1 /* x */
            iload 9 /* b */
            caload
            iload 7 /* v */
            invokeinterface it.unimi.dsi.fastutil.chars.CharComparator.compare:(CC)I
            dup
            istore 12 /* comparison */
        start local 12 // int comparison
        23: ifle 19
        end local 12 // int comparison
        24: .line 611
            goto 28
        start local 12 // int comparison
        25: .line 612
      StackMap locals: int
      StackMap stack:
            iload 12 /* comparison */
            ifne 27
        26: .line 613
            aload 1 /* x */
            iload 10 /* c */
            iload 11 /* d */
            iinc 11 /* d */ -1
            invokestatic it.unimi.dsi.fastutil.chars.CharArrays.swap:([CII)V
        27: .line 614
      StackMap locals:
      StackMap stack:
            iinc 10 /* c */ -1
        end local 12 // int comparison
        28: .line 611
      StackMap locals:
      StackMap stack:
            iload 10 /* c */
            iload 9 /* b */
            if_icmplt 30
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp.comp:Lit/unimi/dsi/fastutil/chars/CharComparator;
            aload 1 /* x */
            iload 10 /* c */
            caload
            iload 7 /* v */
            invokeinterface it.unimi.dsi.fastutil.chars.CharComparator.compare:(CC)I
            dup
            istore 12 /* comparison */
        start local 12 // int comparison
        29: ifge 25
        end local 12 // int comparison
        30: .line 616
      StackMap locals:
      StackMap stack:
            iload 9 /* b */
            iload 10 /* c */
            if_icmple 32
        31: .line 617
            goto 34
        32: .line 618
      StackMap locals:
      StackMap stack:
            aload 1 /* 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 604
            goto 22
        34: .line 622
      StackMap locals:
      StackMap stack:
            iload 8 /* a */
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp.from:I
            isub
            iload 9 /* b */
            iload 8 /* a */
            isub
            invokestatic java.lang.Math.min:(II)I
            istore 6 /* s */
        35: .line 623
            aload 1 /* x */
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp.from:I
            iload 9 /* b */
            iload 6 /* s */
            isub
            iload 6 /* s */
            invokestatic it.unimi.dsi.fastutil.chars.CharArrays.swap:([CIII)V
        36: .line 624
            iload 11 /* d */
            iload 10 /* c */
            isub
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp.to:I
            iload 11 /* d */
            isub
            iconst_1
            isub
            invokestatic java.lang.Math.min:(II)I
            istore 6 /* s */
        37: .line 625
            aload 1 /* x */
            iload 9 /* b */
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp.to:I
            iload 6 /* s */
            isub
            iload 6 /* s */
            invokestatic it.unimi.dsi.fastutil.chars.CharArrays.swap:([CIII)V
        38: .line 627
            iload 9 /* b */
            iload 8 /* a */
            isub
            istore 6 /* s */
        39: .line 628
            iload 11 /* d */
            iload 10 /* c */
            isub
            istore 12 /* t */
        start local 12 // int t
        40: .line 629
            iload 6 /* s */
            iconst_1
            if_icmple 45
            iload 12 /* t */
            iconst_1
            if_icmple 45
        41: .line 630
            new it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp
            dup
            aload 1 /* x */
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp.from:I
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp.from:I
            iload 6 /* s */
            iadd
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp.comp:Lit/unimi/dsi/fastutil/chars/CharComparator;
            invokespecial it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp.<init>:([CIILit/unimi/dsi/fastutil/chars/CharComparator;)V
        42: .line 631
            new it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp
            dup
            aload 1 /* x */
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp.to:I
            iload 12 /* t */
            isub
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp.to:I
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp.comp:Lit/unimi/dsi/fastutil/chars/CharComparator;
            invokespecial it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp.<init>:([CIILit/unimi/dsi/fastutil/chars/CharComparator;)V
        43: .line 630
            invokestatic it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp.invokeAll:(Ljava/util/concurrent/ForkJoinTask;Ljava/util/concurrent/ForkJoinTask;)V
        44: .line 631
            goto 49
        45: .line 632
      StackMap locals: int
      StackMap stack:
            iload 6 /* s */
            iconst_1
            if_icmple 47
            iconst_1
            anewarray java.util.concurrent.ForkJoinTask
            dup
            iconst_0
        46: .line 633
            new it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp
            dup
            aload 1 /* x */
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp.from:I
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp.from:I
            iload 6 /* s */
            iadd
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp.comp:Lit/unimi/dsi/fastutil/chars/CharComparator;
            invokespecial it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp.<init>:([CIILit/unimi/dsi/fastutil/chars/CharComparator;)V
            aastore
            invokestatic it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp.invokeAll:([Ljava/util/concurrent/ForkJoinTask;)V
            goto 49
      StackMap locals:
      StackMap stack:
        47: iconst_1
            anewarray java.util.concurrent.ForkJoinTask
            dup
            iconst_0
        48: .line 635
            new it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp
            dup
            aload 1 /* x */
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp.to:I
            iload 12 /* t */
            isub
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp.to:I
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp.comp:Lit/unimi/dsi/fastutil/chars/CharComparator;
            invokespecial it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp.<init>:([CIILit/unimi/dsi/fastutil/chars/CharComparator;)V
            aastore
            invokestatic it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp.invokeAll:([Ljava/util/concurrent/ForkJoinTask;)V
        49: .line 636
      StackMap locals:
      StackMap stack:
            return
        end local 12 // int t
        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 s
        end local 5 // int n
        end local 4 // int l
        end local 3 // int m
        end local 2 // int len
        end local 1 // char[] x
        end local 0 // it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   50     0        this  Lit/unimi/dsi/fastutil/chars/CharArrays$ForkJoinQuickSortComp;
            1   50     1           x  [C
            2   50     2         len  I
            6   50     3           m  I
            7   50     4           l  I
            8   50     5           n  I
            9   50     6           s  I
           14   50     7           v  C
           15   50     8           a  I
           16   50     9           b  I
           17   50    10           c  I
           18   50    11           d  I
           19   22    12  comparison  I
           23   24    12  comparison  I
           25   28    12  comparison  I
           29   30    12  comparison  I
           40   50    12           t  I
}
SourceFile: "CharArrays.java"
NestHost: it.unimi.dsi.fastutil.chars.CharArrays
InnerClasses:
  protected ForkJoinQuickSortComp = it.unimi.dsi.fastutil.chars.CharArrays$ForkJoinQuickSortComp of it.unimi.dsi.fastutil.chars.CharArrays