public final class com.sun.prism.impl.shape.MarlinRasterizer implements com.sun.prism.impl.shape.ShapeRasterizer
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.sun.prism.impl.shape.MarlinRasterizer
  super_class: java.lang.Object
{
  private static final com.sun.prism.impl.shape.MaskData EMPTY_MASK;
    descriptor: Lcom/sun/prism/impl/shape/MaskData;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=0, args_size=0
         0: .line 44
            iconst_1
            newarray 8
            iconst_0
            iconst_0
            iconst_1
            iconst_1
            invokestatic com.sun.prism.impl.shape.MaskData.create:([BIIII)Lcom/sun/prism/impl/shape/MaskData;
            putstatic com.sun.prism.impl.shape.MarlinRasterizer.EMPTY_MASK:Lcom/sun/prism/impl/shape/MaskData;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.prism.impl.shape.MarlinRasterizer this
         0: .line 43
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.sun.prism.impl.shape.MarlinRasterizer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/prism/impl/shape/MarlinRasterizer;

  public com.sun.prism.impl.shape.MaskData getMaskData(com.sun.javafx.geom.Shape, com.sun.prism.BasicStroke, com.sun.javafx.geom.RectBounds, com.sun.javafx.geom.transform.BaseTransform, boolean, boolean);
    descriptor: (Lcom/sun/javafx/geom/Shape;Lcom/sun/prism/BasicStroke;Lcom/sun/javafx/geom/RectBounds;Lcom/sun/javafx/geom/transform/BaseTransform;ZZ)Lcom/sun/prism/impl/shape/MaskData;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=20, args_size=7
        start local 0 // com.sun.prism.impl.shape.MarlinRasterizer this
        start local 1 // com.sun.javafx.geom.Shape shape
        start local 2 // com.sun.prism.BasicStroke stroke
        start local 3 // com.sun.javafx.geom.RectBounds xformBounds
        start local 4 // com.sun.javafx.geom.transform.BaseTransform xform
        start local 5 // boolean close
        start local 6 // boolean antialiasedShape
         0: .line 53
            aload 2 /* stroke */
            ifnull 3
            aload 2 /* stroke */
            invokevirtual com.sun.prism.BasicStroke.getType:()I
            ifeq 3
         1: .line 60
            aload 2 /* stroke */
            aload 1 /* shape */
            invokevirtual com.sun.prism.BasicStroke.createStrokedShape:(Lcom/sun/javafx/geom/Shape;)Lcom/sun/javafx/geom/Shape;
            astore 1 /* shape */
         2: .line 61
            aconst_null
            astore 2 /* stroke */
         3: .line 63
      StackMap locals:
      StackMap stack:
            aload 3 /* xformBounds */
            ifnonnull 9
         4: .line 64
            aload 2 /* stroke */
            ifnull 7
         5: .line 68
            aload 2 /* stroke */
            aload 1 /* shape */
            invokevirtual com.sun.prism.BasicStroke.createStrokedShape:(Lcom/sun/javafx/geom/Shape;)Lcom/sun/javafx/geom/Shape;
            astore 1 /* shape */
         6: .line 69
            aconst_null
            astore 2 /* stroke */
         7: .line 72
      StackMap locals:
      StackMap stack:
            new com.sun.javafx.geom.RectBounds
            dup
            invokespecial com.sun.javafx.geom.RectBounds.<init>:()V
            astore 3 /* xformBounds */
         8: .line 74
            aload 4 /* xform */
            aload 1 /* shape */
            invokevirtual com.sun.javafx.geom.Shape.getBounds:()Lcom/sun/javafx/geom/RectBounds;
            aload 3 /* xformBounds */
            invokevirtual com.sun.javafx.geom.transform.BaseTransform.transform:(Lcom/sun/javafx/geom/BaseBounds;Lcom/sun/javafx/geom/BaseBounds;)Lcom/sun/javafx/geom/BaseBounds;
            checkcast com.sun.javafx.geom.RectBounds
            astore 3 /* xformBounds */
         9: .line 76
      StackMap locals:
      StackMap stack:
            aload 3 /* xformBounds */
            invokevirtual com.sun.javafx.geom.RectBounds.isEmpty:()Z
            ifeq 11
        10: .line 77
            getstatic com.sun.prism.impl.shape.MarlinRasterizer.EMPTY_MASK:Lcom/sun/prism/impl/shape/MaskData;
            areturn
        11: .line 80
      StackMap locals:
      StackMap stack:
            invokestatic com.sun.marlin.MarlinRenderingEngine.getRendererContext:()Lcom/sun/marlin/RendererContext;
            astore 7 /* rdrCtx */
        start local 7 // com.sun.marlin.RendererContext rdrCtx
        12: .line 81
            aconst_null
            astore 8 /* renderer */
        start local 8 // com.sun.marlin.MarlinRenderer renderer
        13: .line 83
            aload 7 /* rdrCtx */
            getfield com.sun.marlin.RendererContext.clip:Lcom/sun/javafx/geom/Rectangle;
            astore 9 /* rclip */
        start local 9 // com.sun.javafx.geom.Rectangle rclip
        14: .line 84
            aload 9 /* rclip */
            aload 3 /* xformBounds */
            invokevirtual com.sun.javafx.geom.Rectangle.setBounds:(Lcom/sun/javafx/geom/BaseBounds;)V
        15: .line 86
            aload 7 /* rdrCtx */
            aload 1 /* shape */
            aload 2 /* stroke */
            aload 4 /* xform */
            aload 9 /* rclip */
        16: .line 87
            iload 6 /* antialiasedShape */
        17: .line 86
            invokestatic com.sun.prism.impl.shape.MarlinPrismUtils.setupRenderer:(Lcom/sun/marlin/RendererContext;Lcom/sun/javafx/geom/Shape;Lcom/sun/prism/BasicStroke;Lcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/javafx/geom/Rectangle;Z)Lcom/sun/marlin/MarlinRenderer;
            astore 8 /* renderer */
        18: .line 89
            aload 8 /* renderer */
            invokeinterface com.sun.marlin.MarlinRenderer.getOutpixMinX:()I
            istore 10 /* outpix_xmin */
        start local 10 // int outpix_xmin
        19: .line 90
            aload 8 /* renderer */
            invokeinterface com.sun.marlin.MarlinRenderer.getOutpixMaxX:()I
            istore 11 /* outpix_xmax */
        start local 11 // int outpix_xmax
        20: .line 91
            aload 8 /* renderer */
            invokeinterface com.sun.marlin.MarlinRenderer.getOutpixMinY:()I
            istore 12 /* outpix_ymin */
        start local 12 // int outpix_ymin
        21: .line 92
            aload 8 /* renderer */
            invokeinterface com.sun.marlin.MarlinRenderer.getOutpixMaxY:()I
            istore 13 /* outpix_ymax */
        start local 13 // int outpix_ymax
        22: .line 93
            iload 11 /* outpix_xmax */
            iload 10 /* outpix_xmin */
            isub
            istore 14 /* w */
        start local 14 // int w
        23: .line 94
            iload 13 /* outpix_ymax */
            iload 12 /* outpix_ymin */
            isub
            istore 15 /* h */
        start local 15 // int h
        24: .line 95
            iload 14 /* w */
            ifle 25
            iload 15 /* h */
            ifgt 30
        25: .line 96
      StackMap locals: com.sun.prism.impl.shape.MarlinRasterizer com.sun.javafx.geom.Shape com.sun.prism.BasicStroke com.sun.javafx.geom.RectBounds com.sun.javafx.geom.transform.BaseTransform int int com.sun.marlin.RendererContext com.sun.marlin.MarlinRenderer com.sun.javafx.geom.Rectangle int int int int int int
      StackMap stack:
            getstatic com.sun.prism.impl.shape.MarlinRasterizer.EMPTY_MASK:Lcom/sun/prism/impl/shape/MaskData;
            astore 19
        26: .line 112
            aload 8 /* renderer */
            ifnull 28
        27: .line 113
            aload 8 /* renderer */
            invokeinterface com.sun.marlin.MarlinRenderer.dispose:()V
        28: .line 116
      StackMap locals: com.sun.prism.impl.shape.MarlinRasterizer com.sun.javafx.geom.Shape com.sun.prism.BasicStroke com.sun.javafx.geom.RectBounds com.sun.javafx.geom.transform.BaseTransform int int com.sun.marlin.RendererContext com.sun.marlin.MarlinRenderer com.sun.javafx.geom.Rectangle int int int int int int top top top com.sun.prism.impl.shape.MaskData
      StackMap stack:
            aload 7 /* rdrCtx */
            invokestatic com.sun.marlin.MarlinRenderingEngine.returnRendererContext:(Lcom/sun/marlin/RendererContext;)V
        29: .line 96
            aload 19
            areturn
        30: .line 99
      StackMap locals: com.sun.prism.impl.shape.MarlinRasterizer com.sun.javafx.geom.Shape com.sun.prism.BasicStroke com.sun.javafx.geom.RectBounds com.sun.javafx.geom.transform.BaseTransform int int com.sun.marlin.RendererContext com.sun.marlin.MarlinRenderer com.sun.javafx.geom.Rectangle int int int int int int
      StackMap stack:
            aload 7 /* rdrCtx */
            getfield com.sun.marlin.RendererContext.consumer:Lcom/sun/marlin/MaskMarlinAlphaConsumer;
            astore 16 /* consumer */
        start local 16 // com.sun.marlin.MaskMarlinAlphaConsumer consumer
        31: .line 100
            aload 16 /* consumer */
            ifnull 32
            iload 14 /* w */
            iload 15 /* h */
            imul
            aload 16 /* consumer */
            invokevirtual com.sun.marlin.MaskMarlinAlphaConsumer.getAlphaLength:()I
            if_icmple 36
        32: .line 101
      StackMap locals: com.sun.marlin.MaskMarlinAlphaConsumer
      StackMap stack:
            iload 14 /* w */
            iload 15 /* h */
            imul
            sipush 4095
            iadd
            sipush -4096
            iand
            istore 17 /* csize */
        start local 17 // int csize
        33: .line 102
            aload 7 /* rdrCtx */
            new com.sun.marlin.MaskMarlinAlphaConsumer
            dup
            iload 17 /* csize */
            invokespecial com.sun.marlin.MaskMarlinAlphaConsumer.<init>:(I)V
            dup
            astore 16 /* consumer */
            putfield com.sun.marlin.RendererContext.consumer:Lcom/sun/marlin/MaskMarlinAlphaConsumer;
        34: .line 103
            getstatic com.sun.prism.impl.PrismSettings.verbose:Z
            ifeq 36
        35: .line 104
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "new alphas with length = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 17 /* csize */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 17 // int csize
        36: .line 107
      StackMap locals:
      StackMap stack:
            aload 16 /* consumer */
            iload 10 /* outpix_xmin */
            iload 12 /* outpix_ymin */
            iload 14 /* w */
            iload 15 /* h */
            invokevirtual com.sun.marlin.MaskMarlinAlphaConsumer.setBoundsNoClone:(IIII)V
        37: .line 108
            aload 8 /* renderer */
            aload 16 /* consumer */
            invokeinterface com.sun.marlin.MarlinRenderer.produceAlphas:(Lcom/sun/marlin/MarlinAlphaConsumer;)V
        38: .line 110
            aload 16 /* consumer */
            invokevirtual com.sun.marlin.MaskMarlinAlphaConsumer.getMaskData:()Lcom/sun/prism/impl/shape/MaskData;
            astore 19
        39: .line 112
            aload 8 /* renderer */
            ifnull 41
        40: .line 113
            aload 8 /* renderer */
            invokeinterface com.sun.marlin.MarlinRenderer.dispose:()V
        41: .line 116
      StackMap locals: com.sun.prism.impl.shape.MarlinRasterizer com.sun.javafx.geom.Shape com.sun.prism.BasicStroke com.sun.javafx.geom.RectBounds com.sun.javafx.geom.transform.BaseTransform int int com.sun.marlin.RendererContext com.sun.marlin.MarlinRenderer com.sun.javafx.geom.Rectangle int int int int int int com.sun.marlin.MaskMarlinAlphaConsumer top top com.sun.prism.impl.shape.MaskData
      StackMap stack:
            aload 7 /* rdrCtx */
            invokestatic com.sun.marlin.MarlinRenderingEngine.returnRendererContext:(Lcom/sun/marlin/RendererContext;)V
        42: .line 110
            aload 19
            areturn
        end local 16 // com.sun.marlin.MaskMarlinAlphaConsumer consumer
        end local 15 // int h
        end local 14 // int w
        end local 13 // int outpix_ymax
        end local 12 // int outpix_ymin
        end local 11 // int outpix_xmax
        end local 10 // int outpix_xmin
        end local 9 // com.sun.javafx.geom.Rectangle rclip
        43: .line 111
      StackMap locals: com.sun.prism.impl.shape.MarlinRasterizer com.sun.javafx.geom.Shape com.sun.prism.BasicStroke com.sun.javafx.geom.RectBounds com.sun.javafx.geom.transform.BaseTransform int int com.sun.marlin.RendererContext com.sun.marlin.MarlinRenderer
      StackMap stack: java.lang.Throwable
            astore 18
        44: .line 112
            aload 8 /* renderer */
            ifnull 46
        45: .line 113
            aload 8 /* renderer */
            invokeinterface com.sun.marlin.MarlinRenderer.dispose:()V
        46: .line 116
      StackMap locals: com.sun.prism.impl.shape.MarlinRasterizer com.sun.javafx.geom.Shape com.sun.prism.BasicStroke com.sun.javafx.geom.RectBounds com.sun.javafx.geom.transform.BaseTransform int int com.sun.marlin.RendererContext com.sun.marlin.MarlinRenderer top top top top top top top top top java.lang.Throwable
      StackMap stack:
            aload 7 /* rdrCtx */
            invokestatic com.sun.marlin.MarlinRenderingEngine.returnRendererContext:(Lcom/sun/marlin/RendererContext;)V
        47: .line 117
            aload 18
            athrow
        end local 8 // com.sun.marlin.MarlinRenderer renderer
        end local 7 // com.sun.marlin.RendererContext rdrCtx
        end local 6 // boolean antialiasedShape
        end local 5 // boolean close
        end local 4 // com.sun.javafx.geom.transform.BaseTransform xform
        end local 3 // com.sun.javafx.geom.RectBounds xformBounds
        end local 2 // com.sun.prism.BasicStroke stroke
        end local 1 // com.sun.javafx.geom.Shape shape
        end local 0 // com.sun.prism.impl.shape.MarlinRasterizer this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   48     0              this  Lcom/sun/prism/impl/shape/MarlinRasterizer;
            0   48     1             shape  Lcom/sun/javafx/geom/Shape;
            0   48     2            stroke  Lcom/sun/prism/BasicStroke;
            0   48     3       xformBounds  Lcom/sun/javafx/geom/RectBounds;
            0   48     4             xform  Lcom/sun/javafx/geom/transform/BaseTransform;
            0   48     5             close  Z
            0   48     6  antialiasedShape  Z
           12   48     7            rdrCtx  Lcom/sun/marlin/RendererContext;
           13   48     8          renderer  Lcom/sun/marlin/MarlinRenderer;
           14   43     9             rclip  Lcom/sun/javafx/geom/Rectangle;
           19   43    10       outpix_xmin  I
           20   43    11       outpix_xmax  I
           21   43    12       outpix_ymin  I
           22   43    13       outpix_ymax  I
           23   43    14                 w  I
           24   43    15                 h  I
           31   43    16          consumer  Lcom/sun/marlin/MaskMarlinAlphaConsumer;
           33   36    17             csize  I
      Exception table:
        from    to  target  type
          13    26      43  any
          30    39      43  any
    MethodParameters:
                  Name  Flags
      shape             
      stroke            
      xformBounds       
      xform             
      close             
      antialiasedShape  

  static com.sun.javafx.geom.Shape createCenteredStrokedShape(com.sun.javafx.geom.Shape, com.sun.prism.BasicStroke);
    descriptor: (Lcom/sun/javafx/geom/Shape;Lcom/sun/prism/BasicStroke;)Lcom/sun/javafx/geom/Shape;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=7, args_size=2
        start local 0 // com.sun.javafx.geom.Shape s
        start local 1 // com.sun.prism.BasicStroke stroke
         0: .line 122
            aload 1 /* stroke */
            invokevirtual com.sun.prism.BasicStroke.getType:()I
            ifne 2
         1: .line 123
            aload 1 /* stroke */
            invokevirtual com.sun.prism.BasicStroke.getLineWidth:()F
            goto 3
      StackMap locals:
      StackMap stack:
         2: aload 1 /* stroke */
            invokevirtual com.sun.prism.BasicStroke.getLineWidth:()F
            fconst_2
            fmul
         3: .line 122
      StackMap locals:
      StackMap stack: float
            fstore 2 /* lw */
        start local 2 // float lw
         4: .line 125
            invokestatic com.sun.marlin.MarlinRenderingEngine.getRendererContext:()Lcom/sun/marlin/RendererContext;
            astore 3 /* rdrCtx */
        start local 3 // com.sun.marlin.RendererContext rdrCtx
         5: .line 128
            aload 3 /* rdrCtx */
            invokevirtual com.sun.marlin.RendererContext.getPath2D:()Lcom/sun/javafx/geom/Path2D;
            astore 4 /* p2d */
        start local 4 // com.sun.javafx.geom.Path2D p2d
         6: .line 130
            aload 3 /* rdrCtx */
            aload 0 /* s */
            aload 1 /* stroke */
            fload 2 /* lw */
         7: .line 131
            aload 3 /* rdrCtx */
            getfield com.sun.marlin.RendererContext.transformerPC2D:Lcom/sun/marlin/TransformingPathConsumer2D;
            aload 4 /* p2d */
            invokevirtual com.sun.marlin.TransformingPathConsumer2D.wrapPath2D:(Lcom/sun/javafx/geom/Path2D;)Lcom/sun/javafx/geom/PathConsumer2D;
         8: .line 130
            invokestatic com.sun.prism.impl.shape.MarlinPrismUtils.strokeTo:(Lcom/sun/marlin/RendererContext;Lcom/sun/javafx/geom/Shape;Lcom/sun/prism/BasicStroke;FLcom/sun/javafx/geom/PathConsumer2D;)V
         9: .line 135
            new com.sun.javafx.geom.Path2D
            dup
            aload 4 /* p2d */
            invokespecial com.sun.javafx.geom.Path2D.<init>:(Lcom/sun/javafx/geom/Shape;)V
            astore 6
        10: .line 139
            aload 3 /* rdrCtx */
            invokestatic com.sun.marlin.MarlinRenderingEngine.returnRendererContext:(Lcom/sun/marlin/RendererContext;)V
        11: .line 135
            aload 6
            areturn
        end local 4 // com.sun.javafx.geom.Path2D p2d
        12: .line 137
      StackMap locals: com.sun.javafx.geom.Shape com.sun.prism.BasicStroke float com.sun.marlin.RendererContext
      StackMap stack: java.lang.Throwable
            astore 5
        13: .line 139
            aload 3 /* rdrCtx */
            invokestatic com.sun.marlin.MarlinRenderingEngine.returnRendererContext:(Lcom/sun/marlin/RendererContext;)V
        14: .line 140
            aload 5
            athrow
        end local 3 // com.sun.marlin.RendererContext rdrCtx
        end local 2 // float lw
        end local 1 // com.sun.prism.BasicStroke stroke
        end local 0 // com.sun.javafx.geom.Shape s
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   15     0       s  Lcom/sun/javafx/geom/Shape;
            0   15     1  stroke  Lcom/sun/prism/BasicStroke;
            4   15     2      lw  F
            5   15     3  rdrCtx  Lcom/sun/marlin/RendererContext;
            6   12     4     p2d  Lcom/sun/javafx/geom/Path2D;
      Exception table:
        from    to  target  type
           5    10      12  any
    MethodParameters:
        Name  Flags
      s       
      stroke  
}
SourceFile: "MarlinRasterizer.java"