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
{
final java.awt.Rectangle compositeBounds;
descriptor: Ljava/awt/Rectangle;
flags: (0x0010) ACC_FINAL
final double[] srcCoords;
descriptor: [D
flags: (0x0010) ACC_FINAL
final double[] dstCoords;
descriptor: [D
flags: (0x0010) ACC_FINAL
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 start local 1 start local 2 0: aload 0
aload 1
getstatic sun.java2d.loops.CompositeType.AnyAlpha:Lsun/java2d/loops/CompositeType;
aload 2
invokespecial sun.java2d.loops.TransformBlit.<init>:(Lsun/java2d/loops/SurfaceType;Lsun/java2d/loops/CompositeType;Lsun/java2d/loops/SurfaceType;)V
1: aload 0
new java.awt.Rectangle
dup
invokespecial java.awt.Rectangle.<init>:()V
putfield sun.java2d.xr.XRPMTransformedBlit.compositeBounds:Ljava/awt/Rectangle;
2: aload 0
bipush 8
newarray 7
putfield sun.java2d.xr.XRPMTransformedBlit.srcCoords:[D
3: aload 0
bipush 8
newarray 7
putfield sun.java2d.xr.XRPMTransformedBlit.dstCoords:[D
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/java2d/xr/XRPMTransformedBlit;
0 5 1 srcType Lsun/java2d/loops/SurfaceType;
0 5 2 dstType Lsun/java2d/loops/SurfaceType;
MethodParameters:
Name Flags
srcType
dstType
protected void adjustCompositeBounds(boolean, java.awt.geom.AffineTransform, int, int, int, int);
descriptor: (ZLjava/awt/geom/AffineTransform;IIII)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=8, locals=15, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
getfield sun.java2d.xr.XRPMTransformedBlit.srcCoords:[D
iconst_0
iload 3
i2d
dastore
1: aload 0
getfield sun.java2d.xr.XRPMTransformedBlit.srcCoords:[D
iconst_1
iload 4
i2d
dastore
2: aload 0
getfield sun.java2d.xr.XRPMTransformedBlit.srcCoords:[D
iconst_2
iload 3
iload 5
iadd
i2d
dastore
3: aload 0
getfield sun.java2d.xr.XRPMTransformedBlit.srcCoords:[D
iconst_3
iload 4
iload 6
iadd
i2d
dastore
4: iload 1
ifeq 15
5: aload 2
aload 0
getfield sun.java2d.xr.XRPMTransformedBlit.srcCoords:[D
iconst_0
aload 0
getfield sun.java2d.xr.XRPMTransformedBlit.dstCoords:[D
iconst_0
iconst_2
invokevirtual java.awt.geom.AffineTransform.transform:([DI[DII)V
6: aload 0
getfield sun.java2d.xr.XRPMTransformedBlit.dstCoords:[D
iconst_0
daload
aload 0
getfield sun.java2d.xr.XRPMTransformedBlit.dstCoords:[D
iconst_2
daload
invokestatic java.lang.Math.min:(DD)D
dstore 7
start local 7 7: aload 0
getfield sun.java2d.xr.XRPMTransformedBlit.dstCoords:[D
iconst_1
daload
aload 0
getfield sun.java2d.xr.XRPMTransformedBlit.dstCoords:[D
iconst_3
daload
invokestatic java.lang.Math.min:(DD)D
dstore 9
start local 9 8: aload 0
getfield sun.java2d.xr.XRPMTransformedBlit.dstCoords:[D
iconst_0
daload
aload 0
getfield sun.java2d.xr.XRPMTransformedBlit.dstCoords:[D
iconst_2
daload
invokestatic java.lang.Math.max:(DD)D
dstore 11
start local 11 9: aload 0
getfield sun.java2d.xr.XRPMTransformedBlit.dstCoords:[D
iconst_1
daload
aload 0
getfield sun.java2d.xr.XRPMTransformedBlit.dstCoords:[D
iconst_3
daload
invokestatic java.lang.Math.max:(DD)D
dstore 13
start local 13 10: dload 7
ldc 0.5
dsub
invokestatic java.lang.Math.ceil:(D)D
dstore 7
11: dload 9
ldc 0.5
dsub
invokestatic java.lang.Math.ceil:(D)D
dstore 9
12: dload 11
ldc 0.5
dsub
invokestatic java.lang.Math.ceil:(D)D
dstore 11
13: dload 13
ldc 0.5
dsub
invokestatic java.lang.Math.ceil:(D)D
dstore 13
14: goto 28
end local 13 end local 11 end local 9 end local 7 15: StackMap locals:
StackMap stack:
aload 0
getfield sun.java2d.xr.XRPMTransformedBlit.srcCoords:[D
iconst_4
iload 3
i2d
dastore
16: aload 0
getfield sun.java2d.xr.XRPMTransformedBlit.srcCoords:[D
iconst_5
iload 4
iload 6
iadd
i2d
dastore
17: aload 0
getfield sun.java2d.xr.XRPMTransformedBlit.srcCoords:[D
bipush 6
iload 3
iload 5
iadd
i2d
dastore
18: aload 0
getfield sun.java2d.xr.XRPMTransformedBlit.srcCoords:[D
bipush 7
iload 4
i2d
dastore
19: aload 2
aload 0
getfield sun.java2d.xr.XRPMTransformedBlit.srcCoords:[D
iconst_0
aload 0
getfield sun.java2d.xr.XRPMTransformedBlit.dstCoords:[D
iconst_0
iconst_4
invokevirtual java.awt.geom.AffineTransform.transform:([DI[DII)V
20: aload 0
getfield sun.java2d.xr.XRPMTransformedBlit.dstCoords:[D
iconst_0
daload
aload 0
getfield sun.java2d.xr.XRPMTransformedBlit.dstCoords:[D
iconst_2
daload
aload 0
getfield sun.java2d.xr.XRPMTransformedBlit.dstCoords:[D
iconst_4
daload
aload 0
getfield sun.java2d.xr.XRPMTransformedBlit.dstCoords:[D
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
start local 7 21: aload 0
getfield sun.java2d.xr.XRPMTransformedBlit.dstCoords:[D
iconst_1
daload
aload 0
getfield sun.java2d.xr.XRPMTransformedBlit.dstCoords:[D
iconst_3
daload
aload 0
getfield sun.java2d.xr.XRPMTransformedBlit.dstCoords:[D
iconst_5
daload
aload 0
getfield sun.java2d.xr.XRPMTransformedBlit.dstCoords:[D
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
start local 9 22: aload 0
getfield sun.java2d.xr.XRPMTransformedBlit.dstCoords:[D
iconst_0
daload
aload 0
getfield sun.java2d.xr.XRPMTransformedBlit.dstCoords:[D
iconst_2
daload
aload 0
getfield sun.java2d.xr.XRPMTransformedBlit.dstCoords:[D
iconst_4
daload
aload 0
getfield sun.java2d.xr.XRPMTransformedBlit.dstCoords:[D
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
start local 11 23: aload 0
getfield sun.java2d.xr.XRPMTransformedBlit.dstCoords:[D
iconst_1
daload
aload 0
getfield sun.java2d.xr.XRPMTransformedBlit.dstCoords:[D
iconst_3
daload
aload 0
getfield sun.java2d.xr.XRPMTransformedBlit.dstCoords:[D
iconst_5
daload
aload 0
getfield sun.java2d.xr.XRPMTransformedBlit.dstCoords:[D
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
start local 13 24: dload 7
invokestatic java.lang.Math.floor:(D)D
dstore 7
25: dload 9
invokestatic java.lang.Math.floor:(D)D
dstore 9
26: dload 11
invokestatic java.lang.Math.ceil:(D)D
dstore 11
27: dload 13
invokestatic java.lang.Math.ceil:(D)D
dstore 13
28: StackMap locals: sun.java2d.xr.XRPMTransformedBlit int java.awt.geom.AffineTransform int int int int double double double double
StackMap stack:
aload 0
getfield sun.java2d.xr.XRPMTransformedBlit.compositeBounds:Ljava/awt/Rectangle;
dload 7
d2i
putfield java.awt.Rectangle.x:I
29: aload 0
getfield sun.java2d.xr.XRPMTransformedBlit.compositeBounds:Ljava/awt/Rectangle;
dload 9
d2i
putfield java.awt.Rectangle.y:I
30: aload 0
getfield sun.java2d.xr.XRPMTransformedBlit.compositeBounds:Ljava/awt/Rectangle;
dload 11
dload 7
dsub
d2i
putfield java.awt.Rectangle.width:I
31: aload 0
getfield sun.java2d.xr.XRPMTransformedBlit.compositeBounds:Ljava/awt/Rectangle;
dload 13
dload 9
dsub
d2i
putfield java.awt.Rectangle.height:I
32: return
end local 13 end local 11 end local 9 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lsun/java2d/xr/XRPMTransformedBlit;
0 33 1 isQuadrantRotated Z
0 33 2 tr Ljava/awt/geom/AffineTransform;
0 33 3 dstx I
0 33 4 dsty I
0 33 5 width I
0 33 6 height I
7 15 7 minX D
21 33 7 minX D
8 15 9 minY D
22 33 9 minY D
9 15 11 maxX D
23 33 11 maxX D
10 15 13 maxY D
24 33 13 maxY D
MethodParameters:
Name Flags
isQuadrantRotated
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=24, args_size=13
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 start local 10 start local 11 start local 12 0: invokestatic sun.awt.SunToolkit.awtLock:()V
1: aload 2
checkcast sun.java2d.xr.XRSurfaceData
astore 13
start local 13 2: aload 1
checkcast sun.java2d.xr.XRSurfaceData
astore 14
start local 14 3: aload 14
invokestatic sun.java2d.xr.XRCompositeManager.getInstance:(Lsun/java2d/xr/XRSurfaceData;)Lsun/java2d/xr/XRCompositeManager;
astore 15
start local 15 4: aload 3
checkcast java.awt.AlphaComposite
invokevirtual java.awt.AlphaComposite.getAlpha:()F
fstore 16
start local 16 5: iload 6
invokestatic sun.java2d.xr.XRUtils.ATransOpToXRQuality:(I)I
istore 17
start local 17 6: aload 5
invokestatic sun.java2d.xr.XRUtils.isTransformQuadrantRotated:(Ljava/awt/geom/AffineTransform;)Z
istore 18
start local 18 7: aload 0
iload 18
aload 5
iload 9
iload 10
iload 11
iload 12
invokevirtual sun.java2d.xr.XRPMTransformedBlit.adjustCompositeBounds:(ZLjava/awt/geom/AffineTransform;IIII)V
8: aload 13
aconst_null
aload 4
invokevirtual sun.java2d.xr.XRSurfaceData.validateAsDestination:(Lsun/java2d/SunGraphics2D;Lsun/java2d/pipe/Region;)V
9: aload 13
getfield sun.java2d.xr.XRSurfaceData.maskBuffer:Lsun/java2d/xr/XRCompositeManager;
aload 3
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
10: aload 0
getfield sun.java2d.xr.XRPMTransformedBlit.compositeBounds:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.x:I
ineg
i2d
aload 0
getfield sun.java2d.xr.XRPMTransformedBlit.compositeBounds:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.y:I
ineg
i2d
invokestatic java.awt.geom.AffineTransform.getTranslateInstance:(DD)Ljava/awt/geom/AffineTransform;
astore 19
start local 19 11: aload 19
aload 5
invokevirtual java.awt.geom.AffineTransform.concatenate:(Ljava/awt/geom/AffineTransform;)V
12: aload 19
invokevirtual java.awt.geom.AffineTransform.clone:()Ljava/lang/Object;
checkcast java.awt.geom.AffineTransform
astore 20
start local 20 13: aload 19
iload 7
ineg
i2d
iload 8
ineg
i2d
invokevirtual java.awt.geom.AffineTransform.translate:(DD)V
14: aload 19
invokevirtual java.awt.geom.AffineTransform.invert:()V
15: goto 18
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 sun.java2d.xr.XRSurfaceData sun.java2d.xr.XRSurfaceData sun.java2d.xr.XRCompositeManager float int int java.awt.geom.AffineTransform java.awt.geom.AffineTransform
StackMap stack: java.awt.geom.NoninvertibleTransformException
16: pop
17: aload 19
invokevirtual java.awt.geom.AffineTransform.setToIdentity:()V
18: StackMap locals:
StackMap stack:
iload 17
ifeq 29
iload 18
ifeq 19
fload 16
fconst_1
fcmpl
ifeq 29
19: StackMap locals:
StackMap stack:
aload 14
getfield sun.java2d.xr.XRSurfaceData.maskBuffer:Lsun/java2d/xr/XRCompositeManager;
invokevirtual sun.java2d.xr.XRCompositeManager.getMaskImage:()Lsun/java2d/xr/XRMaskImage;
astore 21
start local 21 20: iload 18
ifeq 21
aload 15
invokevirtual sun.java2d.xr.XRCompositeManager.getExtraAlphaMask:()I
goto 22
21: StackMap locals: sun.java2d.xr.XRMaskImage
StackMap stack:
aload 21
aload 13
aload 20
iload 11
iload 12
invokevirtual sun.java2d.xr.XRMaskImage.prepareBlitMask:(Lsun/java2d/xr/XRSurfaceData;Ljava/awt/geom/AffineTransform;II)I
22: StackMap locals:
StackMap stack: int
istore 22
start local 22 23: aload 14
aload 19
iconst_2
iload 17
invokevirtual sun.java2d.xr.XRSurfaceData.validateAsSource:(Ljava/awt/geom/AffineTransform;II)V
24: aload 13
getfield sun.java2d.xr.XRSurfaceData.maskBuffer:Lsun/java2d/xr/XRCompositeManager;
getfield sun.java2d.xr.XRCompositeManager.con:Lsun/java2d/xr/XRBackend;
aload 15
invokevirtual sun.java2d.xr.XRCompositeManager.getCompRule:()B
aload 14
getfield sun.java2d.xr.XRSurfaceData.picture:I
25: iload 22
aload 13
getfield sun.java2d.xr.XRSurfaceData.picture:I
iconst_0
iconst_0
iconst_0
iconst_0
aload 0
getfield sun.java2d.xr.XRPMTransformedBlit.compositeBounds:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.x:I
aload 0
getfield sun.java2d.xr.XRPMTransformedBlit.compositeBounds:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.y:I
26: aload 0
getfield sun.java2d.xr.XRPMTransformedBlit.compositeBounds:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.width:I
aload 0
getfield sun.java2d.xr.XRPMTransformedBlit.compositeBounds:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.height:I
27: invokeinterface sun.java2d.xr.XRBackend.renderComposite:(BIIIIIIIIIII)V
end local 22 end local 21 28: goto 40
29: StackMap locals:
StackMap stack:
iload 17
ifne 30
iconst_0
goto 31
StackMap locals:
StackMap stack:
30: iconst_2
StackMap locals:
StackMap stack: int
31: istore 21
start local 21 32: aload 14
aload 19
iload 21
iload 17
invokevirtual sun.java2d.xr.XRSurfaceData.validateAsSource:(Ljava/awt/geom/AffineTransform;II)V
33: aload 13
getfield sun.java2d.xr.XRSurfaceData.maskBuffer:Lsun/java2d/xr/XRCompositeManager;
aload 14
aload 13
iconst_0
iconst_0
aload 0
getfield sun.java2d.xr.XRPMTransformedBlit.compositeBounds:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.x:I
34: aload 0
getfield sun.java2d.xr.XRPMTransformedBlit.compositeBounds:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.y:I
aload 0
getfield sun.java2d.xr.XRPMTransformedBlit.compositeBounds:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.width:I
aload 0
getfield sun.java2d.xr.XRPMTransformedBlit.compositeBounds:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.height:I
35: invokevirtual sun.java2d.xr.XRCompositeManager.compositeBlit:(Lsun/java2d/xr/XRSurfaceData;Lsun/java2d/xr/XRSurfaceData;IIIIII)V
end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 36: goto 40
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
37: astore 23
38: invokestatic sun.awt.SunToolkit.awtUnlock:()V
39: aload 23
athrow
40: StackMap locals:
StackMap stack:
invokestatic sun.awt.SunToolkit.awtUnlock:()V
41: return
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 42 0 this Lsun/java2d/xr/XRPMTransformedBlit;
0 42 1 src Lsun/java2d/SurfaceData;
0 42 2 dst Lsun/java2d/SurfaceData;
0 42 3 comp Ljava/awt/Composite;
0 42 4 clip Lsun/java2d/pipe/Region;
0 42 5 xform Ljava/awt/geom/AffineTransform;
0 42 6 hint I
0 42 7 srcx I
0 42 8 srcy I
0 42 9 dstx I
0 42 10 dsty I
0 42 11 width I
0 42 12 height I
2 36 13 x11sdDst Lsun/java2d/xr/XRSurfaceData;
3 36 14 x11sdSrc Lsun/java2d/xr/XRSurfaceData;
4 36 15 xrMgr Lsun/java2d/xr/XRCompositeManager;
5 36 16 extraAlpha F
6 36 17 filter I
7 36 18 isQuadrantRotated Z
11 36 19 trx Ljava/awt/geom/AffineTransform;
13 36 20 maskTX Ljava/awt/geom/AffineTransform;
20 28 21 mask Lsun/java2d/xr/XRMaskImage;
23 28 22 maskPicture I
32 36 21 repeat I
Exception table:
from to target type
14 15 16 Class java.awt.geom.NoninvertibleTransformException
0 37 37 any
MethodParameters:
Name Flags
src
dst
comp
clip
xform
hint
srcx
srcy
dstx
dsty
width
height
}
SourceFile: "XRPMBlitLoops.java"