public class com.sun.prism.impl.shape.NativePiscesRasterizer implements com.sun.prism.impl.shape.ShapeRasterizer
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.prism.impl.shape.NativePiscesRasterizer
super_class: java.lang.Object
{
private static com.sun.prism.impl.shape.MaskData emptyData;
descriptor: Lcom/sun/prism/impl/shape/MaskData;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static final byte SEG_MOVETO;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final byte SEG_LINETO;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final byte SEG_QUADTO;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final byte SEG_CUBICTO;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private static final byte SEG_CLOSE;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private byte[] cachedMask;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private java.nio.ByteBuffer cachedBuffer;
descriptor: Ljava/nio/ByteBuffer;
flags: (0x0002) ACC_PRIVATE
private com.sun.prism.impl.shape.MaskData cachedData;
descriptor: Lcom/sun/prism/impl/shape/MaskData;
flags: (0x0002) ACC_PRIVATE
private int[] bounds;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private boolean lastAntialiasedShape;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean firstTimeAASetting;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=0, args_size=0
0: 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.NativePiscesRasterizer.emptyData:Lcom/sun/prism/impl/shape/MaskData;
1: invokedynamic run()Ljava/security/PrivilegedAction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
com/sun/prism/impl/shape/NativePiscesRasterizer.lambda$0()Ljava/lang/Void; (6)
()Ljava/lang/Void;
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
2: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_4
newarray 10
putfield com.sun.prism.impl.shape.NativePiscesRasterizer.bounds:[I
2: aload 0
iconst_1
putfield com.sun.prism.impl.shape.NativePiscesRasterizer.firstTimeAASetting:Z
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/prism/impl/shape/NativePiscesRasterizer;
static native void init(int, int);
descriptor: (II)V
flags: (0x0108) ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
subpixelLgPositionsX
subpixelLgPositionsY
static native void produceFillAlphas(float[], byte[], int, boolean, double, double, double, double, double, double, int[], byte[]);
descriptor: ([F[BIZDDDDDD[I[B)V
flags: (0x0108) ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
coords
commands
nsegs
nonzero
mxx
mxy
mxt
myx
myy
myt
bounds
mask
static native void produceStrokeAlphas(float[], byte[], int, float, int, int, float, float[], float, double, double, double, double, double, double, int[], byte[]);
descriptor: ([F[BIFIIF[FFDDDDDD[I[B)V
flags: (0x0108) ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
coords
commands
nsegs
lw
cap
join
mlimit
dashes
dashoff
mxx
mxy
mxt
myx
myy
myt
bounds
mask
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=23, locals=25, 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 com.sun.prism.impl.shape.NativePiscesRasterizer.firstTimeAASetting:Z
ifne 1
aload 0
getfield com.sun.prism.impl.shape.NativePiscesRasterizer.lastAntialiasedShape:Z
iload 6
if_icmpeq 7
1: StackMap locals:
StackMap stack:
iload 6
ifeq 2
iconst_3
goto 3
StackMap locals:
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: istore 7
start local 7 4: iload 7
iload 7
invokestatic com.sun.prism.impl.shape.NativePiscesRasterizer.init:(II)V
5: aload 0
iconst_0
putfield com.sun.prism.impl.shape.NativePiscesRasterizer.firstTimeAASetting:Z
6: aload 0
iload 6
putfield com.sun.prism.impl.shape.NativePiscesRasterizer.lastAntialiasedShape:Z
end local 7 7: StackMap locals:
StackMap stack:
aload 2
ifnull 10
aload 2
invokevirtual com.sun.prism.BasicStroke.getType:()I
ifeq 10
8: aload 2
aload 1
invokevirtual com.sun.prism.BasicStroke.createStrokedShape:(Lcom/sun/javafx/geom/Shape;)Lcom/sun/javafx/geom/Shape;
astore 1
9: aconst_null
astore 2
10: StackMap locals:
StackMap stack:
aload 3
ifnonnull 16
11: aload 2
ifnull 14
12: aload 2
aload 1
invokevirtual com.sun.prism.BasicStroke.createStrokedShape:(Lcom/sun/javafx/geom/Shape;)Lcom/sun/javafx/geom/Shape;
astore 1
13: aconst_null
astore 2
14: StackMap locals:
StackMap stack:
new com.sun.javafx.geom.RectBounds
dup
invokespecial com.sun.javafx.geom.RectBounds.<init>:()V
astore 3
15: aload 4
aload 1
invokevirtual com.sun.javafx.geom.Shape.getBounds:()Lcom/sun/javafx/geom/RectBounds;
aload 3
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
16: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.prism.impl.shape.NativePiscesRasterizer.bounds:[I
iconst_0
aload 3
invokevirtual com.sun.javafx.geom.RectBounds.getMinX:()F
f2d
invokestatic java.lang.Math.floor:(D)D
d2i
iastore
17: aload 0
getfield com.sun.prism.impl.shape.NativePiscesRasterizer.bounds:[I
iconst_1
aload 3
invokevirtual com.sun.javafx.geom.RectBounds.getMinY:()F
f2d
invokestatic java.lang.Math.floor:(D)D
d2i
iastore
18: aload 0
getfield com.sun.prism.impl.shape.NativePiscesRasterizer.bounds:[I
iconst_2
aload 3
invokevirtual com.sun.javafx.geom.RectBounds.getMaxX:()F
f2d
invokestatic java.lang.Math.ceil:(D)D
d2i
iastore
19: aload 0
getfield com.sun.prism.impl.shape.NativePiscesRasterizer.bounds:[I
iconst_3
aload 3
invokevirtual com.sun.javafx.geom.RectBounds.getMaxY:()F
f2d
invokestatic java.lang.Math.ceil:(D)D
d2i
iastore
20: aload 0
getfield com.sun.prism.impl.shape.NativePiscesRasterizer.bounds:[I
iconst_2
iaload
aload 0
getfield com.sun.prism.impl.shape.NativePiscesRasterizer.bounds:[I
iconst_0
iaload
if_icmple 21
aload 0
getfield com.sun.prism.impl.shape.NativePiscesRasterizer.bounds:[I
iconst_3
iaload
aload 0
getfield com.sun.prism.impl.shape.NativePiscesRasterizer.bounds:[I
iconst_1
iaload
if_icmpgt 22
21: StackMap locals:
StackMap stack:
getstatic com.sun.prism.impl.shape.NativePiscesRasterizer.emptyData:Lcom/sun/prism/impl/shape/MaskData;
areturn
22: StackMap locals:
StackMap stack:
aload 1
instanceof com.sun.javafx.geom.Path2D
ifeq 23
aload 1
checkcast com.sun.javafx.geom.Path2D
goto 24
StackMap locals:
StackMap stack:
23: new com.sun.javafx.geom.Path2D
dup
aload 1
invokespecial com.sun.javafx.geom.Path2D.<init>:(Lcom/sun/javafx/geom/Shape;)V
StackMap locals:
StackMap stack: com.sun.javafx.geom.Path2D
24: astore 7
start local 7 25: aload 4
ifnull 26
aload 4
invokevirtual com.sun.javafx.geom.transform.BaseTransform.isIdentity:()Z
ifeq 33
26: StackMap locals: com.sun.javafx.geom.Path2D
StackMap stack:
dconst_1
dup2
dstore 16
start local 16 27: dstore 8
start local 8 28: dconst_0
dup2
dstore 14
start local 14 29: dstore 10
start local 10 30: dconst_0
dup2
dstore 18
start local 18 31: dstore 12
start local 12 32: goto 39
end local 18 end local 16 end local 14 end local 12 end local 10 end local 8 33: StackMap locals:
StackMap stack:
aload 4
invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMxx:()D
dstore 8
start local 8 34: aload 4
invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMxy:()D
dstore 10
start local 10 35: aload 4
invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMxt:()D
dstore 12
start local 12 36: aload 4
invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMyx:()D
dstore 14
start local 14 37: aload 4
invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMyy:()D
dstore 16
start local 16 38: aload 4
invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMyt:()D
dstore 18
start local 18 39: StackMap locals: com.sun.prism.impl.shape.NativePiscesRasterizer com.sun.javafx.geom.Shape com.sun.prism.BasicStroke com.sun.javafx.geom.RectBounds com.sun.javafx.geom.transform.BaseTransform int int com.sun.javafx.geom.Path2D double double double double double double
StackMap stack:
aload 0
getfield com.sun.prism.impl.shape.NativePiscesRasterizer.bounds:[I
iconst_0
iaload
istore 20
start local 20 40: aload 0
getfield com.sun.prism.impl.shape.NativePiscesRasterizer.bounds:[I
iconst_1
iaload
istore 21
start local 21 41: aload 0
getfield com.sun.prism.impl.shape.NativePiscesRasterizer.bounds:[I
iconst_2
iaload
iload 20
isub
istore 22
start local 22 42: aload 0
getfield com.sun.prism.impl.shape.NativePiscesRasterizer.bounds:[I
iconst_3
iaload
iload 21
isub
istore 23
start local 23 43: iload 22
ifle 44
iload 23
ifgt 45
44: StackMap locals: com.sun.prism.impl.shape.NativePiscesRasterizer com.sun.javafx.geom.Shape com.sun.prism.BasicStroke com.sun.javafx.geom.RectBounds com.sun.javafx.geom.transform.BaseTransform int int com.sun.javafx.geom.Path2D double double double double double double int int int int
StackMap stack:
getstatic com.sun.prism.impl.shape.NativePiscesRasterizer.emptyData:Lcom/sun/prism/impl/shape/MaskData;
areturn
45: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.prism.impl.shape.NativePiscesRasterizer.cachedMask:[B
ifnull 46
iload 22
iload 23
imul
aload 0
getfield com.sun.prism.impl.shape.NativePiscesRasterizer.cachedMask:[B
arraylength
if_icmple 52
46: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield com.sun.prism.impl.shape.NativePiscesRasterizer.cachedMask:[B
47: aload 0
aconst_null
putfield com.sun.prism.impl.shape.NativePiscesRasterizer.cachedBuffer:Ljava/nio/ByteBuffer;
48: aload 0
new com.sun.prism.impl.shape.MaskData
dup
invokespecial com.sun.prism.impl.shape.MaskData.<init>:()V
putfield com.sun.prism.impl.shape.NativePiscesRasterizer.cachedData:Lcom/sun/prism/impl/shape/MaskData;
49: iload 22
iload 23
imul
sipush 4095
iadd
sipush -4096
iand
istore 24
start local 24 50: aload 0
iload 24
newarray 8
putfield com.sun.prism.impl.shape.NativePiscesRasterizer.cachedMask:[B
51: aload 0
aload 0
getfield com.sun.prism.impl.shape.NativePiscesRasterizer.cachedMask:[B
invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
putfield com.sun.prism.impl.shape.NativePiscesRasterizer.cachedBuffer:Ljava/nio/ByteBuffer;
end local 24 52: StackMap locals:
StackMap stack:
aload 2
ifnull 63
53: aload 7
invokevirtual com.sun.javafx.geom.Path2D.getFloatCoordsNoClone:()[F
54: aload 7
invokevirtual com.sun.javafx.geom.Path2D.getCommandsNoClone:()[B
55: aload 7
invokevirtual com.sun.javafx.geom.Path2D.getNumCommands:()I
56: aload 2
invokevirtual com.sun.prism.BasicStroke.getLineWidth:()F
aload 2
invokevirtual com.sun.prism.BasicStroke.getEndCap:()I
57: aload 2
invokevirtual com.sun.prism.BasicStroke.getLineJoin:()I
aload 2
invokevirtual com.sun.prism.BasicStroke.getMiterLimit:()F
58: aload 2
invokevirtual com.sun.prism.BasicStroke.getDashArray:()[F
aload 2
invokevirtual com.sun.prism.BasicStroke.getDashPhase:()F
59: dload 8
dload 10
dload 12
dload 14
dload 16
dload 18
60: aload 0
getfield com.sun.prism.impl.shape.NativePiscesRasterizer.bounds:[I
aload 0
getfield com.sun.prism.impl.shape.NativePiscesRasterizer.cachedMask:[B
61: invokestatic com.sun.prism.impl.shape.NativePiscesRasterizer.produceStrokeAlphas:([F[BIFIIF[FFDDDDDD[I[B)V
62: goto 78
63: StackMap locals:
StackMap stack:
aload 7
invokevirtual com.sun.javafx.geom.Path2D.getFloatCoordsNoClone:()[F
64: aload 7
invokevirtual com.sun.javafx.geom.Path2D.getCommandsNoClone:()[B
65: aload 7
invokevirtual com.sun.javafx.geom.Path2D.getNumCommands:()I
aload 7
invokevirtual com.sun.javafx.geom.Path2D.getWindingRule:()I
iconst_1
if_icmpne 66
iconst_1
goto 67
StackMap locals: com.sun.prism.impl.shape.NativePiscesRasterizer com.sun.javafx.geom.Shape com.sun.prism.BasicStroke com.sun.javafx.geom.RectBounds com.sun.javafx.geom.transform.BaseTransform int int com.sun.javafx.geom.Path2D double double double double double double int int int int
StackMap stack: float[] byte[] int
66: iconst_0
67: StackMap locals: com.sun.prism.impl.shape.NativePiscesRasterizer com.sun.javafx.geom.Shape com.sun.prism.BasicStroke com.sun.javafx.geom.RectBounds com.sun.javafx.geom.transform.BaseTransform int int com.sun.javafx.geom.Path2D double double double double double double int int int int
StackMap stack: float[] byte[] int int
dload 8
dload 10
dload 12
dload 14
dload 16
dload 18
68: aload 0
getfield com.sun.prism.impl.shape.NativePiscesRasterizer.bounds:[I
aload 0
getfield com.sun.prism.impl.shape.NativePiscesRasterizer.cachedMask:[B
69: invokestatic com.sun.prism.impl.shape.NativePiscesRasterizer.produceFillAlphas:([F[BIZDDDDDD[I[B)V
70: goto 78
StackMap locals:
StackMap stack: java.lang.Throwable
71: astore 24
start local 24 72: getstatic com.sun.prism.impl.PrismSettings.verbose:Z
ifeq 74
73: aload 24
invokevirtual java.lang.Throwable.printStackTrace:()V
74: StackMap locals: java.lang.Throwable
StackMap stack:
invokestatic com.sun.javafx.util.Logging.getJavaFXLogger:()Lcom/sun/javafx/logging/PlatformLogger;
new java.lang.StringBuilder
dup
ldc "Cannot rasterize Shape: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
75: aload 24
invokevirtual java.lang.Throwable.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
76: invokevirtual com.sun.javafx.logging.PlatformLogger.warning:(Ljava/lang/String;)V
77: getstatic com.sun.prism.impl.shape.NativePiscesRasterizer.emptyData:Lcom/sun/prism/impl/shape/MaskData;
areturn
end local 24 78: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.prism.impl.shape.NativePiscesRasterizer.bounds:[I
iconst_0
iaload
istore 20
79: aload 0
getfield com.sun.prism.impl.shape.NativePiscesRasterizer.bounds:[I
iconst_1
iaload
istore 21
80: aload 0
getfield com.sun.prism.impl.shape.NativePiscesRasterizer.bounds:[I
iconst_2
iaload
iload 20
isub
istore 22
81: aload 0
getfield com.sun.prism.impl.shape.NativePiscesRasterizer.bounds:[I
iconst_3
iaload
iload 21
isub
istore 23
82: iload 22
ifle 83
iload 23
ifgt 84
83: StackMap locals:
StackMap stack:
getstatic com.sun.prism.impl.shape.NativePiscesRasterizer.emptyData:Lcom/sun/prism/impl/shape/MaskData;
areturn
84: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.prism.impl.shape.NativePiscesRasterizer.cachedData:Lcom/sun/prism/impl/shape/MaskData;
aload 0
getfield com.sun.prism.impl.shape.NativePiscesRasterizer.cachedBuffer:Ljava/nio/ByteBuffer;
iload 20
iload 21
iload 22
iload 23
invokevirtual com.sun.prism.impl.shape.MaskData.update:(Ljava/nio/ByteBuffer;IIII)V
85: aload 0
getfield com.sun.prism.impl.shape.NativePiscesRasterizer.cachedData:Lcom/sun/prism/impl/shape/MaskData;
areturn
end local 23 end local 22 end local 21 end local 20 end local 18 end local 16 end local 14 end local 12 end local 10 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 86 0 this Lcom/sun/prism/impl/shape/NativePiscesRasterizer;
0 86 1 shape Lcom/sun/javafx/geom/Shape;
0 86 2 stroke Lcom/sun/prism/BasicStroke;
0 86 3 xformBounds Lcom/sun/javafx/geom/RectBounds;
0 86 4 xform Lcom/sun/javafx/geom/transform/BaseTransform;
0 86 5 close Z
0 86 6 antialiasedShape Z
4 7 7 subpixelLgPositions I
25 86 7 p2d Lcom/sun/javafx/geom/Path2D;
28 33 8 mxx D
34 86 8 mxx D
30 33 10 mxy D
35 86 10 mxy D
32 33 12 mxt D
36 86 12 mxt D
29 33 14 myx D
37 86 14 myx D
27 33 16 myy D
38 86 16 myy D
31 33 18 myt D
39 86 18 myt D
40 86 20 x I
41 86 21 y I
42 86 22 w I
43 86 23 h I
50 52 24 csize I
72 78 24 ex Ljava/lang/Throwable;
Exception table:
from to target type
52 70 71 Class java.lang.Throwable
MethodParameters:
Name Flags
shape
stroke
xformBounds
xform
close
antialiasedShape
private static java.lang.Void lambda$0();
descriptor: ()Ljava/lang/Void;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=0
0: ldc "prism_common"
astore 0
start local 0 1: getstatic com.sun.prism.impl.PrismSettings.verbose:Z
ifeq 3
2: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Loading Prism common native library ..."
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
3: StackMap locals: java.lang.String
StackMap stack:
aload 0
invokestatic com.sun.glass.utils.NativeLibLoader.loadLibrary:(Ljava/lang/String;)V
4: getstatic com.sun.prism.impl.PrismSettings.verbose:Z
ifeq 6
5: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "\tsucceeded."
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
6: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 7 0 libName Ljava/lang/String;
}
SourceFile: "NativePiscesRasterizer.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles