public abstract class org.apache.lucene.util.TimSorter extends org.apache.lucene.util.Sorter
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.apache.lucene.util.TimSorter
  super_class: org.apache.lucene.util.Sorter
{
  static final int MINRUN;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 32

  static final int THRESHOLD;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 64

  static final int STACKSIZE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 49

  static final int MIN_GALLOP;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 7

  final int maxTempSlots;
    descriptor: I
    flags: (0x0010) ACC_FINAL

  int minRun;
    descriptor: I
    flags: (0x0000) 

  int to;
    descriptor: I
    flags: (0x0000) 

  int stackSize;
    descriptor: I
    flags: (0x0000) 

  int[] runEnds;
    descriptor: [I
    flags: (0x0000) 

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 39
            ldc Lorg/apache/lucene/util/TimSorter;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.apache.lucene.util.TimSorter.$assertionsDisabled:Z
         3: .line 44
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>(int);
    descriptor: (I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.lucene.util.TimSorter this
        start local 1 // int maxTempSlots
         0: .line 57
            aload 0 /* this */
            invokespecial org.apache.lucene.util.Sorter.<init>:()V
         1: .line 58
            aload 0 /* this */
            bipush 50
            newarray 10
            putfield org.apache.lucene.util.TimSorter.runEnds:[I
         2: .line 59
            aload 0 /* this */
            iload 1 /* maxTempSlots */
            putfield org.apache.lucene.util.TimSorter.maxTempSlots:I
         3: .line 60
            return
        end local 1 // int maxTempSlots
        end local 0 // org.apache.lucene.util.TimSorter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/apache/lucene/util/TimSorter;
            0    4     1  maxTempSlots  I
    MethodParameters:
              Name  Flags
      maxTempSlots  

  static int minRun(int);
    descriptor: (I)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // int length
         0: .line 64
            getstatic org.apache.lucene.util.TimSorter.$assertionsDisabled:Z
            ifne 1
            iload 0 /* length */
            bipush 32
            if_icmpge 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 65
      StackMap locals:
      StackMap stack:
            iload 0 /* length */
            istore 1 /* n */
        start local 1 // int n
         2: .line 66
            iconst_0
            istore 2 /* r */
        start local 2 // int r
         3: .line 67
            goto 6
         4: .line 68
      StackMap locals: int int
      StackMap stack:
            iload 2 /* r */
            iload 1 /* n */
            iconst_1
            iand
            ior
            istore 2 /* r */
         5: .line 69
            iload 1 /* n */
            iconst_1
            iushr
            istore 1 /* n */
         6: .line 67
      StackMap locals:
      StackMap stack:
            iload 1 /* n */
            bipush 64
            if_icmpge 4
         7: .line 71
            iload 1 /* n */
            iload 2 /* r */
            iadd
            istore 3 /* minRun */
        start local 3 // int minRun
         8: .line 72
            getstatic org.apache.lucene.util.TimSorter.$assertionsDisabled:Z
            ifne 10
            iload 3 /* minRun */
            bipush 32
            if_icmplt 9
            iload 3 /* minRun */
            bipush 64
            if_icmple 10
      StackMap locals: int
      StackMap stack:
         9: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        10: .line 73
      StackMap locals:
      StackMap stack:
            iload 3 /* minRun */
            ireturn
        end local 3 // int minRun
        end local 2 // int r
        end local 1 // int n
        end local 0 // int length
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0  length  I
            2   11     1       n  I
            3   11     2       r  I
            8   11     3  minRun  I
    MethodParameters:
        Name  Flags
      length  

  int runLen(int);
    descriptor: (I)I
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.apache.lucene.util.TimSorter this
        start local 1 // int i
         0: .line 77
            aload 0 /* this */
            getfield org.apache.lucene.util.TimSorter.stackSize:I
            iload 1 /* i */
            isub
            istore 2 /* off */
        start local 2 // int off
         1: .line 78
            aload 0 /* this */
            getfield org.apache.lucene.util.TimSorter.runEnds:[I
            iload 2 /* off */
            iaload
            aload 0 /* this */
            getfield org.apache.lucene.util.TimSorter.runEnds:[I
            iload 2 /* off */
            iconst_1
            isub
            iaload
            isub
            ireturn
        end local 2 // int off
        end local 1 // int i
        end local 0 // org.apache.lucene.util.TimSorter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/lucene/util/TimSorter;
            0    2     1     i  I
            1    2     2   off  I
    MethodParameters:
      Name  Flags
      i     

  int runBase(int);
    descriptor: (I)I
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.lucene.util.TimSorter this
        start local 1 // int i
         0: .line 82
            aload 0 /* this */
            getfield org.apache.lucene.util.TimSorter.runEnds:[I
            aload 0 /* this */
            getfield org.apache.lucene.util.TimSorter.stackSize:I
            iload 1 /* i */
            isub
            iconst_1
            isub
            iaload
            ireturn
        end local 1 // int i
        end local 0 // org.apache.lucene.util.TimSorter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/util/TimSorter;
            0    1     1     i  I
    MethodParameters:
      Name  Flags
      i     

  int runEnd(int);
    descriptor: (I)I
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.lucene.util.TimSorter this
        start local 1 // int i
         0: .line 86
            aload 0 /* this */
            getfield org.apache.lucene.util.TimSorter.runEnds:[I
            aload 0 /* this */
            getfield org.apache.lucene.util.TimSorter.stackSize:I
            iload 1 /* i */
            isub
            iaload
            ireturn
        end local 1 // int i
        end local 0 // org.apache.lucene.util.TimSorter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/util/TimSorter;
            0    1     1     i  I
    MethodParameters:
      Name  Flags
      i     

  void setRunEnd(int, int);
    descriptor: (II)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.lucene.util.TimSorter this
        start local 1 // int i
        start local 2 // int runEnd
         0: .line 90
            aload 0 /* this */
            getfield org.apache.lucene.util.TimSorter.runEnds:[I
            aload 0 /* this */
            getfield org.apache.lucene.util.TimSorter.stackSize:I
            iload 1 /* i */
            isub
            iload 2 /* runEnd */
            iastore
         1: .line 91
            return
        end local 2 // int runEnd
        end local 1 // int i
        end local 0 // org.apache.lucene.util.TimSorter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/apache/lucene/util/TimSorter;
            0    2     1       i  I
            0    2     2  runEnd  I
    MethodParameters:
        Name  Flags
      i       
      runEnd  

  void pushRunLen(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.lucene.util.TimSorter this
        start local 1 // int len
         0: .line 94
            aload 0 /* this */
            getfield org.apache.lucene.util.TimSorter.runEnds:[I
            aload 0 /* this */
            getfield org.apache.lucene.util.TimSorter.stackSize:I
            iconst_1
            iadd
            aload 0 /* this */
            getfield org.apache.lucene.util.TimSorter.runEnds:[I
            aload 0 /* this */
            getfield org.apache.lucene.util.TimSorter.stackSize:I
            iaload
            iload 1 /* len */
            iadd
            iastore
         1: .line 95
            aload 0 /* this */
            dup
            getfield org.apache.lucene.util.TimSorter.stackSize:I
            iconst_1
            iadd
            putfield org.apache.lucene.util.TimSorter.stackSize:I
         2: .line 96
            return
        end local 1 // int len
        end local 0 // org.apache.lucene.util.TimSorter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/lucene/util/TimSorter;
            0    3     1   len  I
    MethodParameters:
      Name  Flags
      len   

  int nextRun();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // org.apache.lucene.util.TimSorter this
         0: .line 101
            aload 0 /* this */
            iconst_0
            invokevirtual org.apache.lucene.util.TimSorter.runEnd:(I)I
            istore 1 /* runBase */
        start local 1 // int runBase
         1: .line 102
            getstatic org.apache.lucene.util.TimSorter.$assertionsDisabled:Z
            ifne 2
            iload 1 /* runBase */
            aload 0 /* this */
            getfield org.apache.lucene.util.TimSorter.to:I
            if_icmplt 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 103
      StackMap locals: int
      StackMap stack:
            iload 1 /* runBase */
            aload 0 /* this */
            getfield org.apache.lucene.util.TimSorter.to:I
            iconst_1
            isub
            if_icmpne 4
         3: .line 104
            iconst_1
            ireturn
         4: .line 106
      StackMap locals:
      StackMap stack:
            iload 1 /* runBase */
            iconst_2
            iadd
            istore 2 /* o */
        start local 2 // int o
         5: .line 107
            aload 0 /* this */
            iload 1 /* runBase */
            iload 1 /* runBase */
            iconst_1
            iadd
            invokevirtual org.apache.lucene.util.TimSorter.compare:(II)I
            ifle 12
         6: .line 109
            goto 8
         7: .line 110
      StackMap locals: int
      StackMap stack:
            iinc 2 /* o */ 1
         8: .line 109
      StackMap locals:
      StackMap stack:
            iload 2 /* o */
            aload 0 /* this */
            getfield org.apache.lucene.util.TimSorter.to:I
            if_icmpge 9
            aload 0 /* this */
            iload 2 /* o */
            iconst_1
            isub
            iload 2 /* o */
            invokevirtual org.apache.lucene.util.TimSorter.compare:(II)I
            ifgt 7
         9: .line 112
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* runBase */
            iload 2 /* o */
            invokevirtual org.apache.lucene.util.TimSorter.reverse:(II)V
        10: .line 113
            goto 13
        11: .line 116
      StackMap locals:
      StackMap stack:
            iinc 2 /* o */ 1
        12: .line 115
      StackMap locals:
      StackMap stack:
            iload 2 /* o */
            aload 0 /* this */
            getfield org.apache.lucene.util.TimSorter.to:I
            if_icmpge 13
            aload 0 /* this */
            iload 2 /* o */
            iconst_1
            isub
            iload 2 /* o */
            invokevirtual org.apache.lucene.util.TimSorter.compare:(II)I
            ifle 11
        13: .line 119
      StackMap locals:
      StackMap stack:
            iload 2 /* o */
            aload 0 /* this */
            getfield org.apache.lucene.util.TimSorter.to:I
            iload 1 /* runBase */
            aload 0 /* this */
            getfield org.apache.lucene.util.TimSorter.minRun:I
            iadd
            invokestatic java.lang.Math.min:(II)I
            invokestatic java.lang.Math.max:(II)I
            istore 3 /* runHi */
        start local 3 // int runHi
        14: .line 120
            aload 0 /* this */
            iload 1 /* runBase */
            iload 3 /* runHi */
            iload 2 /* o */
            invokevirtual org.apache.lucene.util.TimSorter.binarySort:(III)V
        15: .line 121
            iload 3 /* runHi */
            iload 1 /* runBase */
            isub
            ireturn
        end local 3 // int runHi
        end local 2 // int o
        end local 1 // int runBase
        end local 0 // org.apache.lucene.util.TimSorter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   16     0     this  Lorg/apache/lucene/util/TimSorter;
            1   16     1  runBase  I
            5   16     2        o  I
           14   16     3    runHi  I

  void ensureInvariants();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.apache.lucene.util.TimSorter this
         0: .line 125
            goto 13
         1: .line 126
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual org.apache.lucene.util.TimSorter.runLen:(I)I
            istore 1 /* runLen0 */
        start local 1 // int runLen0
         2: .line 127
            aload 0 /* this */
            iconst_1
            invokevirtual org.apache.lucene.util.TimSorter.runLen:(I)I
            istore 2 /* runLen1 */
        start local 2 // int runLen1
         3: .line 129
            aload 0 /* this */
            getfield org.apache.lucene.util.TimSorter.stackSize:I
            iconst_2
            if_icmple 11
         4: .line 130
            aload 0 /* this */
            iconst_2
            invokevirtual org.apache.lucene.util.TimSorter.runLen:(I)I
            istore 3 /* runLen2 */
        start local 3 // int runLen2
         5: .line 132
            iload 3 /* runLen2 */
            iload 2 /* runLen1 */
            iload 1 /* runLen0 */
            iadd
            if_icmpgt 11
         6: .line 134
            iload 3 /* runLen2 */
            iload 1 /* runLen0 */
            if_icmpge 9
         7: .line 135
            aload 0 /* this */
            iconst_1
            invokevirtual org.apache.lucene.util.TimSorter.mergeAt:(I)V
         8: .line 136
            goto 13
         9: .line 137
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual org.apache.lucene.util.TimSorter.mergeAt:(I)V
        10: .line 139
            goto 13
        end local 3 // int runLen2
        11: .line 143
      StackMap locals:
      StackMap stack:
            iload 2 /* runLen1 */
            iload 1 /* runLen0 */
            if_icmpgt 14
        12: .line 144
            aload 0 /* this */
            iconst_0
            invokevirtual org.apache.lucene.util.TimSorter.mergeAt:(I)V
        end local 2 // int runLen1
        end local 1 // int runLen0
        13: .line 125
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.util.TimSorter.stackSize:I
            iconst_1
            if_icmpgt 1
        14: .line 150
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.lucene.util.TimSorter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0     this  Lorg/apache/lucene/util/TimSorter;
            2   13     1  runLen0  I
            3   13     2  runLen1  I
            5   11     3  runLen2  I

  void exhaustStack();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.lucene.util.TimSorter this
         0: .line 153
            goto 2
         1: .line 154
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual org.apache.lucene.util.TimSorter.mergeAt:(I)V
         2: .line 153
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.util.TimSorter.stackSize:I
            iconst_1
            if_icmpgt 1
         3: .line 156
            return
        end local 0 // org.apache.lucene.util.TimSorter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/lucene/util/TimSorter;

  void reset(int, int);
    descriptor: (II)V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.apache.lucene.util.TimSorter this
        start local 1 // int from
        start local 2 // int to
         0: .line 159
            aload 0 /* this */
            iconst_0
            putfield org.apache.lucene.util.TimSorter.stackSize:I
         1: .line 160
            aload 0 /* this */
            getfield org.apache.lucene.util.TimSorter.runEnds:[I
            iconst_0
            invokestatic java.util.Arrays.fill:([II)V
         2: .line 161
            aload 0 /* this */
            getfield org.apache.lucene.util.TimSorter.runEnds:[I
            iconst_0
            iload 1 /* from */
            iastore
         3: .line 162
            aload 0 /* this */
            iload 2 /* to */
            putfield org.apache.lucene.util.TimSorter.to:I
         4: .line 163
            iload 2 /* to */
            iload 1 /* from */
            isub
            istore 3 /* length */
        start local 3 // int length
         5: .line 164
            aload 0 /* this */
            iload 3 /* length */
            bipush 64
            if_icmpgt 6
            iload 3 /* length */
            goto 7
      StackMap locals: org.apache.lucene.util.TimSorter int int int
      StackMap stack: org.apache.lucene.util.TimSorter
         6: iload 3 /* length */
            invokestatic org.apache.lucene.util.TimSorter.minRun:(I)I
      StackMap locals: org.apache.lucene.util.TimSorter int int int
      StackMap stack: org.apache.lucene.util.TimSorter int
         7: putfield org.apache.lucene.util.TimSorter.minRun:I
         8: .line 165
            return
        end local 3 // int length
        end local 2 // int to
        end local 1 // int from
        end local 0 // org.apache.lucene.util.TimSorter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lorg/apache/lucene/util/TimSorter;
            0    9     1    from  I
            0    9     2      to  I
            5    9     3  length  I
    MethodParameters:
      Name  Flags
      from  
      to    

  void mergeAt(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.apache.lucene.util.TimSorter this
        start local 1 // int n
         0: .line 168
            getstatic org.apache.lucene.util.TimSorter.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.apache.lucene.util.TimSorter.stackSize:I
            iconst_2
            if_icmpge 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 169
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* n */
            iconst_1
            iadd
            invokevirtual org.apache.lucene.util.TimSorter.runBase:(I)I
            aload 0 /* this */
            iload 1 /* n */
            invokevirtual org.apache.lucene.util.TimSorter.runBase:(I)I
            aload 0 /* this */
            iload 1 /* n */
            invokevirtual org.apache.lucene.util.TimSorter.runEnd:(I)I
            invokevirtual org.apache.lucene.util.TimSorter.merge:(III)V
         2: .line 170
            iload 1 /* n */
            iconst_1
            iadd
            istore 2 /* j */
        start local 2 // int j
         3: goto 6
         4: .line 171
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 2 /* j */
            aload 0 /* this */
            iload 2 /* j */
            iconst_1
            isub
            invokevirtual org.apache.lucene.util.TimSorter.runEnd:(I)I
            invokevirtual org.apache.lucene.util.TimSorter.setRunEnd:(II)V
         5: .line 170
            iinc 2 /* j */ -1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* j */
            ifgt 4
        end local 2 // int j
         7: .line 173
            aload 0 /* this */
            dup
            getfield org.apache.lucene.util.TimSorter.stackSize:I
            iconst_1
            isub
            putfield org.apache.lucene.util.TimSorter.stackSize:I
         8: .line 174
            return
        end local 1 // int n
        end local 0 // org.apache.lucene.util.TimSorter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/apache/lucene/util/TimSorter;
            0    9     1     n  I
            3    7     2     j  I
    MethodParameters:
      Name  Flags
      n     

  void merge(int, int, int);
    descriptor: (III)V
    flags: (0x0000) 
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.apache.lucene.util.TimSorter this
        start local 1 // int lo
        start local 2 // int mid
        start local 3 // int hi
         0: .line 177
            aload 0 /* this */
            iload 2 /* mid */
            iconst_1
            isub
            iload 2 /* mid */
            invokevirtual org.apache.lucene.util.TimSorter.compare:(II)I
            ifgt 2
         1: .line 178
            return
         2: .line 180
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* lo */
            iload 2 /* mid */
            iload 2 /* mid */
            invokevirtual org.apache.lucene.util.TimSorter.upper2:(III)I
            istore 1 /* lo */
         3: .line 181
            aload 0 /* this */
            iload 2 /* mid */
            iload 3 /* hi */
            iload 2 /* mid */
            iconst_1
            isub
            invokevirtual org.apache.lucene.util.TimSorter.lower2:(III)I
            istore 3 /* hi */
         4: .line 183
            iload 3 /* hi */
            iload 2 /* mid */
            isub
            iload 2 /* mid */
            iload 1 /* lo */
            isub
            if_icmpgt 7
            iload 3 /* hi */
            iload 2 /* mid */
            isub
            aload 0 /* this */
            getfield org.apache.lucene.util.TimSorter.maxTempSlots:I
            if_icmpgt 7
         5: .line 184
            aload 0 /* this */
            iload 1 /* lo */
            iload 2 /* mid */
            iload 3 /* hi */
            invokevirtual org.apache.lucene.util.TimSorter.mergeHi:(III)V
         6: .line 185
            goto 11
      StackMap locals:
      StackMap stack:
         7: iload 2 /* mid */
            iload 1 /* lo */
            isub
            aload 0 /* this */
            getfield org.apache.lucene.util.TimSorter.maxTempSlots:I
            if_icmpgt 10
         8: .line 186
            aload 0 /* this */
            iload 1 /* lo */
            iload 2 /* mid */
            iload 3 /* hi */
            invokevirtual org.apache.lucene.util.TimSorter.mergeLo:(III)V
         9: .line 187
            goto 11
        10: .line 188
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* lo */
            iload 2 /* mid */
            iload 3 /* hi */
            invokevirtual org.apache.lucene.util.TimSorter.mergeInPlace:(III)V
        11: .line 190
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int hi
        end local 2 // int mid
        end local 1 // int lo
        end local 0 // org.apache.lucene.util.TimSorter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lorg/apache/lucene/util/TimSorter;
            0   12     1    lo  I
            0   12     2   mid  I
            0   12     3    hi  I
    MethodParameters:
      Name  Flags
      lo    
      mid   
      hi    

  public void sort(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.lucene.util.TimSorter this
        start local 1 // int from
        start local 2 // int to
         0: .line 194
            aload 0 /* this */
            iload 1 /* from */
            iload 2 /* to */
            invokevirtual org.apache.lucene.util.TimSorter.checkRange:(II)V
         1: .line 195
            iload 2 /* to */
            iload 1 /* from */
            isub
            iconst_1
            if_icmpgt 3
         2: .line 196
            return
         3: .line 198
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* from */
            iload 2 /* to */
            invokevirtual org.apache.lucene.util.TimSorter.reset:(II)V
         4: .line 200
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.lucene.util.TimSorter.ensureInvariants:()V
         5: .line 201
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.apache.lucene.util.TimSorter.nextRun:()I
            invokevirtual org.apache.lucene.util.TimSorter.pushRunLen:(I)V
         6: .line 202
            aload 0 /* this */
            iconst_0
            invokevirtual org.apache.lucene.util.TimSorter.runEnd:(I)I
            iload 2 /* to */
         7: .line 199
            if_icmplt 4
         8: .line 203
            aload 0 /* this */
            invokevirtual org.apache.lucene.util.TimSorter.exhaustStack:()V
         9: .line 204
            getstatic org.apache.lucene.util.TimSorter.$assertionsDisabled:Z
            ifne 10
            aload 0 /* this */
            iconst_0
            invokevirtual org.apache.lucene.util.TimSorter.runEnd:(I)I
            iload 2 /* to */
            if_icmpeq 10
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        10: .line 205
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int to
        end local 1 // int from
        end local 0 // org.apache.lucene.util.TimSorter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lorg/apache/lucene/util/TimSorter;
            0   11     1  from  I
            0   11     2    to  I
    MethodParameters:
      Name  Flags
      from  
      to    

  void doRotate(int, int, int);
    descriptor: (III)V
    flags: (0x0000) 
    Code:
      stack=3, locals=8, args_size=4
        start local 0 // org.apache.lucene.util.TimSorter this
        start local 1 // int lo
        start local 2 // int mid
        start local 3 // int hi
         0: .line 209
            iload 2 /* mid */
            iload 1 /* lo */
            isub
            istore 4 /* len1 */
        start local 4 // int len1
         1: .line 210
            iload 3 /* hi */
            iload 2 /* mid */
            isub
            istore 5 /* len2 */
        start local 5 // int len2
         2: .line 211
            iload 4 /* len1 */
            iload 5 /* len2 */
            if_icmpne 7
         3: .line 212
            goto 5
         4: .line 213
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            iload 1 /* lo */
            iinc 1 /* lo */ 1
            iload 2 /* mid */
            iinc 2 /* mid */ 1
            invokevirtual org.apache.lucene.util.TimSorter.swap:(II)V
         5: .line 212
      StackMap locals:
      StackMap stack:
            iload 2 /* mid */
            iload 3 /* hi */
            if_icmplt 4
         6: .line 215
            goto 40
      StackMap locals:
      StackMap stack:
         7: iload 5 /* len2 */
            iload 4 /* len1 */
            if_icmpge 22
            iload 5 /* len2 */
            aload 0 /* this */
            getfield org.apache.lucene.util.TimSorter.maxTempSlots:I
            if_icmpgt 22
         8: .line 216
            aload 0 /* this */
            iload 2 /* mid */
            iload 5 /* len2 */
            invokevirtual org.apache.lucene.util.TimSorter.save:(II)V
         9: .line 217
            iload 1 /* lo */
            iload 4 /* len1 */
            iadd
            iconst_1
            isub
            istore 6 /* i */
        start local 6 // int i
        10: iload 3 /* hi */
            iconst_1
            isub
            istore 7 /* j */
        start local 7 // int j
        11: goto 14
        12: .line 218
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            iload 6 /* i */
            iload 7 /* j */
            invokevirtual org.apache.lucene.util.TimSorter.copy:(II)V
        13: .line 217
            iinc 6 /* i */ -1
            iinc 7 /* j */ -1
      StackMap locals:
      StackMap stack:
        14: iload 6 /* i */
            iload 1 /* lo */
            if_icmpge 12
        end local 7 // int j
        end local 6 // int i
        15: .line 220
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        16: iload 1 /* lo */
            istore 7 /* j */
        start local 7 // int j
        17: goto 20
        18: .line 221
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 6 /* i */
            iload 7 /* j */
            invokevirtual org.apache.lucene.util.TimSorter.restore:(II)V
        19: .line 220
            iinc 6 /* i */ 1
            iinc 7 /* j */ 1
      StackMap locals:
      StackMap stack:
        20: iload 6 /* i */
            iload 5 /* len2 */
            if_icmplt 18
        end local 7 // int j
        end local 6 // int i
        21: .line 223
            goto 40
      StackMap locals:
      StackMap stack:
        22: iload 4 /* len1 */
            aload 0 /* this */
            getfield org.apache.lucene.util.TimSorter.maxTempSlots:I
            if_icmpgt 37
        23: .line 224
            aload 0 /* this */
            iload 1 /* lo */
            iload 4 /* len1 */
            invokevirtual org.apache.lucene.util.TimSorter.save:(II)V
        24: .line 225
            iload 2 /* mid */
            istore 6 /* i */
        start local 6 // int i
        25: iload 1 /* lo */
            istore 7 /* j */
        start local 7 // int j
        26: goto 29
        27: .line 226
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            iload 6 /* i */
            iload 7 /* j */
            invokevirtual org.apache.lucene.util.TimSorter.copy:(II)V
        28: .line 225
            iinc 6 /* i */ 1
            iinc 7 /* j */ 1
      StackMap locals:
      StackMap stack:
        29: iload 6 /* i */
            iload 3 /* hi */
            if_icmplt 27
        end local 7 // int j
        end local 6 // int i
        30: .line 228
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        31: iload 1 /* lo */
            iload 5 /* len2 */
            iadd
            istore 7 /* j */
        start local 7 // int j
        32: goto 35
        33: .line 229
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 6 /* i */
            iload 7 /* j */
            invokevirtual org.apache.lucene.util.TimSorter.restore:(II)V
        34: .line 228
            iinc 6 /* i */ 1
            iinc 7 /* j */ 1
      StackMap locals:
      StackMap stack:
        35: iload 7 /* j */
            iload 3 /* hi */
            if_icmplt 33
        end local 7 // int j
        end local 6 // int i
        36: .line 231
            goto 40
        37: .line 232
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* lo */
            iload 2 /* mid */
            invokevirtual org.apache.lucene.util.TimSorter.reverse:(II)V
        38: .line 233
            aload 0 /* this */
            iload 2 /* mid */
            iload 3 /* hi */
            invokevirtual org.apache.lucene.util.TimSorter.reverse:(II)V
        39: .line 234
            aload 0 /* this */
            iload 1 /* lo */
            iload 3 /* hi */
            invokevirtual org.apache.lucene.util.TimSorter.reverse:(II)V
        40: .line 236
      StackMap locals:
      StackMap stack:
            return
        end local 5 // int len2
        end local 4 // int len1
        end local 3 // int hi
        end local 2 // int mid
        end local 1 // int lo
        end local 0 // org.apache.lucene.util.TimSorter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   41     0  this  Lorg/apache/lucene/util/TimSorter;
            0   41     1    lo  I
            0   41     2   mid  I
            0   41     3    hi  I
            1   41     4  len1  I
            2   41     5  len2  I
           10   15     6     i  I
           11   15     7     j  I
           16   21     6     i  I
           17   21     7     j  I
           25   30     6     i  I
           26   30     7     j  I
           31   36     6     i  I
           32   36     7     j  I
    MethodParameters:
      Name  Flags
      lo    
      mid   
      hi    

  void mergeLo(int, int, int);
    descriptor: (III)V
    flags: (0x0000) 
    Code:
      stack=4, locals=9, args_size=4
        start local 0 // org.apache.lucene.util.TimSorter this
        start local 1 // int lo
        start local 2 // int mid
        start local 3 // int hi
         0: .line 239
            getstatic org.apache.lucene.util.TimSorter.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            iload 1 /* lo */
            iload 2 /* mid */
            invokevirtual org.apache.lucene.util.TimSorter.compare:(II)I
            ifgt 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 240
      StackMap locals:
      StackMap stack:
            iload 2 /* mid */
            iload 1 /* lo */
            isub
            istore 4 /* len1 */
        start local 4 // int len1
         2: .line 241
            aload 0 /* this */
            iload 1 /* lo */
            iload 4 /* len1 */
            invokevirtual org.apache.lucene.util.TimSorter.save:(II)V
         3: .line 242
            aload 0 /* this */
            iload 2 /* mid */
            iload 1 /* lo */
            invokevirtual org.apache.lucene.util.TimSorter.copy:(II)V
         4: .line 243
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         5: iload 2 /* mid */
            iconst_1
            iadd
            istore 6 /* j */
        start local 6 // int j
         6: iload 1 /* lo */
            iconst_1
            iadd
            istore 7 /* dest */
        start local 7 // int dest
         7: .line 245
      StackMap locals: org.apache.lucene.util.TimSorter int int int int int int int
      StackMap stack:
            iconst_0
            istore 8 /* count */
        start local 8 // int count
         8: goto 17
         9: .line 246
      StackMap locals: int
      StackMap stack:
            iload 5 /* i */
            iload 4 /* len1 */
            if_icmpge 27
            iload 6 /* j */
            iload 3 /* hi */
            if_icmplt 11
        10: .line 247
            goto 27
        11: .line 248
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 5 /* i */
            iload 6 /* j */
            invokevirtual org.apache.lucene.util.TimSorter.compareSaved:(II)I
            ifgt 15
        12: .line 249
            aload 0 /* this */
            iload 5 /* i */
            iinc 5 /* i */ 1
            iload 7 /* dest */
            iinc 7 /* dest */ 1
            invokevirtual org.apache.lucene.util.TimSorter.restore:(II)V
        13: .line 250
            iconst_0
            istore 8 /* count */
        14: .line 251
            goto 17
        15: .line 252
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 6 /* j */
            iinc 6 /* j */ 1
            iload 7 /* dest */
            iinc 7 /* dest */ 1
            invokevirtual org.apache.lucene.util.TimSorter.copy:(II)V
        16: .line 253
            iinc 8 /* count */ 1
        17: .line 245
      StackMap locals:
      StackMap stack:
            iload 8 /* count */
            bipush 7
            if_icmplt 9
        end local 8 // int count
        18: .line 257
            aload 0 /* this */
            iload 6 /* j */
            iload 3 /* hi */
            iload 5 /* i */
            invokevirtual org.apache.lucene.util.TimSorter.lowerSaved3:(III)I
            istore 8 /* next */
        start local 8 // int next
        19: .line 258
            goto 22
        20: .line 259
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 6 /* j */
            iinc 6 /* j */ 1
            iload 7 /* dest */
            invokevirtual org.apache.lucene.util.TimSorter.copy:(II)V
        21: .line 258
            iinc 7 /* dest */ 1
      StackMap locals:
      StackMap stack:
        22: iload 6 /* j */
            iload 8 /* next */
            if_icmplt 20
        23: .line 261
            aload 0 /* this */
            iload 5 /* i */
            iinc 5 /* i */ 1
            iload 7 /* dest */
            iinc 7 /* dest */ 1
            invokevirtual org.apache.lucene.util.TimSorter.restore:(II)V
        end local 8 // int next
        24: .line 244
            goto 7
        25: .line 264
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 5 /* i */
            iinc 5 /* i */ 1
            iload 7 /* dest */
            invokevirtual org.apache.lucene.util.TimSorter.restore:(II)V
        26: .line 263
            iinc 7 /* dest */ 1
      StackMap locals:
      StackMap stack:
        27: iload 5 /* i */
            iload 4 /* len1 */
            if_icmplt 25
        28: .line 266
            getstatic org.apache.lucene.util.TimSorter.$assertionsDisabled:Z
            ifne 29
            iload 6 /* j */
            iload 7 /* dest */
            if_icmpeq 29
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        29: .line 267
      StackMap locals:
      StackMap stack:
            return
        end local 7 // int dest
        end local 6 // int j
        end local 5 // int i
        end local 4 // int len1
        end local 3 // int hi
        end local 2 // int mid
        end local 1 // int lo
        end local 0 // org.apache.lucene.util.TimSorter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   30     0   this  Lorg/apache/lucene/util/TimSorter;
            0   30     1     lo  I
            0   30     2    mid  I
            0   30     3     hi  I
            2   30     4   len1  I
            5   30     5      i  I
            6   30     6      j  I
            7   30     7   dest  I
            8   18     8  count  I
           19   24     8   next  I
    MethodParameters:
      Name  Flags
      lo    
      mid   
      hi    

  void mergeHi(int, int, int);
    descriptor: (III)V
    flags: (0x0000) 
    Code:
      stack=4, locals=9, args_size=4
        start local 0 // org.apache.lucene.util.TimSorter this
        start local 1 // int lo
        start local 2 // int mid
        start local 3 // int hi
         0: .line 270
            getstatic org.apache.lucene.util.TimSorter.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            iload 2 /* mid */
            iconst_1
            isub
            iload 3 /* hi */
            iconst_1
            isub
            invokevirtual org.apache.lucene.util.TimSorter.compare:(II)I
            ifgt 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 271
      StackMap locals:
      StackMap stack:
            iload 3 /* hi */
            iload 2 /* mid */
            isub
            istore 4 /* len2 */
        start local 4 // int len2
         2: .line 272
            aload 0 /* this */
            iload 2 /* mid */
            iload 4 /* len2 */
            invokevirtual org.apache.lucene.util.TimSorter.save:(II)V
         3: .line 273
            aload 0 /* this */
            iload 2 /* mid */
            iconst_1
            isub
            iload 3 /* hi */
            iconst_1
            isub
            invokevirtual org.apache.lucene.util.TimSorter.copy:(II)V
         4: .line 274
            iload 2 /* mid */
            iconst_2
            isub
            istore 5 /* i */
        start local 5 // int i
         5: iload 4 /* len2 */
            iconst_1
            isub
            istore 6 /* j */
        start local 6 // int j
         6: iload 3 /* hi */
            iconst_2
            isub
            istore 7 /* dest */
        start local 7 // int dest
         7: .line 276
      StackMap locals: org.apache.lucene.util.TimSorter int int int int int int int
      StackMap stack:
            iconst_0
            istore 8 /* count */
        start local 8 // int count
         8: goto 17
         9: .line 277
      StackMap locals: int
      StackMap stack:
            iload 5 /* i */
            iload 1 /* lo */
            if_icmplt 26
            iload 6 /* j */
            ifge 11
        10: .line 278
            goto 26
        11: .line 279
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 6 /* j */
            iload 5 /* i */
            invokevirtual org.apache.lucene.util.TimSorter.compareSaved:(II)I
            iflt 15
        12: .line 280
            aload 0 /* this */
            iload 6 /* j */
            iinc 6 /* j */ -1
            iload 7 /* dest */
            iinc 7 /* dest */ -1
            invokevirtual org.apache.lucene.util.TimSorter.restore:(II)V
        13: .line 281
            iconst_0
            istore 8 /* count */
        14: .line 282
            goto 17
        15: .line 283
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 5 /* i */
            iinc 5 /* i */ -1
            iload 7 /* dest */
            iinc 7 /* dest */ -1
            invokevirtual org.apache.lucene.util.TimSorter.copy:(II)V
        16: .line 284
            iinc 8 /* count */ 1
        17: .line 276
      StackMap locals:
      StackMap stack:
            iload 8 /* count */
            bipush 7
            if_icmplt 9
        end local 8 // int count
        18: .line 288
            aload 0 /* this */
            iload 1 /* lo */
            iload 5 /* i */
            iconst_1
            iadd
            iload 6 /* j */
            invokevirtual org.apache.lucene.util.TimSorter.upperSaved3:(III)I
            istore 8 /* next */
        start local 8 // int next
        19: .line 289
            goto 21
        20: .line 290
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 5 /* i */
            iinc 5 /* i */ -1
            iload 7 /* dest */
            iinc 7 /* dest */ -1
            invokevirtual org.apache.lucene.util.TimSorter.copy:(II)V
        21: .line 289
      StackMap locals:
      StackMap stack:
            iload 5 /* i */
            iload 8 /* next */
            if_icmpge 20
        22: .line 292
            aload 0 /* this */
            iload 6 /* j */
            iinc 6 /* j */ -1
            iload 7 /* dest */
            iinc 7 /* dest */ -1
            invokevirtual org.apache.lucene.util.TimSorter.restore:(II)V
        end local 8 // int next
        23: .line 275
            goto 7
        24: .line 295
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 6 /* j */
            iinc 6 /* j */ -1
            iload 7 /* dest */
            invokevirtual org.apache.lucene.util.TimSorter.restore:(II)V
        25: .line 294
            iinc 7 /* dest */ -1
      StackMap locals:
      StackMap stack:
        26: iload 6 /* j */
            ifge 24
        27: .line 297
            getstatic org.apache.lucene.util.TimSorter.$assertionsDisabled:Z
            ifne 28
            iload 5 /* i */
            iload 7 /* dest */
            if_icmpeq 28
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        28: .line 298
      StackMap locals:
      StackMap stack:
            return
        end local 7 // int dest
        end local 6 // int j
        end local 5 // int i
        end local 4 // int len2
        end local 3 // int hi
        end local 2 // int mid
        end local 1 // int lo
        end local 0 // org.apache.lucene.util.TimSorter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   29     0   this  Lorg/apache/lucene/util/TimSorter;
            0   29     1     lo  I
            0   29     2    mid  I
            0   29     3     hi  I
            2   29     4   len2  I
            5   29     5      i  I
            6   29     6      j  I
            7   29     7   dest  I
            8   18     8  count  I
           19   23     8   next  I
    MethodParameters:
      Name  Flags
      lo    
      mid   
      hi    

  int lowerSaved(int, int, int);
    descriptor: (III)I
    flags: (0x0000) 
    Code:
      stack=3, locals=7, args_size=4
        start local 0 // org.apache.lucene.util.TimSorter this
        start local 1 // int from
        start local 2 // int to
        start local 3 // int val
         0: .line 301
            iload 2 /* to */
            iload 1 /* from */
            isub
            istore 4 /* len */
        start local 4 // int len
         1: .line 302
            goto 9
         2: .line 303
      StackMap locals: int
      StackMap stack:
            iload 4 /* len */
            iconst_1
            iushr
            istore 5 /* half */
        start local 5 // int half
         3: .line 304
            iload 1 /* from */
            iload 5 /* half */
            iadd
            istore 6 /* mid */
        start local 6 // int mid
         4: .line 305
            aload 0 /* this */
            iload 3 /* val */
            iload 6 /* mid */
            invokevirtual org.apache.lucene.util.TimSorter.compareSaved:(II)I
            ifle 8
         5: .line 306
            iload 6 /* mid */
            iconst_1
            iadd
            istore 1 /* from */
         6: .line 307
            iload 4 /* len */
            iload 5 /* half */
            isub
            iconst_1
            isub
            istore 4 /* len */
         7: .line 308
            goto 9
         8: .line 309
      StackMap locals: int int
      StackMap stack:
            iload 5 /* half */
            istore 4 /* len */
        end local 6 // int mid
        end local 5 // int half
         9: .line 302
      StackMap locals:
      StackMap stack:
            iload 4 /* len */
            ifgt 2
        10: .line 312
            iload 1 /* from */
            ireturn
        end local 4 // int len
        end local 3 // int val
        end local 2 // int to
        end local 1 // int from
        end local 0 // org.apache.lucene.util.TimSorter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lorg/apache/lucene/util/TimSorter;
            0   11     1  from  I
            0   11     2    to  I
            0   11     3   val  I
            1   11     4   len  I
            3    9     5  half  I
            4    9     6   mid  I
    MethodParameters:
      Name  Flags
      from  
      to    
      val   

  int upperSaved(int, int, int);
    descriptor: (III)I
    flags: (0x0000) 
    Code:
      stack=3, locals=7, args_size=4
        start local 0 // org.apache.lucene.util.TimSorter this
        start local 1 // int from
        start local 2 // int to
        start local 3 // int val
         0: .line 316
            iload 2 /* to */
            iload 1 /* from */
            isub
            istore 4 /* len */
        start local 4 // int len
         1: .line 317
            goto 9
         2: .line 318
      StackMap locals: int
      StackMap stack:
            iload 4 /* len */
            iconst_1
            iushr
            istore 5 /* half */
        start local 5 // int half
         3: .line 319
            iload 1 /* from */
            iload 5 /* half */
            iadd
            istore 6 /* mid */
        start local 6 // int mid
         4: .line 320
            aload 0 /* this */
            iload 3 /* val */
            iload 6 /* mid */
            invokevirtual org.apache.lucene.util.TimSorter.compareSaved:(II)I
            ifge 7
         5: .line 321
            iload 5 /* half */
            istore 4 /* len */
         6: .line 322
            goto 9
         7: .line 323
      StackMap locals: int int
      StackMap stack:
            iload 6 /* mid */
            iconst_1
            iadd
            istore 1 /* from */
         8: .line 324
            iload 4 /* len */
            iload 5 /* half */
            isub
            iconst_1
            isub
            istore 4 /* len */
        end local 6 // int mid
        end local 5 // int half
         9: .line 317
      StackMap locals:
      StackMap stack:
            iload 4 /* len */
            ifgt 2
        10: .line 327
            iload 1 /* from */
            ireturn
        end local 4 // int len
        end local 3 // int val
        end local 2 // int to
        end local 1 // int from
        end local 0 // org.apache.lucene.util.TimSorter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lorg/apache/lucene/util/TimSorter;
            0   11     1  from  I
            0   11     2    to  I
            0   11     3   val  I
            1   11     4   len  I
            3    9     5  half  I
            4    9     6   mid  I
    MethodParameters:
      Name  Flags
      from  
      to    
      val   

  int lowerSaved3(int, int, int);
    descriptor: (III)I
    flags: (0x0000) 
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // org.apache.lucene.util.TimSorter this
        start local 1 // int from
        start local 2 // int to
        start local 3 // int val
         0: .line 332
            iload 1 /* from */
            istore 4 /* f */
        start local 4 // int f
         1: iload 4 /* f */
            iconst_1
            iadd
            istore 5 /* t */
        start local 5 // int t
         2: .line 333
            goto 8
         3: .line 334
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            iload 3 /* val */
            iload 5 /* t */
            invokevirtual org.apache.lucene.util.TimSorter.compareSaved:(II)I
            ifgt 5
         4: .line 335
            aload 0 /* this */
            iload 4 /* f */
            iload 5 /* t */
            iload 3 /* val */
            invokevirtual org.apache.lucene.util.TimSorter.lowerSaved:(III)I
            ireturn
         5: .line 337
      StackMap locals:
      StackMap stack:
            iload 5 /* t */
            iload 4 /* f */
            isub
            istore 6 /* delta */
        start local 6 // int delta
         6: .line 338
            iload 5 /* t */
            istore 4 /* f */
         7: .line 339
            iload 5 /* t */
            iload 6 /* delta */
            iconst_1
            ishl
            iadd
            istore 5 /* t */
        end local 6 // int delta
         8: .line 333
      StackMap locals:
      StackMap stack:
            iload 5 /* t */
            iload 2 /* to */
            if_icmplt 3
         9: .line 341
            aload 0 /* this */
            iload 4 /* f */
            iload 2 /* to */
            iload 3 /* val */
            invokevirtual org.apache.lucene.util.TimSorter.lowerSaved:(III)I
            ireturn
        end local 5 // int t
        end local 4 // int f
        end local 3 // int val
        end local 2 // int to
        end local 1 // int from
        end local 0 // org.apache.lucene.util.TimSorter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lorg/apache/lucene/util/TimSorter;
            0   10     1   from  I
            0   10     2     to  I
            0   10     3    val  I
            1   10     4      f  I
            2   10     5      t  I
            6    8     6  delta  I
    MethodParameters:
      Name  Flags
      from  
      to    
      val   

  int upperSaved3(int, int, int);
    descriptor: (III)I
    flags: (0x0000) 
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // org.apache.lucene.util.TimSorter this
        start local 1 // int from
        start local 2 // int to
        start local 3 // int val
         0: .line 346
            iload 2 /* to */
            iconst_1
            isub
            istore 4 /* f */
        start local 4 // int f
         1: iload 2 /* to */
            istore 5 /* t */
        start local 5 // int t
         2: .line 347
            goto 8
         3: .line 348
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            iload 3 /* val */
            iload 4 /* f */
            invokevirtual org.apache.lucene.util.TimSorter.compareSaved:(II)I
            iflt 5
         4: .line 349
            aload 0 /* this */
            iload 4 /* f */
            iload 5 /* t */
            iload 3 /* val */
            invokevirtual org.apache.lucene.util.TimSorter.upperSaved:(III)I
            ireturn
         5: .line 351
      StackMap locals:
      StackMap stack:
            iload 5 /* t */
            iload 4 /* f */
            isub
            istore 6 /* delta */
        start local 6 // int delta
         6: .line 352
            iload 4 /* f */
            istore 5 /* t */
         7: .line 353
            iload 4 /* f */
            iload 6 /* delta */
            iconst_1
            ishl
            isub
            istore 4 /* f */
        end local 6 // int delta
         8: .line 347
      StackMap locals:
      StackMap stack:
            iload 4 /* f */
            iload 1 /* from */
            if_icmpgt 3
         9: .line 355
            aload 0 /* this */
            iload 1 /* from */
            iload 5 /* t */
            iload 3 /* val */
            invokevirtual org.apache.lucene.util.TimSorter.upperSaved:(III)I
            ireturn
        end local 5 // int t
        end local 4 // int f
        end local 3 // int val
        end local 2 // int to
        end local 1 // int from
        end local 0 // org.apache.lucene.util.TimSorter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lorg/apache/lucene/util/TimSorter;
            0   10     1   from  I
            0   10     2     to  I
            0   10     3    val  I
            1   10     4      f  I
            2   10     5      t  I
            6    8     6  delta  I
    MethodParameters:
      Name  Flags
      from  
      to    
      val   

  protected abstract void copy(int, int);
    descriptor: (II)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      src   
      dest  

  protected abstract void save(int, int);
    descriptor: (II)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      i     
      len   

  protected abstract void restore(int, int);
    descriptor: (II)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      i     
      j     

  protected abstract int compareSaved(int, int);
    descriptor: (II)I
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      i     
      j     
}
SourceFile: "TimSorter.java"