class com.sun.prism.impl.ps.CachingShapeRepState
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.sun.prism.impl.ps.CachingShapeRepState
  super_class: java.lang.Object
{
  private static final com.sun.javafx.geom.transform.BaseTransform IDENT;
    descriptor: Lcom/sun/javafx/geom/transform/BaseTransform;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final com.sun.prism.impl.ps.CachingShapeRepState$MaskCache maskCache;
    descriptor: Lcom/sun/prism/impl/ps/CachingShapeRepState$MaskCache;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

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

  private java.lang.Boolean tryCache;
    descriptor: Ljava/lang/Boolean;
    flags: (0x0002) ACC_PRIVATE

  private com.sun.javafx.geom.transform.BaseTransform lastXform;
    descriptor: Lcom/sun/javafx/geom/transform/BaseTransform;
    flags: (0x0002) ACC_PRIVATE

  private final com.sun.prism.impl.ps.CachingShapeRepState$MaskTexData texData;
    descriptor: Lcom/sun/prism/impl/ps/CachingShapeRepState$MaskTexData;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private final java.lang.Object disposerReferent;
    descriptor: Ljava/lang/Object;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.sun.prism.impl.Disposer$Record disposerRecord;
    descriptor: Lcom/sun/prism/impl/Disposer$Record;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 380
            getstatic com.sun.javafx.geom.transform.BaseTransform.IDENTITY_TRANSFORM:Lcom/sun/javafx/geom/transform/BaseTransform;
            putstatic com.sun.prism.impl.ps.CachingShapeRepState.IDENT:Lcom/sun/javafx/geom/transform/BaseTransform;
         1: .line 382
            new com.sun.prism.impl.ps.CachingShapeRepState$MaskCache
            dup
            invokespecial com.sun.prism.impl.ps.CachingShapeRepState$MaskCache.<init>:()V
            putstatic com.sun.prism.impl.ps.CachingShapeRepState.maskCache:Lcom/sun/prism/impl/ps/CachingShapeRepState$MaskCache;
         2: .line 384
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static boolean equalsIgnoreTranslation(com.sun.javafx.geom.transform.BaseTransform, com.sun.javafx.geom.transform.BaseTransform);
    descriptor: (Lcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/javafx/geom/transform/BaseTransform;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.javafx.geom.transform.BaseTransform a
        start local 1 // com.sun.javafx.geom.transform.BaseTransform b
         0: .line 369
            aload 0 /* a */
            aload 1 /* b */
            if_acmpne 2
         1: .line 370
            iconst_1
            ireturn
         2: .line 374
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMxx:()D
            aload 1 /* b */
            invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMxx:()D
            dcmpl
            ifne 7
         3: .line 375
            aload 0 /* a */
            invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMxy:()D
            aload 1 /* b */
            invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMxy:()D
            dcmpl
            ifne 7
         4: .line 376
            aload 0 /* a */
            invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMyx:()D
            aload 1 /* b */
            invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMyx:()D
            dcmpl
            ifne 7
         5: .line 377
            aload 0 /* a */
            invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMyy:()D
            aload 1 /* b */
            invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMyy:()D
            dcmpl
            ifne 7
         6: .line 373
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         7: iconst_0
            ireturn
        end local 1 // com.sun.javafx.geom.transform.BaseTransform b
        end local 0 // com.sun.javafx.geom.transform.BaseTransform a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0     a  Lcom/sun/javafx/geom/transform/BaseTransform;
            0    8     1     b  Lcom/sun/javafx/geom/transform/BaseTransform;
    MethodParameters:
      Name  Flags
      a     
      b     

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.sun.prism.impl.ps.CachingShapeRepState this
         0: .line 395
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 392
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield com.sun.prism.impl.ps.CachingShapeRepState.disposerReferent:Ljava/lang/Object;
         2: .line 396
            aload 0 /* this */
            new com.sun.prism.impl.ps.CachingShapeRepState$MaskTexData
            dup
            invokespecial com.sun.prism.impl.ps.CachingShapeRepState$MaskTexData.<init>:()V
            putfield com.sun.prism.impl.ps.CachingShapeRepState.texData:Lcom/sun/prism/impl/ps/CachingShapeRepState$MaskTexData;
         3: .line 397
            aload 0 /* this */
            new com.sun.prism.impl.ps.CachingShapeRepState$CSRDisposerRecord
            dup
            aload 0 /* this */
            getfield com.sun.prism.impl.ps.CachingShapeRepState.texData:Lcom/sun/prism/impl/ps/CachingShapeRepState$MaskTexData;
            invokespecial com.sun.prism.impl.ps.CachingShapeRepState$CSRDisposerRecord.<init>:(Lcom/sun/prism/impl/ps/CachingShapeRepState$MaskTexData;)V
            putfield com.sun.prism.impl.ps.CachingShapeRepState.disposerRecord:Lcom/sun/prism/impl/Disposer$Record;
         4: .line 398
            aload 0 /* this */
            getfield com.sun.prism.impl.ps.CachingShapeRepState.disposerReferent:Ljava/lang/Object;
            aload 0 /* this */
            getfield com.sun.prism.impl.ps.CachingShapeRepState.disposerRecord:Lcom/sun/prism/impl/Disposer$Record;
            invokestatic com.sun.prism.impl.Disposer.addRecord:(Ljava/lang/Object;Lcom/sun/prism/impl/Disposer$Record;)V
         5: .line 399
            return
        end local 0 // com.sun.prism.impl.ps.CachingShapeRepState this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/sun/prism/impl/ps/CachingShapeRepState;

  void fillNoCache(com.sun.prism.Graphics, com.sun.javafx.geom.Shape);
    descriptor: (Lcom/sun/prism/Graphics;Lcom/sun/javafx/geom/Shape;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.sun.prism.impl.ps.CachingShapeRepState this
        start local 1 // com.sun.prism.Graphics g
        start local 2 // com.sun.javafx.geom.Shape shape
         0: .line 403
            aload 1 /* g */
            aload 2 /* shape */
            invokeinterface com.sun.prism.Graphics.fill:(Lcom/sun/javafx/geom/Shape;)V
         1: .line 404
            return
        end local 2 // com.sun.javafx.geom.Shape shape
        end local 1 // com.sun.prism.Graphics g
        end local 0 // com.sun.prism.impl.ps.CachingShapeRepState this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/sun/prism/impl/ps/CachingShapeRepState;
            0    2     1      g  Lcom/sun/prism/Graphics;
            0    2     2  shape  Lcom/sun/javafx/geom/Shape;
    MethodParameters:
       Name  Flags
      g      
      shape  

  void drawNoCache(com.sun.prism.Graphics, com.sun.javafx.geom.Shape);
    descriptor: (Lcom/sun/prism/Graphics;Lcom/sun/javafx/geom/Shape;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.sun.prism.impl.ps.CachingShapeRepState this
        start local 1 // com.sun.prism.Graphics g
        start local 2 // com.sun.javafx.geom.Shape shape
         0: .line 408
            aload 1 /* g */
            aload 2 /* shape */
            invokeinterface com.sun.prism.Graphics.draw:(Lcom/sun/javafx/geom/Shape;)V
         1: .line 409
            return
        end local 2 // com.sun.javafx.geom.Shape shape
        end local 1 // com.sun.prism.Graphics g
        end local 0 // com.sun.prism.impl.ps.CachingShapeRepState this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/sun/prism/impl/ps/CachingShapeRepState;
            0    2     1      g  Lcom/sun/prism/Graphics;
            0    2     2  shape  Lcom/sun/javafx/geom/Shape;
    MethodParameters:
       Name  Flags
      g      
      shape  

  void invalidate();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.prism.impl.ps.CachingShapeRepState this
         0: .line 415
            aload 0 /* this */
            iconst_0
            putfield com.sun.prism.impl.ps.CachingShapeRepState.renderCount:I
         1: .line 416
            aload 0 /* this */
            aconst_null
            putfield com.sun.prism.impl.ps.CachingShapeRepState.tryCache:Ljava/lang/Boolean;
         2: .line 417
            aload 0 /* this */
            aconst_null
            putfield com.sun.prism.impl.ps.CachingShapeRepState.lastXform:Lcom/sun/javafx/geom/transform/BaseTransform;
         3: .line 418
            aload 0 /* this */
            aconst_null
            putfield com.sun.prism.impl.ps.CachingShapeRepState.bbox:[F
         4: .line 419
            return
        end local 0 // com.sun.prism.impl.ps.CachingShapeRepState this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/prism/impl/ps/CachingShapeRepState;

  private void invalidateMaskTexData();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.prism.impl.ps.CachingShapeRepState this
         0: .line 424
            aload 0 /* this */
            aconst_null
            putfield com.sun.prism.impl.ps.CachingShapeRepState.tryCache:Ljava/lang/Boolean;
         1: .line 425
            aload 0 /* this */
            aconst_null
            putfield com.sun.prism.impl.ps.CachingShapeRepState.lastXform:Lcom/sun/javafx/geom/transform/BaseTransform;
         2: .line 426
            getstatic com.sun.prism.impl.ps.CachingShapeRepState.maskCache:Lcom/sun/prism/impl/ps/CachingShapeRepState$MaskCache;
            aload 0 /* this */
            getfield com.sun.prism.impl.ps.CachingShapeRepState.texData:Lcom/sun/prism/impl/ps/CachingShapeRepState$MaskTexData;
            invokevirtual com.sun.prism.impl.ps.CachingShapeRepState$MaskCache.unref:(Lcom/sun/prism/impl/ps/CachingShapeRepState$MaskTexData;)V
         3: .line 427
            return
        end local 0 // com.sun.prism.impl.ps.CachingShapeRepState this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/prism/impl/ps/CachingShapeRepState;

  void render(com.sun.prism.Graphics, com.sun.javafx.geom.Shape, com.sun.javafx.geom.RectBounds, com.sun.prism.BasicStroke);
    descriptor: (Lcom/sun/prism/Graphics;Lcom/sun/javafx/geom/Shape;Lcom/sun/javafx/geom/RectBounds;Lcom/sun/prism/BasicStroke;)V
    flags: (0x0000) 
    Code:
      stack=16, locals=32, args_size=5
        start local 0 // com.sun.prism.impl.ps.CachingShapeRepState this
        start local 1 // com.sun.prism.Graphics g
        start local 2 // com.sun.javafx.geom.Shape shape
        start local 3 // com.sun.javafx.geom.RectBounds shapeBounds
        start local 4 // com.sun.prism.BasicStroke stroke
         0: .line 431
            aload 1 /* g */
            invokeinterface com.sun.prism.Graphics.getTransformNoClone:()Lcom/sun/javafx/geom/transform/BaseTransform;
            astore 5 /* xform */
        start local 5 // com.sun.javafx.geom.transform.BaseTransform xform
         1: .line 436
            aload 0 /* this */
            getfield com.sun.prism.impl.ps.CachingShapeRepState.lastXform:Lcom/sun/javafx/geom/transform/BaseTransform;
            ifnonnull 5
         2: .line 437
            iconst_1
            dup
            istore 7 /* doUpdateMask */
        start local 7 // boolean doUpdateMask
         3: istore 6 /* doResetMask */
        start local 6 // boolean doResetMask
         4: .line 438
            goto 15
        end local 7 // boolean doUpdateMask
        end local 6 // boolean doResetMask
      StackMap locals: com.sun.javafx.geom.transform.BaseTransform
      StackMap stack:
         5: aload 5 /* xform */
            aload 0 /* this */
            getfield com.sun.prism.impl.ps.CachingShapeRepState.lastXform:Lcom/sun/javafx/geom/transform/BaseTransform;
            invokestatic com.sun.prism.impl.ps.CachingShapeRepState.equalsIgnoreTranslation:(Lcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/javafx/geom/transform/BaseTransform;)Z
            ifeq 13
         6: .line 439
            iconst_0
            istore 6 /* doResetMask */
        start local 6 // boolean doResetMask
         7: .line 440
            aload 5 /* xform */
            invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMxt:()D
            aload 0 /* this */
            getfield com.sun.prism.impl.ps.CachingShapeRepState.lastXform:Lcom/sun/javafx/geom/transform/BaseTransform;
            invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMxt:()D
            dcmpl
            ifne 10
         8: .line 441
            aload 5 /* xform */
            invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMyt:()D
            aload 0 /* this */
            getfield com.sun.prism.impl.ps.CachingShapeRepState.lastXform:Lcom/sun/javafx/geom/transform/BaseTransform;
            invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMyt:()D
            dcmpl
            ifne 10
         9: .line 440
            iconst_0
            goto 11
      StackMap locals: int
      StackMap stack:
        10: iconst_1
      StackMap locals:
      StackMap stack: int
        11: istore 7 /* doUpdateMask */
        start local 7 // boolean doUpdateMask
        12: .line 442
            goto 15
        end local 7 // boolean doUpdateMask
        end local 6 // boolean doResetMask
        13: .line 443
      StackMap locals:
      StackMap stack:
            iconst_1
            dup
            istore 7 /* doUpdateMask */
        start local 7 // boolean doUpdateMask
        14: istore 6 /* doResetMask */
        start local 6 // boolean doResetMask
        15: .line 450
      StackMap locals: int int
      StackMap stack:
            iload 6 /* doResetMask */
            ifeq 18
        16: .line 451
            aload 0 /* this */
            invokevirtual com.sun.prism.impl.ps.CachingShapeRepState.invalidateMaskTexData:()V
        17: .line 453
            aload 0 /* this */
            iconst_0
            putfield com.sun.prism.impl.ps.CachingShapeRepState.renderCount:I
        18: .line 455
      StackMap locals:
      StackMap stack:
            iload 6 /* doResetMask */
            ifne 19
            iload 7 /* doUpdateMask */
            ifeq 23
        19: .line 456
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.prism.impl.ps.CachingShapeRepState.lastXform:Lcom/sun/javafx/geom/transform/BaseTransform;
            ifnonnull 22
        20: .line 457
            aload 0 /* this */
            aload 5 /* xform */
            invokevirtual com.sun.javafx.geom.transform.BaseTransform.copy:()Lcom/sun/javafx/geom/transform/BaseTransform;
            putfield com.sun.prism.impl.ps.CachingShapeRepState.lastXform:Lcom/sun/javafx/geom/transform/BaseTransform;
        21: .line 458
            goto 23
        22: .line 459
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.prism.impl.ps.CachingShapeRepState.lastXform:Lcom/sun/javafx/geom/transform/BaseTransform;
            aload 5 /* xform */
            invokevirtual com.sun.javafx.geom.transform.BaseTransform.setTransform:(Lcom/sun/javafx/geom/transform/BaseTransform;)V
        23: .line 463
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.prism.impl.ps.CachingShapeRepState.texData:Lcom/sun/prism/impl/ps/CachingShapeRepState$MaskTexData;
            getfield com.sun.prism.impl.ps.CachingShapeRepState$MaskTexData.cacheEntry:Lcom/sun/prism/impl/ps/CachingShapeRepState$CacheEntry;
            ifnull 28
        24: .line 464
            aload 0 /* this */
            getfield com.sun.prism.impl.ps.CachingShapeRepState.texData:Lcom/sun/prism/impl/ps/CachingShapeRepState$MaskTexData;
            getfield com.sun.prism.impl.ps.CachingShapeRepState$MaskTexData.maskTex:Lcom/sun/prism/Texture;
            invokeinterface com.sun.prism.Texture.lock:()V
        25: .line 465
            aload 0 /* this */
            getfield com.sun.prism.impl.ps.CachingShapeRepState.texData:Lcom/sun/prism/impl/ps/CachingShapeRepState$MaskTexData;
            getfield com.sun.prism.impl.ps.CachingShapeRepState$MaskTexData.maskTex:Lcom/sun/prism/Texture;
            invokeinterface com.sun.prism.Texture.isSurfaceLost:()Z
            ifeq 28
        26: .line 466
            aload 0 /* this */
            getfield com.sun.prism.impl.ps.CachingShapeRepState.texData:Lcom/sun/prism/impl/ps/CachingShapeRepState$MaskTexData;
            getfield com.sun.prism.impl.ps.CachingShapeRepState$MaskTexData.maskTex:Lcom/sun/prism/Texture;
            invokeinterface com.sun.prism.Texture.unlock:()V
        27: .line 467
            aload 0 /* this */
            invokevirtual com.sun.prism.impl.ps.CachingShapeRepState.invalidateMaskTexData:()V
        28: .line 471
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 8 /* xformBounds */
        start local 8 // com.sun.javafx.geom.RectBounds xformBounds
        29: .line 472
            iconst_0
            istore 9 /* boundsCopy */
        start local 9 // boolean boundsCopy
        30: .line 474
            aload 0 /* this */
            getfield com.sun.prism.impl.ps.CachingShapeRepState.tryCache:Ljava/lang/Boolean;
            ifnonnull 40
        31: .line 476
            aload 5 /* xform */
            invokevirtual com.sun.javafx.geom.transform.BaseTransform.isIdentity:()Z
            ifeq 34
        32: .line 477
            aload 3 /* shapeBounds */
            astore 8 /* xformBounds */
        33: .line 478
            goto 37
        34: .line 479
      StackMap locals: com.sun.javafx.geom.RectBounds int
      StackMap stack:
            new com.sun.javafx.geom.RectBounds
            dup
            invokespecial com.sun.javafx.geom.RectBounds.<init>:()V
            astore 8 /* xformBounds */
        35: .line 480
            iconst_1
            istore 9 /* boundsCopy */
        36: .line 483
            aload 5 /* xform */
            aload 3 /* shapeBounds */
            aload 8 /* 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 8 /* xformBounds */
        37: .line 485
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 8 /* xformBounds */
            invokevirtual com.sun.javafx.geom.RectBounds.isEmpty:()Z
            ifne 38
            getstatic com.sun.prism.impl.ps.CachingShapeRepState.maskCache:Lcom/sun/prism/impl/ps/CachingShapeRepState$MaskCache;
            aload 8 /* xformBounds */
            invokevirtual com.sun.prism.impl.ps.CachingShapeRepState$MaskCache.hasRoom:(Lcom/sun/javafx/geom/RectBounds;)Z
            ifeq 38
            iconst_1
            goto 39
      StackMap locals:
      StackMap stack: com.sun.prism.impl.ps.CachingShapeRepState
        38: iconst_0
      StackMap locals: com.sun.prism.impl.ps.CachingShapeRepState com.sun.prism.Graphics com.sun.javafx.geom.Shape com.sun.javafx.geom.RectBounds com.sun.prism.BasicStroke com.sun.javafx.geom.transform.BaseTransform int int com.sun.javafx.geom.RectBounds int
      StackMap stack: com.sun.prism.impl.ps.CachingShapeRepState int
        39: invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            putfield com.sun.prism.impl.ps.CachingShapeRepState.tryCache:Ljava/lang/Boolean;
        40: .line 488
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield com.sun.prism.impl.ps.CachingShapeRepState.renderCount:I
            iconst_1
            iadd
            putfield com.sun.prism.impl.ps.CachingShapeRepState.renderCount:I
        41: .line 489
            aload 0 /* this */
            getfield com.sun.prism.impl.ps.CachingShapeRepState.tryCache:Ljava/lang/Boolean;
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            if_acmpeq 45
        42: .line 490
            aload 0 /* this */
            getfield com.sun.prism.impl.ps.CachingShapeRepState.renderCount:I
            iconst_2
            if_icmplt 45
        43: .line 491
            aload 1 /* g */
            instanceof com.sun.prism.impl.ps.BaseShaderGraphics
            ifeq 45
        44: .line 492
            aload 1 /* g */
            checkcast com.sun.prism.impl.ps.BaseShaderGraphics
            invokevirtual com.sun.prism.impl.ps.BaseShaderGraphics.isComplexPaint:()Z
            ifeq 50
        45: .line 502
      StackMap locals:
      StackMap stack:
            aload 4 /* stroke */
            ifnonnull 48
        46: .line 503
            aload 0 /* this */
            aload 1 /* g */
            aload 2 /* shape */
            invokevirtual com.sun.prism.impl.ps.CachingShapeRepState.fillNoCache:(Lcom/sun/prism/Graphics;Lcom/sun/javafx/geom/Shape;)V
        47: .line 504
            goto 49
        48: .line 505
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* g */
            aload 2 /* shape */
            invokevirtual com.sun.prism.impl.ps.CachingShapeRepState.drawNoCache:(Lcom/sun/prism/Graphics;Lcom/sun/javafx/geom/Shape;)V
        49: .line 507
      StackMap locals:
      StackMap stack:
            return
        50: .line 510
      StackMap locals:
      StackMap stack:
            aload 1 /* g */
            checkcast com.sun.prism.impl.ps.BaseShaderGraphics
            astore 10 /* bsg */
        start local 10 // com.sun.prism.impl.ps.BaseShaderGraphics bsg
        51: .line 511
            aload 10 /* bsg */
            invokevirtual com.sun.prism.impl.ps.BaseShaderGraphics.getContext:()Lcom/sun/prism/impl/ps/BaseShaderContext;
            astore 11 /* context */
        start local 11 // com.sun.prism.impl.ps.BaseShaderContext context
        52: .line 512
            iload 7 /* doUpdateMask */
            ifne 53
            aload 0 /* this */
            getfield com.sun.prism.impl.ps.CachingShapeRepState.texData:Lcom/sun/prism/impl/ps/CachingShapeRepState$MaskTexData;
            getfield com.sun.prism.impl.ps.CachingShapeRepState$MaskTexData.cacheEntry:Lcom/sun/prism/impl/ps/CachingShapeRepState$CacheEntry;
            ifnonnull 64
        53: .line 514
      StackMap locals: com.sun.prism.impl.ps.BaseShaderGraphics com.sun.prism.impl.ps.BaseShaderContext
      StackMap stack:
            aload 8 /* xformBounds */
            ifnonnull 60
        54: .line 515
            aload 5 /* xform */
            invokevirtual com.sun.javafx.geom.transform.BaseTransform.isIdentity:()Z
            ifeq 57
        55: .line 516
            aload 3 /* shapeBounds */
            astore 8 /* xformBounds */
        56: .line 517
            goto 60
        57: .line 518
      StackMap locals:
      StackMap stack:
            new com.sun.javafx.geom.RectBounds
            dup
            invokespecial com.sun.javafx.geom.RectBounds.<init>:()V
            astore 8 /* xformBounds */
        58: .line 519
            iconst_1
            istore 9 /* boundsCopy */
        59: .line 520
            aload 5 /* xform */
            aload 3 /* shapeBounds */
            aload 8 /* 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 8 /* xformBounds */
        60: .line 524
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.prism.impl.ps.CachingShapeRepState.texData:Lcom/sun/prism/impl/ps/CachingShapeRepState$MaskTexData;
            getfield com.sun.prism.impl.ps.CachingShapeRepState$MaskTexData.cacheEntry:Lcom/sun/prism/impl/ps/CachingShapeRepState$CacheEntry;
            ifnull 63
        61: .line 528
            aload 0 /* this */
            getfield com.sun.prism.impl.ps.CachingShapeRepState.texData:Lcom/sun/prism/impl/ps/CachingShapeRepState$MaskTexData;
            aload 5 /* xform */
            invokevirtual com.sun.prism.impl.ps.CachingShapeRepState$MaskTexData.adjustOrigin:(Lcom/sun/javafx/geom/transform/BaseTransform;)V
        62: .line 529
            goto 64
        63: .line 533
      StackMap locals:
      StackMap stack:
            getstatic com.sun.prism.impl.ps.CachingShapeRepState.maskCache:Lcom/sun/prism/impl/ps/CachingShapeRepState$MaskCache;
            aload 11 /* context */
            aload 0 /* this */
            getfield com.sun.prism.impl.ps.CachingShapeRepState.texData:Lcom/sun/prism/impl/ps/CachingShapeRepState$MaskTexData;
            aload 2 /* shape */
            aload 4 /* stroke */
            aload 5 /* xform */
            aload 8 /* xformBounds */
            iload 9 /* boundsCopy */
            aload 1 /* g */
            invokeinterface com.sun.prism.Graphics.isAntialiasedShape:()Z
            invokevirtual com.sun.prism.impl.ps.CachingShapeRepState$MaskCache.get:(Lcom/sun/prism/impl/ps/BaseShaderContext;Lcom/sun/prism/impl/ps/CachingShapeRepState$MaskTexData;Lcom/sun/javafx/geom/Shape;Lcom/sun/prism/BasicStroke;Lcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/javafx/geom/RectBounds;ZZ)V
        64: .line 537
      StackMap locals:
      StackMap stack:
            aload 10 /* bsg */
            invokevirtual com.sun.prism.impl.ps.BaseShaderGraphics.getPaint:()Lcom/sun/prism/paint/Paint;
            astore 12 /* paint */
        start local 12 // com.sun.prism.paint.Paint paint
        65: .line 538
            fconst_0
            fstore 13 /* bx */
        start local 13 // float bx
        66: fconst_0
            fstore 14 /* by */
        start local 14 // float by
        67: fconst_0
            fstore 15 /* bw */
        start local 15 // float bw
        68: fconst_0
            fstore 16 /* bh */
        start local 16 // float bh
        69: .line 539
            aload 12 /* paint */
            invokevirtual com.sun.prism.paint.Paint.isProportional:()Z
            ifeq 80
        70: .line 540
            aload 0 /* this */
            getfield com.sun.prism.impl.ps.CachingShapeRepState.bbox:[F
            ifnonnull 76
        71: .line 541
            aload 0 /* this */
            iconst_4
            newarray 6
            dup
            iconst_0
        72: .line 542
            ldc Infinity
            fastore
            dup
            iconst_1
            ldc Infinity
            fastore
            dup
            iconst_2
        73: .line 543
            ldc -Infinity
            fastore
            dup
            iconst_3
            ldc -Infinity
            fastore
        74: .line 541
            putfield com.sun.prism.impl.ps.CachingShapeRepState.bbox:[F
        75: .line 545
            aload 0 /* this */
            getfield com.sun.prism.impl.ps.CachingShapeRepState.bbox:[F
            aload 2 /* shape */
            getstatic com.sun.javafx.geom.transform.BaseTransform.IDENTITY_TRANSFORM:Lcom/sun/javafx/geom/transform/BaseTransform;
            invokestatic com.sun.javafx.geom.Shape.accumulate:([FLcom/sun/javafx/geom/Shape;Lcom/sun/javafx/geom/transform/BaseTransform;)V
        76: .line 547
      StackMap locals: com.sun.prism.impl.ps.CachingShapeRepState com.sun.prism.Graphics com.sun.javafx.geom.Shape com.sun.javafx.geom.RectBounds com.sun.prism.BasicStroke com.sun.javafx.geom.transform.BaseTransform int int com.sun.javafx.geom.RectBounds int com.sun.prism.impl.ps.BaseShaderGraphics com.sun.prism.impl.ps.BaseShaderContext com.sun.prism.paint.Paint float float float float
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.prism.impl.ps.CachingShapeRepState.bbox:[F
            iconst_0
            faload
            fstore 13 /* bx */
        77: .line 548
            aload 0 /* this */
            getfield com.sun.prism.impl.ps.CachingShapeRepState.bbox:[F
            iconst_1
            faload
            fstore 14 /* by */
        78: .line 549
            aload 0 /* this */
            getfield com.sun.prism.impl.ps.CachingShapeRepState.bbox:[F
            iconst_2
            faload
            fload 13 /* bx */
            fsub
            fstore 15 /* bw */
        79: .line 550
            aload 0 /* this */
            getfield com.sun.prism.impl.ps.CachingShapeRepState.bbox:[F
            iconst_3
            faload
            fload 14 /* by */
            fsub
            fstore 16 /* bh */
        80: .line 553
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.prism.impl.ps.CachingShapeRepState.texData:Lcom/sun/prism/impl/ps/CachingShapeRepState$MaskTexData;
            getfield com.sun.prism.impl.ps.CachingShapeRepState$MaskTexData.maskW:I
            istore 17 /* mw */
        start local 17 // int mw
        81: .line 554
            aload 0 /* this */
            getfield com.sun.prism.impl.ps.CachingShapeRepState.texData:Lcom/sun/prism/impl/ps/CachingShapeRepState$MaskTexData;
            getfield com.sun.prism.impl.ps.CachingShapeRepState$MaskTexData.maskH:I
            istore 18 /* mh */
        start local 18 // int mh
        82: .line 555
            aload 0 /* this */
            getfield com.sun.prism.impl.ps.CachingShapeRepState.texData:Lcom/sun/prism/impl/ps/CachingShapeRepState$MaskTexData;
            getfield com.sun.prism.impl.ps.CachingShapeRepState$MaskTexData.maskTex:Lcom/sun/prism/Texture;
            astore 19 /* maskTex */
        start local 19 // com.sun.prism.Texture maskTex
        83: .line 556
            aload 19 /* maskTex */
            invokeinterface com.sun.prism.Texture.getPhysicalWidth:()I
            i2f
            fstore 20 /* tw */
        start local 20 // float tw
        84: .line 557
            aload 19 /* maskTex */
            invokeinterface com.sun.prism.Texture.getPhysicalHeight:()I
            i2f
            fstore 21 /* th */
        start local 21 // float th
        85: .line 558
            aload 0 /* this */
            getfield com.sun.prism.impl.ps.CachingShapeRepState.texData:Lcom/sun/prism/impl/ps/CachingShapeRepState$MaskTexData;
            getfield com.sun.prism.impl.ps.CachingShapeRepState$MaskTexData.maskX:F
            fstore 22 /* dx1 */
        start local 22 // float dx1
        86: .line 559
            aload 0 /* this */
            getfield com.sun.prism.impl.ps.CachingShapeRepState.texData:Lcom/sun/prism/impl/ps/CachingShapeRepState$MaskTexData;
            getfield com.sun.prism.impl.ps.CachingShapeRepState$MaskTexData.maskY:F
            fstore 23 /* dy1 */
        start local 23 // float dy1
        87: .line 560
            fload 22 /* dx1 */
            iload 17 /* mw */
            i2f
            fadd
            fstore 24 /* dx2 */
        start local 24 // float dx2
        88: .line 561
            fload 23 /* dy1 */
            iload 18 /* mh */
            i2f
            fadd
            fstore 25 /* dy2 */
        start local 25 // float dy2
        89: .line 562
            aload 19 /* maskTex */
            invokeinterface com.sun.prism.Texture.getContentX:()I
            i2f
            fload 20 /* tw */
            fdiv
            fstore 26 /* tx1 */
        start local 26 // float tx1
        90: .line 563
            aload 19 /* maskTex */
            invokeinterface com.sun.prism.Texture.getContentY:()I
            i2f
            fload 21 /* th */
            fdiv
            fstore 27 /* ty1 */
        start local 27 // float ty1
        91: .line 564
            fload 26 /* tx1 */
            iload 17 /* mw */
            i2f
            fload 20 /* tw */
            fdiv
            fadd
            fstore 28 /* tx2 */
        start local 28 // float tx2
        92: .line 565
            fload 27 /* ty1 */
            iload 18 /* mh */
            i2f
            fload 21 /* th */
            fdiv
            fadd
            fstore 29 /* ty2 */
        start local 29 // float ty2
        93: .line 567
            getstatic com.sun.prism.impl.PrismSettings.primTextureSize:I
            ifeq 104
        94: .line 571
            aload 11 /* context */
            aload 10 /* bsg */
            getstatic com.sun.prism.impl.ps.CachingShapeRepState.IDENT:Lcom/sun/javafx/geom/transform/BaseTransform;
        95: .line 572
            getstatic com.sun.prism.impl.ps.BaseShaderContext$MaskType.ALPHA_TEXTURE:Lcom/sun/prism/impl/ps/BaseShaderContext$MaskType;
            aload 0 /* this */
            getfield com.sun.prism.impl.ps.CachingShapeRepState.texData:Lcom/sun/prism/impl/ps/CachingShapeRepState$MaskTexData;
            getfield com.sun.prism.impl.ps.CachingShapeRepState$MaskTexData.maskTex:Lcom/sun/prism/Texture;
        96: .line 573
            fload 13 /* bx */
            fload 14 /* by */
            fload 15 /* bw */
            fload 16 /* bh */
        97: .line 571
            invokevirtual com.sun.prism.impl.ps.BaseShaderContext.validatePaintOp:(Lcom/sun/prism/impl/ps/BaseShaderGraphics;Lcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/prism/impl/ps/BaseShaderContext$MaskType;Lcom/sun/prism/Texture;FFFF)Lcom/sun/prism/ps/Shader;
        98: .line 570
            astore 30 /* shader */
        start local 30 // com.sun.prism.ps.Shader shader
        99: .line 575
            aload 11 /* context */
            invokevirtual com.sun.prism.impl.ps.BaseShaderContext.getVertexBuffer:()Lcom/sun/prism/impl/VertexBuffer;
            astore 31 /* vb */
        start local 31 // com.sun.prism.impl.VertexBuffer vb
       100: .line 576
            aload 31 /* vb */
            fload 22 /* dx1 */
            fload 23 /* dy1 */
            fload 24 /* dx2 */
            fload 25 /* dy2 */
            fload 26 /* tx1 */
            fload 27 /* ty1 */
            fload 28 /* tx2 */
            fload 29 /* ty2 */
       101: .line 577
            aload 10 /* bsg */
            aload 5 /* xform */
            aload 30 /* shader */
            fload 13 /* bx */
            fload 14 /* by */
            fload 15 /* bw */
            fload 16 /* bh */
            invokevirtual com.sun.prism.impl.ps.BaseShaderGraphics.getPaintTextureTx:(Lcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/prism/ps/Shader;FFFF)Lcom/sun/javafx/geom/transform/AffineBase;
       102: .line 576
            invokevirtual com.sun.prism.impl.VertexBuffer.addQuad:(FFFFFFFFLcom/sun/javafx/geom/transform/AffineBase;)V
        end local 31 // com.sun.prism.impl.VertexBuffer vb
        end local 30 // com.sun.prism.ps.Shader shader
       103: .line 578
            goto 107
       104: .line 581
      StackMap locals: com.sun.prism.impl.ps.CachingShapeRepState com.sun.prism.Graphics com.sun.javafx.geom.Shape com.sun.javafx.geom.RectBounds com.sun.prism.BasicStroke com.sun.javafx.geom.transform.BaseTransform int int com.sun.javafx.geom.RectBounds int com.sun.prism.impl.ps.BaseShaderGraphics com.sun.prism.impl.ps.BaseShaderContext com.sun.prism.paint.Paint float float float float int int com.sun.prism.Texture float float float float float float float float float float
      StackMap stack:
            aload 11 /* context */
            aload 10 /* bsg */
            getstatic com.sun.prism.impl.ps.CachingShapeRepState.IDENT:Lcom/sun/javafx/geom/transform/BaseTransform;
            aload 0 /* this */
            getfield com.sun.prism.impl.ps.CachingShapeRepState.texData:Lcom/sun/prism/impl/ps/CachingShapeRepState$MaskTexData;
            getfield com.sun.prism.impl.ps.CachingShapeRepState$MaskTexData.maskTex:Lcom/sun/prism/Texture;
            fload 13 /* bx */
            fload 14 /* by */
            fload 15 /* bw */
            fload 16 /* bh */
            invokevirtual com.sun.prism.impl.ps.BaseShaderContext.validatePaintOp:(Lcom/sun/prism/impl/ps/BaseShaderGraphics;Lcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/prism/Texture;FFFF)Lcom/sun/prism/ps/Shader;
            pop
       105: .line 583
            aload 11 /* context */
            invokevirtual com.sun.prism.impl.ps.BaseShaderContext.getVertexBuffer:()Lcom/sun/prism/impl/VertexBuffer;
            astore 30 /* vb */
        start local 30 // com.sun.prism.impl.VertexBuffer vb
       106: .line 584
            aload 30 /* vb */
            fload 22 /* dx1 */
            fload 23 /* dy1 */
            fload 24 /* dx2 */
            fload 25 /* dy2 */
            fload 26 /* tx1 */
            fload 27 /* ty1 */
            fload 28 /* tx2 */
            fload 29 /* ty2 */
            invokevirtual com.sun.prism.impl.VertexBuffer.addQuad:(FFFFFFFF)V
        end local 30 // com.sun.prism.impl.VertexBuffer vb
       107: .line 586
      StackMap locals:
      StackMap stack:
            aload 19 /* maskTex */
            invokeinterface com.sun.prism.Texture.unlock:()V
       108: .line 587
            return
        end local 29 // float ty2
        end local 28 // float tx2
        end local 27 // float ty1
        end local 26 // float tx1
        end local 25 // float dy2
        end local 24 // float dx2
        end local 23 // float dy1
        end local 22 // float dx1
        end local 21 // float th
        end local 20 // float tw
        end local 19 // com.sun.prism.Texture maskTex
        end local 18 // int mh
        end local 17 // int mw
        end local 16 // float bh
        end local 15 // float bw
        end local 14 // float by
        end local 13 // float bx
        end local 12 // com.sun.prism.paint.Paint paint
        end local 11 // com.sun.prism.impl.ps.BaseShaderContext context
        end local 10 // com.sun.prism.impl.ps.BaseShaderGraphics bsg
        end local 9 // boolean boundsCopy
        end local 8 // com.sun.javafx.geom.RectBounds xformBounds
        end local 7 // boolean doUpdateMask
        end local 6 // boolean doResetMask
        end local 5 // com.sun.javafx.geom.transform.BaseTransform xform
        end local 4 // com.sun.prism.BasicStroke stroke
        end local 3 // com.sun.javafx.geom.RectBounds shapeBounds
        end local 2 // com.sun.javafx.geom.Shape shape
        end local 1 // com.sun.prism.Graphics g
        end local 0 // com.sun.prism.impl.ps.CachingShapeRepState this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0  109     0          this  Lcom/sun/prism/impl/ps/CachingShapeRepState;
            0  109     1             g  Lcom/sun/prism/Graphics;
            0  109     2         shape  Lcom/sun/javafx/geom/Shape;
            0  109     3   shapeBounds  Lcom/sun/javafx/geom/RectBounds;
            0  109     4        stroke  Lcom/sun/prism/BasicStroke;
            1  109     5         xform  Lcom/sun/javafx/geom/transform/BaseTransform;
            4    5     6   doResetMask  Z
            7   13     6   doResetMask  Z
           15  109     6   doResetMask  Z
            3    5     7  doUpdateMask  Z
           12   13     7  doUpdateMask  Z
           14  109     7  doUpdateMask  Z
           29  109     8   xformBounds  Lcom/sun/javafx/geom/RectBounds;
           30  109     9    boundsCopy  Z
           51  109    10           bsg  Lcom/sun/prism/impl/ps/BaseShaderGraphics;
           52  109    11       context  Lcom/sun/prism/impl/ps/BaseShaderContext;
           65  109    12         paint  Lcom/sun/prism/paint/Paint;
           66  109    13            bx  F
           67  109    14            by  F
           68  109    15            bw  F
           69  109    16            bh  F
           81  109    17            mw  I
           82  109    18            mh  I
           83  109    19       maskTex  Lcom/sun/prism/Texture;
           84  109    20            tw  F
           85  109    21            th  F
           86  109    22           dx1  F
           87  109    23           dy1  F
           88  109    24           dx2  F
           89  109    25           dy2  F
           90  109    26           tx1  F
           91  109    27           ty1  F
           92  109    28           tx2  F
           93  109    29           ty2  F
           99  103    30        shader  Lcom/sun/prism/ps/Shader;
          100  103    31            vb  Lcom/sun/prism/impl/VertexBuffer;
          106  107    30            vb  Lcom/sun/prism/impl/VertexBuffer;
    MethodParameters:
             Name  Flags
      g            
      shape        
      shapeBounds  
      stroke       

  void dispose();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.prism.impl.ps.CachingShapeRepState this
         0: .line 594
            aload 0 /* this */
            invokevirtual com.sun.prism.impl.ps.CachingShapeRepState.invalidate:()V
         1: .line 595
            return
        end local 0 // com.sun.prism.impl.ps.CachingShapeRepState this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/prism/impl/ps/CachingShapeRepState;
}
SourceFile: "CachingShapeRep.java"
NestMembers:
  com.sun.prism.impl.ps.CachingShapeRepState$CSRDisposerRecord  com.sun.prism.impl.ps.CachingShapeRepState$CacheEntry  com.sun.prism.impl.ps.CachingShapeRepState$MaskCache  com.sun.prism.impl.ps.CachingShapeRepState$MaskTexData
InnerClasses:
  public abstract Record = com.sun.prism.impl.Disposer$Record of com.sun.prism.impl.Disposer
  public final MaskType = com.sun.prism.impl.ps.BaseShaderContext$MaskType of com.sun.prism.impl.ps.BaseShaderContext
  private CSRDisposerRecord = com.sun.prism.impl.ps.CachingShapeRepState$CSRDisposerRecord of com.sun.prism.impl.ps.CachingShapeRepState
  private CacheEntry = com.sun.prism.impl.ps.CachingShapeRepState$CacheEntry of com.sun.prism.impl.ps.CachingShapeRepState
  private MaskCache = com.sun.prism.impl.ps.CachingShapeRepState$MaskCache of com.sun.prism.impl.ps.CachingShapeRepState
  private MaskTexData = com.sun.prism.impl.ps.CachingShapeRepState$MaskTexData of com.sun.prism.impl.ps.CachingShapeRepState