final class com.sun.marlin.DHelpers$IndexStack
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.sun.marlin.DHelpers$IndexStack
  super_class: java.lang.Object
{
  private static final int INITIAL_COUNT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private int end;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int[] indices;
    descriptor: [I
    flags: (0x0002) ACC_PRIVATE

  private final com.sun.marlin.IntArrayCache$Reference indices_ref;
    descriptor: Lcom/sun/marlin/IntArrayCache$Reference;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private int indicesUseMark;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private final com.sun.marlin.stats.StatLong stat_idxstack_indices;
    descriptor: Lcom/sun/marlin/stats/StatLong;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.sun.marlin.stats.Histogram hist_idxstack_indices;
    descriptor: Lcom/sun/marlin/stats/Histogram;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.sun.marlin.stats.StatLong stat_array_idxstack_indices;
    descriptor: Lcom/sun/marlin/stats/StatLong;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 862
            getstatic com.sun.marlin.DHelpers.INITIAL_EDGES_COUNT:I
            iconst_2
            ishr
            putstatic com.sun.marlin.DHelpers$IndexStack.INITIAL_COUNT:I
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(com.sun.marlin.DRendererContext);
    descriptor: (Lcom/sun/marlin/DRendererContext;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.sun.marlin.DHelpers$IndexStack this
        start local 1 // com.sun.marlin.DRendererContext rdrCtx
         0: .line 878
            aload 0 /* this */
            aload 1 /* rdrCtx */
            aconst_null
            aconst_null
            aconst_null
            invokespecial com.sun.marlin.DHelpers$IndexStack.<init>:(Lcom/sun/marlin/DRendererContext;Lcom/sun/marlin/stats/StatLong;Lcom/sun/marlin/stats/Histogram;Lcom/sun/marlin/stats/StatLong;)V
         1: .line 879
            return
        end local 1 // com.sun.marlin.DRendererContext rdrCtx
        end local 0 // com.sun.marlin.DHelpers$IndexStack this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/sun/marlin/DHelpers$IndexStack;
            0    2     1  rdrCtx  Lcom/sun/marlin/DRendererContext;
    MethodParameters:
        Name  Flags
      rdrCtx  final

  void <init>(com.sun.marlin.DRendererContext, com.sun.marlin.stats.StatLong, com.sun.marlin.stats.Histogram, com.sun.marlin.stats.StatLong);
    descriptor: (Lcom/sun/marlin/DRendererContext;Lcom/sun/marlin/stats/StatLong;Lcom/sun/marlin/stats/Histogram;Lcom/sun/marlin/stats/StatLong;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // com.sun.marlin.DHelpers$IndexStack this
        start local 1 // com.sun.marlin.DRendererContext rdrCtx
        start local 2 // com.sun.marlin.stats.StatLong stat_idxstack_indices
        start local 3 // com.sun.marlin.stats.Histogram hist_idxstack_indices
        start local 4 // com.sun.marlin.stats.StatLong stat_array_idxstack_indices
         0: .line 881
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 886
            aload 0 /* this */
            aload 1 /* rdrCtx */
            getstatic com.sun.marlin.DHelpers$IndexStack.INITIAL_COUNT:I
            invokevirtual com.sun.marlin.DRendererContext.newDirtyIntArrayRef:(I)Lcom/sun/marlin/IntArrayCache$Reference;
            putfield com.sun.marlin.DHelpers$IndexStack.indices_ref:Lcom/sun/marlin/IntArrayCache$Reference;
         2: .line 887
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$IndexStack.indices_ref:Lcom/sun/marlin/IntArrayCache$Reference;
            getfield com.sun.marlin.IntArrayCache$Reference.initial:[I
            putfield com.sun.marlin.DHelpers$IndexStack.indices:[I
         3: .line 888
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DHelpers$IndexStack.end:I
         4: .line 890
            getstatic com.sun.marlin.DHelpers.DO_STATS:Z
            ifeq 6
         5: .line 891
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DHelpers$IndexStack.indicesUseMark:I
         6: .line 893
      StackMap locals: com.sun.marlin.DHelpers$IndexStack com.sun.marlin.DRendererContext com.sun.marlin.stats.StatLong com.sun.marlin.stats.Histogram com.sun.marlin.stats.StatLong
      StackMap stack:
            aload 0 /* this */
            aload 2 /* stat_idxstack_indices */
            putfield com.sun.marlin.DHelpers$IndexStack.stat_idxstack_indices:Lcom/sun/marlin/stats/StatLong;
         7: .line 894
            aload 0 /* this */
            aload 3 /* hist_idxstack_indices */
            putfield com.sun.marlin.DHelpers$IndexStack.hist_idxstack_indices:Lcom/sun/marlin/stats/Histogram;
         8: .line 895
            aload 0 /* this */
            aload 4 /* stat_array_idxstack_indices */
            putfield com.sun.marlin.DHelpers$IndexStack.stat_array_idxstack_indices:Lcom/sun/marlin/stats/StatLong;
         9: .line 896
            return
        end local 4 // com.sun.marlin.stats.StatLong stat_array_idxstack_indices
        end local 3 // com.sun.marlin.stats.Histogram hist_idxstack_indices
        end local 2 // com.sun.marlin.stats.StatLong stat_idxstack_indices
        end local 1 // com.sun.marlin.DRendererContext rdrCtx
        end local 0 // com.sun.marlin.DHelpers$IndexStack this
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0   10     0                         this  Lcom/sun/marlin/DHelpers$IndexStack;
            0   10     1                       rdrCtx  Lcom/sun/marlin/DRendererContext;
            0   10     2        stat_idxstack_indices  Lcom/sun/marlin/stats/StatLong;
            0   10     3        hist_idxstack_indices  Lcom/sun/marlin/stats/Histogram;
            0   10     4  stat_array_idxstack_indices  Lcom/sun/marlin/stats/StatLong;
    MethodParameters:
                             Name  Flags
      rdrCtx                       final
      stat_idxstack_indices        final
      hist_idxstack_indices        final
      stat_array_idxstack_indices  final

  void dispose();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.marlin.DHelpers$IndexStack this
         0: .line 903
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DHelpers$IndexStack.end:I
         1: .line 905
            getstatic com.sun.marlin.DHelpers.DO_STATS:Z
            ifeq 5
         2: .line 906
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$IndexStack.stat_idxstack_indices:Lcom/sun/marlin/stats/StatLong;
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$IndexStack.indicesUseMark:I
            invokevirtual com.sun.marlin.stats.StatLong.add:(I)V
         3: .line 907
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$IndexStack.hist_idxstack_indices:Lcom/sun/marlin/stats/Histogram;
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$IndexStack.indicesUseMark:I
            invokevirtual com.sun.marlin.stats.Histogram.add:(I)V
         4: .line 910
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DHelpers$IndexStack.indicesUseMark:I
         5: .line 915
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$IndexStack.indices_ref:Lcom/sun/marlin/IntArrayCache$Reference;
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$IndexStack.indices:[I
            invokevirtual com.sun.marlin.IntArrayCache$Reference.putArray:([I)[I
            putfield com.sun.marlin.DHelpers$IndexStack.indices:[I
         6: .line 916
            return
        end local 0 // com.sun.marlin.DHelpers$IndexStack this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/sun/marlin/DHelpers$IndexStack;

  boolean isEmpty();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.marlin.DHelpers$IndexStack this
         0: .line 919
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$IndexStack.end:I
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.sun.marlin.DHelpers$IndexStack this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/marlin/DHelpers$IndexStack;

  void reset();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.marlin.DHelpers$IndexStack this
         0: .line 923
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DHelpers$IndexStack.end:I
         1: .line 924
            return
        end local 0 // com.sun.marlin.DHelpers$IndexStack this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/marlin/DHelpers$IndexStack;

  void push(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // com.sun.marlin.DHelpers$IndexStack this
        start local 1 // int v
         0: .line 928
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$IndexStack.indices:[I
            astore 2 /* _values */
        start local 2 // int[] _values
         1: .line 929
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$IndexStack.end:I
            istore 3 /* nc */
        start local 3 // int nc
         2: .line 930
            iload 3 /* nc */
            ifeq 6
         3: .line 931
            aload 2 /* _values */
            iload 3 /* nc */
            iconst_1
            isub
            iaload
            iload 1 /* v */
            if_icmpne 6
         4: .line 933
            aload 0 /* this */
            dup
            getfield com.sun.marlin.DHelpers$IndexStack.end:I
            iconst_1
            isub
            putfield com.sun.marlin.DHelpers$IndexStack.end:I
         5: .line 934
            return
         6: .line 937
      StackMap locals: int[] int
      StackMap stack:
            aload 2 /* _values */
            arraylength
            iload 3 /* nc */
            if_icmpgt 10
         7: .line 938
            getstatic com.sun.marlin.DHelpers.DO_STATS:Z
            ifeq 9
         8: .line 939
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$IndexStack.stat_array_idxstack_indices:Lcom/sun/marlin/stats/StatLong;
            iload 3 /* nc */
            iconst_1
            iadd
            invokevirtual com.sun.marlin.stats.StatLong.add:(I)V
         9: .line 941
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$IndexStack.indices_ref:Lcom/sun/marlin/IntArrayCache$Reference;
            aload 2 /* _values */
            iload 3 /* nc */
            iload 3 /* nc */
            iconst_1
            iadd
            invokevirtual com.sun.marlin.IntArrayCache$Reference.widenArray:([III)[I
            dup
            astore 2 /* _values */
            putfield com.sun.marlin.DHelpers$IndexStack.indices:[I
        10: .line 943
      StackMap locals:
      StackMap stack:
            aload 2 /* _values */
            aload 0 /* this */
            dup
            getfield com.sun.marlin.DHelpers$IndexStack.end:I
            dup_x1
            iconst_1
            iadd
            putfield com.sun.marlin.DHelpers$IndexStack.end:I
            iload 1 /* v */
            iastore
        11: .line 945
            getstatic com.sun.marlin.DHelpers.DO_STATS:Z
            ifeq 14
        12: .line 947
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$IndexStack.end:I
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$IndexStack.indicesUseMark:I
            if_icmple 14
        13: .line 948
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$IndexStack.end:I
            putfield com.sun.marlin.DHelpers$IndexStack.indicesUseMark:I
        14: .line 951
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int nc
        end local 2 // int[] _values
        end local 1 // int v
        end local 0 // com.sun.marlin.DHelpers$IndexStack this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0     this  Lcom/sun/marlin/DHelpers$IndexStack;
            0   15     1        v  I
            1   15     2  _values  [I
            2   15     3       nc  I
    MethodParameters:
      Name  Flags
      v     final

  void pullAll(double[], com.sun.marlin.DPathConsumer2D);
    descriptor: ([DLcom/sun/marlin/DPathConsumer2D;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=7, args_size=3
        start local 0 // com.sun.marlin.DHelpers$IndexStack this
        start local 1 // double[] points
        start local 2 // com.sun.marlin.DPathConsumer2D io
         0: .line 954
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$IndexStack.end:I
            istore 3 /* nc */
        start local 3 // int nc
         1: .line 955
            iload 3 /* nc */
            ifne 3
         2: .line 956
            return
         3: .line 958
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$IndexStack.indices:[I
            astore 4 /* _values */
        start local 4 // int[] _values
         4: .line 960
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         5: goto 9
         6: .line 961
      StackMap locals: int[] int
      StackMap stack:
            aload 4 /* _values */
            iload 5 /* i */
            iaload
            iconst_1
            ishl
            istore 6 /* j */
        start local 6 // int j
         7: .line 962
            aload 2 /* io */
            aload 1 /* points */
            iload 6 /* j */
            daload
            aload 1 /* points */
            iload 6 /* j */
            iconst_1
            iadd
            daload
            invokeinterface com.sun.marlin.DPathConsumer2D.lineTo:(DD)V
         8: .line 960
            iinc 5 /* i */ 1
        end local 6 // int j
      StackMap locals:
      StackMap stack:
         9: iload 5 /* i */
            iload 3 /* nc */
            if_icmplt 6
        end local 5 // int i
        10: .line 964
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DHelpers$IndexStack.end:I
        11: .line 965
            return
        end local 4 // int[] _values
        end local 3 // int nc
        end local 2 // com.sun.marlin.DPathConsumer2D io
        end local 1 // double[] points
        end local 0 // com.sun.marlin.DHelpers$IndexStack this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Lcom/sun/marlin/DHelpers$IndexStack;
            0   12     1   points  [D
            0   12     2       io  Lcom/sun/marlin/DPathConsumer2D;
            1   12     3       nc  I
            4   12     4  _values  [I
            5   10     5        i  I
            7    9     6        j  I
    MethodParameters:
        Name  Flags
      points  final
      io      final
}
SourceFile: "DHelpers.java"
NestHost: com.sun.marlin.DHelpers
InnerClasses:
  final IndexStack = com.sun.marlin.DHelpers$IndexStack of com.sun.marlin.DHelpers
  final Reference = com.sun.marlin.IntArrayCache$Reference of com.sun.marlin.IntArrayCache