final class sun.java2d.marlin.Dasher implements sun.awt.geom.PathConsumer2D, sun.java2d.marlin.MarlinConst
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: sun.java2d.marlin.Dasher
  super_class: java.lang.Object
{
  static final int recLimit;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  static final float ERR;
    descriptor: F
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 0.01

  static final float minTincrement;
    descriptor: F
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 0.0625

  private sun.awt.geom.PathConsumer2D out;
    descriptor: Lsun/awt/geom/PathConsumer2D;
    flags: (0x0002) ACC_PRIVATE

  private float[] dash;
    descriptor: [F
    flags: (0x0002) ACC_PRIVATE

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

  private float startPhase;
    descriptor: F
    flags: (0x0002) ACC_PRIVATE

  private boolean startDashOn;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

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

  private boolean starting;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean needsMoveTo;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

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

  private boolean dashOn;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private float phase;
    descriptor: F
    flags: (0x0002) ACC_PRIVATE

  private float sx;
    descriptor: F
    flags: (0x0002) ACC_PRIVATE

  private float sy;
    descriptor: F
    flags: (0x0002) ACC_PRIVATE

  private float x0;
    descriptor: F
    flags: (0x0002) ACC_PRIVATE

  private float y0;
    descriptor: F
    flags: (0x0002) ACC_PRIVATE

  private final float[] curCurvepts;
    descriptor: [F
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  final sun.java2d.marlin.RendererContext rdrCtx;
    descriptor: Lsun/java2d/marlin/RendererContext;
    flags: (0x0010) ACC_FINAL

  final float[] dashes_initial;
    descriptor: [F
    flags: (0x0010) ACC_FINAL

  boolean recycleDashes;
    descriptor: Z
    flags: (0x0000) 

  private final float[] firstSegmentsBuffer_initial;
    descriptor: [F
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private float[] firstSegmentsBuffer;
    descriptor: [F
    flags: (0x0002) ACC_PRIVATE

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

  private final sun.java2d.marlin.Dasher$LengthIterator li;
    descriptor: Lsun/java2d/marlin/Dasher$LengthIterator;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  void <init>(sun.java2d.marlin.RendererContext);
    descriptor: (Lsun/java2d/marlin/RendererContext;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.java2d.marlin.Dasher this
        start local 1 // sun.java2d.marlin.RendererContext rdrCtx
         0: .line 85
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 72
            aload 0 /* this */
            sipush 256
            newarray 6
            putfield sun.java2d.marlin.Dasher.dashes_initial:[F
         2: .line 79
            aload 0 /* this */
            sipush 257
            newarray 6
            putfield sun.java2d.marlin.Dasher.firstSegmentsBuffer_initial:[F
         3: .line 312
            aload 0 /* this */
            new sun.java2d.marlin.Dasher$LengthIterator
            dup
            invokespecial sun.java2d.marlin.Dasher$LengthIterator.<init>:()V
            putfield sun.java2d.marlin.Dasher.li:Lsun/java2d/marlin/Dasher$LengthIterator;
         4: .line 86
            aload 0 /* this */
            aload 1 /* rdrCtx */
            putfield sun.java2d.marlin.Dasher.rdrCtx:Lsun/java2d/marlin/RendererContext;
         5: .line 88
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.firstSegmentsBuffer_initial:[F
            putfield sun.java2d.marlin.Dasher.firstSegmentsBuffer:[F
         6: .line 92
            aload 0 /* this */
            bipush 16
            newarray 6
            putfield sun.java2d.marlin.Dasher.curCurvepts:[F
         7: .line 93
            return
        end local 1 // sun.java2d.marlin.RendererContext rdrCtx
        end local 0 // sun.java2d.marlin.Dasher this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lsun/java2d/marlin/Dasher;
            0    8     1  rdrCtx  Lsun/java2d/marlin/RendererContext;
    MethodParameters:
        Name  Flags
      rdrCtx  final

  sun.java2d.marlin.Dasher init(sun.awt.geom.PathConsumer2D, float[], int, float, boolean);
    descriptor: (Lsun/awt/geom/PathConsumer2D;[FIFZ)Lsun/java2d/marlin/Dasher;
    flags: (0x0000) 
    Code:
      stack=4, locals=8, args_size=6
        start local 0 // sun.java2d.marlin.Dasher this
        start local 1 // sun.awt.geom.PathConsumer2D out
        start local 2 // float[] dash
        start local 3 // int dashLen
        start local 4 // float phase
        start local 5 // boolean recycleDashes
         0: .line 108
            fload 4 /* phase */
            fconst_0
            fcmpg
            ifge 2
         1: .line 109
            new java.lang.IllegalArgumentException
            dup
            ldc "phase < 0 !"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 111
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* out */
            putfield sun.java2d.marlin.Dasher.out:Lsun/awt/geom/PathConsumer2D;
         3: .line 114
            iconst_0
            istore 6 /* idx */
        start local 6 // int idx
         4: .line 115
            aload 0 /* this */
            iconst_1
            putfield sun.java2d.marlin.Dasher.dashOn:Z
         5: .line 117
            goto 11
        start local 7 // float d
         6: .line 118
      StackMap locals: int float
      StackMap stack:
            fload 4 /* phase */
            fload 7 /* d */
            fsub
            fstore 4 /* phase */
         7: .line 119
            iload 6 /* idx */
            iconst_1
            iadd
            iload 3 /* dashLen */
            irem
            istore 6 /* idx */
         8: .line 120
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.dashOn:Z
            ifeq 9
            iconst_0
            goto 10
      StackMap locals:
      StackMap stack: sun.java2d.marlin.Dasher
         9: iconst_1
      StackMap locals: sun.java2d.marlin.Dasher sun.awt.geom.PathConsumer2D float[] int float int int float
      StackMap stack: sun.java2d.marlin.Dasher int
        10: putfield sun.java2d.marlin.Dasher.dashOn:Z
        end local 7 // float d
        11: .line 117
      StackMap locals:
      StackMap stack:
            fload 4 /* phase */
            aload 2 /* dash */
            iload 6 /* idx */
            faload
            dup
            fstore 7 /* d */
        start local 7 // float d
        12: fcmpl
            ifge 6
        13: .line 123
            aload 0 /* this */
            aload 2 /* dash */
            putfield sun.java2d.marlin.Dasher.dash:[F
        14: .line 124
            aload 0 /* this */
            iload 3 /* dashLen */
            putfield sun.java2d.marlin.Dasher.dashLen:I
        15: .line 125
            aload 0 /* this */
            aload 0 /* this */
            fload 4 /* phase */
            dup_x1
            putfield sun.java2d.marlin.Dasher.phase:F
            putfield sun.java2d.marlin.Dasher.startPhase:F
        16: .line 126
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.dashOn:Z
            putfield sun.java2d.marlin.Dasher.startDashOn:Z
        17: .line 127
            aload 0 /* this */
            iload 6 /* idx */
            putfield sun.java2d.marlin.Dasher.startIdx:I
        18: .line 128
            aload 0 /* this */
            iconst_1
            putfield sun.java2d.marlin.Dasher.starting:Z
        19: .line 129
            aload 0 /* this */
            iconst_0
            putfield sun.java2d.marlin.Dasher.needsMoveTo:Z
        20: .line 130
            aload 0 /* this */
            iconst_0
            putfield sun.java2d.marlin.Dasher.firstSegidx:I
        21: .line 132
            aload 0 /* this */
            iload 5 /* recycleDashes */
            putfield sun.java2d.marlin.Dasher.recycleDashes:Z
        22: .line 134
            aload 0 /* this */
            areturn
        end local 7 // float d
        end local 6 // int idx
        end local 5 // boolean recycleDashes
        end local 4 // float phase
        end local 3 // int dashLen
        end local 2 // float[] dash
        end local 1 // sun.awt.geom.PathConsumer2D out
        end local 0 // sun.java2d.marlin.Dasher this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   23     0           this  Lsun/java2d/marlin/Dasher;
            0   23     1            out  Lsun/awt/geom/PathConsumer2D;
            0   23     2           dash  [F
            0   23     3        dashLen  I
            0   23     4          phase  F
            0   23     5  recycleDashes  Z
            4   23     6            idx  I
            6   11     7              d  F
           12   23     7              d  F
    MethodParameters:
               Name  Flags
      out            final
      dash           
      dashLen        
      phase          
      recycleDashes  

  void dispose();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.java2d.marlin.Dasher this
         0: .line 148
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.recycleDashes:Z
            ifeq 3
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.dash:[F
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.dashes_initial:[F
            if_acmpeq 3
         1: .line 149
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.rdrCtx:Lsun/java2d/marlin/RendererContext;
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.dash:[F
            invokevirtual sun.java2d.marlin.RendererContext.putDirtyFloatArray:([F)V
         2: .line 150
            aload 0 /* this */
            aconst_null
            putfield sun.java2d.marlin.Dasher.dash:[F
         3: .line 153
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.firstSegmentsBuffer:[F
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.firstSegmentsBuffer_initial:[F
            if_acmpeq 6
         4: .line 154
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.rdrCtx:Lsun/java2d/marlin/RendererContext;
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.firstSegmentsBuffer:[F
            invokevirtual sun.java2d.marlin.RendererContext.putDirtyFloatArray:([F)V
         5: .line 155
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.firstSegmentsBuffer_initial:[F
            putfield sun.java2d.marlin.Dasher.firstSegmentsBuffer:[F
         6: .line 157
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.java2d.marlin.Dasher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lsun/java2d/marlin/Dasher;

  public void moveTo(float, float);
    descriptor: (FF)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // sun.java2d.marlin.Dasher this
        start local 1 // float x0
        start local 2 // float y0
         0: .line 161
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.firstSegidx:I
            ifle 3
         1: .line 162
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.out:Lsun/awt/geom/PathConsumer2D;
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.sx:F
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.sy:F
            invokeinterface sun.awt.geom.PathConsumer2D.moveTo:(FF)V
         2: .line 163
            aload 0 /* this */
            invokevirtual sun.java2d.marlin.Dasher.emitFirstSegments:()V
         3: .line 165
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.java2d.marlin.Dasher.needsMoveTo:Z
         4: .line 166
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.startIdx:I
            putfield sun.java2d.marlin.Dasher.idx:I
         5: .line 167
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.startDashOn:Z
            putfield sun.java2d.marlin.Dasher.dashOn:Z
         6: .line 168
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.startPhase:F
            putfield sun.java2d.marlin.Dasher.phase:F
         7: .line 169
            aload 0 /* this */
            aload 0 /* this */
            fload 1 /* x0 */
            dup_x1
            putfield sun.java2d.marlin.Dasher.x0:F
            putfield sun.java2d.marlin.Dasher.sx:F
         8: .line 170
            aload 0 /* this */
            aload 0 /* this */
            fload 2 /* y0 */
            dup_x1
            putfield sun.java2d.marlin.Dasher.y0:F
            putfield sun.java2d.marlin.Dasher.sy:F
         9: .line 171
            aload 0 /* this */
            iconst_1
            putfield sun.java2d.marlin.Dasher.starting:Z
        10: .line 172
            return
        end local 2 // float y0
        end local 1 // float x0
        end local 0 // sun.java2d.marlin.Dasher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lsun/java2d/marlin/Dasher;
            0   11     1    x0  F
            0   11     2    y0  F
    MethodParameters:
      Name  Flags
      x0    
      y0    

  private void emitSeg(float[], int, int);
    descriptor: ([FII)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=4, args_size=4
        start local 0 // sun.java2d.marlin.Dasher this
        start local 1 // float[] buf
        start local 2 // int off
        start local 3 // int type
         0: .line 175
            iload 3 /* type */
            tableswitch { // 4 - 8
                    4: 10
                    5: 12
                    6: 6
                    7: 12
                    8: 1
              default: 12
          }
         1: .line 177
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.out:Lsun/awt/geom/PathConsumer2D;
            aload 1 /* buf */
            iload 2 /* off */
            iconst_0
            iadd
            faload
            aload 1 /* buf */
            iload 2 /* off */
            iconst_1
            iadd
            faload
         2: .line 178
            aload 1 /* buf */
            iload 2 /* off */
            iconst_2
            iadd
            faload
            aload 1 /* buf */
            iload 2 /* off */
            iconst_3
            iadd
            faload
         3: .line 179
            aload 1 /* buf */
            iload 2 /* off */
            iconst_4
            iadd
            faload
            aload 1 /* buf */
            iload 2 /* off */
            iconst_5
            iadd
            faload
         4: .line 177
            invokeinterface sun.awt.geom.PathConsumer2D.curveTo:(FFFFFF)V
         5: .line 180
            return
         6: .line 182
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.out:Lsun/awt/geom/PathConsumer2D;
            aload 1 /* buf */
            iload 2 /* off */
            iconst_0
            iadd
            faload
            aload 1 /* buf */
            iload 2 /* off */
            iconst_1
            iadd
            faload
         7: .line 183
            aload 1 /* buf */
            iload 2 /* off */
            iconst_2
            iadd
            faload
            aload 1 /* buf */
            iload 2 /* off */
            iconst_3
            iadd
            faload
         8: .line 182
            invokeinterface sun.awt.geom.PathConsumer2D.quadTo:(FFFF)V
         9: .line 184
            return
        10: .line 186
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.out:Lsun/awt/geom/PathConsumer2D;
            aload 1 /* buf */
            iload 2 /* off */
            faload
            aload 1 /* buf */
            iload 2 /* off */
            iconst_1
            iadd
            faload
            invokeinterface sun.awt.geom.PathConsumer2D.lineTo:(FF)V
        11: .line 187
            return
        12: .line 190
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int type
        end local 2 // int off
        end local 1 // float[] buf
        end local 0 // sun.java2d.marlin.Dasher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lsun/java2d/marlin/Dasher;
            0   13     1   buf  [F
            0   13     2   off  I
            0   13     3  type  I
    MethodParameters:
      Name  Flags
      buf   
      off   
      type  

  private void emitFirstSegments();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // sun.java2d.marlin.Dasher this
         0: .line 193
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.firstSegmentsBuffer:[F
            astore 1 /* fSegBuf */
        start local 1 // float[] fSegBuf
         1: .line 195
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 6
         3: .line 196
      StackMap locals: float[] int
      StackMap stack:
            aload 1 /* fSegBuf */
            iload 2 /* i */
            faload
            f2i
            istore 3 /* type */
        start local 3 // int type
         4: .line 197
            aload 0 /* this */
            aload 1 /* fSegBuf */
            iload 2 /* i */
            iconst_1
            iadd
            iload 3 /* type */
            invokevirtual sun.java2d.marlin.Dasher.emitSeg:([FII)V
         5: .line 198
            iload 2 /* i */
            iload 3 /* type */
            iconst_1
            isub
            iadd
            istore 2 /* i */
        end local 3 // int type
         6: .line 195
      StackMap locals:
      StackMap stack:
            iload 2 /* i */
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.firstSegidx:I
            if_icmplt 3
        end local 2 // int i
         7: .line 200
            aload 0 /* this */
            iconst_0
            putfield sun.java2d.marlin.Dasher.firstSegidx:I
         8: .line 201
            return
        end local 1 // float[] fSegBuf
        end local 0 // sun.java2d.marlin.Dasher this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lsun/java2d/marlin/Dasher;
            1    9     1  fSegBuf  [F
            2    7     2        i  I
            4    6     3     type  I

  private void goTo(float[], int, int);
    descriptor: ([FII)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=9, args_size=4
        start local 0 // sun.java2d.marlin.Dasher this
        start local 1 // float[] pts
        start local 2 // int off
        start local 3 // int type
         0: .line 212
            aload 1 /* pts */
            iload 2 /* off */
            iload 3 /* type */
            iadd
            iconst_4
            isub
            faload
            fstore 4 /* x */
        start local 4 // float x
         1: .line 213
            aload 1 /* pts */
            iload 2 /* off */
            iload 3 /* type */
            iadd
            iconst_3
            isub
            faload
            fstore 5 /* y */
        start local 5 // float y
         2: .line 214
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.dashOn:Z
            ifeq 25
         3: .line 215
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.starting:Z
            ifeq 20
         4: .line 216
            iload 3 /* type */
            iconst_2
            isub
            iconst_1
            iadd
            istore 6 /* len */
        start local 6 // int len
         5: .line 217
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.firstSegidx:I
            istore 7 /* segIdx */
        start local 7 // int segIdx
         6: .line 218
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.firstSegmentsBuffer:[F
            astore 8 /* buf */
        start local 8 // float[] buf
         7: .line 219
            iload 7 /* segIdx */
            iload 6 /* len */
            iadd
            aload 8 /* buf */
            arraylength
            if_icmple 14
         8: .line 220
            getstatic sun.java2d.marlin.Dasher.doStats:Z
            ifeq 11
         9: .line 221
            getstatic sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
            getfield sun.java2d.marlin.RendererStats.stat_array_dasher_firstSegmentsBuffer:Lsun/java2d/marlin/stats/StatLong;
        10: .line 222
            iload 7 /* segIdx */
            iload 6 /* len */
            iadd
            invokevirtual sun.java2d.marlin.stats.StatLong.add:(I)V
        11: .line 224
      StackMap locals: sun.java2d.marlin.Dasher float[] int int float float int int float[]
      StackMap stack:
            aload 0 /* this */
        12: .line 225
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.rdrCtx:Lsun/java2d/marlin/RendererContext;
            aload 8 /* buf */
            iload 7 /* segIdx */
            iload 7 /* segIdx */
            iload 6 /* len */
            iadd
            invokevirtual sun.java2d.marlin.RendererContext.widenDirtyFloatArray:([FII)[F
        13: .line 224
            dup
            astore 8 /* buf */
            putfield sun.java2d.marlin.Dasher.firstSegmentsBuffer:[F
        14: .line 227
      StackMap locals:
      StackMap stack:
            aload 8 /* buf */
            iload 7 /* segIdx */
            iinc 7 /* segIdx */ 1
            iload 3 /* type */
            i2f
            fastore
        15: .line 228
            iinc 6 /* len */ -1
        16: .line 230
            aload 1 /* pts */
            iload 2 /* off */
            aload 8 /* buf */
            iload 7 /* segIdx */
            iload 6 /* len */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        17: .line 231
            iload 7 /* segIdx */
            iload 6 /* len */
            iadd
            istore 7 /* segIdx */
        18: .line 232
            aload 0 /* this */
            iload 7 /* segIdx */
            putfield sun.java2d.marlin.Dasher.firstSegidx:I
        end local 8 // float[] buf
        end local 7 // int segIdx
        end local 6 // int len
        19: .line 233
            goto 27
        20: .line 234
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.needsMoveTo:Z
            ifeq 23
        21: .line 235
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.out:Lsun/awt/geom/PathConsumer2D;
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.x0:F
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.y0:F
            invokeinterface sun.awt.geom.PathConsumer2D.moveTo:(FF)V
        22: .line 236
            aload 0 /* this */
            iconst_0
            putfield sun.java2d.marlin.Dasher.needsMoveTo:Z
        23: .line 238
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* pts */
            iload 2 /* off */
            iload 3 /* type */
            invokevirtual sun.java2d.marlin.Dasher.emitSeg:([FII)V
        24: .line 240
            goto 27
        25: .line 241
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield sun.java2d.marlin.Dasher.starting:Z
        26: .line 242
            aload 0 /* this */
            iconst_1
            putfield sun.java2d.marlin.Dasher.needsMoveTo:Z
        27: .line 244
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            fload 4 /* x */
            putfield sun.java2d.marlin.Dasher.x0:F
        28: .line 245
            aload 0 /* this */
            fload 5 /* y */
            putfield sun.java2d.marlin.Dasher.y0:F
        29: .line 246
            return
        end local 5 // float y
        end local 4 // float x
        end local 3 // int type
        end local 2 // int off
        end local 1 // float[] pts
        end local 0 // sun.java2d.marlin.Dasher this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   30     0    this  Lsun/java2d/marlin/Dasher;
            0   30     1     pts  [F
            0   30     2     off  I
            0   30     3    type  I
            1   30     4       x  F
            2   30     5       y  F
            5   19     6     len  I
            6   19     7  segIdx  I
            7   19     8     buf  [F
    MethodParameters:
      Name  Flags
      pts   
      off   
      type  final

  public void lineTo(float, float);
    descriptor: (FF)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=14, args_size=3
        start local 0 // sun.java2d.marlin.Dasher this
        start local 1 // float x1
        start local 2 // float y1
         0: .line 250
            fload 1 /* x1 */
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.x0:F
            fsub
            fstore 3 /* dx */
        start local 3 // float dx
         1: .line 251
            fload 2 /* y1 */
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.y0:F
            fsub
            fstore 4 /* dy */
        start local 4 // float dy
         2: .line 253
            fload 3 /* dx */
            fload 3 /* dx */
            fmul
            fload 4 /* dy */
            fload 4 /* dy */
            fmul
            fadd
            fstore 5 /* len */
        start local 5 // float len
         3: .line 254
            fload 5 /* len */
            fconst_0
            fcmpl
            ifne 5
         4: .line 255
            return
         5: .line 257
      StackMap locals: float float float
      StackMap stack:
            fload 5 /* len */
            f2d
            invokestatic java.lang.Math.sqrt:(D)D
            d2f
            fstore 5 /* len */
         6: .line 261
            fload 3 /* dx */
            fload 5 /* len */
            fdiv
            fstore 6 /* cx */
        start local 6 // float cx
         7: .line 262
            fload 4 /* dy */
            fload 5 /* len */
            fdiv
            fstore 7 /* cy */
        start local 7 // float cy
         8: .line 264
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.curCurvepts:[F
            astore 8 /* _curCurvepts */
        start local 8 // float[] _curCurvepts
         9: .line 265
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.dash:[F
            astore 9 /* _dash */
        start local 9 // float[] _dash
        10: .line 271
      StackMap locals: sun.java2d.marlin.Dasher float float float float float float float float[] float[]
      StackMap stack:
            aload 9 /* _dash */
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.idx:I
            faload
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.phase:F
            fsub
            fstore 10 /* leftInThisDashSegment */
        start local 10 // float leftInThisDashSegment
        11: .line 273
            fload 5 /* len */
            fload 10 /* leftInThisDashSegment */
            fcmpg
            ifgt 23
        12: .line 274
            aload 8 /* _curCurvepts */
            iconst_0
            fload 1 /* x1 */
            fastore
        13: .line 275
            aload 8 /* _curCurvepts */
            iconst_1
            fload 2 /* y1 */
            fastore
        14: .line 276
            aload 0 /* this */
            aload 8 /* _curCurvepts */
            iconst_0
            iconst_4
            invokevirtual sun.java2d.marlin.Dasher.goTo:([FII)V
        15: .line 279
            aload 0 /* this */
            dup
            getfield sun.java2d.marlin.Dasher.phase:F
            fload 5 /* len */
            fadd
            putfield sun.java2d.marlin.Dasher.phase:F
        16: .line 281
            fload 5 /* len */
            fload 10 /* leftInThisDashSegment */
            fcmpl
            ifne 22
        17: .line 282
            aload 0 /* this */
            fconst_0
            putfield sun.java2d.marlin.Dasher.phase:F
        18: .line 283
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.idx:I
            iconst_1
            iadd
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.dashLen:I
            irem
            putfield sun.java2d.marlin.Dasher.idx:I
        19: .line 284
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.dashOn:Z
            ifeq 20
            iconst_0
            goto 21
      StackMap locals: sun.java2d.marlin.Dasher float float float float float float float float[] float[] float
      StackMap stack: sun.java2d.marlin.Dasher
        20: iconst_1
      StackMap locals: sun.java2d.marlin.Dasher float float float float float float float float[] float[] float
      StackMap stack: sun.java2d.marlin.Dasher int
        21: putfield sun.java2d.marlin.Dasher.dashOn:Z
        22: .line 286
      StackMap locals:
      StackMap stack:
            return
        23: .line 289
      StackMap locals:
      StackMap stack:
            aload 9 /* _dash */
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.idx:I
            faload
            fload 6 /* cx */
            fmul
            fstore 11 /* dashdx */
        start local 11 // float dashdx
        24: .line 290
            aload 9 /* _dash */
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.idx:I
            faload
            fload 7 /* cy */
            fmul
            fstore 12 /* dashdy */
        start local 12 // float dashdy
        25: .line 292
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.phase:F
            fconst_0
            fcmpl
            ifne 29
        26: .line 293
            aload 8 /* _curCurvepts */
            iconst_0
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.x0:F
            fload 11 /* dashdx */
            fadd
            fastore
        27: .line 294
            aload 8 /* _curCurvepts */
            iconst_1
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.y0:F
            fload 12 /* dashdy */
            fadd
            fastore
        28: .line 295
            goto 32
        29: .line 296
      StackMap locals: float float
      StackMap stack:
            fload 10 /* leftInThisDashSegment */
            aload 9 /* _dash */
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.idx:I
            faload
            fdiv
            fstore 13 /* p */
        start local 13 // float p
        30: .line 297
            aload 8 /* _curCurvepts */
            iconst_0
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.x0:F
            fload 13 /* p */
            fload 11 /* dashdx */
            fmul
            fadd
            fastore
        31: .line 298
            aload 8 /* _curCurvepts */
            iconst_1
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.y0:F
            fload 13 /* p */
            fload 12 /* dashdy */
            fmul
            fadd
            fastore
        end local 13 // float p
        32: .line 301
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 8 /* _curCurvepts */
            iconst_0
            iconst_4
            invokevirtual sun.java2d.marlin.Dasher.goTo:([FII)V
        33: .line 303
            fload 5 /* len */
            fload 10 /* leftInThisDashSegment */
            fsub
            fstore 5 /* len */
        34: .line 305
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.idx:I
            iconst_1
            iadd
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.dashLen:I
            irem
            putfield sun.java2d.marlin.Dasher.idx:I
        35: .line 306
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.dashOn:Z
            ifeq 36
            iconst_0
            goto 37
      StackMap locals:
      StackMap stack: sun.java2d.marlin.Dasher
        36: iconst_1
      StackMap locals: sun.java2d.marlin.Dasher float float float float float float float float[] float[] float float float
      StackMap stack: sun.java2d.marlin.Dasher int
        37: putfield sun.java2d.marlin.Dasher.dashOn:Z
        38: .line 307
            aload 0 /* this */
            fconst_0
            putfield sun.java2d.marlin.Dasher.phase:F
        end local 12 // float dashdy
        end local 11 // float dashdx
        end local 10 // float leftInThisDashSegment
        39: .line 270
            goto 10
        end local 9 // float[] _dash
        end local 8 // float[] _curCurvepts
        end local 7 // float cy
        end local 6 // float cx
        end local 5 // float len
        end local 4 // float dy
        end local 3 // float dx
        end local 2 // float y1
        end local 1 // float x1
        end local 0 // sun.java2d.marlin.Dasher this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   40     0                   this  Lsun/java2d/marlin/Dasher;
            0   40     1                     x1  F
            0   40     2                     y1  F
            1   40     3                     dx  F
            2   40     4                     dy  F
            3   40     5                    len  F
            7   40     6                     cx  F
            8   40     7                     cy  F
            9   40     8           _curCurvepts  [F
           10   40     9                  _dash  [F
           11   39    10  leftInThisDashSegment  F
           24   39    11                 dashdx  F
           25   39    12                 dashdy  F
           30   32    13                      p  F
    MethodParameters:
      Name  Flags
      x1    
      y1    

  private void somethingTo(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=6, args_size=2
        start local 0 // sun.java2d.marlin.Dasher this
        start local 1 // int type
         0: .line 317
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.curCurvepts:[F
            iload 1 /* type */
            invokestatic sun.java2d.marlin.Dasher.pointCurve:([FI)Z
            ifeq 2
         1: .line 318
            return
         2: .line 320
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.li:Lsun/java2d/marlin/Dasher$LengthIterator;
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.curCurvepts:[F
            iload 1 /* type */
            invokevirtual sun.java2d.marlin.Dasher$LengthIterator.initializeIterationOnCurve:([FI)V
         3: .line 323
            iconst_0
            istore 2 /* curCurveoff */
        start local 2 // int curCurveoff
         4: .line 324
            fconst_0
            fstore 3 /* lastSplitT */
        start local 3 // float lastSplitT
         5: .line 326
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.dash:[F
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.idx:I
            faload
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.phase:F
            fsub
            fstore 5 /* leftInThisDashSegment */
        start local 5 // float leftInThisDashSegment
         6: .line 328
            goto 22
        start local 4 // float t
         7: .line 329
      StackMap locals: sun.java2d.marlin.Dasher int int float float float
      StackMap stack:
            fload 4 /* t */
            fconst_0
            fcmpl
            ifeq 16
         8: .line 330
            fload 4 /* t */
            fload 3 /* lastSplitT */
            fsub
            fconst_1
            fload 3 /* lastSplitT */
            fsub
            fdiv
         9: .line 331
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.curCurvepts:[F
            iload 2 /* curCurveoff */
        10: .line 332
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.curCurvepts:[F
            iconst_0
        11: .line 333
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.curCurvepts:[F
            iload 1 /* type */
            iload 1 /* type */
        12: .line 330
            invokestatic sun.java2d.marlin.Helpers.subdivideAt:(F[FI[FI[FII)V
        13: .line 334
            fload 4 /* t */
            fstore 3 /* lastSplitT */
        14: .line 335
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.curCurvepts:[F
            iconst_2
            iload 1 /* type */
            invokevirtual sun.java2d.marlin.Dasher.goTo:([FII)V
        15: .line 336
            iload 1 /* type */
            istore 2 /* curCurveoff */
        16: .line 339
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.idx:I
            iconst_1
            iadd
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.dashLen:I
            irem
            putfield sun.java2d.marlin.Dasher.idx:I
        17: .line 340
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.dashOn:Z
            ifeq 18
            iconst_0
            goto 19
      StackMap locals:
      StackMap stack: sun.java2d.marlin.Dasher
        18: iconst_1
      StackMap locals: sun.java2d.marlin.Dasher int int float float float
      StackMap stack: sun.java2d.marlin.Dasher int
        19: putfield sun.java2d.marlin.Dasher.dashOn:Z
        20: .line 341
            aload 0 /* this */
            fconst_0
            putfield sun.java2d.marlin.Dasher.phase:F
        21: .line 342
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.dash:[F
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.idx:I
            faload
            fstore 5 /* leftInThisDashSegment */
        end local 4 // float t
        22: .line 328
      StackMap locals: sun.java2d.marlin.Dasher int int float top float
      StackMap stack:
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.li:Lsun/java2d/marlin/Dasher$LengthIterator;
            fload 5 /* leftInThisDashSegment */
            invokevirtual sun.java2d.marlin.Dasher$LengthIterator.next:(F)F
            dup
            fstore 4 /* t */
        start local 4 // float t
        23: fconst_1
            fcmpg
            iflt 7
        24: .line 344
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.curCurvepts:[F
            iload 2 /* curCurveoff */
            iconst_2
            iadd
            iload 1 /* type */
            invokevirtual sun.java2d.marlin.Dasher.goTo:([FII)V
        25: .line 345
            aload 0 /* this */
            dup
            getfield sun.java2d.marlin.Dasher.phase:F
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.li:Lsun/java2d/marlin/Dasher$LengthIterator;
            invokevirtual sun.java2d.marlin.Dasher$LengthIterator.lastSegLen:()F
            fadd
            putfield sun.java2d.marlin.Dasher.phase:F
        26: .line 346
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.phase:F
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.dash:[F
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.idx:I
            faload
            fcmpl
            iflt 32
        27: .line 347
            aload 0 /* this */
            fconst_0
            putfield sun.java2d.marlin.Dasher.phase:F
        28: .line 348
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.idx:I
            iconst_1
            iadd
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.dashLen:I
            irem
            putfield sun.java2d.marlin.Dasher.idx:I
        29: .line 349
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.dashOn:Z
            ifeq 30
            iconst_0
            goto 31
      StackMap locals: sun.java2d.marlin.Dasher int int float float float
      StackMap stack: sun.java2d.marlin.Dasher
        30: iconst_1
      StackMap locals: sun.java2d.marlin.Dasher int int float float float
      StackMap stack: sun.java2d.marlin.Dasher int
        31: putfield sun.java2d.marlin.Dasher.dashOn:Z
        32: .line 352
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.li:Lsun/java2d/marlin/Dasher$LengthIterator;
            invokevirtual sun.java2d.marlin.Dasher$LengthIterator.reset:()V
        33: .line 353
            return
        end local 5 // float leftInThisDashSegment
        end local 4 // float t
        end local 3 // float lastSplitT
        end local 2 // int curCurveoff
        end local 1 // int type
        end local 0 // sun.java2d.marlin.Dasher this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   34     0                   this  Lsun/java2d/marlin/Dasher;
            0   34     1                   type  I
            4   34     2            curCurveoff  I
            5   34     3             lastSplitT  F
            7   22     4                      t  F
           23   34     4                      t  F
            6   34     5  leftInThisDashSegment  F
    MethodParameters:
      Name  Flags
      type  

  private static boolean pointCurve(float[], int);
    descriptor: ([FI)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // float[] curve
        start local 1 // int type
         0: .line 356
            iconst_2
            istore 2 /* i */
        start local 2 // int i
         1: goto 5
         2: .line 357
      StackMap locals: int
      StackMap stack:
            aload 0 /* curve */
            iload 2 /* i */
            faload
            aload 0 /* curve */
            iload 2 /* i */
            iconst_2
            isub
            faload
            fcmpl
            ifeq 4
         3: .line 358
            iconst_0
            ireturn
         4: .line 356
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            iload 1 /* type */
            if_icmplt 2
        end local 2 // int i
         6: .line 361
            iconst_1
            ireturn
        end local 1 // int type
        end local 0 // float[] curve
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0  curve  [F
            0    7     1   type  I
            1    6     2      i  I
    MethodParameters:
       Name  Flags
      curve  
      type   

  public void curveTo(float, float, float, float, float, float);
    descriptor: (FFFFFF)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=7
        start local 0 // sun.java2d.marlin.Dasher this
        start local 1 // float x1
        start local 2 // float y1
        start local 3 // float x2
        start local 4 // float y2
        start local 5 // float x3
        start local 6 // float y3
         0: .line 656
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.curCurvepts:[F
            astore 7 /* _curCurvepts */
        start local 7 // float[] _curCurvepts
         1: .line 657
            aload 7 /* _curCurvepts */
            iconst_0
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.x0:F
            fastore
            aload 7 /* _curCurvepts */
            iconst_1
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.y0:F
            fastore
         2: .line 658
            aload 7 /* _curCurvepts */
            iconst_2
            fload 1 /* x1 */
            fastore
            aload 7 /* _curCurvepts */
            iconst_3
            fload 2 /* y1 */
            fastore
         3: .line 659
            aload 7 /* _curCurvepts */
            iconst_4
            fload 3 /* x2 */
            fastore
            aload 7 /* _curCurvepts */
            iconst_5
            fload 4 /* y2 */
            fastore
         4: .line 660
            aload 7 /* _curCurvepts */
            bipush 6
            fload 5 /* x3 */
            fastore
            aload 7 /* _curCurvepts */
            bipush 7
            fload 6 /* y3 */
            fastore
         5: .line 661
            aload 0 /* this */
            bipush 8
            invokevirtual sun.java2d.marlin.Dasher.somethingTo:(I)V
         6: .line 662
            return
        end local 7 // float[] _curCurvepts
        end local 6 // float y3
        end local 5 // float x3
        end local 4 // float y2
        end local 3 // float x2
        end local 2 // float y1
        end local 1 // float x1
        end local 0 // sun.java2d.marlin.Dasher this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0          this  Lsun/java2d/marlin/Dasher;
            0    7     1            x1  F
            0    7     2            y1  F
            0    7     3            x2  F
            0    7     4            y2  F
            0    7     5            x3  F
            0    7     6            y3  F
            1    7     7  _curCurvepts  [F
    MethodParameters:
      Name  Flags
      x1    
      y1    
      x2    
      y2    
      x3    
      y3    

  public void quadTo(float, float, float, float);
    descriptor: (FFFF)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=5
        start local 0 // sun.java2d.marlin.Dasher this
        start local 1 // float x1
        start local 2 // float y1
        start local 3 // float x2
        start local 4 // float y2
         0: .line 666
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.curCurvepts:[F
            astore 5 /* _curCurvepts */
        start local 5 // float[] _curCurvepts
         1: .line 667
            aload 5 /* _curCurvepts */
            iconst_0
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.x0:F
            fastore
            aload 5 /* _curCurvepts */
            iconst_1
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.y0:F
            fastore
         2: .line 668
            aload 5 /* _curCurvepts */
            iconst_2
            fload 1 /* x1 */
            fastore
            aload 5 /* _curCurvepts */
            iconst_3
            fload 2 /* y1 */
            fastore
         3: .line 669
            aload 5 /* _curCurvepts */
            iconst_4
            fload 3 /* x2 */
            fastore
            aload 5 /* _curCurvepts */
            iconst_5
            fload 4 /* y2 */
            fastore
         4: .line 670
            aload 0 /* this */
            bipush 6
            invokevirtual sun.java2d.marlin.Dasher.somethingTo:(I)V
         5: .line 671
            return
        end local 5 // float[] _curCurvepts
        end local 4 // float y2
        end local 3 // float x2
        end local 2 // float y1
        end local 1 // float x1
        end local 0 // sun.java2d.marlin.Dasher this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Lsun/java2d/marlin/Dasher;
            0    6     1            x1  F
            0    6     2            y1  F
            0    6     3            x2  F
            0    6     4            y2  F
            1    6     5  _curCurvepts  [F
    MethodParameters:
      Name  Flags
      x1    
      y1    
      x2    
      y2    

  public void closePath();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.java2d.marlin.Dasher this
         0: .line 675
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.sx:F
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.sy:F
            invokevirtual sun.java2d.marlin.Dasher.lineTo:(FF)V
         1: .line 676
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.firstSegidx:I
            ifle 5
         2: .line 677
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.dashOn:Z
            ifeq 3
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.needsMoveTo:Z
            ifeq 4
         3: .line 678
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.out:Lsun/awt/geom/PathConsumer2D;
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.sx:F
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.sy:F
            invokeinterface sun.awt.geom.PathConsumer2D.moveTo:(FF)V
         4: .line 680
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.java2d.marlin.Dasher.emitFirstSegments:()V
         5: .line 682
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.sx:F
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.sy:F
            invokevirtual sun.java2d.marlin.Dasher.moveTo:(FF)V
         6: .line 683
            return
        end local 0 // sun.java2d.marlin.Dasher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lsun/java2d/marlin/Dasher;

  public void pathDone();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.java2d.marlin.Dasher this
         0: .line 687
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.firstSegidx:I
            ifle 3
         1: .line 688
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.out:Lsun/awt/geom/PathConsumer2D;
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.sx:F
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.sy:F
            invokeinterface sun.awt.geom.PathConsumer2D.moveTo:(FF)V
         2: .line 689
            aload 0 /* this */
            invokevirtual sun.java2d.marlin.Dasher.emitFirstSegments:()V
         3: .line 691
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.out:Lsun/awt/geom/PathConsumer2D;
            invokeinterface sun.awt.geom.PathConsumer2D.pathDone:()V
         4: .line 694
            aload 0 /* this */
            invokevirtual sun.java2d.marlin.Dasher.dispose:()V
         5: .line 695
            return
        end local 0 // sun.java2d.marlin.Dasher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lsun/java2d/marlin/Dasher;

  public long getNativeConsumer();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.java2d.marlin.Dasher this
         0: .line 699
            new java.lang.InternalError
            dup
            ldc "Dasher does not use a native consumer"
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // sun.java2d.marlin.Dasher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/java2d/marlin/Dasher;
}
SourceFile: "Dasher.java"
NestMembers:
  sun.java2d.marlin.Dasher$LengthIterator  sun.java2d.marlin.Dasher$LengthIterator$Side
InnerClasses:
  final LengthIterator = sun.java2d.marlin.Dasher$LengthIterator of sun.java2d.marlin.Dasher