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 REC_LIMIT;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 16

  static final float CURVE_LEN_ERR;
    descriptor: F
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final float MIN_T_INC;
    descriptor: F
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1.5258789E-5

  static final float MAX_CYCLES;
    descriptor: F
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1.6E7

  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 sx0;
    descriptor: F
    flags: (0x0002) ACC_PRIVATE

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

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

  private float cy0;
    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

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

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

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

  final sun.java2d.marlin.FloatArrayCache$Reference dashes_ref;
    descriptor: Lsun/java2d/marlin/FloatArrayCache$Reference;
    flags: (0x0010) ACC_FINAL

  final sun.java2d.marlin.FloatArrayCache$Reference firstSegmentsBuffer_ref;
    descriptor: Lsun/java2d/marlin/FloatArrayCache$Reference;
    flags: (0x0010) ACC_FINAL

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

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

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

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

  private final sun.java2d.marlin.TransformingPathConsumer2D$CurveClipSplitter curveSplitter;
    descriptor: Lsun/java2d/marlin/TransformingPathConsumer2D$CurveClipSplitter;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 48
            invokestatic sun.java2d.marlin.MarlinProperties.getCurveLengthError:()F
            putstatic sun.java2d.marlin.Dasher.CURVE_LEN_ERR:F
         1: .line 54
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  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 116
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 100
            aload 0 /* this */
            iconst_0
            putfield sun.java2d.marlin.Dasher.cOutCode:I
         2: .line 102
            aload 0 /* this */
            getstatic sun.java2d.marlin.Dasher.DO_CLIP_SUBDIVIDER:Z
            putfield sun.java2d.marlin.Dasher.subdivide:Z
         3: .line 104
            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 117
            aload 0 /* this */
            aload 1 /* rdrCtx */
            putfield sun.java2d.marlin.Dasher.rdrCtx:Lsun/java2d/marlin/RendererContext;
         5: .line 119
            aload 0 /* this */
            aload 1 /* rdrCtx */
            sipush 256
            invokevirtual sun.java2d.marlin.RendererContext.newDirtyFloatArrayRef:(I)Lsun/java2d/marlin/FloatArrayCache$Reference;
            putfield sun.java2d.marlin.Dasher.dashes_ref:Lsun/java2d/marlin/FloatArrayCache$Reference;
         6: .line 121
            aload 0 /* this */
            aload 1 /* rdrCtx */
            sipush 256
            invokevirtual sun.java2d.marlin.RendererContext.newDirtyFloatArrayRef:(I)Lsun/java2d/marlin/FloatArrayCache$Reference;
            putfield sun.java2d.marlin.Dasher.firstSegmentsBuffer_ref:Lsun/java2d/marlin/FloatArrayCache$Reference;
         7: .line 122
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.firstSegmentsBuffer_ref:Lsun/java2d/marlin/FloatArrayCache$Reference;
            getfield sun.java2d.marlin.FloatArrayCache$Reference.initial:[F
            putfield sun.java2d.marlin.Dasher.firstSegmentsBuffer:[F
         8: .line 126
            aload 0 /* this */
            bipush 16
            newarray 6
            putfield sun.java2d.marlin.Dasher.curCurvepts:[F
         9: .line 128
            aload 0 /* this */
            aload 1 /* rdrCtx */
            getfield sun.java2d.marlin.RendererContext.curveClipSplitter:Lsun/java2d/marlin/TransformingPathConsumer2D$CurveClipSplitter;
            putfield sun.java2d.marlin.Dasher.curveSplitter:Lsun/java2d/marlin/TransformingPathConsumer2D$CurveClipSplitter;
        10: .line 129
            return
        end local 1 // sun.java2d.marlin.RendererContext rdrCtx
        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  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=3, locals=11, 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 144
            aload 0 /* this */
            aload 1 /* out */
            putfield sun.java2d.marlin.Dasher.out:Lsun/awt/geom/PathConsumer2D;
         1: .line 147
            iconst_0
            istore 6 /* sidx */
        start local 6 // int sidx
         2: .line 148
            aload 0 /* this */
            iconst_1
            putfield sun.java2d.marlin.Dasher.dashOn:Z
         3: .line 151
            fconst_0
            fstore 7 /* sum */
        start local 7 // float sum
         4: .line 152
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         5: goto 8
         6: .line 153
      StackMap locals: int float int
      StackMap stack:
            fload 7 /* sum */
            aload 2 /* dash */
            iload 8 /* i */
            faload
            fadd
            fstore 7 /* sum */
         7: .line 152
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 8 /* i */
            iload 3 /* dashLen */
            if_icmplt 6
        end local 8 // int i
         9: .line 155
            aload 0 /* this */
            fload 7 /* sum */
            putfield sun.java2d.marlin.Dasher.cycleLen:F
        10: .line 157
            fload 4 /* phase */
            fload 7 /* sum */
            fdiv
            fstore 8 /* cycles */
        start local 8 // float cycles
        11: .line 158
            fload 4 /* phase */
            fconst_0
            fcmpg
            ifge 30
        12: .line 159
            fload 8 /* cycles */
            fneg
            ldc 1.6E7
            fcmpl
            iflt 15
        13: .line 160
            fconst_0
            fstore 4 /* phase */
        14: .line 161
            goto 48
        15: .line 162
      StackMap locals: sun.java2d.marlin.Dasher sun.awt.geom.PathConsumer2D float[] int float int int float float
      StackMap stack:
            fload 8 /* cycles */
            fneg
            invokestatic sun.java2d.marlin.FloatMath.floor_int:(F)I
            istore 9 /* fullcycles */
        start local 9 // int fullcycles
        16: .line 163
            iload 9 /* fullcycles */
            iload 3 /* dashLen */
            iand
            iconst_1
            iand
            ifeq 20
        17: .line 164
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.dashOn:Z
            ifeq 18
            iconst_0
            goto 19
      StackMap locals: sun.java2d.marlin.Dasher sun.awt.geom.PathConsumer2D float[] int float int int float float int
      StackMap stack: sun.java2d.marlin.Dasher
        18: iconst_1
      StackMap locals: sun.java2d.marlin.Dasher sun.awt.geom.PathConsumer2D float[] int float int int float float int
      StackMap stack: sun.java2d.marlin.Dasher int
        19: putfield sun.java2d.marlin.Dasher.dashOn:Z
        20: .line 166
      StackMap locals:
      StackMap stack:
            fload 4 /* phase */
            iload 9 /* fullcycles */
            i2f
            fload 7 /* sum */
            fmul
            fadd
            fstore 4 /* phase */
        21: .line 167
            goto 28
        22: .line 168
      StackMap locals:
      StackMap stack:
            iinc 6 /* sidx */ -1
            iload 6 /* sidx */
            ifge 24
        23: .line 169
            iload 3 /* dashLen */
            iconst_1
            isub
            istore 6 /* sidx */
        24: .line 171
      StackMap locals:
      StackMap stack:
            fload 4 /* phase */
            aload 2 /* dash */
            iload 6 /* sidx */
            faload
            fadd
            fstore 4 /* phase */
        25: .line 172
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.dashOn:Z
            ifeq 26
            iconst_0
            goto 27
      StackMap locals:
      StackMap stack: sun.java2d.marlin.Dasher
        26: iconst_1
      StackMap locals: sun.java2d.marlin.Dasher sun.awt.geom.PathConsumer2D float[] int float int int float float int
      StackMap stack: sun.java2d.marlin.Dasher int
        27: putfield sun.java2d.marlin.Dasher.dashOn:Z
        28: .line 167
      StackMap locals:
      StackMap stack:
            fload 4 /* phase */
            fconst_0
            fcmpg
            iflt 22
        end local 9 // int fullcycles
        29: .line 175
            goto 48
      StackMap locals:
      StackMap stack:
        30: fload 4 /* phase */
            fconst_0
            fcmpl
            ifle 48
        31: .line 176
            fload 8 /* cycles */
            ldc 1.6E7
            fcmpl
            iflt 34
        32: .line 177
            fconst_0
            fstore 4 /* phase */
        33: .line 178
            goto 48
        34: .line 179
      StackMap locals:
      StackMap stack:
            fload 8 /* cycles */
            invokestatic sun.java2d.marlin.FloatMath.floor_int:(F)I
            istore 9 /* fullcycles */
        start local 9 // int fullcycles
        35: .line 180
            iload 9 /* fullcycles */
            iload 3 /* dashLen */
            iand
            iconst_1
            iand
            ifeq 39
        36: .line 181
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.dashOn:Z
            ifeq 37
            iconst_0
            goto 38
      StackMap locals: sun.java2d.marlin.Dasher sun.awt.geom.PathConsumer2D float[] int float int int float float int
      StackMap stack: sun.java2d.marlin.Dasher
        37: iconst_1
      StackMap locals: sun.java2d.marlin.Dasher sun.awt.geom.PathConsumer2D float[] int float int int float float int
      StackMap stack: sun.java2d.marlin.Dasher int
        38: putfield sun.java2d.marlin.Dasher.dashOn:Z
        39: .line 183
      StackMap locals:
      StackMap stack:
            fload 4 /* phase */
            iload 9 /* fullcycles */
            i2f
            fload 7 /* sum */
            fmul
            fsub
            fstore 4 /* phase */
        40: .line 185
            goto 46
        start local 10 // float d
        41: .line 186
      StackMap locals: float
      StackMap stack:
            fload 4 /* phase */
            fload 10 /* d */
            fsub
            fstore 4 /* phase */
        42: .line 187
            iload 6 /* sidx */
            iconst_1
            iadd
            iload 3 /* dashLen */
            irem
            istore 6 /* sidx */
        43: .line 188
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.dashOn:Z
            ifeq 44
            iconst_0
            goto 45
      StackMap locals:
      StackMap stack: sun.java2d.marlin.Dasher
        44: iconst_1
      StackMap locals: sun.java2d.marlin.Dasher sun.awt.geom.PathConsumer2D float[] int float int int float float int float
      StackMap stack: sun.java2d.marlin.Dasher int
        45: putfield sun.java2d.marlin.Dasher.dashOn:Z
        end local 10 // float d
        46: .line 185
      StackMap locals:
      StackMap stack:
            fload 4 /* phase */
            aload 2 /* dash */
            iload 6 /* sidx */
            faload
            dup
            fstore 10 /* d */
        start local 10 // float d
        47: fcmpl
            ifge 41
        end local 10 // float d
        end local 9 // int fullcycles
        48: .line 193
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* dash */
            putfield sun.java2d.marlin.Dasher.dash:[F
        49: .line 194
            aload 0 /* this */
            iload 3 /* dashLen */
            putfield sun.java2d.marlin.Dasher.dashLen:I
        50: .line 195
            aload 0 /* this */
            fload 4 /* phase */
            putfield sun.java2d.marlin.Dasher.phase:F
        51: .line 196
            aload 0 /* this */
            fload 4 /* phase */
            putfield sun.java2d.marlin.Dasher.startPhase:F
        52: .line 197
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.dashOn:Z
            putfield sun.java2d.marlin.Dasher.startDashOn:Z
        53: .line 198
            aload 0 /* this */
            iload 6 /* sidx */
            putfield sun.java2d.marlin.Dasher.startIdx:I
        54: .line 199
            aload 0 /* this */
            iconst_1
            putfield sun.java2d.marlin.Dasher.starting:Z
        55: .line 200
            aload 0 /* this */
            iconst_0
            putfield sun.java2d.marlin.Dasher.needsMoveTo:Z
        56: .line 201
            aload 0 /* this */
            iconst_0
            putfield sun.java2d.marlin.Dasher.firstSegidx:I
        57: .line 203
            aload 0 /* this */
            iload 5 /* recycleDashes */
            putfield sun.java2d.marlin.Dasher.recycleDashes:Z
        58: .line 205
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.rdrCtx:Lsun/java2d/marlin/RendererContext;
            getfield sun.java2d.marlin.RendererContext.doClip:Z
            ifeq 61
        59: .line 206
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.rdrCtx:Lsun/java2d/marlin/RendererContext;
            getfield sun.java2d.marlin.RendererContext.clipRect:[F
            putfield sun.java2d.marlin.Dasher.clipRect:[F
        60: .line 207
            goto 63
        61: .line 208
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield sun.java2d.marlin.Dasher.clipRect:[F
        62: .line 209
            aload 0 /* this */
            iconst_0
            putfield sun.java2d.marlin.Dasher.cOutCode:I
        63: .line 211
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 8 // float cycles
        end local 7 // float sum
        end local 6 // int sidx
        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   64     0           this  Lsun/java2d/marlin/Dasher;
            0   64     1            out  Lsun/awt/geom/PathConsumer2D;
            0   64     2           dash  [F
            0   64     3        dashLen  I
            0   64     4          phase  F
            0   64     5  recycleDashes  Z
            2   64     6           sidx  I
            4   64     7            sum  F
            5    9     8              i  I
           11   64     8         cycles  F
           16   29     9     fullcycles  I
           35   48     9     fullcycles  I
           41   46    10              d  F
           47   48    10              d  F
    MethodParameters:
               Name  Flags
      out            final
      dash           final
      dashLen        final
      phase          
      recycleDashes  final

  void dispose();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.java2d.marlin.Dasher this
         0: .line 224
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.recycleDashes:Z
            ifeq 2
         1: .line 225
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.dashes_ref:Lsun/java2d/marlin/FloatArrayCache$Reference;
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.dash:[F
            invokevirtual sun.java2d.marlin.FloatArrayCache$Reference.putArray:([F)[F
            putfield sun.java2d.marlin.Dasher.dash:[F
         2: .line 227
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.firstSegmentsBuffer_ref:Lsun/java2d/marlin/FloatArrayCache$Reference;
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.firstSegmentsBuffer:[F
            invokevirtual sun.java2d.marlin.FloatArrayCache$Reference.putArray:([F)[F
            putfield sun.java2d.marlin.Dasher.firstSegmentsBuffer:[F
         3: .line 228
            return
        end local 0 // sun.java2d.marlin.Dasher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/java2d/marlin/Dasher;

  float[] copyDashArray(float[]);
    descriptor: ([F)[F
    flags: (0x0000) 
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // sun.java2d.marlin.Dasher this
        start local 1 // float[] dashes
         0: .line 231
            aload 1 /* dashes */
            arraylength
            istore 2 /* len */
        start local 2 // int len
         1: .line 233
            iload 2 /* len */
            sipush 256
            if_icmpgt 4
         2: .line 234
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.dashes_ref:Lsun/java2d/marlin/FloatArrayCache$Reference;
            getfield sun.java2d.marlin.FloatArrayCache$Reference.initial:[F
            astore 3 /* newDashes */
        start local 3 // float[] newDashes
         3: .line 235
            goto 7
        end local 3 // float[] newDashes
         4: .line 236
      StackMap locals: int
      StackMap stack:
            getstatic sun.java2d.marlin.Dasher.DO_STATS:Z
            ifeq 6
         5: .line 237
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.rdrCtx:Lsun/java2d/marlin/RendererContext;
            getfield sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
            getfield sun.java2d.marlin.RendererStats.stat_array_dasher_dasher:Lsun/java2d/marlin/stats/StatLong;
            iload 2 /* len */
            invokevirtual sun.java2d.marlin.stats.StatLong.add:(I)V
         6: .line 239
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.dashes_ref:Lsun/java2d/marlin/FloatArrayCache$Reference;
            iload 2 /* len */
            invokevirtual sun.java2d.marlin.FloatArrayCache$Reference.getArray:(I)[F
            astore 3 /* newDashes */
        start local 3 // float[] newDashes
         7: .line 241
      StackMap locals: float[]
      StackMap stack:
            aload 1 /* dashes */
            iconst_0
            aload 3 /* newDashes */
            iconst_0
            iload 2 /* len */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         8: .line 242
            aload 3 /* newDashes */
            areturn
        end local 3 // float[] newDashes
        end local 2 // int len
        end local 1 // float[] dashes
        end local 0 // sun.java2d.marlin.Dasher this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lsun/java2d/marlin/Dasher;
            0    9     1     dashes  [F
            1    9     2        len  I
            3    4     3  newDashes  [F
            7    9     3  newDashes  [F
    MethodParameters:
        Name  Flags
      dashes  final

  public void moveTo(float, float);
    descriptor: (FF)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // sun.java2d.marlin.Dasher this
        start local 1 // float x0
        start local 2 // float y0
         0: .line 247
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.firstSegidx:I
            ifeq 3
         1: .line 248
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.out:Lsun/awt/geom/PathConsumer2D;
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.sx0:F
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.sy0:F
            invokeinterface sun.awt.geom.PathConsumer2D.moveTo:(FF)V
         2: .line 249
            aload 0 /* this */
            invokevirtual sun.java2d.marlin.Dasher.emitFirstSegments:()V
         3: .line 251
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.java2d.marlin.Dasher.needsMoveTo:Z
         4: .line 252
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.startIdx:I
            putfield sun.java2d.marlin.Dasher.idx:I
         5: .line 253
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.startDashOn:Z
            putfield sun.java2d.marlin.Dasher.dashOn:Z
         6: .line 254
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.startPhase:F
            putfield sun.java2d.marlin.Dasher.phase:F
         7: .line 255
            aload 0 /* this */
            fload 1 /* x0 */
            putfield sun.java2d.marlin.Dasher.cx0:F
         8: .line 256
            aload 0 /* this */
            fload 2 /* y0 */
            putfield sun.java2d.marlin.Dasher.cy0:F
         9: .line 259
            aload 0 /* this */
            fload 1 /* x0 */
            putfield sun.java2d.marlin.Dasher.sx0:F
        10: .line 260
            aload 0 /* this */
            fload 2 /* y0 */
            putfield sun.java2d.marlin.Dasher.sy0:F
        11: .line 261
            aload 0 /* this */
            iconst_1
            putfield sun.java2d.marlin.Dasher.starting:Z
        12: .line 263
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.clipRect:[F
            ifnull 17
        13: .line 264
            fload 1 /* x0 */
            fload 2 /* y0 */
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.clipRect:[F
            invokestatic sun.java2d.marlin.Helpers.outcode:(FF[F)I
            istore 3 /* outcode */
        start local 3 // int outcode
        14: .line 265
            aload 0 /* this */
            iload 3 /* outcode */
            putfield sun.java2d.marlin.Dasher.cOutCode:I
        15: .line 266
            aload 0 /* this */
            iconst_0
            putfield sun.java2d.marlin.Dasher.outside:Z
        16: .line 267
            aload 0 /* this */
            fconst_0
            putfield sun.java2d.marlin.Dasher.totalSkipLen:F
        end local 3 // int outcode
        17: .line 269
      StackMap locals:
      StackMap stack:
            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   18     0     this  Lsun/java2d/marlin/Dasher;
            0   18     1       x0  F
            0   18     2       y0  F
           14   17     3  outcode  I
    MethodParameters:
      Name  Flags
      x0    final
      y0    final

  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 272
            iload 3 /* type */
            tableswitch { // 4 - 8
                    4: 10
                    5: 12
                    6: 6
                    7: 12
                    8: 1
              default: 12
          }
         1: .line 274
      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
         2: .line 275
            aload 1 /* buf */
            iload 2 /* off */
            iconst_2
            iadd
            faload
            aload 1 /* buf */
            iload 2 /* off */
            iconst_3
            iadd
            faload
         3: .line 276
            aload 1 /* buf */
            iload 2 /* off */
            iconst_4
            iadd
            faload
            aload 1 /* buf */
            iload 2 /* off */
            iconst_5
            iadd
            faload
         4: .line 274
            invokeinterface sun.awt.geom.PathConsumer2D.curveTo:(FFFFFF)V
         5: .line 277
            return
         6: .line 279
      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
         7: .line 280
            aload 1 /* buf */
            iload 2 /* off */
            iconst_2
            iadd
            faload
            aload 1 /* buf */
            iload 2 /* off */
            iconst_3
            iadd
            faload
         8: .line 279
            invokeinterface sun.awt.geom.PathConsumer2D.quadTo:(FFFF)V
         9: .line 281
            return
        10: .line 283
      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 284
            return
        12: .line 287
      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=5, args_size=1
        start local 0 // sun.java2d.marlin.Dasher this
         0: .line 290
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.firstSegmentsBuffer:[F
            astore 1 /* fSegBuf */
        start local 1 // float[] fSegBuf
         1: .line 292
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.firstSegidx:I
            istore 3 /* len */
        start local 3 // int len
         3: goto 7
         4: .line 293
      StackMap locals: float[] int int
      StackMap stack:
            aload 1 /* fSegBuf */
            iload 2 /* i */
            faload
            f2i
            istore 4 /* type */
        start local 4 // int type
         5: .line 294
            aload 0 /* this */
            aload 1 /* fSegBuf */
            iload 2 /* i */
            iconst_1
            iadd
            iload 4 /* type */
            invokevirtual sun.java2d.marlin.Dasher.emitSeg:([FII)V
         6: .line 295
            iload 2 /* i */
            iload 4 /* type */
            iconst_1
            isub
            iadd
            istore 2 /* i */
        end local 4 // int type
         7: .line 292
      StackMap locals:
      StackMap stack:
            iload 2 /* i */
            iload 3 /* len */
            if_icmplt 4
        end local 3 // int len
        end local 2 // int i
         8: .line 297
            aload 0 /* this */
            iconst_0
            putfield sun.java2d.marlin.Dasher.firstSegidx:I
         9: .line 298
            return
        end local 1 // float[] fSegBuf
        end local 0 // sun.java2d.marlin.Dasher this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lsun/java2d/marlin/Dasher;
            1   10     1  fSegBuf  [F
            2    8     2        i  I
            3    8     3      len  I
            5    7     4     type  I

  private void goTo(float[], int, int, boolean);
    descriptor: ([FIIZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=5
        start local 0 // sun.java2d.marlin.Dasher this
        start local 1 // float[] pts
        start local 2 // int off
        start local 3 // int type
        start local 4 // boolean on
         0: .line 304
            iload 2 /* off */
            iload 3 /* type */
            iadd
            istore 5 /* index */
        start local 5 // int index
         1: .line 305
            aload 1 /* pts */
            iload 5 /* index */
            iconst_4
            isub
            faload
            fstore 6 /* x */
        start local 6 // float x
         2: .line 306
            aload 1 /* pts */
            iload 5 /* index */
            iconst_3
            isub
            faload
            fstore 7 /* y */
        start local 7 // float y
         3: .line 308
            iload 4 /* on */
            ifeq 12
         4: .line 309
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.starting:Z
            ifeq 7
         5: .line 310
            aload 0 /* this */
            aload 1 /* pts */
            iload 2 /* off */
            iload 3 /* type */
            invokevirtual sun.java2d.marlin.Dasher.goTo_starting:([FII)V
         6: .line 311
            goto 15
         7: .line 312
      StackMap locals: int float float
      StackMap stack:
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.needsMoveTo:Z
            ifeq 10
         8: .line 313
            aload 0 /* this */
            iconst_0
            putfield sun.java2d.marlin.Dasher.needsMoveTo:Z
         9: .line 314
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.out:Lsun/awt/geom/PathConsumer2D;
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.cx0:F
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.cy0:F
            invokeinterface sun.awt.geom.PathConsumer2D.moveTo:(FF)V
        10: .line 316
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* pts */
            iload 2 /* off */
            iload 3 /* type */
            invokevirtual sun.java2d.marlin.Dasher.emitSeg:([FII)V
        11: .line 318
            goto 15
        12: .line 319
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.starting:Z
            ifeq 14
        13: .line 321
            aload 0 /* this */
            iconst_0
            putfield sun.java2d.marlin.Dasher.starting:Z
        14: .line 323
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.java2d.marlin.Dasher.needsMoveTo:Z
        15: .line 325
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            fload 6 /* x */
            putfield sun.java2d.marlin.Dasher.cx0:F
        16: .line 326
            aload 0 /* this */
            fload 7 /* y */
            putfield sun.java2d.marlin.Dasher.cy0:F
        17: .line 327
            return
        end local 7 // float y
        end local 6 // float x
        end local 5 // int index
        end local 4 // boolean on
        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   18     0   this  Lsun/java2d/marlin/Dasher;
            0   18     1    pts  [F
            0   18     2    off  I
            0   18     3   type  I
            0   18     4     on  Z
            1   18     5  index  I
            2   18     6      x  F
            3   18     7      y  F
    MethodParameters:
      Name  Flags
      pts   final
      off   final
      type  final
      on    final

  private void goTo_starting(float[], int, int);
    descriptor: ([FII)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, 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 330
            iload 3 /* type */
            iconst_1
            isub
            istore 4 /* len */
        start local 4 // int len
         1: .line 331
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.firstSegidx:I
            istore 5 /* segIdx */
        start local 5 // int segIdx
         2: .line 332
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.firstSegmentsBuffer:[F
            astore 6 /* buf */
        start local 6 // float[] buf
         3: .line 334
            iload 5 /* segIdx */
            iload 4 /* len */
            iadd
            aload 6 /* buf */
            arraylength
            if_icmple 12
         4: .line 335
            getstatic sun.java2d.marlin.Dasher.DO_STATS:Z
            ifeq 7
         5: .line 336
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.rdrCtx:Lsun/java2d/marlin/RendererContext;
            getfield sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
            getfield sun.java2d.marlin.RendererStats.stat_array_dasher_firstSegmentsBuffer:Lsun/java2d/marlin/stats/StatLong;
         6: .line 337
            iload 5 /* segIdx */
            iload 4 /* len */
            iadd
            invokevirtual sun.java2d.marlin.stats.StatLong.add:(I)V
         7: .line 339
      StackMap locals: int int float[]
      StackMap stack:
            aload 0 /* this */
         8: .line 340
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.firstSegmentsBuffer_ref:Lsun/java2d/marlin/FloatArrayCache$Reference;
            aload 6 /* buf */
            iload 5 /* segIdx */
         9: .line 341
            iload 5 /* segIdx */
            iload 4 /* len */
            iadd
        10: .line 340
            invokevirtual sun.java2d.marlin.FloatArrayCache$Reference.widenArray:([FII)[F
        11: .line 339
            dup
            astore 6 /* buf */
            putfield sun.java2d.marlin.Dasher.firstSegmentsBuffer:[F
        12: .line 343
      StackMap locals:
      StackMap stack:
            aload 6 /* buf */
            iload 5 /* segIdx */
            iinc 5 /* segIdx */ 1
            iload 3 /* type */
            i2f
            fastore
        13: .line 344
            iinc 4 /* len */ -1
        14: .line 346
            aload 1 /* pts */
            iload 2 /* off */
            aload 6 /* buf */
            iload 5 /* segIdx */
            iload 4 /* len */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        15: .line 347
            aload 0 /* this */
            iload 5 /* segIdx */
            iload 4 /* len */
            iadd
            putfield sun.java2d.marlin.Dasher.firstSegidx:I
        16: .line 348
            return
        end local 6 // float[] buf
        end local 5 // int segIdx
        end local 4 // int len
        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   17     0    this  Lsun/java2d/marlin/Dasher;
            0   17     1     pts  [F
            0   17     2     off  I
            0   17     3    type  I
            1   17     4     len  I
            2   17     5  segIdx  I
            3   17     6     buf  [F
    MethodParameters:
      Name  Flags
      pts   final
      off   final
      type  final

  public void lineTo(float, float);
    descriptor: (FF)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=8, args_size=3
        start local 0 // sun.java2d.marlin.Dasher this
        start local 1 // float x1
        start local 2 // float y1
         0: .line 352
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.cOutCode:I
            istore 3 /* outcode0 */
        start local 3 // int outcode0
         1: .line 354
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.clipRect:[F
            ifnull 22
         2: .line 355
            fload 1 /* x1 */
            fload 2 /* y1 */
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.clipRect:[F
            invokestatic sun.java2d.marlin.Helpers.outcode:(FF[F)I
            istore 4 /* outcode1 */
        start local 4 // int outcode1
         3: .line 358
            iload 3 /* outcode0 */
            iload 4 /* outcode1 */
            ior
            istore 5 /* orCode */
        start local 5 // int orCode
         4: .line 360
            iload 5 /* orCode */
            ifeq 18
         5: .line 361
            iload 3 /* outcode0 */
            iload 4 /* outcode1 */
            iand
            istore 6 /* sideCode */
        start local 6 // int sideCode
         6: .line 364
            iload 6 /* sideCode */
            ifne 15
         7: .line 366
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.subdivide:Z
            ifeq 18
         8: .line 368
            aload 0 /* this */
            iconst_0
            putfield sun.java2d.marlin.Dasher.subdivide:Z
         9: .line 370
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.curveSplitter:Lsun/java2d/marlin/TransformingPathConsumer2D$CurveClipSplitter;
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.cx0:F
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.cy0:F
            fload 1 /* x1 */
            fload 2 /* y1 */
        10: .line 371
            iload 5 /* orCode */
            aload 0 /* this */
        11: .line 370
            invokevirtual sun.java2d.marlin.TransformingPathConsumer2D$CurveClipSplitter.splitLine:(FFFFILsun/awt/geom/PathConsumer2D;)Z
            istore 7 /* ret */
        start local 7 // boolean ret
        12: .line 373
            aload 0 /* this */
            iconst_1
            putfield sun.java2d.marlin.Dasher.subdivide:Z
        13: .line 374
            iload 7 /* ret */
            ifeq 18
        14: .line 375
            return
        end local 7 // boolean ret
        15: .line 380
      StackMap locals: sun.java2d.marlin.Dasher float float int int int int
      StackMap stack:
            aload 0 /* this */
            iload 4 /* outcode1 */
            putfield sun.java2d.marlin.Dasher.cOutCode:I
        16: .line 381
            aload 0 /* this */
            fload 1 /* x1 */
            fload 2 /* y1 */
            invokevirtual sun.java2d.marlin.Dasher.skipLineTo:(FF)V
        17: .line 382
            return
        end local 6 // int sideCode
        18: .line 386
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* outcode1 */
            putfield sun.java2d.marlin.Dasher.cOutCode:I
        19: .line 388
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.outside:Z
            ifeq 22
        20: .line 389
            aload 0 /* this */
            iconst_0
            putfield sun.java2d.marlin.Dasher.outside:Z
        21: .line 391
            aload 0 /* this */
            invokevirtual sun.java2d.marlin.Dasher.skipLen:()V
        end local 5 // int orCode
        end local 4 // int outcode1
        22: .line 394
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            fload 1 /* x1 */
            fload 2 /* y1 */
            invokevirtual sun.java2d.marlin.Dasher._lineTo:(FF)V
        23: .line 395
            return
        end local 3 // int outcode0
        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   24     0      this  Lsun/java2d/marlin/Dasher;
            0   24     1        x1  F
            0   24     2        y1  F
            1   24     3  outcode0  I
            3   22     4  outcode1  I
            4   22     5    orCode  I
            6   18     6  sideCode  I
           12   15     7       ret  Z
    MethodParameters:
      Name  Flags
      x1    final
      y1    final

  private void _lineTo(float, float);
    descriptor: (FF)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=16, args_size=3
        start local 0 // sun.java2d.marlin.Dasher this
        start local 1 // float x1
        start local 2 // float y1
         0: .line 398
            fload 1 /* x1 */
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.cx0:F
            fsub
            fstore 3 /* dx */
        start local 3 // float dx
         1: .line 399
            fload 2 /* y1 */
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.cy0:F
            fsub
            fstore 4 /* dy */
        start local 4 // float dy
         2: .line 401
            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 402
            fload 5 /* len */
            fconst_0
            fcmpl
            ifne 5
         4: .line 403
            return
         5: .line 405
      StackMap locals: float float float
      StackMap stack:
            fload 5 /* len */
            f2d
            invokestatic java.lang.Math.sqrt:(D)D
            d2f
            fstore 5 /* len */
         6: .line 409
            fload 3 /* dx */
            fload 5 /* len */
            fdiv
            fstore 6 /* cx */
        start local 6 // float cx
         7: .line 410
            fload 4 /* dy */
            fload 5 /* len */
            fdiv
            fstore 7 /* cy */
        start local 7 // float cy
         8: .line 412
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.curCurvepts:[F
            astore 8 /* _curCurvepts */
        start local 8 // float[] _curCurvepts
         9: .line 413
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.dash:[F
            astore 9 /* _dash */
        start local 9 // float[] _dash
        10: .line 414
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.dashLen:I
            istore 10 /* _dashLen */
        start local 10 // int _dashLen
        11: .line 416
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.idx:I
            istore 11 /* _idx */
        start local 11 // int _idx
        12: .line 417
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.dashOn:Z
            istore 12 /* _dashOn */
        start local 12 // boolean _dashOn
        13: .line 418
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.phase:F
            fstore 13 /* _phase */
        start local 13 // float _phase
        14: .line 423
      StackMap locals: sun.java2d.marlin.Dasher float float float float float float float float[] float[] int int int float
      StackMap stack:
            aload 9 /* _dash */
            iload 11 /* _idx */
            faload
            fstore 15 /* d */
        start local 15 // float d
        15: .line 424
            fload 15 /* d */
            fload 13 /* _phase */
            fsub
            fstore 14 /* leftInThisDashSegment */
        start local 14 // float leftInThisDashSegment
        16: .line 426
            fload 5 /* len */
            fload 14 /* leftInThisDashSegment */
            fcmpg
            ifgt 28
        17: .line 427
            aload 8 /* _curCurvepts */
            iconst_0
            fload 1 /* x1 */
            fastore
        18: .line 428
            aload 8 /* _curCurvepts */
            iconst_1
            fload 2 /* y1 */
            fastore
        19: .line 430
            aload 0 /* this */
            aload 8 /* _curCurvepts */
            iconst_0
            iconst_4
            iload 12 /* _dashOn */
            invokevirtual sun.java2d.marlin.Dasher.goTo:([FIIZ)V
        20: .line 433
            fload 13 /* _phase */
            fload 5 /* len */
            fadd
            fstore 13 /* _phase */
        21: .line 436
            fload 5 /* len */
            fload 14 /* leftInThisDashSegment */
            fcmpl
            ifne 42
        22: .line 437
            fconst_0
            fstore 13 /* _phase */
        23: .line 438
            iload 11 /* _idx */
            iconst_1
            iadd
            iload 10 /* _dashLen */
            irem
            istore 11 /* _idx */
        24: .line 439
            iload 12 /* _dashOn */
            ifeq 25
            iconst_0
            goto 26
      StackMap locals: float float
      StackMap stack:
        25: iconst_1
      StackMap locals:
      StackMap stack: int
        26: istore 12 /* _dashOn */
        27: .line 441
            goto 42
        28: .line 444
      StackMap locals:
      StackMap stack:
            fload 13 /* _phase */
            fconst_0
            fcmpl
            ifne 32
        29: .line 445
            aload 8 /* _curCurvepts */
            iconst_0
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.cx0:F
            fload 15 /* d */
            fload 6 /* cx */
            fmul
            fadd
            fastore
        30: .line 446
            aload 8 /* _curCurvepts */
            iconst_1
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.cy0:F
            fload 15 /* d */
            fload 7 /* cy */
            fmul
            fadd
            fastore
        31: .line 447
            goto 34
        32: .line 448
      StackMap locals:
      StackMap stack:
            aload 8 /* _curCurvepts */
            iconst_0
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.cx0:F
            fload 14 /* leftInThisDashSegment */
            fload 6 /* cx */
            fmul
            fadd
            fastore
        33: .line 449
            aload 8 /* _curCurvepts */
            iconst_1
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.cy0:F
            fload 14 /* leftInThisDashSegment */
            fload 7 /* cy */
            fmul
            fadd
            fastore
        34: .line 452
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 8 /* _curCurvepts */
            iconst_0
            iconst_4
            iload 12 /* _dashOn */
            invokevirtual sun.java2d.marlin.Dasher.goTo:([FIIZ)V
        35: .line 454
            fload 5 /* len */
            fload 14 /* leftInThisDashSegment */
            fsub
            fstore 5 /* len */
        36: .line 456
            iload 11 /* _idx */
            iconst_1
            iadd
            iload 10 /* _dashLen */
            irem
            istore 11 /* _idx */
        37: .line 457
            iload 12 /* _dashOn */
            ifeq 38
            iconst_0
            goto 39
      StackMap locals:
      StackMap stack:
        38: iconst_1
      StackMap locals:
      StackMap stack: int
        39: istore 12 /* _dashOn */
        40: .line 458
            fconst_0
            fstore 13 /* _phase */
        end local 15 // float d
        end local 14 // float leftInThisDashSegment
        41: .line 422
            goto 14
        start local 14 // float leftInThisDashSegment
        start local 15 // float d
        42: .line 461
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 11 /* _idx */
            putfield sun.java2d.marlin.Dasher.idx:I
        43: .line 462
            aload 0 /* this */
            iload 12 /* _dashOn */
            putfield sun.java2d.marlin.Dasher.dashOn:Z
        44: .line 463
            aload 0 /* this */
            fload 13 /* _phase */
            putfield sun.java2d.marlin.Dasher.phase:F
        45: .line 464
            return
        end local 15 // float d
        end local 14 // float leftInThisDashSegment
        end local 13 // float _phase
        end local 12 // boolean _dashOn
        end local 11 // int _idx
        end local 10 // int _dashLen
        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   46     0                   this  Lsun/java2d/marlin/Dasher;
            0   46     1                     x1  F
            0   46     2                     y1  F
            1   46     3                     dx  F
            2   46     4                     dy  F
            3   46     5                    len  F
            7   46     6                     cx  F
            8   46     7                     cy  F
            9   46     8           _curCurvepts  [F
           10   46     9                  _dash  [F
           11   46    10               _dashLen  I
           12   46    11                   _idx  I
           13   46    12                _dashOn  Z
           14   46    13                 _phase  F
           16   41    14  leftInThisDashSegment  F
           42   46    14  leftInThisDashSegment  F
           15   41    15                      d  F
           42   46    15                      d  F
    MethodParameters:
      Name  Flags
      x1    final
      y1    final

  private void skipLineTo(float, float);
    descriptor: (FF)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // sun.java2d.marlin.Dasher this
        start local 1 // float x1
        start local 2 // float y1
         0: .line 467
            fload 1 /* x1 */
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.cx0:F
            fsub
            fstore 3 /* dx */
        start local 3 // float dx
         1: .line 468
            fload 2 /* y1 */
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.cy0:F
            fsub
            fstore 4 /* dy */
        start local 4 // float dy
         2: .line 470
            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 471
            fload 5 /* len */
            fconst_0
            fcmpl
            ifeq 5
         4: .line 472
            fload 5 /* len */
            f2d
            invokestatic java.lang.Math.sqrt:(D)D
            d2f
            fstore 5 /* len */
         5: .line 476
      StackMap locals: float float float
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.java2d.marlin.Dasher.outside:Z
         6: .line 477
            aload 0 /* this */
            dup
            getfield sun.java2d.marlin.Dasher.totalSkipLen:F
            fload 5 /* len */
            fadd
            putfield sun.java2d.marlin.Dasher.totalSkipLen:F
         7: .line 480
            aload 0 /* this */
            iconst_1
            putfield sun.java2d.marlin.Dasher.needsMoveTo:Z
         8: .line 481
            aload 0 /* this */
            iconst_0
            putfield sun.java2d.marlin.Dasher.starting:Z
         9: .line 483
            aload 0 /* this */
            fload 1 /* x1 */
            putfield sun.java2d.marlin.Dasher.cx0:F
        10: .line 484
            aload 0 /* this */
            fload 2 /* y1 */
            putfield sun.java2d.marlin.Dasher.cy0:F
        11: .line 485
            return
        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   12     0  this  Lsun/java2d/marlin/Dasher;
            0   12     1    x1  F
            0   12     2    y1  F
            1   12     3    dx  F
            2   12     4    dy  F
            3   12     5   len  F
    MethodParameters:
      Name  Flags
      x1    final
      y1    final

  public void skipLen();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=11, args_size=1
        start local 0 // sun.java2d.marlin.Dasher this
         0: .line 488
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.totalSkipLen:F
            fstore 1 /* len */
        start local 1 // float len
         1: .line 489
            aload 0 /* this */
            fconst_0
            putfield sun.java2d.marlin.Dasher.totalSkipLen:F
         2: .line 491
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.dash:[F
            astore 2 /* _dash */
        start local 2 // float[] _dash
         3: .line 492
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.dashLen:I
            istore 3 /* _dashLen */
        start local 3 // int _dashLen
         4: .line 494
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.idx:I
            istore 4 /* _idx */
        start local 4 // int _idx
         5: .line 495
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.dashOn:Z
            istore 5 /* _dashOn */
        start local 5 // boolean _dashOn
         6: .line 496
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.phase:F
            fstore 6 /* _phase */
        start local 6 // float _phase
         7: .line 500
            fload 1 /* len */
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.cycleLen:F
            fdiv
            f2d
            invokestatic java.lang.Math.floor:(D)D
            d2l
            ldc 2
            lsub
            lstore 7 /* fullcycles */
        start local 7 // long fullcycles
         8: .line 502
            lload 7 /* fullcycles */
            lconst_0
            lcmp
            ifle 17
         9: .line 503
            fload 1 /* len */
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.cycleLen:F
            lload 7 /* fullcycles */
            l2f
            fmul
            fsub
            fstore 1 /* len */
        10: .line 505
            lload 7 /* fullcycles */
            iload 3 /* _dashLen */
            i2l
            lmul
            lstore 9 /* iterations */
        start local 9 // long iterations
        11: .line 506
            lload 9 /* iterations */
            iload 4 /* _idx */
            i2l
            ladd
            l2i
            iload 3 /* _dashLen */
            irem
            istore 4 /* _idx */
        12: .line 507
            lload 9 /* iterations */
            iload 5 /* _dashOn */
            ifeq 13
            lconst_1
            goto 14
      StackMap locals: sun.java2d.marlin.Dasher float float[] int int int float long long
      StackMap stack: long
        13: lconst_0
      StackMap locals: sun.java2d.marlin.Dasher float float[] int int int float long long
      StackMap stack: long long
        14: ladd
            lconst_1
            land
            lconst_1
            lcmp
            ifne 15
            iconst_1
            goto 16
      StackMap locals:
      StackMap stack:
        15: iconst_0
      StackMap locals:
      StackMap stack: int
        16: istore 5 /* _dashOn */
        end local 9 // long iterations
        17: .line 513
      StackMap locals:
      StackMap stack:
            aload 2 /* _dash */
            iload 4 /* _idx */
            faload
            fstore 10 /* d */
        start local 10 // float d
        18: .line 514
            fload 10 /* d */
            fload 6 /* _phase */
            fsub
            fstore 9 /* leftInThisDashSegment */
        start local 9 // float leftInThisDashSegment
        19: .line 516
            fload 1 /* len */
            fload 9 /* leftInThisDashSegment */
            fcmpg
            ifgt 28
        20: .line 518
            fload 6 /* _phase */
            fload 1 /* len */
            fadd
            fstore 6 /* _phase */
        21: .line 521
            fload 1 /* len */
            fload 9 /* leftInThisDashSegment */
            fcmpl
            ifne 35
        22: .line 522
            fconst_0
            fstore 6 /* _phase */
        23: .line 523
            iload 4 /* _idx */
            iconst_1
            iadd
            iload 3 /* _dashLen */
            irem
            istore 4 /* _idx */
        24: .line 524
            iload 5 /* _dashOn */
            ifeq 25
            iconst_0
            goto 26
      StackMap locals: float float
      StackMap stack:
        25: iconst_1
      StackMap locals:
      StackMap stack: int
        26: istore 5 /* _dashOn */
        27: .line 526
            goto 35
        28: .line 529
      StackMap locals:
      StackMap stack:
            fload 1 /* len */
            fload 9 /* leftInThisDashSegment */
            fsub
            fstore 1 /* len */
        29: .line 531
            iload 4 /* _idx */
            iconst_1
            iadd
            iload 3 /* _dashLen */
            irem
            istore 4 /* _idx */
        30: .line 532
            iload 5 /* _dashOn */
            ifeq 31
            iconst_0
            goto 32
      StackMap locals:
      StackMap stack:
        31: iconst_1
      StackMap locals:
      StackMap stack: int
        32: istore 5 /* _dashOn */
        33: .line 533
            fconst_0
            fstore 6 /* _phase */
        end local 10 // float d
        end local 9 // float leftInThisDashSegment
        34: .line 512
            goto 17
        start local 9 // float leftInThisDashSegment
        start local 10 // float d
        35: .line 536
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* _idx */
            putfield sun.java2d.marlin.Dasher.idx:I
        36: .line 537
            aload 0 /* this */
            iload 5 /* _dashOn */
            putfield sun.java2d.marlin.Dasher.dashOn:Z
        37: .line 538
            aload 0 /* this */
            fload 6 /* _phase */
            putfield sun.java2d.marlin.Dasher.phase:F
        38: .line 539
            return
        end local 10 // float d
        end local 9 // float leftInThisDashSegment
        end local 7 // long fullcycles
        end local 6 // float _phase
        end local 5 // boolean _dashOn
        end local 4 // int _idx
        end local 3 // int _dashLen
        end local 2 // float[] _dash
        end local 1 // float len
        end local 0 // sun.java2d.marlin.Dasher this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   39     0                   this  Lsun/java2d/marlin/Dasher;
            1   39     1                    len  F
            3   39     2                  _dash  [F
            4   39     3               _dashLen  I
            5   39     4                   _idx  I
            6   39     5                _dashOn  Z
            7   39     6                 _phase  F
            8   39     7             fullcycles  J
           11   17     9             iterations  J
           19   34     9  leftInThisDashSegment  F
           35   39     9  leftInThisDashSegment  F
           18   34    10                      d  F
           35   39    10                      d  F

  private void somethingTo(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=13, args_size=2
        start local 0 // sun.java2d.marlin.Dasher this
        start local 1 // int type
         0: .line 544
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.curCurvepts:[F
            astore 2 /* _curCurvepts */
        start local 2 // float[] _curCurvepts
         1: .line 545
            aload 2 /* _curCurvepts */
            iload 1 /* type */
            invokestatic sun.java2d.marlin.Dasher.pointCurve:([FI)Z
            ifeq 3
         2: .line 546
            return
         3: .line 548
      StackMap locals: float[]
      StackMap stack:
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.li:Lsun/java2d/marlin/Dasher$LengthIterator;
            astore 3 /* _li */
        start local 3 // sun.java2d.marlin.Dasher$LengthIterator _li
         4: .line 549
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.dash:[F
            astore 4 /* _dash */
        start local 4 // float[] _dash
         5: .line 550
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.dashLen:I
            istore 5 /* _dashLen */
        start local 5 // int _dashLen
         6: .line 552
            aload 3 /* _li */
            aload 2 /* _curCurvepts */
            iload 1 /* type */
            invokevirtual sun.java2d.marlin.Dasher$LengthIterator.initializeIterationOnCurve:([FI)V
         7: .line 554
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.idx:I
            istore 6 /* _idx */
        start local 6 // int _idx
         8: .line 555
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.dashOn:Z
            istore 7 /* _dashOn */
        start local 7 // boolean _dashOn
         9: .line 556
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.phase:F
            fstore 8 /* _phase */
        start local 8 // float _phase
        10: .line 559
            iconst_0
            istore 9 /* curCurveoff */
        start local 9 // int curCurveoff
        11: .line 560
            fconst_0
            fstore 10 /* prevT */
        start local 10 // float prevT
        12: .line 562
            aload 4 /* _dash */
            iload 6 /* _idx */
            faload
            fload 8 /* _phase */
            fsub
            fstore 12 /* leftInThisDashSegment */
        start local 12 // float leftInThisDashSegment
        13: .line 564
            goto 28
        start local 11 // float t
        14: .line 565
      StackMap locals: sun.java2d.marlin.Dasher int float[] sun.java2d.marlin.Dasher$LengthIterator float[] int int int float int float float float
      StackMap stack:
            fload 11 /* t */
            fconst_0
            fcmpl
            ifeq 22
        15: .line 566
            fload 11 /* t */
            fload 10 /* prevT */
            fsub
            fconst_1
            fload 10 /* prevT */
            fsub
            fdiv
        16: .line 567
            aload 2 /* _curCurvepts */
            iload 9 /* curCurveoff */
        17: .line 568
            aload 2 /* _curCurvepts */
            iconst_0
            iload 1 /* type */
        18: .line 566
            invokestatic sun.java2d.marlin.Helpers.subdivideAt:(F[FI[FII)V
        19: .line 569
            fload 11 /* t */
            fstore 10 /* prevT */
        20: .line 570
            aload 0 /* this */
            aload 2 /* _curCurvepts */
            iconst_2
            iload 1 /* type */
            iload 7 /* _dashOn */
            invokevirtual sun.java2d.marlin.Dasher.goTo:([FIIZ)V
        21: .line 571
            iload 1 /* type */
            istore 9 /* curCurveoff */
        22: .line 574
      StackMap locals:
      StackMap stack:
            iload 6 /* _idx */
            iconst_1
            iadd
            iload 5 /* _dashLen */
            irem
            istore 6 /* _idx */
        23: .line 575
            iload 7 /* _dashOn */
            ifeq 24
            iconst_0
            goto 25
      StackMap locals:
      StackMap stack:
        24: iconst_1
      StackMap locals:
      StackMap stack: int
        25: istore 7 /* _dashOn */
        26: .line 576
            fconst_0
            fstore 8 /* _phase */
        27: .line 577
            aload 4 /* _dash */
            iload 6 /* _idx */
            faload
            fstore 12 /* leftInThisDashSegment */
        end local 11 // float t
        28: .line 564
      StackMap locals: sun.java2d.marlin.Dasher int float[] sun.java2d.marlin.Dasher$LengthIterator float[] int int int float int float top float
      StackMap stack:
            aload 3 /* _li */
            fload 12 /* leftInThisDashSegment */
            invokevirtual sun.java2d.marlin.Dasher$LengthIterator.next:(F)F
            dup
            fstore 11 /* t */
        start local 11 // float t
        29: fconst_1
            fcmpg
            iflt 14
        30: .line 580
            aload 0 /* this */
            aload 2 /* _curCurvepts */
            iload 9 /* curCurveoff */
            iconst_2
            iadd
            iload 1 /* type */
            iload 7 /* _dashOn */
            invokevirtual sun.java2d.marlin.Dasher.goTo:([FIIZ)V
        31: .line 582
            fload 8 /* _phase */
            aload 3 /* _li */
            invokevirtual sun.java2d.marlin.Dasher$LengthIterator.lastSegLen:()F
            fadd
            fstore 8 /* _phase */
        32: .line 583
            fload 8 /* _phase */
            aload 4 /* _dash */
            iload 6 /* _idx */
            faload
            fcmpl
            iflt 38
        33: .line 584
            fconst_0
            fstore 8 /* _phase */
        34: .line 585
            iload 6 /* _idx */
            iconst_1
            iadd
            iload 5 /* _dashLen */
            irem
            istore 6 /* _idx */
        35: .line 586
            iload 7 /* _dashOn */
            ifeq 36
            iconst_0
            goto 37
      StackMap locals: sun.java2d.marlin.Dasher int float[] sun.java2d.marlin.Dasher$LengthIterator float[] int int int float int float float float
      StackMap stack:
        36: iconst_1
      StackMap locals:
      StackMap stack: int
        37: istore 7 /* _dashOn */
        38: .line 589
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 6 /* _idx */
            putfield sun.java2d.marlin.Dasher.idx:I
        39: .line 590
            aload 0 /* this */
            iload 7 /* _dashOn */
            putfield sun.java2d.marlin.Dasher.dashOn:Z
        40: .line 591
            aload 0 /* this */
            fload 8 /* _phase */
            putfield sun.java2d.marlin.Dasher.phase:F
        41: .line 594
            aload 3 /* _li */
            invokevirtual sun.java2d.marlin.Dasher$LengthIterator.reset:()V
        42: .line 595
            return
        end local 12 // float leftInThisDashSegment
        end local 11 // float t
        end local 10 // float prevT
        end local 9 // int curCurveoff
        end local 8 // float _phase
        end local 7 // boolean _dashOn
        end local 6 // int _idx
        end local 5 // int _dashLen
        end local 4 // float[] _dash
        end local 3 // sun.java2d.marlin.Dasher$LengthIterator _li
        end local 2 // float[] _curCurvepts
        end local 1 // int type
        end local 0 // sun.java2d.marlin.Dasher this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   43     0                   this  Lsun/java2d/marlin/Dasher;
            0   43     1                   type  I
            1   43     2           _curCurvepts  [F
            4   43     3                    _li  Lsun/java2d/marlin/Dasher$LengthIterator;
            5   43     4                  _dash  [F
            6   43     5               _dashLen  I
            8   43     6                   _idx  I
            9   43     7                _dashOn  Z
           10   43     8                 _phase  F
           11   43     9            curCurveoff  I
           12   43    10                  prevT  F
           14   28    11                      t  F
           29   43    11                      t  F
           13   43    12  leftInThisDashSegment  F
    MethodParameters:
      Name  Flags
      type  final

  private void skipSomethingTo(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // sun.java2d.marlin.Dasher this
        start local 1 // int type
         0: .line 598
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.curCurvepts:[F
            astore 2 /* _curCurvepts */
        start local 2 // float[] _curCurvepts
         1: .line 599
            aload 2 /* _curCurvepts */
            iload 1 /* type */
            invokestatic sun.java2d.marlin.Dasher.pointCurve:([FI)Z
            ifeq 3
         2: .line 600
            return
         3: .line 602
      StackMap locals: float[]
      StackMap stack:
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.li:Lsun/java2d/marlin/Dasher$LengthIterator;
            astore 3 /* _li */
        start local 3 // sun.java2d.marlin.Dasher$LengthIterator _li
         4: .line 604
            aload 3 /* _li */
            aload 2 /* _curCurvepts */
            iload 1 /* type */
            invokevirtual sun.java2d.marlin.Dasher$LengthIterator.initializeIterationOnCurve:([FI)V
         5: .line 608
            aload 3 /* _li */
            invokevirtual sun.java2d.marlin.Dasher$LengthIterator.totalLength:()F
            fstore 4 /* len */
        start local 4 // float len
         6: .line 611
            aload 0 /* this */
            iconst_1
            putfield sun.java2d.marlin.Dasher.outside:Z
         7: .line 612
            aload 0 /* this */
            dup
            getfield sun.java2d.marlin.Dasher.totalSkipLen:F
            fload 4 /* len */
            fadd
            putfield sun.java2d.marlin.Dasher.totalSkipLen:F
         8: .line 615
            aload 0 /* this */
            iconst_1
            putfield sun.java2d.marlin.Dasher.needsMoveTo:Z
         9: .line 616
            aload 0 /* this */
            iconst_0
            putfield sun.java2d.marlin.Dasher.starting:Z
        10: .line 617
            return
        end local 4 // float len
        end local 3 // sun.java2d.marlin.Dasher$LengthIterator _li
        end local 2 // float[] _curCurvepts
        end local 1 // int type
        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          type  I
            1   11     2  _curCurvepts  [F
            4   11     3           _li  Lsun/java2d/marlin/Dasher$LengthIterator;
            6   11     4           len  F
    MethodParameters:
      Name  Flags
      type  final

  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 620
            iconst_2
            istore 2 /* i */
        start local 2 // int i
         1: goto 5
         2: .line 621
      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 622
            iconst_0
            ireturn
         4: .line 620
      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 625
            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  final
      type   final

  public void curveTo(float, float, float, float, float, float);
    descriptor: (FFFFFF)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=11, locals=14, 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 928
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.cOutCode:I
            istore 7 /* outcode0 */
        start local 7 // int outcode0
         1: .line 930
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.clipRect:[F
            ifnull 24
         2: .line 931
            fload 1 /* x1 */
            fload 2 /* y1 */
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.clipRect:[F
            invokestatic sun.java2d.marlin.Helpers.outcode:(FF[F)I
            istore 8 /* outcode1 */
        start local 8 // int outcode1
         3: .line 932
            fload 3 /* x2 */
            fload 4 /* y2 */
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.clipRect:[F
            invokestatic sun.java2d.marlin.Helpers.outcode:(FF[F)I
            istore 9 /* outcode2 */
        start local 9 // int outcode2
         4: .line 933
            fload 5 /* x3 */
            fload 6 /* y3 */
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.clipRect:[F
            invokestatic sun.java2d.marlin.Helpers.outcode:(FF[F)I
            istore 10 /* outcode3 */
        start local 10 // int outcode3
         5: .line 936
            iload 7 /* outcode0 */
            iload 8 /* outcode1 */
            ior
            iload 9 /* outcode2 */
            ior
            iload 10 /* outcode3 */
            ior
            istore 11 /* orCode */
        start local 11 // int orCode
         6: .line 937
            iload 11 /* orCode */
            ifeq 20
         7: .line 938
            iload 7 /* outcode0 */
            iload 8 /* outcode1 */
            iand
            iload 9 /* outcode2 */
            iand
            iload 10 /* outcode3 */
            iand
            istore 12 /* sideCode */
        start local 12 // int sideCode
         8: .line 941
            iload 12 /* sideCode */
            ifne 17
         9: .line 943
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.subdivide:Z
            ifeq 20
        10: .line 945
            aload 0 /* this */
            iconst_0
            putfield sun.java2d.marlin.Dasher.subdivide:Z
        11: .line 947
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.curveSplitter:Lsun/java2d/marlin/TransformingPathConsumer2D$CurveClipSplitter;
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.cx0:F
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.cy0:F
            fload 1 /* x1 */
            fload 2 /* y1 */
            fload 3 /* x2 */
            fload 4 /* y2 */
            fload 5 /* x3 */
            fload 6 /* y3 */
        12: .line 948
            iload 11 /* orCode */
            aload 0 /* this */
        13: .line 947
            invokevirtual sun.java2d.marlin.TransformingPathConsumer2D$CurveClipSplitter.splitCurve:(FFFFFFFFILsun/awt/geom/PathConsumer2D;)Z
            istore 13 /* ret */
        start local 13 // boolean ret
        14: .line 950
            aload 0 /* this */
            iconst_1
            putfield sun.java2d.marlin.Dasher.subdivide:Z
        15: .line 951
            iload 13 /* ret */
            ifeq 20
        16: .line 952
            return
        end local 13 // boolean ret
        17: .line 957
      StackMap locals: sun.java2d.marlin.Dasher float float float float float float int int int int int int
      StackMap stack:
            aload 0 /* this */
            iload 10 /* outcode3 */
            putfield sun.java2d.marlin.Dasher.cOutCode:I
        18: .line 958
            aload 0 /* this */
            fload 1 /* x1 */
            fload 2 /* y1 */
            fload 3 /* x2 */
            fload 4 /* y2 */
            fload 5 /* x3 */
            fload 6 /* y3 */
            invokevirtual sun.java2d.marlin.Dasher.skipCurveTo:(FFFFFF)V
        19: .line 959
            return
        end local 12 // int sideCode
        20: .line 963
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 10 /* outcode3 */
            putfield sun.java2d.marlin.Dasher.cOutCode:I
        21: .line 965
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.outside:Z
            ifeq 24
        22: .line 966
            aload 0 /* this */
            iconst_0
            putfield sun.java2d.marlin.Dasher.outside:Z
        23: .line 968
            aload 0 /* this */
            invokevirtual sun.java2d.marlin.Dasher.skipLen:()V
        end local 11 // int orCode
        end local 10 // int outcode3
        end local 9 // int outcode2
        end local 8 // int outcode1
        24: .line 971
      StackMap locals: sun.java2d.marlin.Dasher float float float float float float int
      StackMap stack:
            aload 0 /* this */
            fload 1 /* x1 */
            fload 2 /* y1 */
            fload 3 /* x2 */
            fload 4 /* y2 */
            fload 5 /* x3 */
            fload 6 /* y3 */
            invokevirtual sun.java2d.marlin.Dasher._curveTo:(FFFFFF)V
        25: .line 972
            return
        end local 7 // int outcode0
        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   26     0      this  Lsun/java2d/marlin/Dasher;
            0   26     1        x1  F
            0   26     2        y1  F
            0   26     3        x2  F
            0   26     4        y2  F
            0   26     5        x3  F
            0   26     6        y3  F
            1   26     7  outcode0  I
            3   24     8  outcode1  I
            4   24     9  outcode2  I
            5   24    10  outcode3  I
            6   24    11    orCode  I
            8   20    12  sideCode  I
           14   17    13       ret  Z
    MethodParameters:
      Name  Flags
      x1    final
      y1    final
      x2    final
      y2    final
      x3    final
      y3    final

  private void _curveTo(float, float, float, float, float, float);
    descriptor: (FFFFFF)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=13, 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 978
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.curCurvepts:[F
            astore 7 /* _curCurvepts */
        start local 7 // float[] _curCurvepts
         1: .line 982
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.rdrCtx:Lsun/java2d/marlin/RendererContext;
            getfield sun.java2d.marlin.RendererContext.monotonizer:Lsun/java2d/marlin/TransformingPathConsumer2D$CurveBasicMonotonizer;
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.cx0:F
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.cy0:F
            fload 1 /* x1 */
            fload 2 /* y1 */
            fload 3 /* x2 */
            fload 4 /* y2 */
            fload 5 /* x3 */
            fload 6 /* y3 */
            invokevirtual sun.java2d.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer.curve:(FFFFFFFF)Lsun/java2d/marlin/TransformingPathConsumer2D$CurveBasicMonotonizer;
         2: .line 981
            astore 8 /* monotonizer */
        start local 8 // sun.java2d.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer monotonizer
         3: .line 984
            aload 8 /* monotonizer */
            getfield sun.java2d.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer.nbSplits:I
            istore 9 /* nSplits */
        start local 9 // int nSplits
         4: .line 985
            aload 8 /* monotonizer */
            getfield sun.java2d.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer.middle:[F
            astore 10 /* mid */
        start local 10 // float[] mid
         5: .line 987
            iconst_0
            istore 11 /* i */
        start local 11 // int i
         6: iconst_0
            istore 12 /* off */
        start local 12 // int off
         7: goto 11
         8: .line 989
      StackMap locals: sun.java2d.marlin.Dasher float float float float float float float[] sun.java2d.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer int float[] int int
      StackMap stack:
            aload 10 /* mid */
            iload 12 /* off */
            aload 7 /* _curCurvepts */
            iconst_0
            bipush 8
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         9: .line 991
            aload 0 /* this */
            bipush 8
            invokevirtual sun.java2d.marlin.Dasher.somethingTo:(I)V
        10: .line 987
            iinc 11 /* i */ 1
            iinc 12 /* off */ 6
      StackMap locals:
      StackMap stack:
        11: iload 11 /* i */
            iload 9 /* nSplits */
            if_icmple 8
        end local 12 // int off
        end local 11 // int i
        12: .line 993
            return
        end local 10 // float[] mid
        end local 9 // int nSplits
        end local 8 // sun.java2d.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer monotonizer
        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   13     0          this  Lsun/java2d/marlin/Dasher;
            0   13     1            x1  F
            0   13     2            y1  F
            0   13     3            x2  F
            0   13     4            y2  F
            0   13     5            x3  F
            0   13     6            y3  F
            1   13     7  _curCurvepts  [F
            3   13     8   monotonizer  Lsun/java2d/marlin/TransformingPathConsumer2D$CurveBasicMonotonizer;
            4   13     9       nSplits  I
            5   13    10           mid  [F
            6   12    11             i  I
            7   12    12           off  I
    MethodParameters:
      Name  Flags
      x1    final
      y1    final
      x2    final
      y2    final
      x3    final
      y3    final

  private void skipCurveTo(float, float, float, float, float, float);
    descriptor: (FFFFFF)V
    flags: (0x0002) ACC_PRIVATE
    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 999
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.curCurvepts:[F
            astore 7 /* _curCurvepts */
        start local 7 // float[] _curCurvepts
         1: .line 1000
            aload 7 /* _curCurvepts */
            iconst_0
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.cx0:F
            fastore
            aload 7 /* _curCurvepts */
            iconst_1
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.cy0:F
            fastore
         2: .line 1001
            aload 7 /* _curCurvepts */
            iconst_2
            fload 1 /* x1 */
            fastore
            aload 7 /* _curCurvepts */
            iconst_3
            fload 2 /* y1 */
            fastore
         3: .line 1002
            aload 7 /* _curCurvepts */
            iconst_4
            fload 3 /* x2 */
            fastore
            aload 7 /* _curCurvepts */
            iconst_5
            fload 4 /* y2 */
            fastore
         4: .line 1003
            aload 7 /* _curCurvepts */
            bipush 6
            fload 5 /* x3 */
            fastore
            aload 7 /* _curCurvepts */
            bipush 7
            fload 6 /* y3 */
            fastore
         5: .line 1005
            aload 0 /* this */
            bipush 8
            invokevirtual sun.java2d.marlin.Dasher.skipSomethingTo:(I)V
         6: .line 1007
            aload 0 /* this */
            fload 5 /* x3 */
            putfield sun.java2d.marlin.Dasher.cx0:F
         7: .line 1008
            aload 0 /* this */
            fload 6 /* y3 */
            putfield sun.java2d.marlin.Dasher.cy0:F
         8: .line 1009
            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    9     0          this  Lsun/java2d/marlin/Dasher;
            0    9     1            x1  F
            0    9     2            y1  F
            0    9     3            x2  F
            0    9     4            y2  F
            0    9     5            x3  F
            0    9     6            y3  F
            1    9     7  _curCurvepts  [F
    MethodParameters:
      Name  Flags
      x1    final
      y1    final
      x2    final
      y2    final
      x3    final
      y3    final

  public void quadTo(float, float, float, float);
    descriptor: (FFFF)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=11, 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 1015
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.cOutCode:I
            istore 5 /* outcode0 */
        start local 5 // int outcode0
         1: .line 1017
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.clipRect:[F
            ifnull 23
         2: .line 1018
            fload 1 /* x1 */
            fload 2 /* y1 */
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.clipRect:[F
            invokestatic sun.java2d.marlin.Helpers.outcode:(FF[F)I
            istore 6 /* outcode1 */
        start local 6 // int outcode1
         3: .line 1019
            fload 3 /* x2 */
            fload 4 /* y2 */
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.clipRect:[F
            invokestatic sun.java2d.marlin.Helpers.outcode:(FF[F)I
            istore 7 /* outcode2 */
        start local 7 // int outcode2
         4: .line 1022
            iload 5 /* outcode0 */
            iload 6 /* outcode1 */
            ior
            iload 7 /* outcode2 */
            ior
            istore 8 /* orCode */
        start local 8 // int orCode
         5: .line 1023
            iload 8 /* orCode */
            ifeq 19
         6: .line 1024
            iload 5 /* outcode0 */
            iload 6 /* outcode1 */
            iand
            iload 7 /* outcode2 */
            iand
            istore 9 /* sideCode */
        start local 9 // int sideCode
         7: .line 1027
            iload 9 /* sideCode */
            ifne 16
         8: .line 1029
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.subdivide:Z
            ifeq 19
         9: .line 1031
            aload 0 /* this */
            iconst_0
            putfield sun.java2d.marlin.Dasher.subdivide:Z
        10: .line 1033
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.curveSplitter:Lsun/java2d/marlin/TransformingPathConsumer2D$CurveClipSplitter;
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.cx0:F
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.cy0:F
            fload 1 /* x1 */
            fload 2 /* y1 */
        11: .line 1034
            fload 3 /* x2 */
            fload 4 /* y2 */
            iload 8 /* orCode */
            aload 0 /* this */
        12: .line 1033
            invokevirtual sun.java2d.marlin.TransformingPathConsumer2D$CurveClipSplitter.splitQuad:(FFFFFFILsun/awt/geom/PathConsumer2D;)Z
            istore 10 /* ret */
        start local 10 // boolean ret
        13: .line 1036
            aload 0 /* this */
            iconst_1
            putfield sun.java2d.marlin.Dasher.subdivide:Z
        14: .line 1037
            iload 10 /* ret */
            ifeq 19
        15: .line 1038
            return
        end local 10 // boolean ret
        16: .line 1043
      StackMap locals: sun.java2d.marlin.Dasher float float float float int int int int int
      StackMap stack:
            aload 0 /* this */
            iload 7 /* outcode2 */
            putfield sun.java2d.marlin.Dasher.cOutCode:I
        17: .line 1044
            aload 0 /* this */
            fload 1 /* x1 */
            fload 2 /* y1 */
            fload 3 /* x2 */
            fload 4 /* y2 */
            invokevirtual sun.java2d.marlin.Dasher.skipQuadTo:(FFFF)V
        18: .line 1045
            return
        end local 9 // int sideCode
        19: .line 1049
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 7 /* outcode2 */
            putfield sun.java2d.marlin.Dasher.cOutCode:I
        20: .line 1051
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.outside:Z
            ifeq 23
        21: .line 1052
            aload 0 /* this */
            iconst_0
            putfield sun.java2d.marlin.Dasher.outside:Z
        22: .line 1054
            aload 0 /* this */
            invokevirtual sun.java2d.marlin.Dasher.skipLen:()V
        end local 8 // int orCode
        end local 7 // int outcode2
        end local 6 // int outcode1
        23: .line 1057
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            fload 1 /* x1 */
            fload 2 /* y1 */
            fload 3 /* x2 */
            fload 4 /* y2 */
            invokevirtual sun.java2d.marlin.Dasher._quadTo:(FFFF)V
        24: .line 1058
            return
        end local 5 // int outcode0
        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   25     0      this  Lsun/java2d/marlin/Dasher;
            0   25     1        x1  F
            0   25     2        y1  F
            0   25     3        x2  F
            0   25     4        y2  F
            1   25     5  outcode0  I
            3   23     6  outcode1  I
            4   23     7  outcode2  I
            5   23     8    orCode  I
            7   19     9  sideCode  I
           13   16    10       ret  Z
    MethodParameters:
      Name  Flags
      x1    final
      y1    final
      x2    final
      y2    final

  private void _quadTo(float, float, float, float);
    descriptor: (FFFF)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=11, 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 1063
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.curCurvepts:[F
            astore 5 /* _curCurvepts */
        start local 5 // float[] _curCurvepts
         1: .line 1067
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.rdrCtx:Lsun/java2d/marlin/RendererContext;
            getfield sun.java2d.marlin.RendererContext.monotonizer:Lsun/java2d/marlin/TransformingPathConsumer2D$CurveBasicMonotonizer;
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.cx0:F
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.cy0:F
            fload 1 /* x1 */
            fload 2 /* y1 */
            fload 3 /* x2 */
            fload 4 /* y2 */
            invokevirtual sun.java2d.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer.quad:(FFFFFF)Lsun/java2d/marlin/TransformingPathConsumer2D$CurveBasicMonotonizer;
         2: .line 1066
            astore 6 /* monotonizer */
        start local 6 // sun.java2d.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer monotonizer
         3: .line 1069
            aload 6 /* monotonizer */
            getfield sun.java2d.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer.nbSplits:I
            istore 7 /* nSplits */
        start local 7 // int nSplits
         4: .line 1070
            aload 6 /* monotonizer */
            getfield sun.java2d.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer.middle:[F
            astore 8 /* mid */
        start local 8 // float[] mid
         5: .line 1072
            iconst_0
            istore 9 /* i */
        start local 9 // int i
         6: iconst_0
            istore 10 /* off */
        start local 10 // int off
         7: goto 11
         8: .line 1074
      StackMap locals: sun.java2d.marlin.Dasher float float float float float[] sun.java2d.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer int float[] int int
      StackMap stack:
            aload 8 /* mid */
            iload 10 /* off */
            aload 5 /* _curCurvepts */
            iconst_0
            bipush 8
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         9: .line 1076
            aload 0 /* this */
            bipush 6
            invokevirtual sun.java2d.marlin.Dasher.somethingTo:(I)V
        10: .line 1072
            iinc 9 /* i */ 1
            iinc 10 /* off */ 4
      StackMap locals:
      StackMap stack:
        11: iload 9 /* i */
            iload 7 /* nSplits */
            if_icmple 8
        end local 10 // int off
        end local 9 // int i
        12: .line 1078
            return
        end local 8 // float[] mid
        end local 7 // int nSplits
        end local 6 // sun.java2d.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer monotonizer
        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   13     0          this  Lsun/java2d/marlin/Dasher;
            0   13     1            x1  F
            0   13     2            y1  F
            0   13     3            x2  F
            0   13     4            y2  F
            1   13     5  _curCurvepts  [F
            3   13     6   monotonizer  Lsun/java2d/marlin/TransformingPathConsumer2D$CurveBasicMonotonizer;
            4   13     7       nSplits  I
            5   13     8           mid  [F
            6   12     9             i  I
            7   12    10           off  I
    MethodParameters:
      Name  Flags
      x1    final
      y1    final
      x2    final
      y2    final

  private void skipQuadTo(float, float, float, float);
    descriptor: (FFFF)V
    flags: (0x0002) ACC_PRIVATE
    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 1083
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.curCurvepts:[F
            astore 5 /* _curCurvepts */
        start local 5 // float[] _curCurvepts
         1: .line 1084
            aload 5 /* _curCurvepts */
            iconst_0
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.cx0:F
            fastore
            aload 5 /* _curCurvepts */
            iconst_1
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.cy0:F
            fastore
         2: .line 1085
            aload 5 /* _curCurvepts */
            iconst_2
            fload 1 /* x1 */
            fastore
            aload 5 /* _curCurvepts */
            iconst_3
            fload 2 /* y1 */
            fastore
         3: .line 1086
            aload 5 /* _curCurvepts */
            iconst_4
            fload 3 /* x2 */
            fastore
            aload 5 /* _curCurvepts */
            iconst_5
            fload 4 /* y2 */
            fastore
         4: .line 1088
            aload 0 /* this */
            bipush 6
            invokevirtual sun.java2d.marlin.Dasher.skipSomethingTo:(I)V
         5: .line 1090
            aload 0 /* this */
            fload 3 /* x2 */
            putfield sun.java2d.marlin.Dasher.cx0:F
         6: .line 1091
            aload 0 /* this */
            fload 4 /* y2 */
            putfield sun.java2d.marlin.Dasher.cy0:F
         7: .line 1092
            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    8     0          this  Lsun/java2d/marlin/Dasher;
            0    8     1            x1  F
            0    8     2            y1  F
            0    8     3            x2  F
            0    8     4            y2  F
            1    8     5  _curCurvepts  [F
    MethodParameters:
      Name  Flags
      x1    final
      y1    final
      x2    final
      y2    final

  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 1096
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.cx0:F
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.sx0:F
            fcmpl
            ifne 1
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.cy0:F
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.sy0:F
            fcmpl
            ifeq 2
         1: .line 1097
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.sx0:F
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.sy0:F
            invokevirtual sun.java2d.marlin.Dasher.lineTo:(FF)V
         2: .line 1099
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.firstSegidx:I
            ifeq 6
         3: .line 1100
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.dashOn:Z
            ifeq 4
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.needsMoveTo:Z
            ifeq 5
         4: .line 1101
      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.sx0:F
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.sy0:F
            invokeinterface sun.awt.geom.PathConsumer2D.moveTo:(FF)V
         5: .line 1103
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.java2d.marlin.Dasher.emitFirstSegments:()V
         6: .line 1105
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.sx0:F
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.sy0:F
            invokevirtual sun.java2d.marlin.Dasher.moveTo:(FF)V
         7: .line 1106
            return
        end local 0 // sun.java2d.marlin.Dasher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     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 1110
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.firstSegidx:I
            ifeq 3
         1: .line 1111
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.out:Lsun/awt/geom/PathConsumer2D;
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.sx0:F
            aload 0 /* this */
            getfield sun.java2d.marlin.Dasher.sy0:F
            invokeinterface sun.awt.geom.PathConsumer2D.moveTo:(FF)V
         2: .line 1112
            aload 0 /* this */
            invokevirtual sun.java2d.marlin.Dasher.emitFirstSegments:()V
         3: .line 1114
      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 1117
            aload 0 /* this */
            invokevirtual sun.java2d.marlin.Dasher.dispose:()V
         5: .line 1118
            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 1122
            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
InnerClasses:
  final LengthIterator = sun.java2d.marlin.Dasher$LengthIterator of sun.java2d.marlin.Dasher
  final Reference = sun.java2d.marlin.FloatArrayCache$Reference of sun.java2d.marlin.FloatArrayCache
  final CurveBasicMonotonizer = sun.java2d.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer of sun.java2d.marlin.TransformingPathConsumer2D
  final CurveClipSplitter = sun.java2d.marlin.TransformingPathConsumer2D$CurveClipSplitter of sun.java2d.marlin.TransformingPathConsumer2D