final class sun.java2d.pisces.Renderer implements sun.awt.geom.PathConsumer2D
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.java2d.pisces.Renderer
super_class: java.lang.Object
{
private static final int YMAX;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int CURX;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int OR;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int SLOPE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private static final int NEXT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private float edgeMinY;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private float edgeMaxY;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private float edgeMinX;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private float edgeMaxX;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private static final int SIZEOF_EDGE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 5
private static final int NULL;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -5
private float[] edges;
descriptor: [F
flags: (0x0002) ACC_PRIVATE
private static final int INIT_NUM_EDGES;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8
private int[] edgeBuckets;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private int[] edgeBucketCounts;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private int numEdges;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private static final float DEC_BND;
descriptor: F
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 20.0
private static final float INC_BND;
descriptor: F
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8.0
public static final int WIND_EVEN_ODD;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 0
public static final int WIND_NON_ZERO;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private final int SUBPIXEL_LG_POSITIONS_X;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int SUBPIXEL_LG_POSITIONS_Y;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int SUBPIXEL_POSITIONS_X;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int SUBPIXEL_POSITIONS_Y;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int SUBPIXEL_MASK_X;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int SUBPIXEL_MASK_Y;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
final int MAX_AA_ALPHA;
descriptor: I
flags: (0x0010) ACC_FINAL
sun.java2d.pisces.PiscesCache cache;
descriptor: Lsun/java2d/pisces/PiscesCache;
flags: (0x0000)
private final int boundsMinX;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int boundsMinY;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int boundsMaxX;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int boundsMaxY;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int windingRule;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private float x0;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private float y0;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private float pix_sx0;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private float pix_sy0;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private sun.java2d.pisces.Curve c;
descriptor: Lsun/java2d/pisces/Curve;
flags: (0x0002) ACC_PRIVATE
private void addEdgeToBucket(int, int);
descriptor: (II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 // sun.java2d.pisces.Renderer this
start local 1 // int eptr
start local 2 // int bucket
0: .line 162
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.edges:[F
iload 1 /* eptr */
iconst_4
iadd
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.edgeBuckets:[I
iload 2 /* bucket */
iaload
i2f
fastore
1: .line 163
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.edgeBuckets:[I
iload 2 /* bucket */
iload 1 /* eptr */
iastore
2: .line 164
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.edgeBucketCounts:[I
iload 2 /* bucket */
dup2
iaload
iconst_2
iadd
iastore
3: .line 165
return
end local 2 // int bucket
end local 1 // int eptr
end local 0 // sun.java2d.pisces.Renderer this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/java2d/pisces/Renderer;
0 4 1 eptr I
0 4 2 bucket I
MethodParameters:
Name Flags
eptr final
bucket final
private void quadBreakIntoLinesAndAdd(float, float, sun.java2d.pisces.Curve, float, float);
descriptor: (FFLsun/java2d/pisces/Curve;FF)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=15, args_size=6
start local 0 // sun.java2d.pisces.Renderer this
start local 1 // float x0
start local 2 // float y0
start local 3 // sun.java2d.pisces.Curve c
start local 4 // float x2
start local 5 // float y2
0: .line 176
bipush 16
istore 6 /* count */
start local 6 // int count
1: .line 177
iload 6 /* count */
iload 6 /* count */
imul
istore 7 /* countsq */
start local 7 // int countsq
2: .line 178
aload 3 /* c */
getfield sun.java2d.pisces.Curve.dbx:F
iload 7 /* countsq */
i2f
fdiv
aload 3 /* c */
getfield sun.java2d.pisces.Curve.dby:F
iload 7 /* countsq */
i2f
fdiv
invokestatic java.lang.Math.max:(FF)F
fstore 8 /* maxDD */
start local 8 // float maxDD
3: .line 179
goto 6
4: .line 180
StackMap locals: int int float
StackMap stack:
fload 8 /* maxDD */
ldc 4.0
fdiv
fstore 8 /* maxDD */
5: .line 181
iload 6 /* count */
iconst_1
ishl
istore 6 /* count */
6: .line 179
StackMap locals:
StackMap stack:
fload 8 /* maxDD */
ldc 32.0
fcmpl
ifgt 4
7: .line 184
iload 6 /* count */
iload 6 /* count */
imul
istore 7 /* countsq */
8: .line 185
aload 3 /* c */
getfield sun.java2d.pisces.Curve.dbx:F
iload 7 /* countsq */
i2f
fdiv
fstore 9 /* ddx */
start local 9 // float ddx
9: .line 186
aload 3 /* c */
getfield sun.java2d.pisces.Curve.dby:F
iload 7 /* countsq */
i2f
fdiv
fstore 10 /* ddy */
start local 10 // float ddy
10: .line 187
aload 3 /* c */
getfield sun.java2d.pisces.Curve.bx:F
iload 7 /* countsq */
i2f
fdiv
aload 3 /* c */
getfield sun.java2d.pisces.Curve.cx:F
iload 6 /* count */
i2f
fdiv
fadd
fstore 11 /* dx */
start local 11 // float dx
11: .line 188
aload 3 /* c */
getfield sun.java2d.pisces.Curve.by:F
iload 7 /* countsq */
i2f
fdiv
aload 3 /* c */
getfield sun.java2d.pisces.Curve.cy:F
iload 6 /* count */
i2f
fdiv
fadd
fstore 12 /* dy */
start local 12 // float dy
12: .line 190
goto 20
13: .line 191
StackMap locals: sun.java2d.pisces.Renderer float float sun.java2d.pisces.Curve float float int int float float float float float
StackMap stack:
fload 1 /* x0 */
fload 11 /* dx */
fadd
fstore 13 /* x1 */
start local 13 // float x1
14: .line 192
fload 11 /* dx */
fload 9 /* ddx */
fadd
fstore 11 /* dx */
15: .line 193
fload 2 /* y0 */
fload 12 /* dy */
fadd
fstore 14 /* y1 */
start local 14 // float y1
16: .line 194
fload 12 /* dy */
fload 10 /* ddy */
fadd
fstore 12 /* dy */
17: .line 195
aload 0 /* this */
fload 1 /* x0 */
fload 2 /* y0 */
fload 13 /* x1 */
fload 14 /* y1 */
invokevirtual sun.java2d.pisces.Renderer.addLine:(FFFF)V
18: .line 196
fload 13 /* x1 */
fstore 1 /* x0 */
19: .line 197
fload 14 /* y1 */
fstore 2 /* y0 */
end local 14 // float y1
end local 13 // float x1
20: .line 190
StackMap locals:
StackMap stack:
iload 6 /* count */
iinc 6 /* count */ -1
iconst_1
if_icmpgt 13
21: .line 199
aload 0 /* this */
fload 1 /* x0 */
fload 2 /* y0 */
fload 4 /* x2 */
fload 5 /* y2 */
invokevirtual sun.java2d.pisces.Renderer.addLine:(FFFF)V
22: .line 200
return
end local 12 // float dy
end local 11 // float dx
end local 10 // float ddy
end local 9 // float ddx
end local 8 // float maxDD
end local 7 // int countsq
end local 6 // int count
end local 5 // float y2
end local 4 // float x2
end local 3 // sun.java2d.pisces.Curve c
end local 2 // float y0
end local 1 // float x0
end local 0 // sun.java2d.pisces.Renderer this
LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lsun/java2d/pisces/Renderer;
0 23 1 x0 F
0 23 2 y0 F
0 23 3 c Lsun/java2d/pisces/Curve;
0 23 4 x2 F
0 23 5 y2 F
1 23 6 count I
2 23 7 countsq I
3 23 8 maxDD F
9 23 9 ddx F
10 23 10 ddy F
11 23 11 dx F
12 23 12 dy F
14 20 13 x1 F
16 20 14 y1 F
MethodParameters:
Name Flags
x0
y0
c final
x2 final
y2 final
private void curveBreakIntoLinesAndAdd(float, float, sun.java2d.pisces.Curve, float, float);
descriptor: (FFLsun/java2d/pisces/Curve;FF)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=15, args_size=6
start local 0 // sun.java2d.pisces.Renderer this
start local 1 // float x0
start local 2 // float y0
start local 3 // sun.java2d.pisces.Curve c
start local 4 // float x3
start local 5 // float y3
0: .line 212
bipush 8
istore 6 /* count */
start local 6 // int count
1: .line 217
fconst_2
aload 3 /* c */
getfield sun.java2d.pisces.Curve.dax:F
fmul
ldc 512.0
fdiv
fstore 7 /* dddx */
start local 7 // float dddx
2: .line 218
fconst_2
aload 3 /* c */
getfield sun.java2d.pisces.Curve.day:F
fmul
ldc 512.0
fdiv
fstore 8 /* dddy */
start local 8 // float dddy
3: .line 220
fload 7 /* dddx */
aload 3 /* c */
getfield sun.java2d.pisces.Curve.dbx:F
ldc 64.0
fdiv
fadd
fstore 9 /* ddx */
start local 9 // float ddx
4: .line 221
fload 8 /* dddy */
aload 3 /* c */
getfield sun.java2d.pisces.Curve.dby:F
ldc 64.0
fdiv
fadd
fstore 10 /* ddy */
start local 10 // float ddy
5: .line 222
aload 3 /* c */
getfield sun.java2d.pisces.Curve.ax:F
ldc 512.0
fdiv
aload 3 /* c */
getfield sun.java2d.pisces.Curve.bx:F
ldc 64.0
fdiv
fadd
aload 3 /* c */
getfield sun.java2d.pisces.Curve.cx:F
ldc 8.0
fdiv
fadd
fstore 11 /* dx */
start local 11 // float dx
6: .line 223
aload 3 /* c */
getfield sun.java2d.pisces.Curve.ay:F
ldc 512.0
fdiv
aload 3 /* c */
getfield sun.java2d.pisces.Curve.by:F
ldc 64.0
fdiv
fadd
aload 3 /* c */
getfield sun.java2d.pisces.Curve.cy:F
ldc 8.0
fdiv
fadd
fstore 12 /* dy */
start local 12 // float dy
7: .line 226
fload 1 /* x0 */
fstore 13 /* x1 */
start local 13 // float x1
8: fload 2 /* y0 */
fstore 14 /* y1 */
start local 14 // float y1
9: .line 227
goto 41
10: .line 229
StackMap locals: sun.java2d.pisces.Renderer float float sun.java2d.pisces.Curve float float int float float float float float float float float
StackMap stack:
fload 7 /* dddx */
ldc 8.0
fdiv
fstore 7 /* dddx */
11: .line 230
fload 8 /* dddy */
ldc 8.0
fdiv
fstore 8 /* dddy */
12: .line 231
fload 9 /* ddx */
ldc 4.0
fdiv
fload 7 /* dddx */
fsub
fstore 9 /* ddx */
13: .line 232
fload 10 /* ddy */
ldc 4.0
fdiv
fload 8 /* dddy */
fsub
fstore 10 /* ddy */
14: .line 233
fload 11 /* dx */
fload 9 /* ddx */
fsub
fconst_2
fdiv
fstore 11 /* dx */
15: .line 234
fload 12 /* dy */
fload 10 /* ddy */
fsub
fconst_2
fdiv
fstore 12 /* dy */
16: .line 235
iload 6 /* count */
iconst_1
ishl
istore 6 /* count */
17: .line 228
StackMap locals:
StackMap stack:
fload 9 /* ddx */
invokestatic java.lang.Math.abs:(F)F
ldc 20.0
fcmpl
ifgt 10
fload 10 /* ddy */
invokestatic java.lang.Math.abs:(F)F
ldc 20.0
fcmpl
ifgt 10
18: .line 238
goto 26
19: .line 239
StackMap locals:
StackMap stack:
fconst_2
fload 11 /* dx */
fmul
fload 9 /* ddx */
fadd
fstore 11 /* dx */
20: .line 240
fconst_2
fload 12 /* dy */
fmul
fload 10 /* ddy */
fadd
fstore 12 /* dy */
21: .line 241
ldc 4.0
fload 9 /* ddx */
fload 7 /* dddx */
fadd
fmul
fstore 9 /* ddx */
22: .line 242
ldc 4.0
fload 10 /* ddy */
fload 8 /* dddy */
fadd
fmul
fstore 10 /* ddy */
23: .line 243
fload 7 /* dddx */
ldc 8.0
fmul
fstore 7 /* dddx */
24: .line 244
fload 8 /* dddy */
ldc 8.0
fmul
fstore 8 /* dddy */
25: .line 245
iload 6 /* count */
iconst_1
ishr
istore 6 /* count */
26: .line 238
StackMap locals:
StackMap stack:
iload 6 /* count */
iconst_2
irem
ifne 27
fload 11 /* dx */
invokestatic java.lang.Math.abs:(F)F
ldc 8.0
fcmpg
ifgt 27
fload 12 /* dy */
invokestatic java.lang.Math.abs:(F)F
ldc 8.0
fcmpg
ifle 19
27: .line 247
StackMap locals:
StackMap stack:
iinc 6 /* count */ -1
28: .line 248
iload 6 /* count */
ifle 36
29: .line 249
fload 13 /* x1 */
fload 11 /* dx */
fadd
fstore 13 /* x1 */
30: .line 250
fload 11 /* dx */
fload 9 /* ddx */
fadd
fstore 11 /* dx */
31: .line 251
fload 9 /* ddx */
fload 7 /* dddx */
fadd
fstore 9 /* ddx */
32: .line 252
fload 14 /* y1 */
fload 12 /* dy */
fadd
fstore 14 /* y1 */
33: .line 253
fload 12 /* dy */
fload 10 /* ddy */
fadd
fstore 12 /* dy */
34: .line 254
fload 10 /* ddy */
fload 8 /* dddy */
fadd
fstore 10 /* ddy */
35: .line 255
goto 38
36: .line 256
StackMap locals:
StackMap stack:
fload 4 /* x3 */
fstore 13 /* x1 */
37: .line 257
fload 5 /* y3 */
fstore 14 /* y1 */
38: .line 259
StackMap locals:
StackMap stack:
aload 0 /* this */
fload 1 /* x0 */
fload 2 /* y0 */
fload 13 /* x1 */
fload 14 /* y1 */
invokevirtual sun.java2d.pisces.Renderer.addLine:(FFFF)V
39: .line 260
fload 13 /* x1 */
fstore 1 /* x0 */
40: .line 261
fload 14 /* y1 */
fstore 2 /* y0 */
41: .line 227
StackMap locals:
StackMap stack:
iload 6 /* count */
ifgt 17
42: .line 263
return
end local 14 // float y1
end local 13 // float x1
end local 12 // float dy
end local 11 // float dx
end local 10 // float ddy
end local 9 // float ddx
end local 8 // float dddy
end local 7 // float dddx
end local 6 // int count
end local 5 // float y3
end local 4 // float x3
end local 3 // sun.java2d.pisces.Curve c
end local 2 // float y0
end local 1 // float x0
end local 0 // sun.java2d.pisces.Renderer this
LocalVariableTable:
Start End Slot Name Signature
0 43 0 this Lsun/java2d/pisces/Renderer;
0 43 1 x0 F
0 43 2 y0 F
0 43 3 c Lsun/java2d/pisces/Curve;
0 43 4 x3 F
0 43 5 y3 F
1 43 6 count I
2 43 7 dddx F
3 43 8 dddy F
4 43 9 ddx F
5 43 10 ddy F
6 43 11 dx F
7 43 12 dy F
8 43 13 x1 F
9 43 14 y1 F
MethodParameters:
Name Flags
x0
y0
c final
x3 final
y3 final
private void addLine(float, float, float, float);
descriptor: (FFFF)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=11, args_size=5
start local 0 // sun.java2d.pisces.Renderer this
start local 1 // float x1
start local 2 // float y1
start local 3 // float x2
start local 4 // float y2
0: .line 266
fconst_1
fstore 5 /* or */
start local 5 // float or
1: .line 267
fload 4 /* y2 */
fload 2 /* y1 */
fcmpg
ifge 9
2: .line 268
fload 4 /* y2 */
fstore 5 /* or */
3: .line 269
fload 2 /* y1 */
fstore 4 /* y2 */
4: .line 270
fload 5 /* or */
fstore 2 /* y1 */
5: .line 271
fload 3 /* x2 */
fstore 5 /* or */
6: .line 272
fload 1 /* x1 */
fstore 3 /* x2 */
7: .line 273
fload 5 /* or */
fstore 1 /* x1 */
8: .line 274
fconst_0
fstore 5 /* or */
9: .line 276
StackMap locals: float
StackMap stack:
fload 2 /* y1 */
f2d
invokestatic java.lang.Math.ceil:(D)D
d2i
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.boundsMinY:I
invokestatic java.lang.Math.max:(II)I
istore 6 /* firstCrossing */
start local 6 // int firstCrossing
10: .line 277
fload 4 /* y2 */
f2d
invokestatic java.lang.Math.ceil:(D)D
d2i
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.boundsMaxY:I
invokestatic java.lang.Math.min:(II)I
istore 7 /* lastCrossing */
start local 7 // int lastCrossing
11: .line 278
iload 6 /* firstCrossing */
iload 7 /* lastCrossing */
if_icmplt 13
12: .line 279
return
13: .line 281
StackMap locals: int int
StackMap stack:
fload 2 /* y1 */
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.edgeMinY:F
fcmpg
ifge 14
aload 0 /* this */
fload 2 /* y1 */
putfield sun.java2d.pisces.Renderer.edgeMinY:F
14: .line 282
StackMap locals:
StackMap stack:
fload 4 /* y2 */
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.edgeMaxY:F
fcmpl
ifle 15
aload 0 /* this */
fload 4 /* y2 */
putfield sun.java2d.pisces.Renderer.edgeMaxY:F
15: .line 284
StackMap locals:
StackMap stack:
fload 3 /* x2 */
fload 1 /* x1 */
fsub
fload 4 /* y2 */
fload 2 /* y1 */
fsub
fdiv
fstore 8 /* slope */
start local 8 // float slope
16: .line 286
fload 8 /* slope */
fconst_0
fcmpl
ifle 20
17: .line 287
fload 1 /* x1 */
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.edgeMinX:F
fcmpg
ifge 18
aload 0 /* this */
fload 1 /* x1 */
putfield sun.java2d.pisces.Renderer.edgeMinX:F
18: .line 288
StackMap locals: float
StackMap stack:
fload 3 /* x2 */
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.edgeMaxX:F
fcmpl
ifle 22
aload 0 /* this */
fload 3 /* x2 */
putfield sun.java2d.pisces.Renderer.edgeMaxX:F
19: .line 289
goto 22
20: .line 290
StackMap locals:
StackMap stack:
fload 3 /* x2 */
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.edgeMinX:F
fcmpg
ifge 21
aload 0 /* this */
fload 3 /* x2 */
putfield sun.java2d.pisces.Renderer.edgeMinX:F
21: .line 291
StackMap locals:
StackMap stack:
fload 1 /* x1 */
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.edgeMaxX:F
fcmpl
ifle 22
aload 0 /* this */
fload 1 /* x1 */
putfield sun.java2d.pisces.Renderer.edgeMaxX:F
22: .line 294
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.numEdges:I
iconst_5
imul
istore 9 /* ptr */
start local 9 // int ptr
23: .line 295
aload 0 /* this */
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.edges:[F
iload 9 /* ptr */
iconst_5
invokestatic sun.java2d.pisces.Helpers.widenArray:([FII)[F
putfield sun.java2d.pisces.Renderer.edges:[F
24: .line 296
aload 0 /* this */
dup
getfield sun.java2d.pisces.Renderer.numEdges:I
iconst_1
iadd
putfield sun.java2d.pisces.Renderer.numEdges:I
25: .line 297
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.edges:[F
iload 9 /* ptr */
iconst_2
iadd
fload 5 /* or */
fastore
26: .line 298
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.edges:[F
iload 9 /* ptr */
iconst_1
iadd
fload 1 /* x1 */
iload 6 /* firstCrossing */
i2f
fload 2 /* y1 */
fsub
fload 8 /* slope */
fmul
fadd
fastore
27: .line 299
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.edges:[F
iload 9 /* ptr */
iconst_3
iadd
fload 8 /* slope */
fastore
28: .line 300
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.edges:[F
iload 9 /* ptr */
iconst_0
iadd
iload 7 /* lastCrossing */
i2f
fastore
29: .line 301
iload 6 /* firstCrossing */
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.boundsMinY:I
isub
istore 10 /* bucketIdx */
start local 10 // int bucketIdx
30: .line 302
aload 0 /* this */
iload 9 /* ptr */
iload 10 /* bucketIdx */
invokevirtual sun.java2d.pisces.Renderer.addEdgeToBucket:(II)V
31: .line 303
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.edgeBucketCounts:[I
iload 7 /* lastCrossing */
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.boundsMinY:I
isub
dup2
iaload
iconst_1
ior
iastore
32: .line 304
return
end local 10 // int bucketIdx
end local 9 // int ptr
end local 8 // float slope
end local 7 // int lastCrossing
end local 6 // int firstCrossing
end local 5 // float or
end local 4 // float y2
end local 3 // float x2
end local 2 // float y1
end local 1 // float x1
end local 0 // sun.java2d.pisces.Renderer this
LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lsun/java2d/pisces/Renderer;
0 33 1 x1 F
0 33 2 y1 F
0 33 3 x2 F
0 33 4 y2 F
1 33 5 or F
10 33 6 firstCrossing I
11 33 7 lastCrossing I
16 33 8 slope F
23 33 9 ptr I
30 33 10 bucketIdx I
MethodParameters:
Name Flags
x1
y1
x2
y2
public void <init>(int, int, int, int, int, int, int);
descriptor: (IIIIIII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=8
start local 0 // sun.java2d.pisces.Renderer this
start local 1 // int subpixelLgPositionsX
start local 2 // int subpixelLgPositionsY
start local 3 // int pix_boundsX
start local 4 // int pix_boundsY
start local 5 // int pix_boundsWidth
start local 6 // int pix_boundsHeight
start local 7 // int windingRule
0: .line 337
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 142
aload 0 /* this */
ldc Infinity
putfield sun.java2d.pisces.Renderer.edgeMinY:F
2: .line 143
aload 0 /* this */
ldc -Infinity
putfield sun.java2d.pisces.Renderer.edgeMaxY:F
3: .line 144
aload 0 /* this */
ldc Infinity
putfield sun.java2d.pisces.Renderer.edgeMinX:F
4: .line 145
aload 0 /* this */
ldc -Infinity
putfield sun.java2d.pisces.Renderer.edgeMaxX:F
5: .line 150
aload 0 /* this */
aconst_null
putfield sun.java2d.pisces.Renderer.edges:[F
6: .line 152
aload 0 /* this */
aconst_null
putfield sun.java2d.pisces.Renderer.edgeBuckets:[I
7: .line 153
aload 0 /* this */
aconst_null
putfield sun.java2d.pisces.Renderer.edgeBucketCounts:[I
8: .line 387
aload 0 /* this */
new sun.java2d.pisces.Curve
dup
invokespecial sun.java2d.pisces.Curve.<init>:()V
putfield sun.java2d.pisces.Renderer.c:Lsun/java2d/pisces/Curve;
9: .line 342
aload 0 /* this */
iload 1 /* subpixelLgPositionsX */
putfield sun.java2d.pisces.Renderer.SUBPIXEL_LG_POSITIONS_X:I
10: .line 343
aload 0 /* this */
iload 2 /* subpixelLgPositionsY */
putfield sun.java2d.pisces.Renderer.SUBPIXEL_LG_POSITIONS_Y:I
11: .line 344
aload 0 /* this */
iconst_1
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.SUBPIXEL_LG_POSITIONS_X:I
ishl
iconst_1
isub
putfield sun.java2d.pisces.Renderer.SUBPIXEL_MASK_X:I
12: .line 345
aload 0 /* this */
iconst_1
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.SUBPIXEL_LG_POSITIONS_Y:I
ishl
iconst_1
isub
putfield sun.java2d.pisces.Renderer.SUBPIXEL_MASK_Y:I
13: .line 346
aload 0 /* this */
iconst_1
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.SUBPIXEL_LG_POSITIONS_X:I
ishl
putfield sun.java2d.pisces.Renderer.SUBPIXEL_POSITIONS_X:I
14: .line 347
aload 0 /* this */
iconst_1
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.SUBPIXEL_LG_POSITIONS_Y:I
ishl
putfield sun.java2d.pisces.Renderer.SUBPIXEL_POSITIONS_Y:I
15: .line 348
aload 0 /* this */
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.SUBPIXEL_POSITIONS_X:I
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.SUBPIXEL_POSITIONS_Y:I
imul
putfield sun.java2d.pisces.Renderer.MAX_AA_ALPHA:I
16: .line 350
aload 0 /* this */
iload 7 /* windingRule */
putfield sun.java2d.pisces.Renderer.windingRule:I
17: .line 352
aload 0 /* this */
iload 3 /* pix_boundsX */
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.SUBPIXEL_POSITIONS_X:I
imul
putfield sun.java2d.pisces.Renderer.boundsMinX:I
18: .line 353
aload 0 /* this */
iload 4 /* pix_boundsY */
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.SUBPIXEL_POSITIONS_Y:I
imul
putfield sun.java2d.pisces.Renderer.boundsMinY:I
19: .line 354
aload 0 /* this */
iload 3 /* pix_boundsX */
iload 5 /* pix_boundsWidth */
iadd
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.SUBPIXEL_POSITIONS_X:I
imul
putfield sun.java2d.pisces.Renderer.boundsMaxX:I
20: .line 355
aload 0 /* this */
iload 4 /* pix_boundsY */
iload 6 /* pix_boundsHeight */
iadd
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.SUBPIXEL_POSITIONS_Y:I
imul
putfield sun.java2d.pisces.Renderer.boundsMaxY:I
21: .line 357
aload 0 /* this */
bipush 40
newarray 6
putfield sun.java2d.pisces.Renderer.edges:[F
22: .line 358
aload 0 /* this */
iconst_0
putfield sun.java2d.pisces.Renderer.numEdges:I
23: .line 359
aload 0 /* this */
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.boundsMaxY:I
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.boundsMinY:I
isub
newarray 10
putfield sun.java2d.pisces.Renderer.edgeBuckets:[I
24: .line 360
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.edgeBuckets:[I
bipush -5
invokestatic java.util.Arrays.fill:([II)V
25: .line 361
aload 0 /* this */
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.edgeBuckets:[I
arraylength
iconst_1
iadd
newarray 10
putfield sun.java2d.pisces.Renderer.edgeBucketCounts:[I
26: .line 362
return
end local 7 // int windingRule
end local 6 // int pix_boundsHeight
end local 5 // int pix_boundsWidth
end local 4 // int pix_boundsY
end local 3 // int pix_boundsX
end local 2 // int subpixelLgPositionsY
end local 1 // int subpixelLgPositionsX
end local 0 // sun.java2d.pisces.Renderer this
LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lsun/java2d/pisces/Renderer;
0 27 1 subpixelLgPositionsX I
0 27 2 subpixelLgPositionsY I
0 27 3 pix_boundsX I
0 27 4 pix_boundsY I
0 27 5 pix_boundsWidth I
0 27 6 pix_boundsHeight I
0 27 7 windingRule I
MethodParameters:
Name Flags
subpixelLgPositionsX
subpixelLgPositionsY
pix_boundsX
pix_boundsY
pix_boundsWidth
pix_boundsHeight
windingRule
private float tosubpixx(float);
descriptor: (F)F
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 // sun.java2d.pisces.Renderer this
start local 1 // float pix_x
0: .line 365
fload 1 /* pix_x */
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.SUBPIXEL_POSITIONS_X:I
i2f
fmul
freturn
end local 1 // float pix_x
end local 0 // sun.java2d.pisces.Renderer this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/java2d/pisces/Renderer;
0 1 1 pix_x F
MethodParameters:
Name Flags
pix_x
private float tosubpixy(float);
descriptor: (F)F
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 // sun.java2d.pisces.Renderer this
start local 1 // float pix_y
0: .line 368
fload 1 /* pix_y */
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.SUBPIXEL_POSITIONS_Y:I
i2f
fmul
freturn
end local 1 // float pix_y
end local 0 // sun.java2d.pisces.Renderer this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/java2d/pisces/Renderer;
0 1 1 pix_y F
MethodParameters:
Name Flags
pix_y
public void moveTo(float, float);
descriptor: (FF)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 // sun.java2d.pisces.Renderer this
start local 1 // float pix_x0
start local 2 // float pix_y0
0: .line 372
aload 0 /* this */
invokevirtual sun.java2d.pisces.Renderer.closePath:()V
1: .line 373
aload 0 /* this */
fload 1 /* pix_x0 */
putfield sun.java2d.pisces.Renderer.pix_sx0:F
2: .line 374
aload 0 /* this */
fload 2 /* pix_y0 */
putfield sun.java2d.pisces.Renderer.pix_sy0:F
3: .line 375
aload 0 /* this */
aload 0 /* this */
fload 2 /* pix_y0 */
invokevirtual sun.java2d.pisces.Renderer.tosubpixy:(F)F
putfield sun.java2d.pisces.Renderer.y0:F
4: .line 376
aload 0 /* this */
aload 0 /* this */
fload 1 /* pix_x0 */
invokevirtual sun.java2d.pisces.Renderer.tosubpixx:(F)F
putfield sun.java2d.pisces.Renderer.x0:F
5: .line 377
return
end local 2 // float pix_y0
end local 1 // float pix_x0
end local 0 // sun.java2d.pisces.Renderer this
LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/java2d/pisces/Renderer;
0 6 1 pix_x0 F
0 6 2 pix_y0 F
MethodParameters:
Name Flags
pix_x0
pix_y0
public void lineTo(float, float);
descriptor: (FF)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 // sun.java2d.pisces.Renderer this
start local 1 // float pix_x1
start local 2 // float pix_y1
0: .line 380
aload 0 /* this */
fload 1 /* pix_x1 */
invokevirtual sun.java2d.pisces.Renderer.tosubpixx:(F)F
fstore 3 /* x1 */
start local 3 // float x1
1: .line 381
aload 0 /* this */
fload 2 /* pix_y1 */
invokevirtual sun.java2d.pisces.Renderer.tosubpixy:(F)F
fstore 4 /* y1 */
start local 4 // float y1
2: .line 382
aload 0 /* this */
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.x0:F
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.y0:F
fload 3 /* x1 */
fload 4 /* y1 */
invokevirtual sun.java2d.pisces.Renderer.addLine:(FFFF)V
3: .line 383
aload 0 /* this */
fload 3 /* x1 */
putfield sun.java2d.pisces.Renderer.x0:F
4: .line 384
aload 0 /* this */
fload 4 /* y1 */
putfield sun.java2d.pisces.Renderer.y0:F
5: .line 385
return
end local 4 // float y1
end local 3 // float x1
end local 2 // float pix_y1
end local 1 // float pix_x1
end local 0 // sun.java2d.pisces.Renderer this
LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/java2d/pisces/Renderer;
0 6 1 pix_x1 F
0 6 2 pix_y1 F
1 6 3 x1 F
2 6 4 y1 F
MethodParameters:
Name Flags
pix_x1
pix_y1
public void curveTo(float, float, float, float, float, float);
descriptor: (FFFFFF)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=9, args_size=7
start local 0 // sun.java2d.pisces.Renderer this
start local 1 // float x1
start local 2 // float y1
start local 3 // float x2
start local 4 // float y2
start local 5 // float x3
start local 6 // float y3
0: .line 392
aload 0 /* this */
fload 5 /* x3 */
invokevirtual sun.java2d.pisces.Renderer.tosubpixx:(F)F
fstore 7 /* xe */
start local 7 // float xe
1: .line 393
aload 0 /* this */
fload 6 /* y3 */
invokevirtual sun.java2d.pisces.Renderer.tosubpixy:(F)F
fstore 8 /* ye */
start local 8 // float ye
2: .line 394
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.c:Lsun/java2d/pisces/Curve;
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.x0:F
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.y0:F
aload 0 /* this */
fload 1 /* x1 */
invokevirtual sun.java2d.pisces.Renderer.tosubpixx:(F)F
aload 0 /* this */
fload 2 /* y1 */
invokevirtual sun.java2d.pisces.Renderer.tosubpixy:(F)F
aload 0 /* this */
fload 3 /* x2 */
invokevirtual sun.java2d.pisces.Renderer.tosubpixx:(F)F
aload 0 /* this */
fload 4 /* y2 */
invokevirtual sun.java2d.pisces.Renderer.tosubpixy:(F)F
fload 7 /* xe */
fload 8 /* ye */
invokevirtual sun.java2d.pisces.Curve.set:(FFFFFFFF)V
3: .line 395
aload 0 /* this */
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.x0:F
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.y0:F
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.c:Lsun/java2d/pisces/Curve;
fload 7 /* xe */
fload 8 /* ye */
invokevirtual sun.java2d.pisces.Renderer.curveBreakIntoLinesAndAdd:(FFLsun/java2d/pisces/Curve;FF)V
4: .line 396
aload 0 /* this */
fload 7 /* xe */
putfield sun.java2d.pisces.Renderer.x0:F
5: .line 397
aload 0 /* this */
fload 8 /* ye */
putfield sun.java2d.pisces.Renderer.y0:F
6: .line 398
return
end local 8 // float ye
end local 7 // float xe
end local 6 // float y3
end local 5 // float x3
end local 4 // float y2
end local 3 // float x2
end local 2 // float y1
end local 1 // float x1
end local 0 // sun.java2d.pisces.Renderer this
LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/java2d/pisces/Renderer;
0 7 1 x1 F
0 7 2 y1 F
0 7 3 x2 F
0 7 4 y2 F
0 7 5 x3 F
0 7 6 y3 F
1 7 7 xe F
2 7 8 ye F
MethodParameters:
Name Flags
x1
y1
x2
y2
x3
y3
public void quadTo(float, float, float, float);
descriptor: (FFFF)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=7, args_size=5
start local 0 // sun.java2d.pisces.Renderer this
start local 1 // float x1
start local 2 // float y1
start local 3 // float x2
start local 4 // float y2
0: .line 401
aload 0 /* this */
fload 3 /* x2 */
invokevirtual sun.java2d.pisces.Renderer.tosubpixx:(F)F
fstore 5 /* xe */
start local 5 // float xe
1: .line 402
aload 0 /* this */
fload 4 /* y2 */
invokevirtual sun.java2d.pisces.Renderer.tosubpixy:(F)F
fstore 6 /* ye */
start local 6 // float ye
2: .line 403
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.c:Lsun/java2d/pisces/Curve;
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.x0:F
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.y0:F
aload 0 /* this */
fload 1 /* x1 */
invokevirtual sun.java2d.pisces.Renderer.tosubpixx:(F)F
aload 0 /* this */
fload 2 /* y1 */
invokevirtual sun.java2d.pisces.Renderer.tosubpixy:(F)F
fload 5 /* xe */
fload 6 /* ye */
invokevirtual sun.java2d.pisces.Curve.set:(FFFFFF)V
3: .line 404
aload 0 /* this */
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.x0:F
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.y0:F
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.c:Lsun/java2d/pisces/Curve;
fload 5 /* xe */
fload 6 /* ye */
invokevirtual sun.java2d.pisces.Renderer.quadBreakIntoLinesAndAdd:(FFLsun/java2d/pisces/Curve;FF)V
4: .line 405
aload 0 /* this */
fload 5 /* xe */
putfield sun.java2d.pisces.Renderer.x0:F
5: .line 406
aload 0 /* this */
fload 6 /* ye */
putfield sun.java2d.pisces.Renderer.y0:F
6: .line 407
return
end local 6 // float ye
end local 5 // float xe
end local 4 // float y2
end local 3 // float x2
end local 2 // float y1
end local 1 // float x1
end local 0 // sun.java2d.pisces.Renderer this
LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/java2d/pisces/Renderer;
0 7 1 x1 F
0 7 2 y1 F
0 7 3 x2 F
0 7 4 y2 F
1 7 5 xe F
2 7 6 ye F
MethodParameters:
Name Flags
x1
y1
x2
y2
public void closePath();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 // sun.java2d.pisces.Renderer this
0: .line 411
aload 0 /* this */
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.pix_sx0:F
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.pix_sy0:F
invokevirtual sun.java2d.pisces.Renderer.lineTo:(FF)V
1: .line 412
return
end local 0 // sun.java2d.pisces.Renderer this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/java2d/pisces/Renderer;
public void pathDone();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // sun.java2d.pisces.Renderer this
0: .line 415
aload 0 /* this */
invokevirtual sun.java2d.pisces.Renderer.closePath:()V
1: .line 416
return
end local 0 // sun.java2d.pisces.Renderer this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/java2d/pisces/Renderer;
public long getNativeConsumer();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 // sun.java2d.pisces.Renderer this
0: .line 421
new java.lang.InternalError
dup
ldc "Renderer does not use a native consumer."
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
end local 0 // sun.java2d.pisces.Renderer this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/java2d/pisces/Renderer;
private void _endRendering(int, int, int, int);
descriptor: (IIII)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=27, args_size=5
start local 0 // sun.java2d.pisces.Renderer this
start local 1 // int pix_bboxx0
start local 2 // int pix_bboxx1
start local 3 // int ymin
start local 4 // int ymax
0: .line 429
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.windingRule:I
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_m1
StackMap locals:
StackMap stack: int
2: istore 5 /* mask */
start local 5 // int mask
3: .line 432
iload 2 /* pix_bboxx1 */
iload 1 /* pix_bboxx0 */
isub
istore 6 /* width */
start local 6 // int width
4: .line 433
iload 6 /* width */
iconst_2
iadd
newarray 10
astore 7 /* alpha */
start local 7 // int[] alpha
5: .line 435
iload 1 /* pix_bboxx0 */
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.SUBPIXEL_LG_POSITIONS_X:I
ishl
istore 8 /* bboxx0 */
start local 8 // int bboxx0
6: .line 436
iload 2 /* pix_bboxx1 */
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.SUBPIXEL_LG_POSITIONS_X:I
ishl
istore 9 /* bboxx1 */
start local 9 // int bboxx1
7: .line 444
ldc -2147483648
istore 10 /* pix_maxX */
start local 10 // int pix_maxX
8: .line 445
ldc 2147483647
istore 11 /* pix_minX */
start local 11 // int pix_minX
9: .line 447
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.boundsMinY:I
istore 12 /* y */
start local 12 // int y
10: .line 448
new sun.java2d.pisces.Renderer$ScanlineIterator
dup
aload 0 /* this */
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
iload 3 /* ymin */
iload 4 /* ymax */
invokespecial sun.java2d.pisces.Renderer$ScanlineIterator.<init>:(Lsun/java2d/pisces/Renderer;II)V
astore 13 /* it */
start local 13 // sun.java2d.pisces.Renderer$ScanlineIterator it
11: .line 449
goto 54
12: .line 450
StackMap locals: sun.java2d.pisces.Renderer int int int int int int int[] int int int int int sun.java2d.pisces.Renderer$ScanlineIterator
StackMap stack:
aload 13 /* it */
invokevirtual sun.java2d.pisces.Renderer$ScanlineIterator.next:()I
istore 14 /* numCrossings */
start local 14 // int numCrossings
13: .line 451
aload 13 /* it */
getfield sun.java2d.pisces.Renderer$ScanlineIterator.crossings:[I
astore 15 /* crossings */
start local 15 // int[] crossings
14: .line 452
aload 13 /* it */
invokevirtual sun.java2d.pisces.Renderer$ScanlineIterator.curY:()I
istore 12 /* y */
15: .line 454
iload 14 /* numCrossings */
ifle 22
16: .line 455
aload 15 /* crossings */
iconst_0
iaload
iconst_1
ishr
istore 16 /* lowx */
start local 16 // int lowx
17: .line 456
aload 15 /* crossings */
iload 14 /* numCrossings */
iconst_1
isub
iaload
iconst_1
ishr
istore 17 /* highx */
start local 17 // int highx
18: .line 457
iload 16 /* lowx */
iload 8 /* bboxx0 */
invokestatic java.lang.Math.max:(II)I
istore 18 /* x0 */
start local 18 // int x0
19: .line 458
iload 17 /* highx */
iload 9 /* bboxx1 */
invokestatic java.lang.Math.min:(II)I
istore 19 /* x1 */
start local 19 // int x1
20: .line 460
iload 11 /* pix_minX */
iload 18 /* x0 */
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.SUBPIXEL_LG_POSITIONS_X:I
ishr
invokestatic java.lang.Math.min:(II)I
istore 11 /* pix_minX */
21: .line 461
iload 10 /* pix_maxX */
iload 19 /* x1 */
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.SUBPIXEL_LG_POSITIONS_X:I
ishr
invokestatic java.lang.Math.max:(II)I
istore 10 /* pix_maxX */
end local 19 // int x1
end local 18 // int x0
end local 17 // int highx
end local 16 // int lowx
22: .line 464
StackMap locals: int int[]
StackMap stack:
iconst_0
istore 16 /* sum */
start local 16 // int sum
23: .line 465
iload 8 /* bboxx0 */
istore 17 /* prev */
start local 17 // int prev
24: .line 466
iconst_0
istore 18 /* i */
start local 18 // int i
25: goto 49
26: .line 467
StackMap locals: int int int
StackMap stack:
aload 15 /* crossings */
iload 18 /* i */
iaload
istore 19 /* curxo */
start local 19 // int curxo
27: .line 468
iload 19 /* curxo */
iconst_1
ishr
istore 20 /* curx */
start local 20 // int curx
28: .line 470
iload 19 /* curxo */
iconst_1
iand
iconst_1
ishl
iconst_1
isub
istore 21 /* crorientation */
start local 21 // int crorientation
29: .line 471
iload 16 /* sum */
iload 5 /* mask */
iand
ifeq 46
30: .line 472
iload 17 /* prev */
iload 8 /* bboxx0 */
invokestatic java.lang.Math.max:(II)I
istore 22 /* x0 */
start local 22 // int x0
31: .line 473
iload 20 /* curx */
iload 9 /* bboxx1 */
invokestatic java.lang.Math.min:(II)I
istore 23 /* x1 */
start local 23 // int x1
32: .line 474
iload 22 /* x0 */
iload 23 /* x1 */
if_icmpge 46
33: .line 475
iload 22 /* x0 */
iload 8 /* bboxx0 */
isub
istore 22 /* x0 */
34: .line 476
iload 23 /* x1 */
iload 8 /* bboxx0 */
isub
istore 23 /* x1 */
35: .line 478
iload 22 /* x0 */
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.SUBPIXEL_LG_POSITIONS_X:I
ishr
istore 24 /* pix_x */
start local 24 // int pix_x
36: .line 479
iload 23 /* x1 */
iconst_1
isub
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.SUBPIXEL_LG_POSITIONS_X:I
ishr
istore 25 /* pix_xmaxm1 */
start local 25 // int pix_xmaxm1
37: .line 481
iload 24 /* pix_x */
iload 25 /* pix_xmaxm1 */
if_icmpne 41
38: .line 483
aload 7 /* alpha */
iload 24 /* pix_x */
dup2
iaload
iload 23 /* x1 */
iload 22 /* x0 */
isub
iadd
iastore
39: .line 484
aload 7 /* alpha */
iload 24 /* pix_x */
iconst_1
iadd
dup2
iaload
iload 23 /* x1 */
iload 22 /* x0 */
isub
isub
iastore
40: .line 485
goto 46
41: .line 486
StackMap locals: sun.java2d.pisces.Renderer int int int int int int int[] int int int int int sun.java2d.pisces.Renderer$ScanlineIterator int int[] int int int int int int int int int int
StackMap stack:
iload 23 /* x1 */
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.SUBPIXEL_LG_POSITIONS_X:I
ishr
istore 26 /* pix_xmax */
start local 26 // int pix_xmax
42: .line 487
aload 7 /* alpha */
iload 24 /* pix_x */
dup2
iaload
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.SUBPIXEL_POSITIONS_X:I
iload 22 /* x0 */
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.SUBPIXEL_MASK_X:I
iand
isub
iadd
iastore
43: .line 488
aload 7 /* alpha */
iload 24 /* pix_x */
iconst_1
iadd
dup2
iaload
iload 22 /* x0 */
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.SUBPIXEL_MASK_X:I
iand
iadd
iastore
44: .line 489
aload 7 /* alpha */
iload 26 /* pix_xmax */
dup2
iaload
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.SUBPIXEL_POSITIONS_X:I
iload 23 /* x1 */
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.SUBPIXEL_MASK_X:I
iand
isub
isub
iastore
45: .line 490
aload 7 /* alpha */
iload 26 /* pix_xmax */
iconst_1
iadd
dup2
iaload
iload 23 /* x1 */
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.SUBPIXEL_MASK_X:I
iand
isub
iastore
end local 26 // int pix_xmax
end local 25 // int pix_xmaxm1
end local 24 // int pix_x
end local 23 // int x1
end local 22 // int x0
46: .line 494
StackMap locals: sun.java2d.pisces.Renderer int int int int int int int[] int int int int int sun.java2d.pisces.Renderer$ScanlineIterator int int[] int int int int int int
StackMap stack:
iload 16 /* sum */
iload 21 /* crorientation */
iadd
istore 16 /* sum */
47: .line 495
iload 20 /* curx */
istore 17 /* prev */
end local 21 // int crorientation
end local 20 // int curx
end local 19 // int curxo
48: .line 466
iinc 18 /* i */ 1
StackMap locals:
StackMap stack:
49: iload 18 /* i */
iload 14 /* numCrossings */
if_icmplt 26
end local 18 // int i
50: .line 501
iload 12 /* y */
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.SUBPIXEL_MASK_Y:I
iand
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.SUBPIXEL_MASK_Y:I
if_icmpne 54
51: .line 502
aload 0 /* this */
aload 7 /* alpha */
iload 12 /* y */
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.SUBPIXEL_LG_POSITIONS_Y:I
ishr
iload 11 /* pix_minX */
iload 10 /* pix_maxX */
invokevirtual sun.java2d.pisces.Renderer.emitRow:([IIII)V
52: .line 503
ldc 2147483647
istore 11 /* pix_minX */
53: .line 504
ldc -2147483648
istore 10 /* pix_maxX */
end local 17 // int prev
end local 16 // int sum
end local 15 // int[] crossings
end local 14 // int numCrossings
54: .line 449
StackMap locals: sun.java2d.pisces.Renderer int int int int int int int[] int int int int int sun.java2d.pisces.Renderer$ScanlineIterator
StackMap stack:
aload 13 /* it */
invokevirtual sun.java2d.pisces.Renderer$ScanlineIterator.hasNext:()Z
ifne 12
55: .line 509
iload 10 /* pix_maxX */
iload 11 /* pix_minX */
if_icmplt 57
56: .line 510
aload 0 /* this */
aload 7 /* alpha */
iload 12 /* y */
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.SUBPIXEL_LG_POSITIONS_Y:I
ishr
iload 11 /* pix_minX */
iload 10 /* pix_maxX */
invokevirtual sun.java2d.pisces.Renderer.emitRow:([IIII)V
57: .line 512
StackMap locals:
StackMap stack:
return
end local 13 // sun.java2d.pisces.Renderer$ScanlineIterator it
end local 12 // int y
end local 11 // int pix_minX
end local 10 // int pix_maxX
end local 9 // int bboxx1
end local 8 // int bboxx0
end local 7 // int[] alpha
end local 6 // int width
end local 5 // int mask
end local 4 // int ymax
end local 3 // int ymin
end local 2 // int pix_bboxx1
end local 1 // int pix_bboxx0
end local 0 // sun.java2d.pisces.Renderer this
LocalVariableTable:
Start End Slot Name Signature
0 58 0 this Lsun/java2d/pisces/Renderer;
0 58 1 pix_bboxx0 I
0 58 2 pix_bboxx1 I
0 58 3 ymin I
0 58 4 ymax I
3 58 5 mask I
4 58 6 width I
5 58 7 alpha [I
6 58 8 bboxx0 I
7 58 9 bboxx1 I
8 58 10 pix_maxX I
9 58 11 pix_minX I
10 58 12 y I
11 58 13 it Lsun/java2d/pisces/Renderer$ScanlineIterator;
13 54 14 numCrossings I
14 54 15 crossings [I
17 22 16 lowx I
18 22 17 highx I
19 22 18 x0 I
20 22 19 x1 I
23 54 16 sum I
24 54 17 prev I
25 50 18 i I
27 48 19 curxo I
28 48 20 curx I
29 48 21 crorientation I
31 46 22 x0 I
32 46 23 x1 I
36 46 24 pix_x I
37 46 25 pix_xmaxm1 I
42 46 26 pix_xmax I
MethodParameters:
Name Flags
pix_bboxx0 final
pix_bboxx1 final
ymin
ymax
public void endRendering();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=9, args_size=1
start local 0 // sun.java2d.pisces.Renderer this
0: .line 515
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.edgeMinX:F
f2d
invokestatic java.lang.Math.ceil:(D)D
d2i
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.boundsMinX:I
invokestatic java.lang.Math.max:(II)I
istore 1 /* spminX */
start local 1 // int spminX
1: .line 516
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.edgeMaxX:F
f2d
invokestatic java.lang.Math.ceil:(D)D
d2i
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.boundsMaxX:I
invokestatic java.lang.Math.min:(II)I
istore 2 /* spmaxX */
start local 2 // int spmaxX
2: .line 517
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.edgeMinY:F
f2d
invokestatic java.lang.Math.ceil:(D)D
d2i
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.boundsMinY:I
invokestatic java.lang.Math.max:(II)I
istore 3 /* spminY */
start local 3 // int spminY
3: .line 518
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.edgeMaxY:F
f2d
invokestatic java.lang.Math.ceil:(D)D
d2i
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.boundsMaxY:I
invokestatic java.lang.Math.min:(II)I
istore 4 /* spmaxY */
start local 4 // int spmaxY
4: .line 520
iload 1 /* spminX */
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.SUBPIXEL_LG_POSITIONS_X:I
ishr
istore 5 /* pminX */
start local 5 // int pminX
5: .line 521
iload 2 /* spmaxX */
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.SUBPIXEL_MASK_X:I
iadd
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.SUBPIXEL_LG_POSITIONS_X:I
ishr
istore 6 /* pmaxX */
start local 6 // int pmaxX
6: .line 522
iload 3 /* spminY */
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.SUBPIXEL_LG_POSITIONS_Y:I
ishr
istore 7 /* pminY */
start local 7 // int pminY
7: .line 523
iload 4 /* spmaxY */
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.SUBPIXEL_MASK_Y:I
iadd
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.SUBPIXEL_LG_POSITIONS_Y:I
ishr
istore 8 /* pmaxY */
start local 8 // int pmaxY
8: .line 525
iload 5 /* pminX */
iload 6 /* pmaxX */
if_icmpgt 9
iload 7 /* pminY */
iload 8 /* pmaxY */
if_icmple 15
9: .line 526
StackMap locals: sun.java2d.pisces.Renderer int int int int int int int int
StackMap stack:
aload 0 /* this */
new sun.java2d.pisces.PiscesCache
dup
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.boundsMinX:I
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.SUBPIXEL_LG_POSITIONS_X:I
ishr
10: .line 527
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.boundsMinY:I
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.SUBPIXEL_LG_POSITIONS_Y:I
ishr
11: .line 528
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.boundsMaxX:I
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.SUBPIXEL_LG_POSITIONS_X:I
ishr
12: .line 529
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.boundsMaxY:I
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.SUBPIXEL_LG_POSITIONS_Y:I
ishr
invokespecial sun.java2d.pisces.PiscesCache.<init>:(IIII)V
13: .line 526
putfield sun.java2d.pisces.Renderer.cache:Lsun/java2d/pisces/PiscesCache;
14: .line 530
return
15: .line 533
StackMap locals:
StackMap stack:
aload 0 /* this */
new sun.java2d.pisces.PiscesCache
dup
iload 5 /* pminX */
iload 7 /* pminY */
iload 6 /* pmaxX */
iload 8 /* pmaxY */
invokespecial sun.java2d.pisces.PiscesCache.<init>:(IIII)V
putfield sun.java2d.pisces.Renderer.cache:Lsun/java2d/pisces/PiscesCache;
16: .line 534
aload 0 /* this */
iload 5 /* pminX */
iload 6 /* pmaxX */
iload 3 /* spminY */
iload 4 /* spmaxY */
invokevirtual sun.java2d.pisces.Renderer._endRendering:(IIII)V
17: .line 535
return
end local 8 // int pmaxY
end local 7 // int pminY
end local 6 // int pmaxX
end local 5 // int pminX
end local 4 // int spmaxY
end local 3 // int spminY
end local 2 // int spmaxX
end local 1 // int spminX
end local 0 // sun.java2d.pisces.Renderer this
LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lsun/java2d/pisces/Renderer;
1 18 1 spminX I
2 18 2 spmaxX I
3 18 3 spminY I
4 18 4 spmaxY I
5 18 5 pminX I
6 18 6 pmaxX I
7 18 7 pminY I
8 18 8 pmaxY I
public sun.java2d.pisces.PiscesCache getCache();
descriptor: ()Lsun/java2d/pisces/PiscesCache;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 // sun.java2d.pisces.Renderer this
0: .line 538
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.cache:Lsun/java2d/pisces/PiscesCache;
ifnonnull 2
1: .line 539
new java.lang.InternalError
dup
ldc "cache not yet initialized"
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
2: .line 541
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.cache:Lsun/java2d/pisces/PiscesCache;
areturn
end local 0 // sun.java2d.pisces.Renderer this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/java2d/pisces/Renderer;
private void emitRow(int[], int, int, int);
descriptor: ([IIII)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=11, args_size=5
start local 0 // sun.java2d.pisces.Renderer this
start local 1 // int[] alphaRow
start local 2 // int pix_y
start local 3 // int pix_from
start local 4 // int pix_to
0: .line 546
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.cache:Lsun/java2d/pisces/PiscesCache;
ifnull 19
1: .line 547
iload 4 /* pix_to */
iload 3 /* pix_from */
if_icmplt 19
2: .line 548
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.cache:Lsun/java2d/pisces/PiscesCache;
iload 2 /* pix_y */
iload 3 /* pix_from */
invokevirtual sun.java2d.pisces.PiscesCache.startRow:(II)V
3: .line 551
iload 3 /* pix_from */
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.cache:Lsun/java2d/pisces/PiscesCache;
getfield sun.java2d.pisces.PiscesCache.bboxX0:I
isub
istore 5 /* from */
start local 5 // int from
4: .line 552
iload 4 /* pix_to */
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.cache:Lsun/java2d/pisces/PiscesCache;
getfield sun.java2d.pisces.PiscesCache.bboxX0:I
isub
istore 6 /* to */
start local 6 // int to
5: .line 554
iconst_1
istore 7 /* runLen */
start local 7 // int runLen
6: .line 555
aload 1 /* alphaRow */
iload 5 /* from */
iaload
istore 8 /* startVal */
start local 8 // int startVal
7: .line 556
iload 5 /* from */
iconst_1
iadd
istore 9 /* i */
start local 9 // int i
8: goto 17
9: .line 557
StackMap locals: sun.java2d.pisces.Renderer int[] int int int int int int int int
StackMap stack:
iload 8 /* startVal */
aload 1 /* alphaRow */
iload 9 /* i */
iaload
iadd
istore 10 /* nextVal */
start local 10 // int nextVal
10: .line 558
iload 10 /* nextVal */
iload 8 /* startVal */
if_icmpne 13
11: .line 559
iinc 7 /* runLen */ 1
12: .line 560
goto 16
13: .line 561
StackMap locals: int
StackMap stack:
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.cache:Lsun/java2d/pisces/PiscesCache;
iload 8 /* startVal */
iload 7 /* runLen */
invokevirtual sun.java2d.pisces.PiscesCache.addRLERun:(II)V
14: .line 562
iconst_1
istore 7 /* runLen */
15: .line 563
iload 10 /* nextVal */
istore 8 /* startVal */
end local 10 // int nextVal
16: .line 556
StackMap locals:
StackMap stack:
iinc 9 /* i */ 1
StackMap locals:
StackMap stack:
17: iload 9 /* i */
iload 6 /* to */
if_icmple 9
end local 9 // int i
18: .line 566
aload 0 /* this */
getfield sun.java2d.pisces.Renderer.cache:Lsun/java2d/pisces/PiscesCache;
iload 8 /* startVal */
iload 7 /* runLen */
invokevirtual sun.java2d.pisces.PiscesCache.addRLERun:(II)V
end local 8 // int startVal
end local 7 // int runLen
end local 6 // int to
end local 5 // int from
19: .line 569
StackMap locals: sun.java2d.pisces.Renderer int[] int int int
StackMap stack:
aload 1 /* alphaRow */
iconst_0
invokestatic java.util.Arrays.fill:([II)V
20: .line 570
return
end local 4 // int pix_to
end local 3 // int pix_from
end local 2 // int pix_y
end local 1 // int[] alphaRow
end local 0 // sun.java2d.pisces.Renderer this
LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lsun/java2d/pisces/Renderer;
0 21 1 alphaRow [I
0 21 2 pix_y I
0 21 3 pix_from I
0 21 4 pix_to I
4 19 5 from I
5 19 6 to I
6 19 7 runLen I
7 19 8 startVal I
8 18 9 i I
10 16 10 nextVal I
MethodParameters:
Name Flags
alphaRow
pix_y
pix_from
pix_to
}
SourceFile: "Renderer.java"
NestMembers:
sun.java2d.pisces.Renderer$ScanlineIterator
InnerClasses:
private ScanlineIterator = sun.java2d.pisces.Renderer$ScanlineIterator of sun.java2d.pisces.Renderer