class sun.java2d.xr.XRPMTransformedBlit extends sun.java2d.loops.TransformBlit
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: sun.java2d.xr.XRPMTransformedBlit
  super_class: sun.java2d.loops.TransformBlit
{
  public void <init>(sun.java2d.loops.SurfaceType, sun.java2d.loops.SurfaceType);
    descriptor: (Lsun/java2d/loops/SurfaceType;Lsun/java2d/loops/SurfaceType;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // sun.java2d.xr.XRPMTransformedBlit this
        start local 1 // sun.java2d.loops.SurfaceType srcType
        start local 2 // sun.java2d.loops.SurfaceType dstType
         0: .line 233
            aload 0 /* this */
            aload 1 /* srcType */
            getstatic sun.java2d.loops.CompositeType.AnyAlpha:Lsun/java2d/loops/CompositeType;
            aload 2 /* dstType */
            invokespecial sun.java2d.loops.TransformBlit.<init>:(Lsun/java2d/loops/SurfaceType;Lsun/java2d/loops/CompositeType;Lsun/java2d/loops/SurfaceType;)V
         1: .line 234
            return
        end local 2 // sun.java2d.loops.SurfaceType dstType
        end local 1 // sun.java2d.loops.SurfaceType srcType
        end local 0 // sun.java2d.xr.XRPMTransformedBlit this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lsun/java2d/xr/XRPMTransformedBlit;
            0    2     1  srcType  Lsun/java2d/loops/SurfaceType;
            0    2     2  dstType  Lsun/java2d/loops/SurfaceType;
    MethodParameters:
         Name  Flags
      srcType  
      dstType  

  public java.awt.Rectangle getCompositeBounds(java.awt.geom.AffineTransform, int, int, int, int);
    descriptor: (Ljava/awt/geom/AffineTransform;IIII)Ljava/awt/Rectangle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=15, args_size=6
        start local 0 // sun.java2d.xr.XRPMTransformedBlit this
        start local 1 // java.awt.geom.AffineTransform tr
        start local 2 // int dstx
        start local 3 // int dsty
        start local 4 // int width
        start local 5 // int height
         0: .line 243
            bipush 8
            newarray 7
            astore 6 /* compBounds */
        start local 6 // double[] compBounds
         1: .line 244
            aload 6 /* compBounds */
            iconst_0
            iload 2 /* dstx */
            i2d
            dastore
         2: .line 245
            aload 6 /* compBounds */
            iconst_1
            iload 3 /* dsty */
            i2d
            dastore
         3: .line 246
            aload 6 /* compBounds */
            iconst_2
            iload 2 /* dstx */
            iload 4 /* width */
            iadd
            i2d
            dastore
         4: .line 247
            aload 6 /* compBounds */
            iconst_3
            iload 3 /* dsty */
            i2d
            dastore
         5: .line 248
            aload 6 /* compBounds */
            iconst_4
            iload 2 /* dstx */
            iload 4 /* width */
            iadd
            i2d
            dastore
         6: .line 249
            aload 6 /* compBounds */
            iconst_5
            iload 3 /* dsty */
            iload 5 /* height */
            iadd
            i2d
            dastore
         7: .line 250
            aload 6 /* compBounds */
            bipush 6
            iload 2 /* dstx */
            i2d
            dastore
         8: .line 251
            aload 6 /* compBounds */
            bipush 7
            iload 3 /* dsty */
            iload 5 /* height */
            iadd
            i2d
            dastore
         9: .line 253
            aload 1 /* tr */
            aload 6 /* compBounds */
            iconst_0
            aload 6 /* compBounds */
            iconst_0
            iconst_4
            invokevirtual java.awt.geom.AffineTransform.transform:([DI[DII)V
        10: .line 255
            aload 6 /* compBounds */
            iconst_0
            daload
            aload 6 /* compBounds */
            iconst_2
            daload
            aload 6 /* compBounds */
            iconst_4
            daload
            aload 6 /* compBounds */
            bipush 6
            daload
            invokestatic java.lang.Math.min:(DD)D
            invokestatic java.lang.Math.min:(DD)D
            invokestatic java.lang.Math.min:(DD)D
            dstore 7 /* minX */
        start local 7 // double minX
        11: .line 256
            aload 6 /* compBounds */
            iconst_1
            daload
            aload 6 /* compBounds */
            iconst_3
            daload
            aload 6 /* compBounds */
            iconst_5
            daload
            aload 6 /* compBounds */
            bipush 7
            daload
            invokestatic java.lang.Math.min:(DD)D
            invokestatic java.lang.Math.min:(DD)D
            invokestatic java.lang.Math.min:(DD)D
            dstore 9 /* minY */
        start local 9 // double minY
        12: .line 257
            aload 6 /* compBounds */
            iconst_0
            daload
            aload 6 /* compBounds */
            iconst_2
            daload
            aload 6 /* compBounds */
            iconst_4
            daload
            aload 6 /* compBounds */
            bipush 6
            daload
            invokestatic java.lang.Math.max:(DD)D
            invokestatic java.lang.Math.max:(DD)D
            invokestatic java.lang.Math.max:(DD)D
            dstore 11 /* maxX */
        start local 11 // double maxX
        13: .line 258
            aload 6 /* compBounds */
            iconst_1
            daload
            aload 6 /* compBounds */
            iconst_3
            daload
            aload 6 /* compBounds */
            iconst_5
            daload
            aload 6 /* compBounds */
            bipush 7
            daload
            invokestatic java.lang.Math.max:(DD)D
            invokestatic java.lang.Math.max:(DD)D
            invokestatic java.lang.Math.max:(DD)D
            dstore 13 /* maxY */
        start local 13 // double maxY
        14: .line 260
            dload 7 /* minX */
            invokestatic java.lang.Math.floor:(D)D
            dstore 7 /* minX */
        15: .line 261
            dload 9 /* minY */
            invokestatic java.lang.Math.floor:(D)D
            dstore 9 /* minY */
        16: .line 262
            dload 11 /* maxX */
            invokestatic java.lang.Math.ceil:(D)D
            dstore 11 /* maxX */
        17: .line 263
            dload 13 /* maxY */
            invokestatic java.lang.Math.ceil:(D)D
            dstore 13 /* maxY */
        18: .line 265
            new java.awt.Rectangle
            dup
            dload 7 /* minX */
            d2i
            dload 9 /* minY */
            d2i
            dload 11 /* maxX */
            dload 7 /* minX */
            dsub
            d2i
            dload 13 /* maxY */
            dload 9 /* minY */
            dsub
            d2i
            invokespecial java.awt.Rectangle.<init>:(IIII)V
            areturn
        end local 13 // double maxY
        end local 11 // double maxX
        end local 9 // double minY
        end local 7 // double minX
        end local 6 // double[] compBounds
        end local 5 // int height
        end local 4 // int width
        end local 3 // int dsty
        end local 2 // int dstx
        end local 1 // java.awt.geom.AffineTransform tr
        end local 0 // sun.java2d.xr.XRPMTransformedBlit this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   19     0        this  Lsun/java2d/xr/XRPMTransformedBlit;
            0   19     1          tr  Ljava/awt/geom/AffineTransform;
            0   19     2        dstx  I
            0   19     3        dsty  I
            0   19     4       width  I
            0   19     5      height  I
            1   19     6  compBounds  [D
           11   19     7        minX  D
           12   19     9        minY  D
           13   19    11        maxX  D
           14   19    13        maxY  D
    MethodParameters:
        Name  Flags
      tr      
      dstx    
      dsty    
      width   
      height  

  public void Transform(sun.java2d.SurfaceData, sun.java2d.SurfaceData, java.awt.Composite, sun.java2d.pipe.Region, java.awt.geom.AffineTransform, int, int, int, int, int, int, int);
    descriptor: (Lsun/java2d/SurfaceData;Lsun/java2d/SurfaceData;Ljava/awt/Composite;Lsun/java2d/pipe/Region;Ljava/awt/geom/AffineTransform;IIIIIII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=13, locals=23, args_size=13
        start local 0 // sun.java2d.xr.XRPMTransformedBlit this
        start local 1 // sun.java2d.SurfaceData src
        start local 2 // sun.java2d.SurfaceData dst
        start local 3 // java.awt.Composite comp
        start local 4 // sun.java2d.pipe.Region clip
        start local 5 // java.awt.geom.AffineTransform xform
        start local 6 // int hint
        start local 7 // int srcx
        start local 8 // int srcy
        start local 9 // int dstx
        start local 10 // int dsty
        start local 11 // int width
        start local 12 // int height
         0: .line 271
            invokestatic sun.awt.SunToolkit.awtLock:()V
         1: .line 273
            iload 6 /* hint */
            invokestatic sun.java2d.xr.XRUtils.ATransOpToXRQuality:(I)I
            istore 13 /* filter */
        start local 13 // int filter
         2: .line 275
            aload 2 /* dst */
            checkcast sun.java2d.xr.XRSurfaceData
            astore 14 /* x11sdDst */
        start local 14 // sun.java2d.xr.XRSurfaceData x11sdDst
         3: .line 276
            aload 14 /* x11sdDst */
            aconst_null
            aload 4 /* clip */
            invokevirtual sun.java2d.xr.XRSurfaceData.validateAsDestination:(Lsun/java2d/SunGraphics2D;Lsun/java2d/pipe/Region;)V
         4: .line 277
            aload 1 /* src */
            checkcast sun.java2d.xr.XRSurfaceData
            astore 15 /* x11sdSrc */
        start local 15 // sun.java2d.xr.XRSurfaceData x11sdSrc
         5: .line 278
            aload 14 /* x11sdDst */
            getfield sun.java2d.xr.XRSurfaceData.maskBuffer:Lsun/java2d/xr/XRCompositeManager;
            aload 3 /* comp */
            aconst_null
            aconst_null
            aconst_null
            invokevirtual sun.java2d.xr.XRCompositeManager.validateCompositeState:(Ljava/awt/Composite;Ljava/awt/geom/AffineTransform;Ljava/awt/Paint;Lsun/java2d/SunGraphics2D;)V
         6: .line 280
            aload 0 /* this */
            aload 5 /* xform */
            iload 9 /* dstx */
            iload 10 /* dsty */
            iload 11 /* width */
            iload 12 /* height */
            invokevirtual sun.java2d.xr.XRPMTransformedBlit.getCompositeBounds:(Ljava/awt/geom/AffineTransform;IIII)Ljava/awt/Rectangle;
            astore 16 /* bounds */
        start local 16 // java.awt.Rectangle bounds
         7: .line 282
            aload 16 /* bounds */
            getfield java.awt.Rectangle.x:I
            ineg
            i2d
            aload 16 /* bounds */
            getfield java.awt.Rectangle.y:I
            ineg
            i2d
            invokestatic java.awt.geom.AffineTransform.getTranslateInstance:(DD)Ljava/awt/geom/AffineTransform;
            astore 17 /* trx */
        start local 17 // java.awt.geom.AffineTransform trx
         8: .line 283
            aload 17 /* trx */
            aload 5 /* xform */
            invokevirtual java.awt.geom.AffineTransform.concatenate:(Ljava/awt/geom/AffineTransform;)V
         9: .line 284
            aload 17 /* trx */
            invokevirtual java.awt.geom.AffineTransform.clone:()Ljava/lang/Object;
            checkcast java.awt.geom.AffineTransform
            astore 18 /* maskTX */
        start local 18 // java.awt.geom.AffineTransform maskTX
        10: .line 286
            aload 17 /* trx */
            iload 7 /* srcx */
            ineg
            i2d
            iload 8 /* srcy */
            ineg
            i2d
            invokevirtual java.awt.geom.AffineTransform.translate:(DD)V
        11: .line 289
            aload 17 /* trx */
            invokevirtual java.awt.geom.AffineTransform.invert:()V
        12: .line 290
            goto 16
      StackMap locals: sun.java2d.xr.XRPMTransformedBlit sun.java2d.SurfaceData sun.java2d.SurfaceData java.awt.Composite sun.java2d.pipe.Region java.awt.geom.AffineTransform int int int int int int int int sun.java2d.xr.XRSurfaceData sun.java2d.xr.XRSurfaceData java.awt.Rectangle java.awt.geom.AffineTransform java.awt.geom.AffineTransform
      StackMap stack: java.awt.geom.NoninvertibleTransformException
        13: pop
        14: .line 291
            aload 17 /* trx */
            invokevirtual java.awt.geom.AffineTransform.setToIdentity:()V
        15: .line 292
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc "Reseted to identity!"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        16: .line 295
      StackMap locals:
      StackMap stack:
            aload 17 /* trx */
            aload 3 /* comp */
            iload 13 /* filter */
            invokestatic sun.java2d.xr.XRPMTransformedBlit.isMaskOmittable:(Ljava/awt/geom/AffineTransform;Ljava/awt/Composite;I)Z
            istore 19 /* omitMask */
        start local 19 // boolean omitMask
        17: .line 297
            iload 19 /* omitMask */
            ifne 25
        18: .line 298
            aload 15 /* x11sdSrc */
            getfield sun.java2d.xr.XRSurfaceData.maskBuffer:Lsun/java2d/xr/XRCompositeManager;
            invokevirtual sun.java2d.xr.XRCompositeManager.getMaskImage:()Lsun/java2d/xr/XRMaskImage;
            astore 20 /* mask */
        start local 20 // sun.java2d.xr.XRMaskImage mask
        19: .line 300
            aload 15 /* x11sdSrc */
            aload 17 /* trx */
            iconst_2
            iload 13 /* filter */
            invokevirtual sun.java2d.xr.XRSurfaceData.validateAsSource:(Ljava/awt/geom/AffineTransform;II)V
        20: .line 301
            aload 20 /* mask */
            aload 14 /* x11sdDst */
            aload 18 /* maskTX */
            iload 11 /* width */
            iload 12 /* height */
            invokevirtual sun.java2d.xr.XRMaskImage.prepareBlitMask:(Lsun/java2d/xr/XRSurfaceData;Ljava/awt/geom/AffineTransform;II)I
            istore 21 /* maskPicture */
        start local 21 // int maskPicture
        21: .line 302
            aload 14 /* x11sdDst */
            getfield sun.java2d.xr.XRSurfaceData.maskBuffer:Lsun/java2d/xr/XRCompositeManager;
            getfield sun.java2d.xr.XRCompositeManager.con:Lsun/java2d/xr/XRBackend;
            aload 15 /* x11sdSrc */
            invokestatic sun.java2d.xr.XRCompositeManager.getInstance:(Lsun/java2d/xr/XRSurfaceData;)Lsun/java2d/xr/XRCompositeManager;
            invokevirtual sun.java2d.xr.XRCompositeManager.getCompRule:()B
            aload 15 /* x11sdSrc */
            getfield sun.java2d.xr.XRSurfaceData.picture:I
            iload 21 /* maskPicture */
            aload 14 /* x11sdDst */
            getfield sun.java2d.xr.XRSurfaceData.picture:I
        22: .line 303
            iconst_0
            iconst_0
            iconst_0
            iconst_0
            aload 16 /* bounds */
            getfield java.awt.Rectangle.x:I
            aload 16 /* bounds */
            getfield java.awt.Rectangle.y:I
            aload 16 /* bounds */
            getfield java.awt.Rectangle.width:I
            aload 16 /* bounds */
            getfield java.awt.Rectangle.height:I
        23: .line 302
            invokeinterface sun.java2d.xr.XRBackend.renderComposite:(BIIIIIIIIIII)V
        end local 21 // int maskPicture
        end local 20 // sun.java2d.xr.XRMaskImage mask
        24: .line 304
            goto 34
        25: .line 305
      StackMap locals: int
      StackMap stack:
            iload 13 /* filter */
            ifne 26
            iconst_0
            goto 27
      StackMap locals:
      StackMap stack:
        26: iconst_2
      StackMap locals:
      StackMap stack: int
        27: istore 20 /* repeat */
        start local 20 // int repeat
        28: .line 307
            aload 15 /* x11sdSrc */
            aload 17 /* trx */
            iload 20 /* repeat */
            iload 13 /* filter */
            invokevirtual sun.java2d.xr.XRSurfaceData.validateAsSource:(Ljava/awt/geom/AffineTransform;II)V
        29: .line 308
            aload 14 /* x11sdDst */
            getfield sun.java2d.xr.XRSurfaceData.maskBuffer:Lsun/java2d/xr/XRCompositeManager;
            aload 15 /* x11sdSrc */
            aload 14 /* x11sdDst */
            iconst_0
            iconst_0
            aload 16 /* bounds */
            getfield java.awt.Rectangle.x:I
            aload 16 /* bounds */
            getfield java.awt.Rectangle.y:I
            aload 16 /* bounds */
            getfield java.awt.Rectangle.width:I
            aload 16 /* bounds */
            getfield java.awt.Rectangle.height:I
            invokevirtual sun.java2d.xr.XRCompositeManager.compositeBlit:(Lsun/java2d/xr/XRSurfaceData;Lsun/java2d/xr/XRSurfaceData;IIIIII)V
        end local 20 // int repeat
        end local 19 // boolean omitMask
        end local 18 // java.awt.geom.AffineTransform maskTX
        end local 17 // java.awt.geom.AffineTransform trx
        end local 16 // java.awt.Rectangle bounds
        end local 15 // sun.java2d.xr.XRSurfaceData x11sdSrc
        end local 14 // sun.java2d.xr.XRSurfaceData x11sdDst
        end local 13 // int filter
        30: .line 310
            goto 34
      StackMap locals: sun.java2d.xr.XRPMTransformedBlit sun.java2d.SurfaceData sun.java2d.SurfaceData java.awt.Composite sun.java2d.pipe.Region java.awt.geom.AffineTransform int int int int int int int
      StackMap stack: java.lang.Throwable
        31: astore 22
        32: .line 311
            invokestatic sun.awt.SunToolkit.awtUnlock:()V
        33: .line 312
            aload 22
            athrow
        34: .line 311
      StackMap locals:
      StackMap stack:
            invokestatic sun.awt.SunToolkit.awtUnlock:()V
        35: .line 313
            return
        end local 12 // int height
        end local 11 // int width
        end local 10 // int dsty
        end local 9 // int dstx
        end local 8 // int srcy
        end local 7 // int srcx
        end local 6 // int hint
        end local 5 // java.awt.geom.AffineTransform xform
        end local 4 // sun.java2d.pipe.Region clip
        end local 3 // java.awt.Composite comp
        end local 2 // sun.java2d.SurfaceData dst
        end local 1 // sun.java2d.SurfaceData src
        end local 0 // sun.java2d.xr.XRPMTransformedBlit this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   36     0         this  Lsun/java2d/xr/XRPMTransformedBlit;
            0   36     1          src  Lsun/java2d/SurfaceData;
            0   36     2          dst  Lsun/java2d/SurfaceData;
            0   36     3         comp  Ljava/awt/Composite;
            0   36     4         clip  Lsun/java2d/pipe/Region;
            0   36     5        xform  Ljava/awt/geom/AffineTransform;
            0   36     6         hint  I
            0   36     7         srcx  I
            0   36     8         srcy  I
            0   36     9         dstx  I
            0   36    10         dsty  I
            0   36    11        width  I
            0   36    12       height  I
            2   30    13       filter  I
            3   30    14     x11sdDst  Lsun/java2d/xr/XRSurfaceData;
            5   30    15     x11sdSrc  Lsun/java2d/xr/XRSurfaceData;
            7   30    16       bounds  Ljava/awt/Rectangle;
            8   30    17          trx  Ljava/awt/geom/AffineTransform;
           10   30    18       maskTX  Ljava/awt/geom/AffineTransform;
           17   30    19     omitMask  Z
           19   24    20         mask  Lsun/java2d/xr/XRMaskImage;
           21   24    21  maskPicture  I
           28   30    20       repeat  I
      Exception table:
        from    to  target  type
          11    12      13  Class java.awt.geom.NoninvertibleTransformException
           0    31      31  any
    MethodParameters:
        Name  Flags
      src     
      dst     
      comp    
      clip    
      xform   
      hint    
      srcx    
      srcy    
      dstx    
      dsty    
      width   
      height  

  protected static boolean isMaskOmittable(java.awt.geom.AffineTransform, java.awt.Composite, int);
    descriptor: (Ljava/awt/geom/AffineTransform;Ljava/awt/Composite;I)Z
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.awt.geom.AffineTransform trx
        start local 1 // java.awt.Composite comp
        start local 2 // int filter
         0: .line 317
            iload 2 /* filter */
            ifeq 3
            aload 0 /* trx */
            invokevirtual java.awt.geom.AffineTransform.getTranslateX:()D
            aload 0 /* trx */
            invokevirtual java.awt.geom.AffineTransform.getTranslateX:()D
            d2i
            i2d
            dcmpl
            ifne 5
         1: .line 324
            aload 0 /* trx */
            invokevirtual java.awt.geom.AffineTransform.getTranslateY:()D
            aload 0 /* trx */
            invokevirtual java.awt.geom.AffineTransform.getTranslateY:()D
            d2i
            i2d
            dcmpl
            ifne 5
            aload 0 /* trx */
            invokevirtual java.awt.geom.AffineTransform.getShearX:()D
            dconst_0
            dcmpl
            ifne 2
            aload 0 /* trx */
            invokevirtual java.awt.geom.AffineTransform.getShearY:()D
            dconst_0
            dcmpl
            ifeq 3
         2: .line 327
      StackMap locals:
      StackMap stack:
            aload 0 /* trx */
            invokevirtual java.awt.geom.AffineTransform.getShearX:()D
            aload 0 /* trx */
            invokevirtual java.awt.geom.AffineTransform.getShearY:()D
            dneg
            dcmpl
            ifne 5
      StackMap locals:
      StackMap stack:
         3: aload 1 /* comp */
            checkcast java.awt.AlphaComposite
            invokevirtual java.awt.AlphaComposite.getAlpha:()F
            fconst_1
            fcmpl
            ifne 5
         4: .line 317
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         5: iconst_0
            ireturn
        end local 2 // int filter
        end local 1 // java.awt.Composite comp
        end local 0 // java.awt.geom.AffineTransform trx
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0     trx  Ljava/awt/geom/AffineTransform;
            0    6     1    comp  Ljava/awt/Composite;
            0    6     2  filter  I
    MethodParameters:
        Name  Flags
      trx     
      comp    
      filter  
}
SourceFile: "XRPMBlitLoops.java"