final class com.sun.marlin.DHelpers$PolyStack
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.sun.marlin.DHelpers$PolyStack
  super_class: java.lang.Object
{
  private static final byte TYPE_LINETO;
    descriptor: B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final byte TYPE_QUADTO;
    descriptor: B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final byte TYPE_CUBICTO;
    descriptor: B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private static final int INITIAL_CURVES_COUNT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int INITIAL_TYPES_COUNT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  double[] curves;
    descriptor: [D
    flags: (0x0000) 

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

  byte[] curveTypes;
    descriptor: [B
    flags: (0x0000) 

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

  final com.sun.marlin.DoubleArrayCache$Reference curves_ref;
    descriptor: Lcom/sun/marlin/DoubleArrayCache$Reference;
    flags: (0x0010) ACC_FINAL

  final com.sun.marlin.ByteArrayCache$Reference curveTypes_ref;
    descriptor: Lcom/sun/marlin/ByteArrayCache$Reference;
    flags: (0x0010) ACC_FINAL

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

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

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

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

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

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

  private final com.sun.marlin.stats.StatLong stat_array_polystack_curveTypes;
    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 613
            getstatic com.sun.marlin.DHelpers.INITIAL_EDGES_COUNT:I
            iconst_1
            ishl
            putstatic com.sun.marlin.DHelpers$PolyStack.INITIAL_CURVES_COUNT:I
         1: .line 616
            getstatic com.sun.marlin.DHelpers.INITIAL_EDGES_COUNT:I
            putstatic com.sun.marlin.DHelpers$PolyStack.INITIAL_TYPES_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=7, locals=2, args_size=2
        start local 0 // com.sun.marlin.DHelpers$PolyStack this
        start local 1 // com.sun.marlin.DRendererContext rdrCtx
         0: .line 639
            aload 0 /* this */
            aload 1 /* rdrCtx */
            aconst_null
            aconst_null
            aconst_null
            aconst_null
            aconst_null
            invokespecial com.sun.marlin.DHelpers$PolyStack.<init>:(Lcom/sun/marlin/DRendererContext;Lcom/sun/marlin/stats/StatLong;Lcom/sun/marlin/stats/StatLong;Lcom/sun/marlin/stats/Histogram;Lcom/sun/marlin/stats/StatLong;Lcom/sun/marlin/stats/StatLong;)V
         1: .line 640
            return
        end local 1 // com.sun.marlin.DRendererContext rdrCtx
        end local 0 // com.sun.marlin.DHelpers$PolyStack this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/sun/marlin/DHelpers$PolyStack;
            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.StatLong, com.sun.marlin.stats.Histogram, com.sun.marlin.stats.StatLong, com.sun.marlin.stats.StatLong);
    descriptor: (Lcom/sun/marlin/DRendererContext;Lcom/sun/marlin/stats/StatLong;Lcom/sun/marlin/stats/StatLong;Lcom/sun/marlin/stats/Histogram;Lcom/sun/marlin/stats/StatLong;Lcom/sun/marlin/stats/StatLong;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=7, args_size=7
        start local 0 // com.sun.marlin.DHelpers$PolyStack this
        start local 1 // com.sun.marlin.DRendererContext rdrCtx
        start local 2 // com.sun.marlin.stats.StatLong stat_polystack_types
        start local 3 // com.sun.marlin.stats.StatLong stat_polystack_curves
        start local 4 // com.sun.marlin.stats.Histogram hist_polystack_curves
        start local 5 // com.sun.marlin.stats.StatLong stat_array_polystack_curves
        start local 6 // com.sun.marlin.stats.StatLong stat_array_polystack_curveTypes
         0: .line 642
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 649
            aload 0 /* this */
            aload 1 /* rdrCtx */
            getstatic com.sun.marlin.DHelpers$PolyStack.INITIAL_CURVES_COUNT:I
            invokevirtual com.sun.marlin.DRendererContext.newDirtyDoubleArrayRef:(I)Lcom/sun/marlin/DoubleArrayCache$Reference;
            putfield com.sun.marlin.DHelpers$PolyStack.curves_ref:Lcom/sun/marlin/DoubleArrayCache$Reference;
         2: .line 650
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.curves_ref:Lcom/sun/marlin/DoubleArrayCache$Reference;
            getfield com.sun.marlin.DoubleArrayCache$Reference.initial:[D
            putfield com.sun.marlin.DHelpers$PolyStack.curves:[D
         3: .line 652
            aload 0 /* this */
            aload 1 /* rdrCtx */
            getstatic com.sun.marlin.DHelpers$PolyStack.INITIAL_TYPES_COUNT:I
            invokevirtual com.sun.marlin.DRendererContext.newDirtyByteArrayRef:(I)Lcom/sun/marlin/ByteArrayCache$Reference;
            putfield com.sun.marlin.DHelpers$PolyStack.curveTypes_ref:Lcom/sun/marlin/ByteArrayCache$Reference;
         4: .line 653
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.curveTypes_ref:Lcom/sun/marlin/ByteArrayCache$Reference;
            getfield com.sun.marlin.ByteArrayCache$Reference.initial:[B
            putfield com.sun.marlin.DHelpers$PolyStack.curveTypes:[B
         5: .line 654
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DHelpers$PolyStack.numCurves:I
         6: .line 655
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DHelpers$PolyStack.end:I
         7: .line 657
            getstatic com.sun.marlin.DHelpers.DO_STATS:Z
            ifeq 10
         8: .line 658
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DHelpers$PolyStack.curveTypesUseMark:I
         9: .line 659
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DHelpers$PolyStack.curvesUseMark:I
        10: .line 661
      StackMap locals: com.sun.marlin.DHelpers$PolyStack com.sun.marlin.DRendererContext com.sun.marlin.stats.StatLong com.sun.marlin.stats.StatLong com.sun.marlin.stats.Histogram com.sun.marlin.stats.StatLong com.sun.marlin.stats.StatLong
      StackMap stack:
            aload 0 /* this */
            aload 2 /* stat_polystack_types */
            putfield com.sun.marlin.DHelpers$PolyStack.stat_polystack_types:Lcom/sun/marlin/stats/StatLong;
        11: .line 662
            aload 0 /* this */
            aload 3 /* stat_polystack_curves */
            putfield com.sun.marlin.DHelpers$PolyStack.stat_polystack_curves:Lcom/sun/marlin/stats/StatLong;
        12: .line 663
            aload 0 /* this */
            aload 4 /* hist_polystack_curves */
            putfield com.sun.marlin.DHelpers$PolyStack.hist_polystack_curves:Lcom/sun/marlin/stats/Histogram;
        13: .line 664
            aload 0 /* this */
            aload 5 /* stat_array_polystack_curves */
            putfield com.sun.marlin.DHelpers$PolyStack.stat_array_polystack_curves:Lcom/sun/marlin/stats/StatLong;
        14: .line 665
            aload 0 /* this */
            aload 6 /* stat_array_polystack_curveTypes */
            putfield com.sun.marlin.DHelpers$PolyStack.stat_array_polystack_curveTypes:Lcom/sun/marlin/stats/StatLong;
        15: .line 666
            return
        end local 6 // com.sun.marlin.stats.StatLong stat_array_polystack_curveTypes
        end local 5 // com.sun.marlin.stats.StatLong stat_array_polystack_curves
        end local 4 // com.sun.marlin.stats.Histogram hist_polystack_curves
        end local 3 // com.sun.marlin.stats.StatLong stat_polystack_curves
        end local 2 // com.sun.marlin.stats.StatLong stat_polystack_types
        end local 1 // com.sun.marlin.DRendererContext rdrCtx
        end local 0 // com.sun.marlin.DHelpers$PolyStack this
      LocalVariableTable:
        Start  End  Slot                             Name  Signature
            0   16     0                             this  Lcom/sun/marlin/DHelpers$PolyStack;
            0   16     1                           rdrCtx  Lcom/sun/marlin/DRendererContext;
            0   16     2             stat_polystack_types  Lcom/sun/marlin/stats/StatLong;
            0   16     3            stat_polystack_curves  Lcom/sun/marlin/stats/StatLong;
            0   16     4            hist_polystack_curves  Lcom/sun/marlin/stats/Histogram;
            0   16     5      stat_array_polystack_curves  Lcom/sun/marlin/stats/StatLong;
            0   16     6  stat_array_polystack_curveTypes  Lcom/sun/marlin/stats/StatLong;
    MethodParameters:
                                 Name  Flags
      rdrCtx                           final
      stat_polystack_types             final
      stat_polystack_curves            final
      hist_polystack_curves            final
      stat_array_polystack_curves      final
      stat_array_polystack_curveTypes  final

  void dispose();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.marlin.DHelpers$PolyStack this
         0: .line 673
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DHelpers$PolyStack.end:I
         1: .line 674
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DHelpers$PolyStack.numCurves:I
         2: .line 676
            getstatic com.sun.marlin.DHelpers.DO_STATS:Z
            ifeq 8
         3: .line 677
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.stat_polystack_types:Lcom/sun/marlin/stats/StatLong;
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.curveTypesUseMark:I
            invokevirtual com.sun.marlin.stats.StatLong.add:(I)V
         4: .line 678
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.stat_polystack_curves:Lcom/sun/marlin/stats/StatLong;
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.curvesUseMark:I
            invokevirtual com.sun.marlin.stats.StatLong.add:(I)V
         5: .line 679
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.hist_polystack_curves:Lcom/sun/marlin/stats/Histogram;
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.curvesUseMark:I
            invokevirtual com.sun.marlin.stats.Histogram.add:(I)V
         6: .line 682
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DHelpers$PolyStack.curveTypesUseMark:I
         7: .line 683
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DHelpers$PolyStack.curvesUseMark:I
         8: .line 688
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.curves_ref:Lcom/sun/marlin/DoubleArrayCache$Reference;
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.curves:[D
            invokevirtual com.sun.marlin.DoubleArrayCache$Reference.putArray:([D)[D
            putfield com.sun.marlin.DHelpers$PolyStack.curves:[D
         9: .line 689
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.curveTypes_ref:Lcom/sun/marlin/ByteArrayCache$Reference;
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.curveTypes:[B
            invokevirtual com.sun.marlin.ByteArrayCache$Reference.putArray:([B)[B
            putfield com.sun.marlin.DHelpers$PolyStack.curveTypes:[B
        10: .line 690
            return
        end local 0 // com.sun.marlin.DHelpers$PolyStack this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lcom/sun/marlin/DHelpers$PolyStack;

  private void ensureSpace(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // com.sun.marlin.DHelpers$PolyStack this
        start local 1 // int n
         0: .line 694
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.curves:[D
            arraylength
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.end:I
            isub
            iload 1 /* n */
            if_icmpge 4
         1: .line 695
            getstatic com.sun.marlin.DHelpers.DO_STATS:Z
            ifeq 3
         2: .line 696
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.stat_array_polystack_curves:Lcom/sun/marlin/stats/StatLong;
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.end:I
            iload 1 /* n */
            iadd
            invokevirtual com.sun.marlin.stats.StatLong.add:(I)V
         3: .line 698
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.curves_ref:Lcom/sun/marlin/DoubleArrayCache$Reference;
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.curves:[D
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.end:I
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.end:I
            iload 1 /* n */
            iadd
            invokevirtual com.sun.marlin.DoubleArrayCache$Reference.widenArray:([DII)[D
            putfield com.sun.marlin.DHelpers$PolyStack.curves:[D
         4: .line 700
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.curveTypes:[B
            arraylength
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.numCurves:I
            if_icmpgt 11
         5: .line 701
            getstatic com.sun.marlin.DHelpers.DO_STATS:Z
            ifeq 7
         6: .line 702
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.stat_array_polystack_curveTypes:Lcom/sun/marlin/stats/StatLong;
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.numCurves:I
            iconst_1
            iadd
            invokevirtual com.sun.marlin.stats.StatLong.add:(I)V
         7: .line 704
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.curveTypes_ref:Lcom/sun/marlin/ByteArrayCache$Reference;
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.curveTypes:[B
         8: .line 705
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.numCurves:I
         9: .line 706
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.numCurves:I
            iconst_1
            iadd
        10: .line 704
            invokevirtual com.sun.marlin.ByteArrayCache$Reference.widenArray:([BII)[B
            putfield com.sun.marlin.DHelpers$PolyStack.curveTypes:[B
        11: .line 708
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int n
        end local 0 // com.sun.marlin.DHelpers$PolyStack this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lcom/sun/marlin/DHelpers$PolyStack;
            0   12     1     n  I
    MethodParameters:
      Name  Flags
      n     final

  void pushCubic(double, double, double, double, double, double);
    descriptor: (DDDDDD)V
    flags: (0x0000) 
    Code:
      stack=5, locals=15, args_size=7
        start local 0 // com.sun.marlin.DHelpers$PolyStack this
        start local 1 // double x0
        start local 3 // double y0
        start local 5 // double x1
        start local 7 // double y1
        start local 9 // double x2
        start local 11 // double y2
         0: .line 714
            aload 0 /* this */
            bipush 6
            invokevirtual com.sun.marlin.DHelpers$PolyStack.ensureSpace:(I)V
         1: .line 715
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.curveTypes:[B
            aload 0 /* this */
            dup
            getfield com.sun.marlin.DHelpers$PolyStack.numCurves:I
            dup_x1
            iconst_1
            iadd
            putfield com.sun.marlin.DHelpers$PolyStack.numCurves:I
            iconst_2
            bastore
         2: .line 717
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.curves:[D
            astore 13 /* _curves */
        start local 13 // double[] _curves
         3: .line 718
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.end:I
            istore 14 /* e */
        start local 14 // int e
         4: .line 719
            aload 13 /* _curves */
            iload 14 /* e */
            iinc 14 /* e */ 1
            dload 9 /* x2 */
            dastore
            aload 13 /* _curves */
            iload 14 /* e */
            iinc 14 /* e */ 1
            dload 11 /* y2 */
            dastore
         5: .line 720
            aload 13 /* _curves */
            iload 14 /* e */
            iinc 14 /* e */ 1
            dload 5 /* x1 */
            dastore
            aload 13 /* _curves */
            iload 14 /* e */
            iinc 14 /* e */ 1
            dload 7 /* y1 */
            dastore
         6: .line 721
            aload 13 /* _curves */
            iload 14 /* e */
            iinc 14 /* e */ 1
            dload 1 /* x0 */
            dastore
            aload 13 /* _curves */
            iload 14 /* e */
            iinc 14 /* e */ 1
            dload 3 /* y0 */
            dastore
         7: .line 722
            aload 0 /* this */
            iload 14 /* e */
            putfield com.sun.marlin.DHelpers$PolyStack.end:I
         8: .line 723
            return
        end local 14 // int e
        end local 13 // double[] _curves
        end local 11 // double y2
        end local 9 // double x2
        end local 7 // double y1
        end local 5 // double x1
        end local 3 // double y0
        end local 1 // double x0
        end local 0 // com.sun.marlin.DHelpers$PolyStack this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lcom/sun/marlin/DHelpers$PolyStack;
            0    9     1       x0  D
            0    9     3       y0  D
            0    9     5       x1  D
            0    9     7       y1  D
            0    9     9       x2  D
            0    9    11       y2  D
            3    9    13  _curves  [D
            4    9    14        e  I
    MethodParameters:
      Name  Flags
      x0    
      y0    
      x1    
      y1    
      x2    
      y2    

  void pushQuad(double, double, double, double);
    descriptor: (DDDD)V
    flags: (0x0000) 
    Code:
      stack=5, locals=11, args_size=5
        start local 0 // com.sun.marlin.DHelpers$PolyStack this
        start local 1 // double x0
        start local 3 // double y0
        start local 5 // double x1
        start local 7 // double y1
         0: .line 728
            aload 0 /* this */
            iconst_4
            invokevirtual com.sun.marlin.DHelpers$PolyStack.ensureSpace:(I)V
         1: .line 729
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.curveTypes:[B
            aload 0 /* this */
            dup
            getfield com.sun.marlin.DHelpers$PolyStack.numCurves:I
            dup_x1
            iconst_1
            iadd
            putfield com.sun.marlin.DHelpers$PolyStack.numCurves:I
            iconst_1
            bastore
         2: .line 730
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.curves:[D
            astore 9 /* _curves */
        start local 9 // double[] _curves
         3: .line 731
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.end:I
            istore 10 /* e */
        start local 10 // int e
         4: .line 732
            aload 9 /* _curves */
            iload 10 /* e */
            iinc 10 /* e */ 1
            dload 5 /* x1 */
            dastore
            aload 9 /* _curves */
            iload 10 /* e */
            iinc 10 /* e */ 1
            dload 7 /* y1 */
            dastore
         5: .line 733
            aload 9 /* _curves */
            iload 10 /* e */
            iinc 10 /* e */ 1
            dload 1 /* x0 */
            dastore
            aload 9 /* _curves */
            iload 10 /* e */
            iinc 10 /* e */ 1
            dload 3 /* y0 */
            dastore
         6: .line 734
            aload 0 /* this */
            iload 10 /* e */
            putfield com.sun.marlin.DHelpers$PolyStack.end:I
         7: .line 735
            return
        end local 10 // int e
        end local 9 // double[] _curves
        end local 7 // double y1
        end local 5 // double x1
        end local 3 // double y0
        end local 1 // double x0
        end local 0 // com.sun.marlin.DHelpers$PolyStack this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lcom/sun/marlin/DHelpers$PolyStack;
            0    8     1       x0  D
            0    8     3       y0  D
            0    8     5       x1  D
            0    8     7       y1  D
            3    8     9  _curves  [D
            4    8    10        e  I
    MethodParameters:
      Name  Flags
      x0    
      y0    
      x1    
      y1    

  void pushLine(double, double);
    descriptor: (DD)V
    flags: (0x0000) 
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // com.sun.marlin.DHelpers$PolyStack this
        start local 1 // double x
        start local 3 // double y
         0: .line 738
            aload 0 /* this */
            iconst_2
            invokevirtual com.sun.marlin.DHelpers$PolyStack.ensureSpace:(I)V
         1: .line 739
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.curveTypes:[B
            aload 0 /* this */
            dup
            getfield com.sun.marlin.DHelpers$PolyStack.numCurves:I
            dup_x1
            iconst_1
            iadd
            putfield com.sun.marlin.DHelpers$PolyStack.numCurves:I
            iconst_0
            bastore
         2: .line 740
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.curves:[D
            aload 0 /* this */
            dup
            getfield com.sun.marlin.DHelpers$PolyStack.end:I
            dup_x1
            iconst_1
            iadd
            putfield com.sun.marlin.DHelpers$PolyStack.end:I
            dload 1 /* x */
            dastore
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.curves:[D
            aload 0 /* this */
            dup
            getfield com.sun.marlin.DHelpers$PolyStack.end:I
            dup_x1
            iconst_1
            iadd
            putfield com.sun.marlin.DHelpers$PolyStack.end:I
            dload 3 /* y */
            dastore
         3: .line 741
            return
        end local 3 // double y
        end local 1 // double x
        end local 0 // com.sun.marlin.DHelpers$PolyStack this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/marlin/DHelpers$PolyStack;
            0    4     1     x  D
            0    4     3     y  D
    MethodParameters:
      Name  Flags
      x     
      y     

  void pullAll(com.sun.marlin.DPathConsumer2D);
    descriptor: (Lcom/sun/marlin/DPathConsumer2D;)V
    flags: (0x0000) 
    Code:
      stack=14, locals=7, args_size=2
        start local 0 // com.sun.marlin.DHelpers$PolyStack this
        start local 1 // com.sun.marlin.DPathConsumer2D io
         0: .line 744
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.numCurves:I
            istore 2 /* nc */
        start local 2 // int nc
         1: .line 745
            iload 2 /* nc */
            ifne 3
         2: .line 746
            return
         3: .line 748
      StackMap locals: int
      StackMap stack:
            getstatic com.sun.marlin.DHelpers.DO_STATS:Z
            ifeq 8
         4: .line 750
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.numCurves:I
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.curveTypesUseMark:I
            if_icmple 6
         5: .line 751
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.numCurves:I
            putfield com.sun.marlin.DHelpers$PolyStack.curveTypesUseMark:I
         6: .line 753
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.end:I
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.curvesUseMark:I
            if_icmple 8
         7: .line 754
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.end:I
            putfield com.sun.marlin.DHelpers$PolyStack.curvesUseMark:I
         8: .line 757
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.curveTypes:[B
            astore 3 /* _curveTypes */
        start local 3 // byte[] _curveTypes
         9: .line 758
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.curves:[D
            astore 4 /* _curves */
        start local 4 // double[] _curves
        10: .line 759
            iconst_0
            istore 5 /* e */
        start local 5 // int e
        11: .line 761
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        12: goto 28
        13: .line 762
      StackMap locals: com.sun.marlin.DHelpers$PolyStack com.sun.marlin.DPathConsumer2D int byte[] double[] int int
      StackMap stack:
            aload 3 /* _curveTypes */
            iload 6 /* i */
            baload
            tableswitch { // 0 - 2
                    0: 14
                    1: 23
                    2: 17
              default: 27
          }
        14: .line 764
      StackMap locals:
      StackMap stack:
            aload 1 /* io */
            aload 4 /* _curves */
            iload 5 /* e */
            daload
            aload 4 /* _curves */
            iload 5 /* e */
            iconst_1
            iadd
            daload
            invokeinterface com.sun.marlin.DPathConsumer2D.lineTo:(DD)V
        15: .line 765
            iinc 5 /* e */ 2
        16: .line 766
            goto 27
        17: .line 768
      StackMap locals:
      StackMap stack:
            aload 1 /* io */
            aload 4 /* _curves */
            iload 5 /* e */
            daload
            aload 4 /* _curves */
            iload 5 /* e */
            iconst_1
            iadd
            daload
        18: .line 769
            aload 4 /* _curves */
            iload 5 /* e */
            iconst_2
            iadd
            daload
            aload 4 /* _curves */
            iload 5 /* e */
            iconst_3
            iadd
            daload
        19: .line 770
            aload 4 /* _curves */
            iload 5 /* e */
            iconst_4
            iadd
            daload
            aload 4 /* _curves */
            iload 5 /* e */
            iconst_5
            iadd
            daload
        20: .line 768
            invokeinterface com.sun.marlin.DPathConsumer2D.curveTo:(DDDDDD)V
        21: .line 771
            iinc 5 /* e */ 6
        22: .line 772
            goto 27
        23: .line 774
      StackMap locals:
      StackMap stack:
            aload 1 /* io */
            aload 4 /* _curves */
            iload 5 /* e */
            daload
            aload 4 /* _curves */
            iload 5 /* e */
            iconst_1
            iadd
            daload
        24: .line 775
            aload 4 /* _curves */
            iload 5 /* e */
            iconst_2
            iadd
            daload
            aload 4 /* _curves */
            iload 5 /* e */
            iconst_3
            iadd
            daload
        25: .line 774
            invokeinterface com.sun.marlin.DPathConsumer2D.quadTo:(DDDD)V
        26: .line 776
            iinc 5 /* e */ 4
        27: .line 761
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        28: iload 6 /* i */
            iload 2 /* nc */
            if_icmplt 13
        end local 6 // int i
        29: .line 781
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DHelpers$PolyStack.numCurves:I
        30: .line 782
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DHelpers$PolyStack.end:I
        31: .line 783
            return
        end local 5 // int e
        end local 4 // double[] _curves
        end local 3 // byte[] _curveTypes
        end local 2 // int nc
        end local 1 // com.sun.marlin.DPathConsumer2D io
        end local 0 // com.sun.marlin.DHelpers$PolyStack this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   32     0         this  Lcom/sun/marlin/DHelpers$PolyStack;
            0   32     1           io  Lcom/sun/marlin/DPathConsumer2D;
            1   32     2           nc  I
            9   32     3  _curveTypes  [B
           10   32     4      _curves  [D
           11   32     5            e  I
           12   29     6            i  I
    MethodParameters:
      Name  Flags
      io    final

  void popAll(com.sun.marlin.DPathConsumer2D);
    descriptor: (Lcom/sun/marlin/DPathConsumer2D;)V
    flags: (0x0000) 
    Code:
      stack=14, locals=6, args_size=2
        start local 0 // com.sun.marlin.DHelpers$PolyStack this
        start local 1 // com.sun.marlin.DPathConsumer2D io
         0: .line 786
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.numCurves:I
            istore 2 /* nc */
        start local 2 // int nc
         1: .line 787
            iload 2 /* nc */
            ifne 3
         2: .line 788
            return
         3: .line 790
      StackMap locals: int
      StackMap stack:
            getstatic com.sun.marlin.DHelpers.DO_STATS:Z
            ifeq 8
         4: .line 792
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.numCurves:I
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.curveTypesUseMark:I
            if_icmple 6
         5: .line 793
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.numCurves:I
            putfield com.sun.marlin.DHelpers$PolyStack.curveTypesUseMark:I
         6: .line 795
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.end:I
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.curvesUseMark:I
            if_icmple 8
         7: .line 796
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.end:I
            putfield com.sun.marlin.DHelpers$PolyStack.curvesUseMark:I
         8: .line 799
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.curveTypes:[B
            astore 3 /* _curveTypes */
        start local 3 // byte[] _curveTypes
         9: .line 800
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.curves:[D
            astore 4 /* _curves */
        start local 4 // double[] _curves
        10: .line 801
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.end:I
            istore 5 /* e */
        start local 5 // int e
        11: .line 803
            goto 26
        12: .line 804
      StackMap locals: byte[] double[] int
      StackMap stack:
            aload 3 /* _curveTypes */
            iinc 2 /* nc */ -1
            iload 2 /* nc */
            baload
            tableswitch { // 0 - 2
                    0: 13
                    1: 22
                    2: 16
              default: 26
          }
        13: .line 806
      StackMap locals:
      StackMap stack:
            iinc 5 /* e */ -2
        14: .line 807
            aload 1 /* io */
            aload 4 /* _curves */
            iload 5 /* e */
            daload
            aload 4 /* _curves */
            iload 5 /* e */
            iconst_1
            iadd
            daload
            invokeinterface com.sun.marlin.DPathConsumer2D.lineTo:(DD)V
        15: .line 808
            goto 26
        16: .line 810
      StackMap locals:
      StackMap stack:
            iinc 5 /* e */ -6
        17: .line 811
            aload 1 /* io */
            aload 4 /* _curves */
            iload 5 /* e */
            daload
            aload 4 /* _curves */
            iload 5 /* e */
            iconst_1
            iadd
            daload
        18: .line 812
            aload 4 /* _curves */
            iload 5 /* e */
            iconst_2
            iadd
            daload
            aload 4 /* _curves */
            iload 5 /* e */
            iconst_3
            iadd
            daload
        19: .line 813
            aload 4 /* _curves */
            iload 5 /* e */
            iconst_4
            iadd
            daload
            aload 4 /* _curves */
            iload 5 /* e */
            iconst_5
            iadd
            daload
        20: .line 811
            invokeinterface com.sun.marlin.DPathConsumer2D.curveTo:(DDDDDD)V
        21: .line 814
            goto 26
        22: .line 816
      StackMap locals:
      StackMap stack:
            iinc 5 /* e */ -4
        23: .line 817
            aload 1 /* io */
            aload 4 /* _curves */
            iload 5 /* e */
            daload
            aload 4 /* _curves */
            iload 5 /* e */
            iconst_1
            iadd
            daload
        24: .line 818
            aload 4 /* _curves */
            iload 5 /* e */
            iconst_2
            iadd
            daload
            aload 4 /* _curves */
            iload 5 /* e */
            iconst_3
            iadd
            daload
        25: .line 817
            invokeinterface com.sun.marlin.DPathConsumer2D.quadTo:(DDDD)V
        26: .line 803
      StackMap locals:
      StackMap stack:
            iload 2 /* nc */
            ifne 12
        27: .line 823
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DHelpers$PolyStack.numCurves:I
        28: .line 824
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DHelpers$PolyStack.end:I
        29: .line 825
            return
        end local 5 // int e
        end local 4 // double[] _curves
        end local 3 // byte[] _curveTypes
        end local 2 // int nc
        end local 1 // com.sun.marlin.DPathConsumer2D io
        end local 0 // com.sun.marlin.DHelpers$PolyStack this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   30     0         this  Lcom/sun/marlin/DHelpers$PolyStack;
            0   30     1           io  Lcom/sun/marlin/DPathConsumer2D;
            1   30     2           nc  I
            9   30     3  _curveTypes  [B
           10   30     4      _curves  [D
           11   30     5            e  I
    MethodParameters:
      Name  Flags
      io    final

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // com.sun.marlin.DHelpers$PolyStack this
         0: .line 829
            ldc ""
            astore 1 /* ret */
        start local 1 // java.lang.String ret
         1: .line 830
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.numCurves:I
            istore 2 /* nc */
        start local 2 // int nc
         2: .line 831
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.end:I
            istore 3 /* last */
        start local 3 // int last
         3: .line 833
            goto 19
         4: .line 834
      StackMap locals: java.lang.String int int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.curveTypes:[B
            iinc 2 /* nc */ -1
            iload 2 /* nc */
            baload
            tableswitch { // 0 - 2
                    0: 5
                    1: 8
                    2: 11
              default: 14
          }
         5: .line 836
      StackMap locals:
      StackMap stack:
            iconst_2
            istore 4 /* len */
        start local 4 // int len
         6: .line 837
            new java.lang.StringBuilder
            dup
            aload 1 /* ret */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "line: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* ret */
         7: .line 838
            goto 15
        end local 4 // int len
         8: .line 840
      StackMap locals:
      StackMap stack:
            iconst_4
            istore 4 /* len */
        start local 4 // int len
         9: .line 841
            new java.lang.StringBuilder
            dup
            aload 1 /* ret */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "quad: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* ret */
        10: .line 842
            goto 15
        end local 4 // int len
        11: .line 844
      StackMap locals:
      StackMap stack:
            bipush 6
            istore 4 /* len */
        start local 4 // int len
        12: .line 845
            new java.lang.StringBuilder
            dup
            aload 1 /* ret */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "cubic: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* ret */
        13: .line 846
            goto 15
        end local 4 // int len
        14: .line 848
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* len */
        start local 4 // int len
        15: .line 850
      StackMap locals: int
      StackMap stack:
            iload 3 /* last */
            iload 4 /* len */
            isub
            istore 3 /* last */
        16: .line 851
            new java.lang.StringBuilder
            dup
            aload 1 /* ret */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.sun.marlin.DHelpers$PolyStack.curves:[D
            iload 3 /* last */
            iload 3 /* last */
            iload 4 /* len */
            iadd
            invokestatic java.util.Arrays.copyOfRange:([DII)[D
            invokestatic java.util.Arrays.toString:([D)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        17: .line 852
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        18: .line 851
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* ret */
        end local 4 // int len
        19: .line 833
      StackMap locals:
      StackMap stack:
            iload 2 /* nc */
            ifne 4
        20: .line 854
            aload 1 /* ret */
            areturn
        end local 3 // int last
        end local 2 // int nc
        end local 1 // java.lang.String ret
        end local 0 // com.sun.marlin.DHelpers$PolyStack this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   21     0  this  Lcom/sun/marlin/DHelpers$PolyStack;
            1   21     1   ret  Ljava/lang/String;
            2   21     2    nc  I
            3   21     3  last  I
            6    8     4   len  I
            9   11     4   len  I
           12   14     4   len  I
           15   19     4   len  I
}
SourceFile: "DHelpers.java"
NestHost: com.sun.marlin.DHelpers
InnerClasses:
  final Reference = com.sun.marlin.ByteArrayCache$Reference of com.sun.marlin.ByteArrayCache
  final PolyStack = com.sun.marlin.DHelpers$PolyStack of com.sun.marlin.DHelpers
  final Reference = com.sun.marlin.DoubleArrayCache$Reference of com.sun.marlin.DoubleArrayCache