public final class com.sun.marlin.DRenderer implements com.sun.marlin.DMarlinRenderer, com.sun.marlin.MarlinConst
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.sun.marlin.DRenderer
super_class: java.lang.Object
{
static final boolean DISABLE_RENDER;
descriptor: Z
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int ALL_BUT_LSB;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -2
private static final int ERR_STEP_MAX;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2147483647
private static final double POWER_2_TO_32;
descriptor: D
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4.294967296E9
static final double SUBPIXEL_SCALE_X;
descriptor: D
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final double SUBPIXEL_SCALE_Y;
descriptor: D
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final int SUBPIXEL_MASK_X;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final int SUBPIXEL_MASK_Y;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
private static final double RDR_OFFSET_X;
descriptor: D
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final double RDR_OFFSET_Y;
descriptor: D
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public static final long OFF_CURX_OR;
descriptor: J
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 0
public static final long OFF_ERROR;
descriptor: J
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final long OFF_BUMP_X;
descriptor: J
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final long OFF_BUMP_ERR;
descriptor: J
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final long OFF_NEXT;
descriptor: J
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final long OFF_YMAX;
descriptor: J
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final int SIZEOF_EDGE_BYTES;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private static final double CUB_DEC_ERR_SUBPIX;
descriptor: D
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final double CUB_INC_ERR_SUBPIX;
descriptor: D
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public static final double SCALE_DY;
descriptor: D
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final double CUB_DEC_BND;
descriptor: D
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final double CUB_INC_BND;
descriptor: D
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final int CUB_COUNT_LG;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int CUB_COUNT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private static final int CUB_COUNT_2;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16
private static final int CUB_COUNT_3;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 64
private static final double CUB_INV_COUNT;
descriptor: D
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0.25
private static final double CUB_INV_COUNT_2;
descriptor: D
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0.0625
private static final double CUB_INV_COUNT_3;
descriptor: D
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0.015625
private static final double QUAD_DEC_ERR_SUBPIX;
descriptor: D
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public static final double QUAD_DEC_BND;
descriptor: D
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private int[] crossings;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private int[] aux_crossings;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private int edgeCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int[] edgePtrs;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private int[] aux_edgePtrs;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private int activeEdgeMaxUsed;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private final com.sun.marlin.IntArrayCache$Reference crossings_ref;
descriptor: Lcom/sun/marlin/IntArrayCache$Reference;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.sun.marlin.IntArrayCache$Reference edgePtrs_ref;
descriptor: Lcom/sun/marlin/IntArrayCache$Reference;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.sun.marlin.IntArrayCache$Reference aux_crossings_ref;
descriptor: Lcom/sun/marlin/IntArrayCache$Reference;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.sun.marlin.IntArrayCache$Reference aux_edgePtrs_ref;
descriptor: Lcom/sun/marlin/IntArrayCache$Reference;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int edgeMinY;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int edgeMaxY;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private double edgeMinX;
descriptor: D
flags: (0x0002) ACC_PRIVATE
private double edgeMaxX;
descriptor: D
flags: (0x0002) ACC_PRIVATE
private final com.sun.marlin.OffHeapArray edges;
descriptor: Lcom/sun/marlin/OffHeapArray;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int[] edgeBuckets;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private int[] edgeBucketCounts;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private int buckets_minY;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int buckets_maxY;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private final com.sun.marlin.IntArrayCache$Reference edgeBuckets_ref;
descriptor: Lcom/sun/marlin/IntArrayCache$Reference;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.sun.marlin.IntArrayCache$Reference edgeBucketCounts_ref;
descriptor: Lcom/sun/marlin/IntArrayCache$Reference;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
boolean useRLE;
descriptor: Z
flags: (0x0000)
private int boundsMinX;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int boundsMinY;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int boundsMaxX;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int boundsMaxY;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int windingRule;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private double x0;
descriptor: D
flags: (0x0002) ACC_PRIVATE
private double y0;
descriptor: D
flags: (0x0002) ACC_PRIVATE
private double sx0;
descriptor: D
flags: (0x0002) ACC_PRIVATE
private double sy0;
descriptor: D
flags: (0x0002) ACC_PRIVATE
final com.sun.marlin.DRendererContext rdrCtx;
descriptor: Lcom/sun/marlin/DRendererContext;
flags: (0x0010) ACC_FINAL
private final com.sun.marlin.DCurve curve;
descriptor: Lcom/sun/marlin/DCurve;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int[] alphaLine;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private final com.sun.marlin.IntArrayCache$Reference alphaLine_ref;
descriptor: Lcom/sun/marlin/IntArrayCache$Reference;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private boolean enableBlkFlags;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean prevUseBlkFlags;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int[] blkFlags;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private final com.sun.marlin.IntArrayCache$Reference blkFlags_ref;
descriptor: Lcom/sun/marlin/IntArrayCache$Reference;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int bbox_spminX;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int bbox_spmaxX;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int bbox_spminY;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int bbox_spmaxY;
descriptor: I
flags: (0x0002) ACC_PRIVATE
int bboxX0;
descriptor: I
flags: (0x0000)
int bboxX1;
descriptor: I
flags: (0x0000)
int bboxY0;
descriptor: I
flags: (0x0000)
int bboxY1;
descriptor: I
flags: (0x0000)
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=0, args_size=0
0: getstatic com.sun.marlin.DRenderer.SUBPIXEL_POSITIONS_X:I
i2d
putstatic com.sun.marlin.DRenderer.SUBPIXEL_SCALE_X:D
1: getstatic com.sun.marlin.DRenderer.SUBPIXEL_POSITIONS_Y:I
i2d
putstatic com.sun.marlin.DRenderer.SUBPIXEL_SCALE_Y:D
2: getstatic com.sun.marlin.DRenderer.SUBPIXEL_POSITIONS_X:I
iconst_1
isub
putstatic com.sun.marlin.DRenderer.SUBPIXEL_MASK_X:I
3: getstatic com.sun.marlin.DRenderer.SUBPIXEL_POSITIONS_Y:I
iconst_1
isub
putstatic com.sun.marlin.DRenderer.SUBPIXEL_MASK_Y:I
4: ldc 0.5
getstatic com.sun.marlin.DRenderer.SUBPIXEL_SCALE_X:D
ddiv
putstatic com.sun.marlin.DRenderer.RDR_OFFSET_X:D
5: ldc 0.5
getstatic com.sun.marlin.DRenderer.SUBPIXEL_SCALE_Y:D
ddiv
putstatic com.sun.marlin.DRenderer.RDR_OFFSET_Y:D
6: lconst_0
getstatic com.sun.marlin.OffHeapArray.SIZE_INT:I
i2l
ladd
putstatic com.sun.marlin.DRenderer.OFF_ERROR:J
7: getstatic com.sun.marlin.DRenderer.OFF_ERROR:J
getstatic com.sun.marlin.OffHeapArray.SIZE_INT:I
i2l
ladd
putstatic com.sun.marlin.DRenderer.OFF_BUMP_X:J
8: getstatic com.sun.marlin.DRenderer.OFF_BUMP_X:J
getstatic com.sun.marlin.OffHeapArray.SIZE_INT:I
i2l
ladd
putstatic com.sun.marlin.DRenderer.OFF_BUMP_ERR:J
9: getstatic com.sun.marlin.DRenderer.OFF_BUMP_ERR:J
getstatic com.sun.marlin.OffHeapArray.SIZE_INT:I
i2l
ladd
putstatic com.sun.marlin.DRenderer.OFF_NEXT:J
10: getstatic com.sun.marlin.DRenderer.OFF_NEXT:J
getstatic com.sun.marlin.OffHeapArray.SIZE_INT:I
i2l
ladd
putstatic com.sun.marlin.DRenderer.OFF_YMAX:J
11: getstatic com.sun.marlin.DRenderer.OFF_YMAX:J
getstatic com.sun.marlin.OffHeapArray.SIZE_INT:I
i2l
ladd
l2i
putstatic com.sun.marlin.DRenderer.SIZEOF_EDGE_BYTES:I
12: invokestatic com.sun.marlin.MarlinProperties.getCubicDecD2:()F
f2d
getstatic com.sun.marlin.DRenderer.SUBPIXEL_POSITIONS_X:I
i2d
ldc 8.0
ddiv
dmul
13: putstatic com.sun.marlin.DRenderer.CUB_DEC_ERR_SUBPIX:D
14: invokestatic com.sun.marlin.MarlinProperties.getCubicIncD1:()F
f2d
getstatic com.sun.marlin.DRenderer.SUBPIXEL_POSITIONS_X:I
i2d
ldc 8.0
ddiv
dmul
15: putstatic com.sun.marlin.DRenderer.CUB_INC_ERR_SUBPIX:D
16: getstatic com.sun.marlin.DRenderer.SUBPIXEL_POSITIONS_X:I
i2d
getstatic com.sun.marlin.DRenderer.SUBPIXEL_POSITIONS_Y:I
i2d
ddiv
putstatic com.sun.marlin.DRenderer.SCALE_DY:D
17: ldc 8.0
getstatic com.sun.marlin.DRenderer.CUB_DEC_ERR_SUBPIX:D
dmul
18: putstatic com.sun.marlin.DRenderer.CUB_DEC_BND:D
19: ldc 8.0
getstatic com.sun.marlin.DRenderer.CUB_INC_ERR_SUBPIX:D
dmul
20: putstatic com.sun.marlin.DRenderer.CUB_INC_BND:D
21: invokestatic com.sun.marlin.MarlinProperties.getQuadDecD2:()F
f2d
getstatic com.sun.marlin.DRenderer.SUBPIXEL_POSITIONS_X:I
i2d
ldc 8.0
ddiv
dmul
22: putstatic com.sun.marlin.DRenderer.QUAD_DEC_ERR_SUBPIX:D
23: ldc 8.0
getstatic com.sun.marlin.DRenderer.QUAD_DEC_ERR_SUBPIX:D
dmul
24: putstatic com.sun.marlin.DRenderer.QUAD_DEC_BND:D
25: return
LocalVariableTable:
Start End Slot Name Signature
private void quadBreakIntoLinesAndAdd(double, double, com.sun.marlin.DCurve, double, double);
descriptor: (DDLcom/sun/marlin/DCurve;DD)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=32, args_size=6
start local 0 start local 1 start local 3 start local 5 start local 6 start local 8 0: iconst_1
istore 10
start local 10 1: aload 5
getfield com.sun.marlin.DCurve.dbx:D
invokestatic java.lang.Math.abs:(D)D
aload 5
getfield com.sun.marlin.DCurve.dby:D
invokestatic java.lang.Math.abs:(D)D
getstatic com.sun.marlin.DRenderer.SCALE_DY:D
dmul
dadd
dstore 11
start local 11 2: getstatic com.sun.marlin.DRenderer.QUAD_DEC_BND:D
dstore 13
start local 13 3: goto 8
4: StackMap locals: int double double
StackMap stack:
dload 11
ldc 4.0
ddiv
dstore 11
5: iload 10
iconst_1
ishl
istore 10
6: getstatic com.sun.marlin.DRenderer.DO_STATS:Z
ifeq 8
7: aload 0
getfield com.sun.marlin.DRenderer.rdrCtx:Lcom/sun/marlin/DRendererContext;
getfield com.sun.marlin.DRendererContext.stats:Lcom/sun/marlin/RendererStats;
getfield com.sun.marlin.RendererStats.stat_rdr_quadBreak_dec:Lcom/sun/marlin/stats/StatLong;
iload 10
invokevirtual com.sun.marlin.stats.StatLong.add:(I)V
8: StackMap locals:
StackMap stack:
dload 11
dload 13
dcmpl
ifge 4
9: iload 10
istore 15
start local 15 10: iload 10
iconst_1
if_icmple 27
11: dconst_1
iload 10
i2d
ddiv
dstore 16
start local 16 12: dload 16
dload 16
dmul
dstore 18
start local 18 13: aload 5
getfield com.sun.marlin.DCurve.dbx:D
dload 18
dmul
dstore 20
start local 20 14: aload 5
getfield com.sun.marlin.DCurve.dby:D
dload 18
dmul
dstore 22
start local 22 15: aload 5
getfield com.sun.marlin.DCurve.bx:D
dload 18
dmul
aload 5
getfield com.sun.marlin.DCurve.cx:D
dload 16
dmul
dadd
dstore 24
start local 24 16: aload 5
getfield com.sun.marlin.DCurve.by:D
dload 18
dmul
aload 5
getfield com.sun.marlin.DCurve.cy:D
dload 16
dmul
dadd
dstore 26
start local 26 17: dload 1
dstore 28
start local 28 18: dload 3
dstore 30
start local 30 19: goto 26
20: StackMap locals: com.sun.marlin.DRenderer double double com.sun.marlin.DCurve double double int double double int double double double double double double double double
StackMap stack:
dload 28
dload 24
dadd
dstore 28
21: dload 30
dload 26
dadd
dstore 30
22: aload 0
dload 1
dload 3
dload 28
dload 30
invokevirtual com.sun.marlin.DRenderer.addLine:(DDDD)V
23: dload 28
dstore 1
24: dload 30
dstore 3
25: dload 24
dload 20
dadd
dstore 24
dload 26
dload 22
dadd
dstore 26
StackMap locals:
StackMap stack:
26: iinc 10 -1
iload 10
ifgt 20
end local 30 end local 28 end local 26 end local 24 end local 22 end local 20 end local 18 end local 16 27: StackMap locals: com.sun.marlin.DRenderer double double com.sun.marlin.DCurve double double int double double int
StackMap stack:
aload 0
dload 1
dload 3
dload 6
dload 8
invokevirtual com.sun.marlin.DRenderer.addLine:(DDDD)V
28: getstatic com.sun.marlin.DRenderer.DO_STATS:Z
ifeq 30
29: aload 0
getfield com.sun.marlin.DRenderer.rdrCtx:Lcom/sun/marlin/DRendererContext;
getfield com.sun.marlin.DRendererContext.stats:Lcom/sun/marlin/RendererStats;
getfield com.sun.marlin.RendererStats.stat_rdr_quadBreak:Lcom/sun/marlin/stats/StatLong;
iload 15
invokevirtual com.sun.marlin.stats.StatLong.add:(I)V
30: StackMap locals:
StackMap stack:
return
end local 15 end local 13 end local 11 end local 10 end local 8 end local 6 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lcom/sun/marlin/DRenderer;
0 31 1 x0 D
0 31 3 y0 D
0 31 5 c Lcom/sun/marlin/DCurve;
0 31 6 x2 D
0 31 8 y2 D
1 31 10 count I
2 31 11 maxDD D
3 31 13 _DEC_BND D
10 31 15 nL I
12 27 16 icount D
13 27 18 icount2 D
14 27 20 ddx D
15 27 22 ddy D
16 27 24 dx D
17 27 26 dy D
18 27 28 x1 D
19 27 30 y1 D
MethodParameters:
Name Flags
x0
y0
c final
x2 final
y2 final
private void curveBreakIntoLinesAndAdd(double, double, com.sun.marlin.DCurve, double, double);
descriptor: (DDLcom/sun/marlin/DCurve;DD)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=34, args_size=6
start local 0 start local 1 start local 3 start local 5 start local 6 start local 8 0: iconst_4
istore 10
start local 10 1: ldc 2.0
aload 5
getfield com.sun.marlin.DCurve.dax:D
dmul
ldc 0.015625
dmul
dstore 11
start local 11 2: ldc 2.0
aload 5
getfield com.sun.marlin.DCurve.day:D
dmul
ldc 0.015625
dmul
dstore 13
start local 13 3: dload 11
aload 5
getfield com.sun.marlin.DCurve.dbx:D
ldc 0.0625
dmul
dadd
dstore 15
start local 15 4: dload 13
aload 5
getfield com.sun.marlin.DCurve.dby:D
ldc 0.0625
dmul
dadd
dstore 17
start local 17 5: aload 5
getfield com.sun.marlin.DCurve.ax:D
ldc 0.015625
dmul
aload 5
getfield com.sun.marlin.DCurve.bx:D
ldc 0.0625
dmul
dadd
aload 5
getfield com.sun.marlin.DCurve.cx:D
ldc 0.25
dmul
dadd
dstore 19
start local 19 6: aload 5
getfield com.sun.marlin.DCurve.ay:D
ldc 0.015625
dmul
aload 5
getfield com.sun.marlin.DCurve.by:D
ldc 0.0625
dmul
dadd
aload 5
getfield com.sun.marlin.DCurve.cy:D
ldc 0.25
dmul
dadd
dstore 21
start local 21 7: iconst_0
istore 23
start local 23 8: getstatic com.sun.marlin.DRenderer.CUB_DEC_BND:D
dstore 24
start local 24 9: getstatic com.sun.marlin.DRenderer.CUB_INC_BND:D
dstore 26
start local 26 10: getstatic com.sun.marlin.DRenderer.SCALE_DY:D
dstore 28
start local 28 11: dload 1
dstore 30
start local 30 12: dload 3
dstore 32
start local 32 13: goto 48
14: StackMap locals: com.sun.marlin.DRenderer double double com.sun.marlin.DCurve double double int double double double double double double int double double double double double
StackMap stack:
ldc 2.0
dload 19
dmul
dload 15
dadd
dstore 19
15: ldc 2.0
dload 21
dmul
dload 17
dadd
dstore 21
16: ldc 4.0
dload 15
dload 11
dadd
dmul
dstore 15
17: ldc 4.0
dload 17
dload 13
dadd
dmul
dstore 17
18: dload 11
ldc 8.0
dmul
dstore 11
19: dload 13
ldc 8.0
dmul
dstore 13
20: iload 10
iconst_1
ishr
istore 10
21: getstatic com.sun.marlin.DRenderer.DO_STATS:Z
ifeq 23
22: aload 0
getfield com.sun.marlin.DRenderer.rdrCtx:Lcom/sun/marlin/DRendererContext;
getfield com.sun.marlin.DRendererContext.stats:Lcom/sun/marlin/RendererStats;
getfield com.sun.marlin.RendererStats.stat_rdr_curveBreak_inc:Lcom/sun/marlin/stats/StatLong;
iload 10
invokevirtual com.sun.marlin.stats.StatLong.add:(I)V
23: StackMap locals:
StackMap stack:
iload 10
iconst_2
irem
ifne 36
24: dload 15
invokestatic java.lang.Math.abs:(D)D
dload 17
invokestatic java.lang.Math.abs:(D)D
dload 28
dmul
dadd
dload 26
25: dcmpg
ifle 14
26: goto 36
27: StackMap locals:
StackMap stack:
dload 11
ldc 8.0
ddiv
dstore 11
28: dload 13
ldc 8.0
ddiv
dstore 13
29: dload 15
ldc 4.0
ddiv
dload 11
dsub
dstore 15
30: dload 17
ldc 4.0
ddiv
dload 13
dsub
dstore 17
31: dload 19
dload 15
dsub
ldc 2.0
ddiv
dstore 19
32: dload 21
dload 17
dsub
ldc 2.0
ddiv
dstore 21
33: iload 10
iconst_1
ishl
istore 10
34: getstatic com.sun.marlin.DRenderer.DO_STATS:Z
ifeq 36
35: aload 0
getfield com.sun.marlin.DRenderer.rdrCtx:Lcom/sun/marlin/DRendererContext;
getfield com.sun.marlin.DRendererContext.stats:Lcom/sun/marlin/RendererStats;
getfield com.sun.marlin.RendererStats.stat_rdr_curveBreak_dec:Lcom/sun/marlin/stats/StatLong;
iload 10
invokevirtual com.sun.marlin.stats.StatLong.add:(I)V
36: StackMap locals:
StackMap stack:
dload 15
invokestatic java.lang.Math.abs:(D)D
dload 17
invokestatic java.lang.Math.abs:(D)D
dload 28
dmul
dadd
dload 24
dcmpl
ifge 27
37: iinc 10 -1
iload 10
ifne 39
38: goto 49
39: StackMap locals:
StackMap stack:
dload 30
dload 19
dadd
dstore 30
40: dload 32
dload 21
dadd
dstore 32
41: dload 19
dload 15
dadd
dstore 19
42: dload 21
dload 17
dadd
dstore 21
43: dload 15
dload 11
dadd
dstore 15
44: dload 17
dload 13
dadd
dstore 17
45: aload 0
dload 1
dload 3
dload 30
dload 32
invokevirtual com.sun.marlin.DRenderer.addLine:(DDDD)V
46: dload 30
dstore 1
47: dload 32
dstore 3
48: StackMap locals:
StackMap stack:
iload 10
ifgt 23
end local 32 end local 30 49: StackMap locals:
StackMap stack:
aload 0
dload 1
dload 3
dload 6
dload 8
invokevirtual com.sun.marlin.DRenderer.addLine:(DDDD)V
50: getstatic com.sun.marlin.DRenderer.DO_STATS:Z
ifeq 52
51: aload 0
getfield com.sun.marlin.DRenderer.rdrCtx:Lcom/sun/marlin/DRendererContext;
getfield com.sun.marlin.DRendererContext.stats:Lcom/sun/marlin/RendererStats;
getfield com.sun.marlin.RendererStats.stat_rdr_curveBreak:Lcom/sun/marlin/stats/StatLong;
iload 23
iconst_1
iadd
invokevirtual com.sun.marlin.stats.StatLong.add:(I)V
52: StackMap locals:
StackMap stack:
return
end local 28 end local 26 end local 24 end local 23 end local 21 end local 19 end local 17 end local 15 end local 13 end local 11 end local 10 end local 8 end local 6 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 53 0 this Lcom/sun/marlin/DRenderer;
0 53 1 x0 D
0 53 3 y0 D
0 53 5 c Lcom/sun/marlin/DCurve;
0 53 6 x3 D
0 53 8 y3 D
1 53 10 count I
2 53 11 dddx D
3 53 13 dddy D
4 53 15 ddx D
5 53 17 ddy D
6 53 19 dx D
7 53 21 dy D
8 53 23 nL I
9 53 24 _DEC_BND D
10 53 26 _INC_BND D
11 53 28 _SCALE_DY D
12 49 30 x1 D
13 49 32 y1 D
MethodParameters:
Name Flags
x0
y0
c final
x3 final
y3 final
private void addLine(double, double, double, double);
descriptor: (DDDD)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=30, args_size=5
start local 0 start local 1 start local 3 start local 5 start local 7 0: getstatic com.sun.marlin.DRenderer.DO_STATS:Z
ifeq 2
1: aload 0
getfield com.sun.marlin.DRenderer.rdrCtx:Lcom/sun/marlin/DRendererContext;
getfield com.sun.marlin.DRendererContext.stats:Lcom/sun/marlin/RendererStats;
getfield com.sun.marlin.RendererStats.stat_rdr_addLine:Lcom/sun/marlin/stats/StatLong;
iconst_1
invokevirtual com.sun.marlin.stats.StatLong.add:(I)V
2: StackMap locals:
StackMap stack:
iconst_1
istore 9
start local 9 3: dload 7
dload 3
dcmpg
ifge 11
4: iconst_0
istore 9
5: dload 7
dstore 10
start local 10 6: dload 3
dstore 7
7: dload 10
dstore 3
8: dload 5
dstore 10
9: dload 1
dstore 5
10: dload 10
dstore 1
end local 10 11: StackMap locals: int
StackMap stack:
dload 3
invokestatic com.sun.marlin.FloatMath.ceil_int:(D)I
aload 0
getfield com.sun.marlin.DRenderer.boundsMinY:I
invokestatic com.sun.marlin.FloatMath.max:(II)I
istore 10
start local 10 12: dload 7
invokestatic com.sun.marlin.FloatMath.ceil_int:(D)I
aload 0
getfield com.sun.marlin.DRenderer.boundsMaxY:I
invokestatic com.sun.marlin.FloatMath.min:(II)I
istore 11
start local 11 13: iload 10
iload 11
if_icmplt 17
14: getstatic com.sun.marlin.DRenderer.DO_STATS:Z
ifeq 16
15: aload 0
getfield com.sun.marlin.DRenderer.rdrCtx:Lcom/sun/marlin/DRendererContext;
getfield com.sun.marlin.DRendererContext.stats:Lcom/sun/marlin/RendererStats;
getfield com.sun.marlin.RendererStats.stat_rdr_addLine_skip:Lcom/sun/marlin/stats/StatLong;
iconst_1
invokevirtual com.sun.marlin.stats.StatLong.add:(I)V
16: StackMap locals: int int
StackMap stack:
return
17: StackMap locals:
StackMap stack:
iload 10
aload 0
getfield com.sun.marlin.DRenderer.edgeMinY:I
if_icmpge 19
18: aload 0
iload 10
putfield com.sun.marlin.DRenderer.edgeMinY:I
19: StackMap locals:
StackMap stack:
iload 11
aload 0
getfield com.sun.marlin.DRenderer.edgeMaxY:I
if_icmple 21
20: aload 0
iload 11
putfield com.sun.marlin.DRenderer.edgeMaxY:I
21: StackMap locals:
StackMap stack:
dload 1
dload 5
dsub
dload 3
dload 7
dsub
ddiv
dstore 12
start local 12 22: dload 12
dconst_0
dcmpl
iflt 28
23: dload 1
aload 0
getfield com.sun.marlin.DRenderer.edgeMinX:D
dcmpg
ifge 25
24: aload 0
dload 1
putfield com.sun.marlin.DRenderer.edgeMinX:D
25: StackMap locals: double
StackMap stack:
dload 5
aload 0
getfield com.sun.marlin.DRenderer.edgeMaxX:D
dcmpl
ifle 32
26: aload 0
dload 5
putfield com.sun.marlin.DRenderer.edgeMaxX:D
27: goto 32
28: StackMap locals:
StackMap stack:
dload 5
aload 0
getfield com.sun.marlin.DRenderer.edgeMinX:D
dcmpg
ifge 30
29: aload 0
dload 5
putfield com.sun.marlin.DRenderer.edgeMinX:D
30: StackMap locals:
StackMap stack:
dload 1
aload 0
getfield com.sun.marlin.DRenderer.edgeMaxX:D
dcmpl
ifle 32
31: aload 0
dload 1
putfield com.sun.marlin.DRenderer.edgeMaxX:D
32: StackMap locals:
StackMap stack:
getstatic com.sun.marlin.DRenderer.SIZEOF_EDGE_BYTES:I
istore 14
start local 14 33: aload 0
getfield com.sun.marlin.DRenderer.edges:Lcom/sun/marlin/OffHeapArray;
astore 15
start local 15 34: aload 15
getfield com.sun.marlin.OffHeapArray.used:I
istore 16
start local 16 35: aload 15
getfield com.sun.marlin.OffHeapArray.length:J
iload 16
i2l
lsub
iload 14
i2l
lcmp
ifge 42
36: aload 15
getfield com.sun.marlin.OffHeapArray.length:J
37: iload 16
iload 14
iadd
i2l
38: invokestatic com.sun.marlin.ArrayCacheConst.getNewLargeSize:(JJ)J
lstore 17
start local 17 39: getstatic com.sun.marlin.DRenderer.DO_STATS:Z
ifeq 41
40: aload 0
getfield com.sun.marlin.DRenderer.rdrCtx:Lcom/sun/marlin/DRendererContext;
getfield com.sun.marlin.DRendererContext.stats:Lcom/sun/marlin/RendererStats;
getfield com.sun.marlin.RendererStats.stat_rdr_edges_resizes:Lcom/sun/marlin/stats/StatLong;
lload 17
invokevirtual com.sun.marlin.stats.StatLong.add:(J)V
41: StackMap locals: com.sun.marlin.DRenderer double double double double int int int double int com.sun.marlin.OffHeapArray int long
StackMap stack:
aload 15
lload 17
invokevirtual com.sun.marlin.OffHeapArray.resize:(J)V
end local 17 42: StackMap locals:
StackMap stack:
getstatic com.sun.marlin.OffHeapArray.UNSAFE:Lsun/misc/Unsafe;
astore 17
start local 17 43: aload 15
getfield com.sun.marlin.OffHeapArray.address:J
iload 16
i2l
ladd
lstore 18
start local 18 44: dload 1
iload 10
i2d
dload 3
dsub
dload 12
dmul
dadd
dstore 20
start local 20 45: ldc 4.294967296E9
dload 20
dmul
d2l
46: ldc 2147483647
47: ladd
lstore 22
start local 22 48: aload 17
lload 18
lload 22
bipush 31
lshr
l2i
bipush -2
iand
iload 9
ior
invokevirtual sun.misc.Unsafe.putInt:(JI)V
49: lload 18
ldc 4
ladd
lstore 18
50: aload 17
lload 18
lload 22
l2i
iconst_1
iushr
invokevirtual sun.misc.Unsafe.putInt:(JI)V
51: lload 18
ldc 4
ladd
lstore 18
52: ldc 4.294967296E9
dload 12
dmul
d2l
lstore 24
start local 24 53: aload 17
lload 18
lload 24
bipush 31
lshr
l2i
bipush -2
iand
invokevirtual sun.misc.Unsafe.putInt:(JI)V
54: lload 18
ldc 4
ladd
lstore 18
55: aload 17
lload 18
lload 24
l2i
iconst_1
iushr
invokevirtual sun.misc.Unsafe.putInt:(JI)V
56: lload 18
ldc 4
ladd
lstore 18
57: aload 0
getfield com.sun.marlin.DRenderer.edgeBuckets:[I
astore 26
start local 26 58: aload 0
getfield com.sun.marlin.DRenderer.edgeBucketCounts:[I
astore 27
start local 27 59: aload 0
getfield com.sun.marlin.DRenderer.boundsMinY:I
istore 28
start local 28 60: iload 10
iload 28
isub
istore 29
start local 29 61: aload 17
lload 18
aload 26
iload 29
iaload
invokevirtual sun.misc.Unsafe.putInt:(JI)V
62: lload 18
ldc 4
ladd
lstore 18
63: aload 17
lload 18
iload 11
invokevirtual sun.misc.Unsafe.putInt:(JI)V
64: aload 26
iload 29
iload 16
iastore
65: aload 27
iload 29
dup2
iaload
iconst_2
iadd
iastore
66: aload 27
iload 11
iload 28
isub
dup2
iaload
iconst_1
ior
iastore
67: aload 15
dup
getfield com.sun.marlin.OffHeapArray.used:I
iload 14
iadd
putfield com.sun.marlin.OffHeapArray.used:I
68: return
end local 29 end local 28 end local 27 end local 26 end local 24 end local 22 end local 20 end local 18 end local 17 end local 16 end local 15 end local 14 end local 12 end local 11 end local 10 end local 9 end local 7 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 69 0 this Lcom/sun/marlin/DRenderer;
0 69 1 x1 D
0 69 3 y1 D
0 69 5 x2 D
0 69 7 y2 D
3 69 9 or I
6 11 10 tmp D
12 69 10 firstCrossing I
13 69 11 lastCrossing I
22 69 12 slope D
33 69 14 _SIZEOF_EDGE_BYTES I
34 69 15 _edges Lcom/sun/marlin/OffHeapArray;
35 69 16 edgePtr I
39 42 17 edgeNewSize J
43 69 17 _unsafe Lsun/misc/Unsafe;
44 69 18 addr J
45 69 20 x1_intercept D
48 69 22 x1_fixed_biased J
53 69 24 slope_fixed J
58 69 26 _edgeBuckets [I
59 69 27 _edgeBucketCounts [I
60 69 28 _boundsMinY I
61 69 29 bucketIdx I
MethodParameters:
Name Flags
x1
y1
x2
y2
void <init>(com.sun.marlin.DRendererContext);
descriptor: (Lcom/sun/marlin/DRendererContext;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
ldc 2147483647
putfield com.sun.marlin.DRenderer.edgeMinY:I
2: aload 0
ldc -2147483648
putfield com.sun.marlin.DRenderer.edgeMaxY:I
3: aload 0
ldc Infinity
putfield com.sun.marlin.DRenderer.edgeMinX:D
4: aload 0
ldc -Infinity
putfield com.sun.marlin.DRenderer.edgeMaxX:D
5: aload 0
iconst_0
putfield com.sun.marlin.DRenderer.useRLE:Z
6: aload 0
iconst_0
putfield com.sun.marlin.DRenderer.enableBlkFlags:Z
7: aload 0
iconst_0
putfield com.sun.marlin.DRenderer.prevUseBlkFlags:Z
8: aload 0
aload 1
putfield com.sun.marlin.DRenderer.rdrCtx:Lcom/sun/marlin/DRendererContext;
9: aload 0
aload 1
getfield com.sun.marlin.DRendererContext.curve:Lcom/sun/marlin/DCurve;
putfield com.sun.marlin.DRenderer.curve:Lcom/sun/marlin/DCurve;
10: aload 0
aload 1
getfield com.sun.marlin.DRendererContext.rdrMem:Lcom/sun/marlin/DRendererContext$DRendererSharedMemory;
getfield com.sun.marlin.DRendererContext$DRendererSharedMemory.edges:Lcom/sun/marlin/OffHeapArray;
putfield com.sun.marlin.DRenderer.edges:Lcom/sun/marlin/OffHeapArray;
11: aload 0
aload 1
getfield com.sun.marlin.DRendererContext.rdrMem:Lcom/sun/marlin/DRendererContext$DRendererSharedMemory;
getfield com.sun.marlin.DRendererContext$DRendererSharedMemory.edgeBuckets_ref:Lcom/sun/marlin/IntArrayCache$Reference;
putfield com.sun.marlin.DRenderer.edgeBuckets_ref:Lcom/sun/marlin/IntArrayCache$Reference;
12: aload 0
aload 1
getfield com.sun.marlin.DRendererContext.rdrMem:Lcom/sun/marlin/DRendererContext$DRendererSharedMemory;
getfield com.sun.marlin.DRendererContext$DRendererSharedMemory.edgeBucketCounts_ref:Lcom/sun/marlin/IntArrayCache$Reference;
putfield com.sun.marlin.DRenderer.edgeBucketCounts_ref:Lcom/sun/marlin/IntArrayCache$Reference;
13: aload 0
aload 0
getfield com.sun.marlin.DRenderer.edgeBuckets_ref:Lcom/sun/marlin/IntArrayCache$Reference;
getfield com.sun.marlin.IntArrayCache$Reference.initial:[I
putfield com.sun.marlin.DRenderer.edgeBuckets:[I
14: aload 0
aload 0
getfield com.sun.marlin.DRenderer.edgeBucketCounts_ref:Lcom/sun/marlin/IntArrayCache$Reference;
getfield com.sun.marlin.IntArrayCache$Reference.initial:[I
putfield com.sun.marlin.DRenderer.edgeBucketCounts:[I
15: aload 0
aload 1
getfield com.sun.marlin.DRendererContext.rdrMem:Lcom/sun/marlin/DRendererContext$DRendererSharedMemory;
getfield com.sun.marlin.DRendererContext$DRendererSharedMemory.alphaLine_ref:Lcom/sun/marlin/IntArrayCache$Reference;
putfield com.sun.marlin.DRenderer.alphaLine_ref:Lcom/sun/marlin/IntArrayCache$Reference;
16: aload 0
aload 0
getfield com.sun.marlin.DRenderer.alphaLine_ref:Lcom/sun/marlin/IntArrayCache$Reference;
getfield com.sun.marlin.IntArrayCache$Reference.initial:[I
putfield com.sun.marlin.DRenderer.alphaLine:[I
17: aload 0
aload 1
getfield com.sun.marlin.DRendererContext.rdrMem:Lcom/sun/marlin/DRendererContext$DRendererSharedMemory;
getfield com.sun.marlin.DRendererContext$DRendererSharedMemory.crossings_ref:Lcom/sun/marlin/IntArrayCache$Reference;
putfield com.sun.marlin.DRenderer.crossings_ref:Lcom/sun/marlin/IntArrayCache$Reference;
18: aload 0
aload 1
getfield com.sun.marlin.DRendererContext.rdrMem:Lcom/sun/marlin/DRendererContext$DRendererSharedMemory;
getfield com.sun.marlin.DRendererContext$DRendererSharedMemory.aux_crossings_ref:Lcom/sun/marlin/IntArrayCache$Reference;
putfield com.sun.marlin.DRenderer.aux_crossings_ref:Lcom/sun/marlin/IntArrayCache$Reference;
19: aload 0
aload 1
getfield com.sun.marlin.DRendererContext.rdrMem:Lcom/sun/marlin/DRendererContext$DRendererSharedMemory;
getfield com.sun.marlin.DRendererContext$DRendererSharedMemory.edgePtrs_ref:Lcom/sun/marlin/IntArrayCache$Reference;
putfield com.sun.marlin.DRenderer.edgePtrs_ref:Lcom/sun/marlin/IntArrayCache$Reference;
20: aload 0
aload 1
getfield com.sun.marlin.DRendererContext.rdrMem:Lcom/sun/marlin/DRendererContext$DRendererSharedMemory;
getfield com.sun.marlin.DRendererContext$DRendererSharedMemory.aux_edgePtrs_ref:Lcom/sun/marlin/IntArrayCache$Reference;
putfield com.sun.marlin.DRenderer.aux_edgePtrs_ref:Lcom/sun/marlin/IntArrayCache$Reference;
21: aload 0
aload 0
getfield com.sun.marlin.DRenderer.crossings_ref:Lcom/sun/marlin/IntArrayCache$Reference;
getfield com.sun.marlin.IntArrayCache$Reference.initial:[I
putfield com.sun.marlin.DRenderer.crossings:[I
22: aload 0
aload 0
getfield com.sun.marlin.DRenderer.aux_crossings_ref:Lcom/sun/marlin/IntArrayCache$Reference;
getfield com.sun.marlin.IntArrayCache$Reference.initial:[I
putfield com.sun.marlin.DRenderer.aux_crossings:[I
23: aload 0
aload 0
getfield com.sun.marlin.DRenderer.edgePtrs_ref:Lcom/sun/marlin/IntArrayCache$Reference;
getfield com.sun.marlin.IntArrayCache$Reference.initial:[I
putfield com.sun.marlin.DRenderer.edgePtrs:[I
24: aload 0
aload 0
getfield com.sun.marlin.DRenderer.aux_edgePtrs_ref:Lcom/sun/marlin/IntArrayCache$Reference;
getfield com.sun.marlin.IntArrayCache$Reference.initial:[I
putfield com.sun.marlin.DRenderer.aux_edgePtrs:[I
25: aload 0
aload 1
getfield com.sun.marlin.DRendererContext.rdrMem:Lcom/sun/marlin/DRendererContext$DRendererSharedMemory;
getfield com.sun.marlin.DRendererContext$DRendererSharedMemory.blkFlags_ref:Lcom/sun/marlin/IntArrayCache$Reference;
putfield com.sun.marlin.DRenderer.blkFlags_ref:Lcom/sun/marlin/IntArrayCache$Reference;
26: aload 0
aload 0
getfield com.sun.marlin.DRenderer.blkFlags_ref:Lcom/sun/marlin/IntArrayCache$Reference;
getfield com.sun.marlin.IntArrayCache$Reference.initial:[I
putfield com.sun.marlin.DRenderer.blkFlags:[I
27: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lcom/sun/marlin/DRenderer;
0 28 1 rdrCtx Lcom/sun/marlin/DRendererContext;
MethodParameters:
Name Flags
rdrCtx final
public com.sun.marlin.DRenderer init(int, int, int, int, int);
descriptor: (IIIII)Lcom/sun/marlin/DRenderer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
iload 5
putfield com.sun.marlin.DRenderer.windingRule:I
1: aload 0
iload 1
getstatic com.sun.marlin.DRenderer.SUBPIXEL_LG_POSITIONS_X:I
ishl
putfield com.sun.marlin.DRenderer.boundsMinX:I
2: aload 0
3: iload 1
iload 3
iadd
getstatic com.sun.marlin.DRenderer.SUBPIXEL_LG_POSITIONS_X:I
ishl
4: putfield com.sun.marlin.DRenderer.boundsMaxX:I
5: aload 0
iload 2
getstatic com.sun.marlin.DRenderer.SUBPIXEL_LG_POSITIONS_Y:I
ishl
putfield com.sun.marlin.DRenderer.boundsMinY:I
6: aload 0
7: iload 2
iload 4
iadd
getstatic com.sun.marlin.DRenderer.SUBPIXEL_LG_POSITIONS_Y:I
ishl
8: putfield com.sun.marlin.DRenderer.boundsMaxY:I
9: getstatic com.sun.marlin.DRenderer.DO_LOG_BOUNDS:Z
ifeq 14
10: new java.lang.StringBuilder
dup
ldc "boundsXY = ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.sun.marlin.DRenderer.boundsMinX:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " ... "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
11: aload 0
getfield com.sun.marlin.DRenderer.boundsMaxX:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "[ ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.sun.marlin.DRenderer.boundsMinY:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " ... "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
12: aload 0
getfield com.sun.marlin.DRenderer.boundsMaxY:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
13: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.sun.marlin.MarlinUtils.logInfo:(Ljava/lang/String;)V
14: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.marlin.DRenderer.boundsMaxY:I
aload 0
getfield com.sun.marlin.DRenderer.boundsMinY:I
isub
iconst_1
iadd
istore 6
start local 6 15: iload 6
getstatic com.sun.marlin.DRenderer.INITIAL_BUCKET_ARRAY:I
if_icmple 23
16: getstatic com.sun.marlin.DRenderer.DO_STATS:Z
ifeq 21
17: aload 0
getfield com.sun.marlin.DRenderer.rdrCtx:Lcom/sun/marlin/DRendererContext;
getfield com.sun.marlin.DRendererContext.stats:Lcom/sun/marlin/RendererStats;
getfield com.sun.marlin.RendererStats.stat_array_renderer_edgeBuckets:Lcom/sun/marlin/stats/StatLong;
18: iload 6
invokevirtual com.sun.marlin.stats.StatLong.add:(I)V
19: aload 0
getfield com.sun.marlin.DRenderer.rdrCtx:Lcom/sun/marlin/DRendererContext;
getfield com.sun.marlin.DRendererContext.stats:Lcom/sun/marlin/RendererStats;
getfield com.sun.marlin.RendererStats.stat_array_renderer_edgeBucketCounts:Lcom/sun/marlin/stats/StatLong;
20: iload 6
invokevirtual com.sun.marlin.stats.StatLong.add:(I)V
21: StackMap locals: int
StackMap stack:
aload 0
aload 0
getfield com.sun.marlin.DRenderer.edgeBuckets_ref:Lcom/sun/marlin/IntArrayCache$Reference;
iload 6
invokevirtual com.sun.marlin.IntArrayCache$Reference.getArray:(I)[I
putfield com.sun.marlin.DRenderer.edgeBuckets:[I
22: aload 0
aload 0
getfield com.sun.marlin.DRenderer.edgeBucketCounts_ref:Lcom/sun/marlin/IntArrayCache$Reference;
iload 6
invokevirtual com.sun.marlin.IntArrayCache$Reference.getArray:(I)[I
putfield com.sun.marlin.DRenderer.edgeBucketCounts:[I
23: StackMap locals:
StackMap stack:
aload 0
ldc 2147483647
putfield com.sun.marlin.DRenderer.edgeMinY:I
24: aload 0
ldc -2147483648
putfield com.sun.marlin.DRenderer.edgeMaxY:I
25: aload 0
ldc Infinity
putfield com.sun.marlin.DRenderer.edgeMinX:D
26: aload 0
ldc -Infinity
putfield com.sun.marlin.DRenderer.edgeMaxX:D
27: aload 0
iconst_0
putfield com.sun.marlin.DRenderer.edgeCount:I
28: aload 0
iconst_0
putfield com.sun.marlin.DRenderer.activeEdgeMaxUsed:I
29: aload 0
getfield com.sun.marlin.DRenderer.edges:Lcom/sun/marlin/OffHeapArray;
iconst_0
putfield com.sun.marlin.OffHeapArray.used:I
30: aload 0
iconst_0
putfield com.sun.marlin.DRenderer.bboxX0:I
31: aload 0
iconst_0
putfield com.sun.marlin.DRenderer.bboxX1:I
32: aload 0
areturn
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 Lcom/sun/marlin/DRenderer;
0 33 1 pix_boundsX I
0 33 2 pix_boundsY I
0 33 3 pix_boundsWidth I
0 33 4 pix_boundsHeight I
0 33 5 windingRule I
15 33 6 edgeBucketsLength I
MethodParameters:
Name Flags
pix_boundsX final
pix_boundsY final
pix_boundsWidth final
pix_boundsHeight final
windingRule final
public void dispose();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: getstatic com.sun.marlin.DRenderer.DO_STATS:Z
ifeq 6
1: aload 0
getfield com.sun.marlin.DRenderer.rdrCtx:Lcom/sun/marlin/DRendererContext;
getfield com.sun.marlin.DRendererContext.stats:Lcom/sun/marlin/RendererStats;
getfield com.sun.marlin.RendererStats.stat_rdr_activeEdges:Lcom/sun/marlin/stats/StatLong;
aload 0
getfield com.sun.marlin.DRenderer.activeEdgeMaxUsed:I
invokevirtual com.sun.marlin.stats.StatLong.add:(I)V
2: aload 0
getfield com.sun.marlin.DRenderer.rdrCtx:Lcom/sun/marlin/DRendererContext;
getfield com.sun.marlin.DRendererContext.stats:Lcom/sun/marlin/RendererStats;
getfield com.sun.marlin.RendererStats.stat_rdr_edges:Lcom/sun/marlin/stats/StatLong;
aload 0
getfield com.sun.marlin.DRenderer.edges:Lcom/sun/marlin/OffHeapArray;
getfield com.sun.marlin.OffHeapArray.used:I
invokevirtual com.sun.marlin.stats.StatLong.add:(I)V
3: aload 0
getfield com.sun.marlin.DRenderer.rdrCtx:Lcom/sun/marlin/DRendererContext;
getfield com.sun.marlin.DRendererContext.stats:Lcom/sun/marlin/RendererStats;
getfield com.sun.marlin.RendererStats.stat_rdr_edges_count:Lcom/sun/marlin/stats/StatLong;
aload 0
getfield com.sun.marlin.DRenderer.edges:Lcom/sun/marlin/OffHeapArray;
getfield com.sun.marlin.OffHeapArray.used:I
getstatic com.sun.marlin.DRenderer.SIZEOF_EDGE_BYTES:I
idiv
invokevirtual com.sun.marlin.stats.StatLong.add:(I)V
4: aload 0
getfield com.sun.marlin.DRenderer.rdrCtx:Lcom/sun/marlin/DRendererContext;
getfield com.sun.marlin.DRendererContext.stats:Lcom/sun/marlin/RendererStats;
getfield com.sun.marlin.RendererStats.hist_rdr_edges_count:Lcom/sun/marlin/stats/Histogram;
aload 0
getfield com.sun.marlin.DRenderer.edges:Lcom/sun/marlin/OffHeapArray;
getfield com.sun.marlin.OffHeapArray.used:I
getstatic com.sun.marlin.DRenderer.SIZEOF_EDGE_BYTES:I
idiv
invokevirtual com.sun.marlin.stats.Histogram.add:(I)V
5: aload 0
getfield com.sun.marlin.DRenderer.rdrCtx:Lcom/sun/marlin/DRendererContext;
getfield com.sun.marlin.DRendererContext.stats:Lcom/sun/marlin/RendererStats;
dup
getfield com.sun.marlin.RendererStats.totalOffHeap:J
aload 0
getfield com.sun.marlin.DRenderer.edges:Lcom/sun/marlin/OffHeapArray;
getfield com.sun.marlin.OffHeapArray.length:J
ladd
putfield com.sun.marlin.RendererStats.totalOffHeap:J
6: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.sun.marlin.DRenderer.crossings_ref:Lcom/sun/marlin/IntArrayCache$Reference;
aload 0
getfield com.sun.marlin.DRenderer.crossings:[I
invokevirtual com.sun.marlin.IntArrayCache$Reference.putArray:([I)[I
putfield com.sun.marlin.DRenderer.crossings:[I
7: aload 0
aload 0
getfield com.sun.marlin.DRenderer.aux_crossings_ref:Lcom/sun/marlin/IntArrayCache$Reference;
aload 0
getfield com.sun.marlin.DRenderer.aux_crossings:[I
invokevirtual com.sun.marlin.IntArrayCache$Reference.putArray:([I)[I
putfield com.sun.marlin.DRenderer.aux_crossings:[I
8: aload 0
aload 0
getfield com.sun.marlin.DRenderer.edgePtrs_ref:Lcom/sun/marlin/IntArrayCache$Reference;
aload 0
getfield com.sun.marlin.DRenderer.edgePtrs:[I
invokevirtual com.sun.marlin.IntArrayCache$Reference.putArray:([I)[I
putfield com.sun.marlin.DRenderer.edgePtrs:[I
9: aload 0
aload 0
getfield com.sun.marlin.DRenderer.aux_edgePtrs_ref:Lcom/sun/marlin/IntArrayCache$Reference;
aload 0
getfield com.sun.marlin.DRenderer.aux_edgePtrs:[I
invokevirtual com.sun.marlin.IntArrayCache$Reference.putArray:([I)[I
putfield com.sun.marlin.DRenderer.aux_edgePtrs:[I
10: aload 0
aload 0
getfield com.sun.marlin.DRenderer.alphaLine_ref:Lcom/sun/marlin/IntArrayCache$Reference;
aload 0
getfield com.sun.marlin.DRenderer.alphaLine:[I
iconst_0
iconst_0
invokevirtual com.sun.marlin.IntArrayCache$Reference.putArray:([III)[I
putfield com.sun.marlin.DRenderer.alphaLine:[I
11: aload 0
aload 0
getfield com.sun.marlin.DRenderer.blkFlags_ref:Lcom/sun/marlin/IntArrayCache$Reference;
aload 0
getfield com.sun.marlin.DRenderer.blkFlags:[I
iconst_0
iconst_0
invokevirtual com.sun.marlin.IntArrayCache$Reference.putArray:([III)[I
putfield com.sun.marlin.DRenderer.blkFlags:[I
12: aload 0
getfield com.sun.marlin.DRenderer.edgeMinY:I
ldc 2147483647
if_icmpeq 24
13: aload 0
getfield com.sun.marlin.DRenderer.rdrCtx:Lcom/sun/marlin/DRendererContext;
getfield com.sun.marlin.DRendererContext.dirty:Z
ifeq 16
14: aload 0
iconst_0
putfield com.sun.marlin.DRenderer.buckets_minY:I
15: aload 0
aload 0
getfield com.sun.marlin.DRenderer.boundsMaxY:I
aload 0
getfield com.sun.marlin.DRenderer.boundsMinY:I
isub
putfield com.sun.marlin.DRenderer.buckets_maxY:I
16: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.sun.marlin.DRenderer.edgeBuckets_ref:Lcom/sun/marlin/IntArrayCache$Reference;
aload 0
getfield com.sun.marlin.DRenderer.edgeBuckets:[I
aload 0
getfield com.sun.marlin.DRenderer.buckets_minY:I
17: aload 0
getfield com.sun.marlin.DRenderer.buckets_maxY:I
18: invokevirtual com.sun.marlin.IntArrayCache$Reference.putArray:([III)[I
putfield com.sun.marlin.DRenderer.edgeBuckets:[I
19: aload 0
aload 0
getfield com.sun.marlin.DRenderer.edgeBucketCounts_ref:Lcom/sun/marlin/IntArrayCache$Reference;
aload 0
getfield com.sun.marlin.DRenderer.edgeBucketCounts:[I
20: aload 0
getfield com.sun.marlin.DRenderer.buckets_minY:I
21: aload 0
getfield com.sun.marlin.DRenderer.buckets_maxY:I
iconst_1
iadd
22: invokevirtual com.sun.marlin.IntArrayCache$Reference.putArray:([III)[I
putfield com.sun.marlin.DRenderer.edgeBucketCounts:[I
23: goto 26
24: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.sun.marlin.DRenderer.edgeBuckets_ref:Lcom/sun/marlin/IntArrayCache$Reference;
aload 0
getfield com.sun.marlin.DRenderer.edgeBuckets:[I
iconst_0
iconst_0
invokevirtual com.sun.marlin.IntArrayCache$Reference.putArray:([III)[I
putfield com.sun.marlin.DRenderer.edgeBuckets:[I
25: aload 0
aload 0
getfield com.sun.marlin.DRenderer.edgeBucketCounts_ref:Lcom/sun/marlin/IntArrayCache$Reference;
aload 0
getfield com.sun.marlin.DRenderer.edgeBucketCounts:[I
iconst_0
iconst_0
invokevirtual com.sun.marlin.IntArrayCache$Reference.putArray:([III)[I
putfield com.sun.marlin.DRenderer.edgeBucketCounts:[I
26: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.marlin.DRenderer.edges:Lcom/sun/marlin/OffHeapArray;
getfield com.sun.marlin.OffHeapArray.length:J
getstatic com.sun.marlin.DRenderer.INITIAL_EDGES_CAPACITY:I
i2l
lcmp
ifeq 28
27: aload 0
getfield com.sun.marlin.DRenderer.edges:Lcom/sun/marlin/OffHeapArray;
getstatic com.sun.marlin.DRenderer.INITIAL_EDGES_CAPACITY:I
i2l
invokevirtual com.sun.marlin.OffHeapArray.resize:(J)V
28: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lcom/sun/marlin/DRenderer;
private static double tosubpixx(double);
descriptor: (D)D
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: getstatic com.sun.marlin.DRenderer.SUBPIXEL_SCALE_X:D
dload 0
dmul
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 pix_x D
MethodParameters:
Name Flags
pix_x final
private static double tosubpixy(double);
descriptor: (D)D
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: getstatic com.sun.marlin.DRenderer.SUBPIXEL_SCALE_Y:D
dload 0
dmul
ldc 0.5
dsub
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 pix_y D
MethodParameters:
Name Flags
pix_y final
public void moveTo(double, double);
descriptor: (DD)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=9, args_size=3
start local 0 start local 1 start local 3 0: aload 0
invokevirtual com.sun.marlin.DRenderer.closePath:()V
1: dload 1
invokestatic com.sun.marlin.DRenderer.tosubpixx:(D)D
dstore 5
start local 5 2: dload 3
invokestatic com.sun.marlin.DRenderer.tosubpixy:(D)D
dstore 7
start local 7 3: aload 0
dload 5
putfield com.sun.marlin.DRenderer.sx0:D
4: aload 0
dload 7
putfield com.sun.marlin.DRenderer.sy0:D
5: aload 0
dload 5
putfield com.sun.marlin.DRenderer.x0:D
6: aload 0
dload 7
putfield com.sun.marlin.DRenderer.y0:D
7: return
end local 7 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/marlin/DRenderer;
0 8 1 pix_x0 D
0 8 3 pix_y0 D
2 8 5 sx D
3 8 7 sy D
MethodParameters:
Name Flags
pix_x0 final
pix_y0 final
public void lineTo(double, double);
descriptor: (DD)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=9, args_size=3
start local 0 start local 1 start local 3 0: dload 1
invokestatic com.sun.marlin.DRenderer.tosubpixx:(D)D
dstore 5
start local 5 1: dload 3
invokestatic com.sun.marlin.DRenderer.tosubpixy:(D)D
dstore 7
start local 7 2: aload 0
aload 0
getfield com.sun.marlin.DRenderer.x0:D
aload 0
getfield com.sun.marlin.DRenderer.y0:D
dload 5
dload 7
invokevirtual com.sun.marlin.DRenderer.addLine:(DDDD)V
3: aload 0
dload 5
putfield com.sun.marlin.DRenderer.x0:D
4: aload 0
dload 7
putfield com.sun.marlin.DRenderer.y0:D
5: return
end local 7 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/marlin/DRenderer;
0 6 1 pix_x1 D
0 6 3 pix_y1 D
1 6 5 x1 D
2 6 7 y1 D
MethodParameters:
Name Flags
pix_x1 final
pix_y1 final
public void curveTo(double, double, double, double, double, double);
descriptor: (DDDDDD)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=17, locals=17, args_size=7
start local 0 start local 1 start local 3 start local 5 start local 7 start local 9 start local 11 0: dload 9
invokestatic com.sun.marlin.DRenderer.tosubpixx:(D)D
dstore 13
start local 13 1: dload 11
invokestatic com.sun.marlin.DRenderer.tosubpixy:(D)D
dstore 15
start local 15 2: aload 0
getfield com.sun.marlin.DRenderer.curve:Lcom/sun/marlin/DCurve;
aload 0
getfield com.sun.marlin.DRenderer.x0:D
aload 0
getfield com.sun.marlin.DRenderer.y0:D
3: dload 1
invokestatic com.sun.marlin.DRenderer.tosubpixx:(D)D
dload 3
invokestatic com.sun.marlin.DRenderer.tosubpixy:(D)D
4: dload 5
invokestatic com.sun.marlin.DRenderer.tosubpixx:(D)D
dload 7
invokestatic com.sun.marlin.DRenderer.tosubpixy:(D)D
5: dload 13
dload 15
6: invokevirtual com.sun.marlin.DCurve.set:(DDDDDDDD)V
7: aload 0
aload 0
getfield com.sun.marlin.DRenderer.x0:D
aload 0
getfield com.sun.marlin.DRenderer.y0:D
aload 0
getfield com.sun.marlin.DRenderer.curve:Lcom/sun/marlin/DCurve;
dload 13
dload 15
invokevirtual com.sun.marlin.DRenderer.curveBreakIntoLinesAndAdd:(DDLcom/sun/marlin/DCurve;DD)V
8: aload 0
dload 13
putfield com.sun.marlin.DRenderer.x0:D
9: aload 0
dload 15
putfield com.sun.marlin.DRenderer.y0:D
10: return
end local 15 end local 13 end local 11 end local 9 end local 7 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/sun/marlin/DRenderer;
0 11 1 pix_x1 D
0 11 3 pix_y1 D
0 11 5 pix_x2 D
0 11 7 pix_y2 D
0 11 9 pix_x3 D
0 11 11 pix_y3 D
1 11 13 xe D
2 11 15 ye D
MethodParameters:
Name Flags
pix_x1 final
pix_y1 final
pix_x2 final
pix_y2 final
pix_x3 final
pix_y3 final
public void quadTo(double, double, double, double);
descriptor: (DDDD)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=13, locals=13, args_size=5
start local 0 start local 1 start local 3 start local 5 start local 7 0: dload 5
invokestatic com.sun.marlin.DRenderer.tosubpixx:(D)D
dstore 9
start local 9 1: dload 7
invokestatic com.sun.marlin.DRenderer.tosubpixy:(D)D
dstore 11
start local 11 2: aload 0
getfield com.sun.marlin.DRenderer.curve:Lcom/sun/marlin/DCurve;
aload 0
getfield com.sun.marlin.DRenderer.x0:D
aload 0
getfield com.sun.marlin.DRenderer.y0:D
3: dload 1
invokestatic com.sun.marlin.DRenderer.tosubpixx:(D)D
dload 3
invokestatic com.sun.marlin.DRenderer.tosubpixy:(D)D
4: dload 9
dload 11
5: invokevirtual com.sun.marlin.DCurve.set:(DDDDDD)V
6: aload 0
aload 0
getfield com.sun.marlin.DRenderer.x0:D
aload 0
getfield com.sun.marlin.DRenderer.y0:D
aload 0
getfield com.sun.marlin.DRenderer.curve:Lcom/sun/marlin/DCurve;
dload 9
dload 11
invokevirtual com.sun.marlin.DRenderer.quadBreakIntoLinesAndAdd:(DDLcom/sun/marlin/DCurve;DD)V
7: aload 0
dload 9
putfield com.sun.marlin.DRenderer.x0:D
8: aload 0
dload 11
putfield com.sun.marlin.DRenderer.y0:D
9: return
end local 11 end local 9 end local 7 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/marlin/DRenderer;
0 10 1 pix_x1 D
0 10 3 pix_y1 D
0 10 5 pix_x2 D
0 10 7 pix_y2 D
1 10 9 xe D
2 10 11 ye D
MethodParameters:
Name Flags
pix_x1 final
pix_y1 final
pix_x2 final
pix_y2 final
public void closePath();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.marlin.DRenderer.x0:D
aload 0
getfield com.sun.marlin.DRenderer.sx0:D
dcmpl
ifne 1
aload 0
getfield com.sun.marlin.DRenderer.y0:D
aload 0
getfield com.sun.marlin.DRenderer.sy0:D
dcmpl
ifeq 4
1: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.sun.marlin.DRenderer.x0:D
aload 0
getfield com.sun.marlin.DRenderer.y0:D
aload 0
getfield com.sun.marlin.DRenderer.sx0:D
aload 0
getfield com.sun.marlin.DRenderer.sy0:D
invokevirtual com.sun.marlin.DRenderer.addLine:(DDDD)V
2: aload 0
aload 0
getfield com.sun.marlin.DRenderer.sx0:D
putfield com.sun.marlin.DRenderer.x0:D
3: aload 0
aload 0
getfield com.sun.marlin.DRenderer.sy0:D
putfield com.sun.marlin.DRenderer.y0:D
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/marlin/DRenderer;
public void pathDone();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.marlin.DRenderer.closePath:()V
1: aload 0
invokevirtual com.sun.marlin.DRenderer.endRendering:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/marlin/DRenderer;
private void _endRendering(int, int, com.sun.marlin.MarlinAlphaConsumer);
descriptor: (IILcom/sun/marlin/MarlinAlphaConsumer;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=76, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.sun.marlin.DRenderer.bbox_spminX:I
istore 4
start local 4 1: aload 0
getfield com.sun.marlin.DRenderer.bbox_spmaxX:I
istore 5
start local 5 2: aload 0
getfield com.sun.marlin.DRenderer.windingRule:I
ifne 3
iconst_1
goto 4
StackMap locals: int int
StackMap stack:
3: iconst_0
StackMap locals:
StackMap stack: int
4: istore 6
start local 6 5: aload 0
getfield com.sun.marlin.DRenderer.alphaLine:[I
astore 7
start local 7 6: aload 0
getfield com.sun.marlin.DRenderer.edges:Lcom/sun/marlin/OffHeapArray;
astore 8
start local 8 7: aload 0
getfield com.sun.marlin.DRenderer.edgeBuckets:[I
astore 9
start local 9 8: aload 0
getfield com.sun.marlin.DRenderer.edgeBucketCounts:[I
astore 10
start local 10 9: aload 0
getfield com.sun.marlin.DRenderer.crossings:[I
astore 11
start local 11 10: aload 0
getfield com.sun.marlin.DRenderer.edgePtrs:[I
astore 12
start local 12 11: aload 0
getfield com.sun.marlin.DRenderer.aux_crossings:[I
astore 13
start local 13 12: aload 0
getfield com.sun.marlin.DRenderer.aux_edgePtrs:[I
astore 14
start local 14 13: getstatic com.sun.marlin.DRenderer.OFF_ERROR:J
lstore 15
start local 15 14: getstatic com.sun.marlin.DRenderer.OFF_BUMP_X:J
lstore 17
start local 17 15: getstatic com.sun.marlin.DRenderer.OFF_BUMP_ERR:J
lstore 19
start local 19 16: getstatic com.sun.marlin.DRenderer.OFF_NEXT:J
lstore 21
start local 21 17: getstatic com.sun.marlin.DRenderer.OFF_YMAX:J
lstore 23
start local 23 18: getstatic com.sun.marlin.OffHeapArray.UNSAFE:Lsun/misc/Unsafe;
astore 25
start local 25 19: aload 8
getfield com.sun.marlin.OffHeapArray.address:J
lstore 26
start local 26 20: getstatic com.sun.marlin.DRenderer.SUBPIXEL_LG_POSITIONS_X:I
istore 30
start local 30 21: getstatic com.sun.marlin.DRenderer.SUBPIXEL_LG_POSITIONS_Y:I
istore 31
start local 31 22: getstatic com.sun.marlin.DRenderer.SUBPIXEL_MASK_X:I
istore 32
start local 32 23: getstatic com.sun.marlin.DRenderer.SUBPIXEL_MASK_Y:I
istore 33
start local 33 24: getstatic com.sun.marlin.DRenderer.SUBPIXEL_POSITIONS_X:I
istore 34
start local 34 25: ldc 2147483647
istore 35
start local 35 26: ldc -2147483648
istore 36
start local 36 27: iload 1
istore 37
start local 37 28: iload 37
aload 0
getfield com.sun.marlin.DRenderer.boundsMinY:I
isub
istore 38
start local 38 29: aload 0
getfield com.sun.marlin.DRenderer.edgeCount:I
istore 39
start local 39 30: aload 12
arraylength
istore 40
start local 40 31: aload 11
arraylength
istore 41
start local 41 32: aload 0
getfield com.sun.marlin.DRenderer.activeEdgeMaxUsed:I
istore 42
start local 42 33: iconst_0
istore 43
start local 43 34: aload 0
getfield com.sun.marlin.DRenderer.blkFlags:[I
astore 69
start local 69 35: getstatic com.sun.marlin.DRenderer.BLOCK_SIZE_LG:I
istore 70
start local 70 36: getstatic com.sun.marlin.DRenderer.BLOCK_SIZE:I
istore 71
start local 71 37: getstatic com.sun.marlin.DRenderer.ENABLE_BLOCK_FLAGS_HEURISTICS:Z
ifeq 38
aload 0
getfield com.sun.marlin.DRenderer.enableBlkFlags:Z
ifeq 38
iconst_1
goto 39
StackMap locals: com.sun.marlin.DRenderer int int com.sun.marlin.MarlinAlphaConsumer int int int int[] com.sun.marlin.OffHeapArray int[] int[] int[] int[] int[] int[] long long long long long sun.misc.Unsafe long top top int int int int int int int int int int int int int int top top top top top top top top top top top top top top top top top top top top top top top top top int[] int int
StackMap stack:
38: iconst_0
StackMap locals:
StackMap stack: int
39: istore 72
start local 72 40: aload 0
getfield com.sun.marlin.DRenderer.prevUseBlkFlags:Z
istore 73
start local 73 41: aload 0
getfield com.sun.marlin.DRenderer.rdrCtx:Lcom/sun/marlin/DRendererContext;
getfield com.sun.marlin.DRendererContext.stroking:I
istore 74
start local 74 42: iconst_m1
istore 75
start local 75 43: goto 353
44: StackMap locals: com.sun.marlin.DRenderer int int com.sun.marlin.MarlinAlphaConsumer int int int int[] com.sun.marlin.OffHeapArray int[] int[] int[] int[] int[] int[] long long long long long sun.misc.Unsafe long top top int int int int int int int int int int int int int int top top top top top top top top top top top top top top top top top top top top top top top top top int[] int int int int int int
StackMap stack:
aload 10
iload 38
iaload
istore 46
start local 46 45: iload 39
istore 67
start local 67 46: iload 46
ifeq 111
47: getstatic com.sun.marlin.DRenderer.DO_STATS:Z
ifeq 49
48: aload 0
getfield com.sun.marlin.DRenderer.rdrCtx:Lcom/sun/marlin/DRendererContext;
getfield com.sun.marlin.DRendererContext.stats:Lcom/sun/marlin/RendererStats;
getfield com.sun.marlin.RendererStats.stat_rdr_activeEdges_updates:Lcom/sun/marlin/stats/StatLong;
iload 39
invokevirtual com.sun.marlin.stats.StatLong.add:(I)V
49: StackMap locals: com.sun.marlin.DRenderer int int com.sun.marlin.MarlinAlphaConsumer int int int int[] com.sun.marlin.OffHeapArray int[] int[] int[] int[] int[] int[] long long long long long sun.misc.Unsafe long top top int int int int int int int int int int int int int int top top int top top top top top top top top top top top top top top top top top top top top int top int[] int int int int int int
StackMap stack:
iload 46
iconst_1
iand
ifeq 60
50: lload 26
lload 23
ladd
lstore 28
start local 28 51: iconst_0
istore 47
start local 47 52: iconst_0
istore 44
start local 44 53: goto 58
54: StackMap locals: com.sun.marlin.DRenderer int int com.sun.marlin.MarlinAlphaConsumer int int int int[] com.sun.marlin.OffHeapArray int[] int[] int[] int[] int[] int[] long long long long long sun.misc.Unsafe long long int int int int int int int int int int int int int int int top int int top top top top top top top top top top top top top top top top top top top int top int[] int int int int int int
StackMap stack:
aload 12
iload 47
iaload
istore 49
start local 49 55: aload 25
lload 28
iload 49
i2l
ladd
invokevirtual sun.misc.Unsafe.getInt:(J)I
iload 37
if_icmple 57
56: aload 12
iload 44
iinc 44 1
iload 49
iastore
57: StackMap locals: com.sun.marlin.DRenderer int int com.sun.marlin.MarlinAlphaConsumer int int int int[] com.sun.marlin.OffHeapArray int[] int[] int[] int[] int[] int[] long long long long long sun.misc.Unsafe long long int int int int int int int int int int int int int int int top int int top int top top top top top top top top top top top top top top top top top int top int[] int int int int int int
StackMap stack:
iinc 47 1
end local 49 StackMap locals: com.sun.marlin.DRenderer int int com.sun.marlin.MarlinAlphaConsumer int int int int[] com.sun.marlin.OffHeapArray int[] int[] int[] int[] int[] int[] long long long long long sun.misc.Unsafe long long int int int int int int int int int int int int int int int top int int top top top top top top top top top top top top top top top top top top top int top int[] int int int int int int
StackMap stack:
58: iload 47
iload 39
if_icmplt 54
59: iload 44
dup
istore 39
istore 67
end local 47 end local 44 end local 28 60: StackMap locals: com.sun.marlin.DRenderer int int com.sun.marlin.MarlinAlphaConsumer int int int int[] com.sun.marlin.OffHeapArray int[] int[] int[] int[] int[] int[] long long long long long sun.misc.Unsafe long top top int int int int int int int int int int int int int int top top int top top top top top top top top top top top top top top top top top top top top int top int[] int int int int int int
StackMap stack:
iload 46
iconst_1
ishr
istore 43
61: iload 43
ifeq 111
62: getstatic com.sun.marlin.DRenderer.DO_STATS:Z
ifeq 66
63: aload 0
getfield com.sun.marlin.DRenderer.rdrCtx:Lcom/sun/marlin/DRendererContext;
getfield com.sun.marlin.DRendererContext.stats:Lcom/sun/marlin/RendererStats;
getfield com.sun.marlin.RendererStats.stat_rdr_activeEdges_adds:Lcom/sun/marlin/stats/StatLong;
iload 43
invokevirtual com.sun.marlin.stats.StatLong.add:(I)V
64: iload 43
bipush 10
if_icmple 66
65: aload 0
getfield com.sun.marlin.DRenderer.rdrCtx:Lcom/sun/marlin/DRendererContext;
getfield com.sun.marlin.DRendererContext.stats:Lcom/sun/marlin/RendererStats;
getfield com.sun.marlin.RendererStats.stat_rdr_activeEdges_adds_high:Lcom/sun/marlin/stats/StatLong;
iload 43
invokevirtual com.sun.marlin.stats.StatLong.add:(I)V
66: StackMap locals:
StackMap stack:
iload 39
iload 43
iadd
istore 45
start local 45 67: iload 40
iload 45
if_icmpge 84
68: getstatic com.sun.marlin.DRenderer.DO_STATS:Z
ifeq 70
69: aload 0
getfield com.sun.marlin.DRenderer.rdrCtx:Lcom/sun/marlin/DRendererContext;
getfield com.sun.marlin.DRendererContext.stats:Lcom/sun/marlin/RendererStats;
getfield com.sun.marlin.RendererStats.stat_array_renderer_edgePtrs:Lcom/sun/marlin/stats/StatLong;
iload 45
invokevirtual com.sun.marlin.stats.StatLong.add:(I)V
70: StackMap locals: com.sun.marlin.DRenderer int int com.sun.marlin.MarlinAlphaConsumer int int int int[] com.sun.marlin.OffHeapArray int[] int[] int[] int[] int[] int[] long long long long long sun.misc.Unsafe long top top int int int int int int int int int int int int int int top int int top top top top top top top top top top top top top top top top top top top top int top int[] int int int int int int
StackMap stack:
aload 0
71: aload 0
getfield com.sun.marlin.DRenderer.edgePtrs_ref:Lcom/sun/marlin/IntArrayCache$Reference;
aload 12
iload 39
72: iload 45
73: invokevirtual com.sun.marlin.IntArrayCache$Reference.widenArray:([III)[I
74: dup
astore 12
putfield com.sun.marlin.DRenderer.edgePtrs:[I
75: aload 12
arraylength
istore 40
76: aload 0
getfield com.sun.marlin.DRenderer.aux_edgePtrs_ref:Lcom/sun/marlin/IntArrayCache$Reference;
aload 14
invokevirtual com.sun.marlin.IntArrayCache$Reference.putArray:([I)[I
pop
77: getstatic com.sun.marlin.DRenderer.DO_STATS:Z
ifeq 79
78: aload 0
getfield com.sun.marlin.DRenderer.rdrCtx:Lcom/sun/marlin/DRendererContext;
getfield com.sun.marlin.DRendererContext.stats:Lcom/sun/marlin/RendererStats;
getfield com.sun.marlin.RendererStats.stat_array_renderer_aux_edgePtrs:Lcom/sun/marlin/stats/StatLong;
iload 45
invokevirtual com.sun.marlin.stats.StatLong.add:(I)V
79: StackMap locals:
StackMap stack:
aload 0
80: aload 0
getfield com.sun.marlin.DRenderer.aux_edgePtrs_ref:Lcom/sun/marlin/IntArrayCache$Reference;
81: iload 39
iload 45
invokestatic com.sun.marlin.ArrayCacheConst.getNewSize:(II)I
82: invokevirtual com.sun.marlin.IntArrayCache$Reference.getArray:(I)[I
83: dup
astore 14
putfield com.sun.marlin.DRenderer.aux_edgePtrs:[I
84: StackMap locals:
StackMap stack:
lload 26
lload 21
ladd
lstore 28
start local 28 85: aload 9
iload 38
iaload
istore 49
start local 49 86: goto 90
87: StackMap locals: com.sun.marlin.DRenderer int int com.sun.marlin.MarlinAlphaConsumer int int int int[] com.sun.marlin.OffHeapArray int[] int[] int[] int[] int[] int[] long long long long long sun.misc.Unsafe long long int int int int int int int int int int int int int int top int int top top int top top top top top top top top top top top top top top top top top int top int[] int int int int int int
StackMap stack:
aload 12
iload 39
iload 49
iastore
88: aload 25
lload 28
iload 49
i2l
ladd
invokevirtual sun.misc.Unsafe.getInt:(J)I
istore 49
89: iinc 39 1
StackMap locals:
StackMap stack:
90: iload 39
iload 45
91: if_icmplt 87
92: iload 41
iload 39
if_icmpge 108
93: aload 0
getfield com.sun.marlin.DRenderer.crossings_ref:Lcom/sun/marlin/IntArrayCache$Reference;
aload 11
invokevirtual com.sun.marlin.IntArrayCache$Reference.putArray:([I)[I
pop
94: getstatic com.sun.marlin.DRenderer.DO_STATS:Z
ifeq 97
95: aload 0
getfield com.sun.marlin.DRenderer.rdrCtx:Lcom/sun/marlin/DRendererContext;
getfield com.sun.marlin.DRendererContext.stats:Lcom/sun/marlin/RendererStats;
getfield com.sun.marlin.RendererStats.stat_array_renderer_crossings:Lcom/sun/marlin/stats/StatLong;
96: iload 39
invokevirtual com.sun.marlin.stats.StatLong.add:(I)V
97: StackMap locals:
StackMap stack:
aload 0
98: aload 0
getfield com.sun.marlin.DRenderer.crossings_ref:Lcom/sun/marlin/IntArrayCache$Reference;
iload 39
invokevirtual com.sun.marlin.IntArrayCache$Reference.getArray:(I)[I
99: dup
astore 11
putfield com.sun.marlin.DRenderer.crossings:[I
100: aload 0
getfield com.sun.marlin.DRenderer.aux_crossings_ref:Lcom/sun/marlin/IntArrayCache$Reference;
aload 13
invokevirtual com.sun.marlin.IntArrayCache$Reference.putArray:([I)[I
pop
101: getstatic com.sun.marlin.DRenderer.DO_STATS:Z
ifeq 104
102: aload 0
getfield com.sun.marlin.DRenderer.rdrCtx:Lcom/sun/marlin/DRendererContext;
getfield com.sun.marlin.DRendererContext.stats:Lcom/sun/marlin/RendererStats;
getfield com.sun.marlin.RendererStats.stat_array_renderer_aux_crossings:Lcom/sun/marlin/stats/StatLong;
103: iload 39
invokevirtual com.sun.marlin.stats.StatLong.add:(I)V
104: StackMap locals:
StackMap stack:
aload 0
105: aload 0
getfield com.sun.marlin.DRenderer.aux_crossings_ref:Lcom/sun/marlin/IntArrayCache$Reference;
iload 39
invokevirtual com.sun.marlin.IntArrayCache$Reference.getArray:(I)[I
106: dup
astore 13
putfield com.sun.marlin.DRenderer.aux_crossings:[I
107: aload 11
arraylength
istore 41
108: StackMap locals:
StackMap stack:
getstatic com.sun.marlin.DRenderer.DO_STATS:Z
ifeq 111
109: iload 39
iload 42
if_icmple 111
110: iload 39
istore 42
end local 49 end local 45 end local 28 111: StackMap locals: com.sun.marlin.DRenderer int int com.sun.marlin.MarlinAlphaConsumer int int int int[] com.sun.marlin.OffHeapArray int[] int[] int[] int[] int[] int[] long long long long long sun.misc.Unsafe long top top int int int int int int int int int int int int int int top top int top top top top top top top top top top top top top top top top top top top top int top int[] int int int int int int
StackMap stack:
iload 39
ifeq 329
112: iload 43
bipush 10
if_icmplt 113
iload 39
bipush 40
if_icmpge 172
113: StackMap locals:
StackMap stack:
getstatic com.sun.marlin.DRenderer.DO_STATS:Z
ifeq 116
114: aload 0
getfield com.sun.marlin.DRenderer.rdrCtx:Lcom/sun/marlin/DRendererContext;
getfield com.sun.marlin.DRendererContext.stats:Lcom/sun/marlin/RendererStats;
getfield com.sun.marlin.RendererStats.hist_rdr_crossings:Lcom/sun/marlin/stats/Histogram;
iload 39
invokevirtual com.sun.marlin.stats.Histogram.add:(I)V
115: aload 0
getfield com.sun.marlin.DRenderer.rdrCtx:Lcom/sun/marlin/DRendererContext;
getfield com.sun.marlin.DRendererContext.stats:Lcom/sun/marlin/RendererStats;
getfield com.sun.marlin.RendererStats.hist_rdr_crossings_adds:Lcom/sun/marlin/stats/Histogram;
iload 43
invokevirtual com.sun.marlin.stats.Histogram.add:(I)V
116: StackMap locals:
StackMap stack:
iload 39
bipush 20
if_icmplt 117
iconst_1
goto 118
StackMap locals:
StackMap stack:
117: iconst_0
StackMap locals:
StackMap stack: int
118: istore 68
start local 68 119: ldc -2147483648
istore 51
start local 51 120: iconst_0
istore 47
start local 47 121: goto 170
122: StackMap locals: com.sun.marlin.DRenderer int int com.sun.marlin.MarlinAlphaConsumer int int int int[] com.sun.marlin.OffHeapArray int[] int[] int[] int[] int[] int[] long long long long long sun.misc.Unsafe long top top int int int int int int int int int int int int int int top top int int top top top int top top top top top top top top top top top top top top top int int int[] int int int int int int
StackMap stack:
aload 12
iload 47
iaload
istore 49
start local 49 123: lload 26
iload 49
i2l
ladd
lstore 28
start local 28 124: aload 25
lload 28
invokevirtual sun.misc.Unsafe.getInt:(J)I
istore 57
start local 57 125: iload 57
istore 50
start local 50 126: iload 57
aload 25
lload 28
lload 17
ladd
invokevirtual sun.misc.Unsafe.getInt:(J)I
iadd
istore 57
127: aload 25
lload 28
lload 15
ladd
invokevirtual sun.misc.Unsafe.getInt:(J)I
128: aload 25
lload 28
lload 19
ladd
invokevirtual sun.misc.Unsafe.getInt:(J)I
129: iadd
istore 60
start local 60 130: aload 25
lload 28
iload 57
iload 60
bipush 30
ishr
bipush -2
iand
isub
invokevirtual sun.misc.Unsafe.putInt:(JI)V
131: aload 25
lload 28
lload 15
ladd
iload 60
ldc 2147483647
iand
invokevirtual sun.misc.Unsafe.putInt:(JI)V
132: getstatic com.sun.marlin.DRenderer.DO_STATS:Z
ifeq 134
133: aload 0
getfield com.sun.marlin.DRenderer.rdrCtx:Lcom/sun/marlin/DRendererContext;
getfield com.sun.marlin.DRendererContext.stats:Lcom/sun/marlin/RendererStats;
getfield com.sun.marlin.RendererStats.stat_rdr_crossings_updates:Lcom/sun/marlin/stats/StatLong;
iload 39
invokevirtual com.sun.marlin.stats.StatLong.add:(I)V
134: StackMap locals: com.sun.marlin.DRenderer int int com.sun.marlin.MarlinAlphaConsumer int int int int[] com.sun.marlin.OffHeapArray int[] int[] int[] int[] int[] int[] long long long long long sun.misc.Unsafe long long int int int int int int int int int int int int int int top top int int top int int int top top top top top int top top int top top top top top top int int int[] int int int int int int
StackMap stack:
iload 50
iload 51
if_icmpge 168
135: getstatic com.sun.marlin.DRenderer.DO_STATS:Z
ifeq 137
136: aload 0
getfield com.sun.marlin.DRenderer.rdrCtx:Lcom/sun/marlin/DRendererContext;
getfield com.sun.marlin.DRendererContext.stats:Lcom/sun/marlin/RendererStats;
getfield com.sun.marlin.RendererStats.stat_rdr_crossings_sorts:Lcom/sun/marlin/stats/StatLong;
iload 47
invokevirtual com.sun.marlin.stats.StatLong.add:(I)V
137: StackMap locals:
StackMap stack:
iload 68
ifeq 158
iload 47
iload 67
if_icmplt 158
138: getstatic com.sun.marlin.DRenderer.DO_STATS:Z
ifeq 140
139: aload 0
getfield com.sun.marlin.DRenderer.rdrCtx:Lcom/sun/marlin/DRendererContext;
getfield com.sun.marlin.DRendererContext.stats:Lcom/sun/marlin/RendererStats;
getfield com.sun.marlin.RendererStats.stat_rdr_crossings_bsearch:Lcom/sun/marlin/stats/StatLong;
iload 47
invokevirtual com.sun.marlin.stats.StatLong.add:(I)V
140: StackMap locals:
StackMap stack:
iconst_0
istore 64
start local 64 141: iload 47
iconst_1
isub
istore 65
start local 65 142: StackMap locals: com.sun.marlin.DRenderer int int com.sun.marlin.MarlinAlphaConsumer int int int int[] com.sun.marlin.OffHeapArray int[] int[] int[] int[] int[] int[] long long long long long sun.misc.Unsafe long long int int int int int int int int int int int int int int top top int int top int int int top top top top top int top top int top top top int int top int int int[] int int int int int int
StackMap stack:
iload 64
iload 65
iadd
iconst_1
ishr
istore 66
start local 66 143: aload 11
iload 66
iaload
iload 50
if_icmpge 146
144: iload 66
iconst_1
iadd
istore 64
145: goto 147
146: StackMap locals: com.sun.marlin.DRenderer int int com.sun.marlin.MarlinAlphaConsumer int int int int[] com.sun.marlin.OffHeapArray int[] int[] int[] int[] int[] int[] long long long long long sun.misc.Unsafe long long int int int int int int int int int int int int int int top top int int top int int int top top top top top int top top int top top top int int int int int int[] int int int int int int
StackMap stack:
iload 66
iconst_1
isub
istore 65
147: StackMap locals:
StackMap stack:
iload 64
iload 65
148: if_icmple 142
149: iload 47
iconst_1
isub
istore 48
start local 48 150: goto 154
151: StackMap locals: com.sun.marlin.DRenderer int int com.sun.marlin.MarlinAlphaConsumer int int int int[] com.sun.marlin.OffHeapArray int[] int[] int[] int[] int[] int[] long long long long long sun.misc.Unsafe long long int int int int int int int int int int int int int int top top int int int int int int top top top top top int top top int top top top int int int int int int[] int int int int int int
StackMap stack:
aload 11
iload 48
iconst_1
iadd
aload 11
iload 48
iaload
iastore
152: aload 12
iload 48
iconst_1
iadd
aload 12
iload 48
iaload
iastore
153: iinc 48 -1
StackMap locals:
StackMap stack:
154: iload 48
iload 64
if_icmpge 151
155: aload 11
iload 64
iload 50
iastore
156: aload 12
iload 64
iload 49
iastore
157: goto 169
end local 66 end local 65 end local 64 end local 48 158: StackMap locals: com.sun.marlin.DRenderer int int com.sun.marlin.MarlinAlphaConsumer int int int int[] com.sun.marlin.OffHeapArray int[] int[] int[] int[] int[] int[] long long long long long sun.misc.Unsafe long long int int int int int int int int int int int int int int top top int int top int int int top top top top top int top top int top top top top top top int int int[] int int int int int int
StackMap stack:
iload 47
iconst_1
isub
istore 48
start local 48 159: aload 11
iload 47
aload 11
iload 48
iaload
iastore
160: aload 12
iload 47
aload 12
iload 48
iaload
iastore
161: goto 164
162: StackMap locals: com.sun.marlin.DRenderer int int com.sun.marlin.MarlinAlphaConsumer int int int int[] com.sun.marlin.OffHeapArray int[] int[] int[] int[] int[] int[] long long long long long sun.misc.Unsafe long long int int int int int int int int int int int int int int top top int int int int int int top top top top top int top top int top top top top top top int int int[] int int int int int int
StackMap stack:
aload 11
iload 48
iconst_1
iadd
aload 11
iload 48
iaload
iastore
163: aload 12
iload 48
iconst_1
iadd
aload 12
iload 48
iaload
iastore
164: StackMap locals:
StackMap stack:
iinc 48 -1
iload 48
iflt 165
aload 11
iload 48
iaload
iload 50
if_icmpgt 162
165: StackMap locals:
StackMap stack:
aload 11
iload 48
iconst_1
iadd
iload 50
iastore
166: aload 12
iload 48
iconst_1
iadd
iload 49
iastore
167: goto 169
end local 48 168: StackMap locals: com.sun.marlin.DRenderer int int com.sun.marlin.MarlinAlphaConsumer int int int int[] com.sun.marlin.OffHeapArray int[] int[] int[] int[] int[] int[] long long long long long sun.misc.Unsafe long long int int int int int int int int int int int int int int top top int int top int int int top top top top top int top top int top top top top top top int int int[] int int int int int int
StackMap stack:
aload 11
iload 47
iload 50
dup
istore 51
iastore
169: StackMap locals:
StackMap stack:
iinc 47 1
end local 60 end local 57 end local 50 end local 49 end local 28 StackMap locals: com.sun.marlin.DRenderer int int com.sun.marlin.MarlinAlphaConsumer int int int int[] com.sun.marlin.OffHeapArray int[] int[] int[] int[] int[] int[] long long long long long sun.misc.Unsafe long top top int int int int int int int int int int int int int int top top int int top top top int top top top top top top top top top top top top top top top int int int[] int int int int int int
StackMap stack:
170: iload 47
iload 39
if_icmplt 122
171: goto 217
end local 68 end local 51 end local 47 172: StackMap locals: com.sun.marlin.DRenderer int int com.sun.marlin.MarlinAlphaConsumer int int int int[] com.sun.marlin.OffHeapArray int[] int[] int[] int[] int[] int[] long long long long long sun.misc.Unsafe long top top int int int int int int int int int int int int int int top top int top top top top top top top top top top top top top top top top top top top top int top int[] int int int int int int
StackMap stack:
getstatic com.sun.marlin.DRenderer.DO_STATS:Z
ifeq 178
173: aload 0
getfield com.sun.marlin.DRenderer.rdrCtx:Lcom/sun/marlin/DRendererContext;
getfield com.sun.marlin.DRendererContext.stats:Lcom/sun/marlin/RendererStats;
getfield com.sun.marlin.RendererStats.stat_rdr_crossings_msorts:Lcom/sun/marlin/stats/StatLong;
iload 39
invokevirtual com.sun.marlin.stats.StatLong.add:(I)V
174: aload 0
getfield com.sun.marlin.DRenderer.rdrCtx:Lcom/sun/marlin/DRendererContext;
getfield com.sun.marlin.DRendererContext.stats:Lcom/sun/marlin/RendererStats;
getfield com.sun.marlin.RendererStats.hist_rdr_crossings_ratio:Lcom/sun/marlin/stats/Histogram;
175: sipush 1000
iload 43
imul
iload 39
idiv
invokevirtual com.sun.marlin.stats.Histogram.add:(I)V
176: aload 0
getfield com.sun.marlin.DRenderer.rdrCtx:Lcom/sun/marlin/DRendererContext;
getfield com.sun.marlin.DRendererContext.stats:Lcom/sun/marlin/RendererStats;
getfield com.sun.marlin.RendererStats.hist_rdr_crossings_msorts:Lcom/sun/marlin/stats/Histogram;
iload 39
invokevirtual com.sun.marlin.stats.Histogram.add:(I)V
177: aload 0
getfield com.sun.marlin.DRenderer.rdrCtx:Lcom/sun/marlin/DRendererContext;
getfield com.sun.marlin.DRendererContext.stats:Lcom/sun/marlin/RendererStats;
getfield com.sun.marlin.RendererStats.hist_rdr_crossings_msorts_adds:Lcom/sun/marlin/stats/Histogram;
iload 43
invokevirtual com.sun.marlin.stats.Histogram.add:(I)V
178: StackMap locals:
StackMap stack:
ldc -2147483648
istore 51
start local 51 179: iconst_0
istore 47
start local 47 180: goto 212
181: StackMap locals: com.sun.marlin.DRenderer int int com.sun.marlin.MarlinAlphaConsumer int int int int[] com.sun.marlin.OffHeapArray int[] int[] int[] int[] int[] int[] long long long long long sun.misc.Unsafe long top top int int int int int int int int int int int int int int top top int int top top top int top top top top top top top top top top top top top top top int top int[] int int int int int int
StackMap stack:
aload 12
iload 47
iaload
istore 49
start local 49 182: lload 26
iload 49
i2l
ladd
lstore 28
start local 28 183: aload 25
lload 28
invokevirtual sun.misc.Unsafe.getInt:(J)I
istore 57
start local 57 184: iload 57
istore 50
start local 50 185: iload 57
aload 25
lload 28
lload 17
ladd
invokevirtual sun.misc.Unsafe.getInt:(J)I
iadd
istore 57
186: aload 25
lload 28
lload 15
ladd
invokevirtual sun.misc.Unsafe.getInt:(J)I
187: aload 25
lload 28
lload 19
ladd
invokevirtual sun.misc.Unsafe.getInt:(J)I
188: iadd
istore 60
start local 60 189: aload 25
lload 28
iload 57
iload 60
bipush 30
ishr
bipush -2
iand
isub
invokevirtual sun.misc.Unsafe.putInt:(JI)V
190: aload 25
lload 28
lload 15
ladd
iload 60
ldc 2147483647
iand
invokevirtual sun.misc.Unsafe.putInt:(JI)V
191: getstatic com.sun.marlin.DRenderer.DO_STATS:Z
ifeq 193
192: aload 0
getfield com.sun.marlin.DRenderer.rdrCtx:Lcom/sun/marlin/DRendererContext;
getfield com.sun.marlin.DRendererContext.stats:Lcom/sun/marlin/RendererStats;
getfield com.sun.marlin.RendererStats.stat_rdr_crossings_updates:Lcom/sun/marlin/stats/StatLong;
iload 39
invokevirtual com.sun.marlin.stats.StatLong.add:(I)V
193: StackMap locals: com.sun.marlin.DRenderer int int com.sun.marlin.MarlinAlphaConsumer int int int int[] com.sun.marlin.OffHeapArray int[] int[] int[] int[] int[] int[] long long long long long sun.misc.Unsafe long long int int int int int int int int int int int int int int top top int int top int int int top top top top top int top top int top top top top top top int top int[] int int int int int int
StackMap stack:
iload 47
iload 67
if_icmplt 196
194: aload 11
iload 47
iload 50
iastore
195: goto 211
StackMap locals:
StackMap stack:
196: iload 50
iload 51
if_icmpge 209
197: getstatic com.sun.marlin.DRenderer.DO_STATS:Z
ifeq 199
198: aload 0
getfield com.sun.marlin.DRenderer.rdrCtx:Lcom/sun/marlin/DRendererContext;
getfield com.sun.marlin.DRendererContext.stats:Lcom/sun/marlin/RendererStats;
getfield com.sun.marlin.RendererStats.stat_rdr_crossings_sorts:Lcom/sun/marlin/stats/StatLong;
iload 47
invokevirtual com.sun.marlin.stats.StatLong.add:(I)V
199: StackMap locals:
StackMap stack:
iload 47
iconst_1
isub
istore 48
start local 48 200: aload 13
iload 47
aload 13
iload 48
iaload
iastore
201: aload 14
iload 47
aload 14
iload 48
iaload
iastore
202: goto 205
203: StackMap locals: com.sun.marlin.DRenderer int int com.sun.marlin.MarlinAlphaConsumer int int int int[] com.sun.marlin.OffHeapArray int[] int[] int[] int[] int[] int[] long long long long long sun.misc.Unsafe long long int int int int int int int int int int int int int int top top int int int int int int top top top top top int top top int top top top top top top int top int[] int int int int int int
StackMap stack:
aload 13
iload 48
iconst_1
iadd
aload 13
iload 48
iaload
iastore
204: aload 14
iload 48
iconst_1
iadd
aload 14
iload 48
iaload
iastore
205: StackMap locals:
StackMap stack:
iinc 48 -1
iload 48
iflt 206
aload 13
iload 48
iaload
iload 50
if_icmpgt 203
206: StackMap locals:
StackMap stack:
aload 13
iload 48
iconst_1
iadd
iload 50
iastore
207: aload 14
iload 48
iconst_1
iadd
iload 49
iastore
208: goto 211
end local 48 209: StackMap locals: com.sun.marlin.DRenderer int int com.sun.marlin.MarlinAlphaConsumer int int int int[] com.sun.marlin.OffHeapArray int[] int[] int[] int[] int[] int[] long long long long long sun.misc.Unsafe long long int int int int int int int int int int int int int int top top int int top int int int top top top top top int top top int top top top top top top int top int[] int int int int int int
StackMap stack:
aload 13
iload 47
iload 50
dup
istore 51
iastore
210: aload 14
iload 47
iload 49
iastore
211: StackMap locals:
StackMap stack:
iinc 47 1
end local 60 end local 57 end local 50 end local 49 end local 28 StackMap locals: com.sun.marlin.DRenderer int int com.sun.marlin.MarlinAlphaConsumer int int int int[] com.sun.marlin.OffHeapArray int[] int[] int[] int[] int[] int[] long long long long long sun.misc.Unsafe long top top int int int int int int int int int int int int int int top top int int top top top int top top top top top top top top top top top top top top top int top int[] int int int int int int
StackMap stack:
212: iload 47
iload 39
if_icmplt 181
213: aload 11
aload 12
214: aload 13
aload 14
215: iload 39
iload 67
216: invokestatic com.sun.marlin.MergeSort.mergeSortNoCopy:([I[I[I[III)V
217: StackMap locals:
StackMap stack:
iconst_0
istore 43
218: aload 11
iconst_0
iaload
istore 58
start local 58 219: iload 58
iconst_1
ishr
istore 52
start local 52 220: iload 52
iload 35
if_icmpge 222
221: iload 52
istore 35
222: StackMap locals: com.sun.marlin.DRenderer int int com.sun.marlin.MarlinAlphaConsumer int int int int[] com.sun.marlin.OffHeapArray int[] int[] int[] int[] int[] int[] long long long long long sun.misc.Unsafe long top top int int int int int int int int int int int int int int top top int int top top top int int top top top top top int top top top top top top top top int top int[] int int int int int int
StackMap stack:
aload 11
iload 39
iconst_1
isub
iaload
iconst_1
ishr
istore 53
start local 53 223: iload 53
iload 36
if_icmple 225
224: iload 53
istore 36
225: StackMap locals: com.sun.marlin.DRenderer int int com.sun.marlin.MarlinAlphaConsumer int int int int[] com.sun.marlin.OffHeapArray int[] int[] int[] int[] int[] int[] long long long long long sun.misc.Unsafe long top top int int int int int int int int int int int int int int top top int int top top top int int int top top top top int top top top top top top top top int top int[] int int int int int int
StackMap stack:
iload 52
dup
istore 57
start local 57 226: istore 56
start local 56 227: iload 58
iconst_1
iand
iconst_1
ishl
iconst_1
isub
istore 59
start local 59 228: iload 6
ifeq 278
229: iload 59
istore 55
start local 55 230: iconst_1
istore 47
goto 276
231: StackMap locals: com.sun.marlin.DRenderer int int com.sun.marlin.MarlinAlphaConsumer int int int int[] com.sun.marlin.OffHeapArray int[] int[] int[] int[] int[] int[] long long long long long sun.misc.Unsafe long top top int int int int int int int int int int int int int int top top int int top top top int int int top int int int int int top top top top top top top int top int[] int int int int int int
StackMap stack:
aload 11
iload 47
iaload
istore 58
232: iload 58
iconst_1
ishr
istore 57
233: iload 58
iconst_1
iand
iconst_1
ishl
iconst_1
isub
istore 59
234: iload 55
iconst_1
iand
ifeq 273
235: iload 56
iload 4
if_icmple 236
iload 56
goto 237
StackMap locals:
StackMap stack:
236: iload 4
StackMap locals:
StackMap stack: int
237: istore 52
238: iload 57
iload 5
if_icmpge 241
239: iload 57
istore 53
240: goto 243
241: StackMap locals:
StackMap stack:
iload 5
istore 53
242: iload 39
istore 47
243: StackMap locals:
StackMap stack:
iload 52
iload 53
if_icmpge 273
244: iload 52
iload 4
isub
istore 52
245: iload 53
iload 4
isub
istore 53
246: iload 52
iload 30
ishr
istore 61
start local 61 247: iload 53
iconst_1
isub
iload 30
ishr
istore 62
start local 62 248: iload 61
iload 62
if_icmpne 255
249: iload 53
iload 52
isub
istore 54
start local 54 250: aload 7
iload 61
dup2
iaload
iload 54
iadd
iastore
251: aload 7
iload 61
iconst_1
iadd
dup2
iaload
iload 54
isub
iastore
252: iload 73
ifeq 273
253: aload 69
iload 61
iload 70
ishr
iconst_1
iastore
254: goto 273
end local 54 255: StackMap locals: com.sun.marlin.DRenderer int int com.sun.marlin.MarlinAlphaConsumer int int int int[] com.sun.marlin.OffHeapArray int[] int[] int[] int[] int[] int[] long long long long long sun.misc.Unsafe long top top int int int int int int int int int int int int int int top top int int top top top int int int top int int int int int top int int top top top top int top int[] int int int int int int
StackMap stack:
iload 52
iload 32
iand
istore 54
start local 54 256: aload 7
iload 61
dup2
iaload
257: iload 34
iload 54
isub
258: iadd
iastore
259: aload 7
iload 61
iconst_1
iadd
dup2
iaload
260: iload 54
261: iadd
iastore
262: iload 53
iload 30
ishr
istore 63
start local 63 263: iload 53
iload 32
iand
istore 54
264: aload 7
iload 63
dup2
iaload
265: iload 34
iload 54
isub
266: isub
iastore
267: aload 7
iload 63
iconst_1
iadd
dup2
iaload
268: iload 54
269: isub
iastore
270: iload 73
ifeq 273
271: aload 69
iload 61
iload 70
ishr
iconst_1
iastore
272: aload 69
iload 63
iload 70
ishr
iconst_1
iastore
end local 63 end local 62 end local 61 end local 54 273: StackMap locals: com.sun.marlin.DRenderer int int com.sun.marlin.MarlinAlphaConsumer int int int int[] com.sun.marlin.OffHeapArray int[] int[] int[] int[] int[] int[] long long long long long sun.misc.Unsafe long top top int int int int int int int int int int int int int int top top int int top top top int int int top int int int int int top top top top top top top int top int[] int int int int int int
StackMap stack:
iload 55
iload 59
iadd
istore 55
274: iload 57
istore 56
275: iinc 47 1
StackMap locals:
StackMap stack:
276: iload 47
iload 39
if_icmplt 231
277: goto 329
end local 55 278: StackMap locals: com.sun.marlin.DRenderer int int com.sun.marlin.MarlinAlphaConsumer int int int int[] com.sun.marlin.OffHeapArray int[] int[] int[] int[] int[] int[] long long long long long sun.misc.Unsafe long top top int int int int int int int int int int int int int int top top int int top top top int int int top top int int int int top top top top top top top int top int[] int int int int int int
StackMap stack:
iconst_1
istore 47
iconst_0
istore 55
start local 55 279: StackMap locals: com.sun.marlin.DRenderer int int com.sun.marlin.MarlinAlphaConsumer int int int int[] com.sun.marlin.OffHeapArray int[] int[] int[] int[] int[] int[] long long long long long sun.misc.Unsafe long top top int int int int int int int int int int int int int int top top int int top top top int int int top int int int int int top top top top top top top int top int[] int int int int int int
StackMap stack:
iload 55
iload 59
iadd
istore 55
280: iload 55
ifeq 284
281: iload 56
iload 57
if_icmple 323
282: iload 57
istore 56
283: goto 323
284: StackMap locals:
StackMap stack:
iload 56
iload 4
if_icmple 285
iload 56
goto 286
StackMap locals:
StackMap stack:
285: iload 4
StackMap locals:
StackMap stack: int
286: istore 52
287: iload 57
iload 5
if_icmpge 290
288: iload 57
istore 53
289: goto 292
290: StackMap locals:
StackMap stack:
iload 5
istore 53
291: iload 39
istore 47
292: StackMap locals:
StackMap stack:
iload 52
iload 53
if_icmpge 322
293: iload 52
iload 4
isub
istore 52
294: iload 53
iload 4
isub
istore 53
295: iload 52
iload 30
ishr
istore 61
start local 61 296: iload 53
iconst_1
isub
iload 30
ishr
istore 62
start local 62 297: iload 61
iload 62
if_icmpne 304
298: iload 53
iload 52
isub
istore 54
start local 54 299: aload 7
iload 61
dup2
iaload
iload 54
iadd
iastore
300: aload 7
iload 61
iconst_1
iadd
dup2
iaload
iload 54
isub
iastore
301: iload 73
ifeq 322
302: aload 69
iload 61
iload 70
ishr
iconst_1
iastore
303: goto 322
end local 54 304: StackMap locals: com.sun.marlin.DRenderer int int com.sun.marlin.MarlinAlphaConsumer int int int int[] com.sun.marlin.OffHeapArray int[] int[] int[] int[] int[] int[] long long long long long sun.misc.Unsafe long top top int int int int int int int int int int int int int int top top int int top top top int int int top int int int int int top int int top top top top int top int[] int int int int int int
StackMap stack:
iload 52
iload 32
iand
istore 54
start local 54 305: aload 7
iload 61
dup2
iaload
306: iload 34
iload 54
isub
307: iadd
iastore
308: aload 7
iload 61
iconst_1
iadd
dup2
iaload
309: iload 54
310: iadd
iastore
311: iload 53
iload 30
ishr
istore 63
start local 63 312: iload 53
iload 32
iand
istore 54
313: aload 7
iload 63
dup2
iaload
314: iload 34
iload 54
isub
315: isub
iastore
316: aload 7
iload 63
iconst_1
iadd
dup2
iaload
317: iload 54
318: isub
iastore
319: iload 73
ifeq 322
320: aload 69
iload 61
iload 70
ishr
iconst_1
iastore
321: aload 69
iload 63
iload 70
ishr
iconst_1
iastore
end local 63 end local 62 end local 61 end local 54 322: StackMap locals: com.sun.marlin.DRenderer int int com.sun.marlin.MarlinAlphaConsumer int int int int[] com.sun.marlin.OffHeapArray int[] int[] int[] int[] int[] int[] long long long long long sun.misc.Unsafe long top top int int int int int int int int int int int int int int top top int int top top top int int int top int int int int int top top top top top top top int top int[] int int int int int int
StackMap stack:
ldc 2147483647
istore 56
323: StackMap locals:
StackMap stack:
iload 47
iload 39
if_icmpne 325
324: goto 329
325: StackMap locals:
StackMap stack:
aload 11
iload 47
iaload
istore 58
326: iload 58
iconst_1
ishr
istore 57
327: iload 58
iconst_1
iand
iconst_1
ishl
iconst_1
isub
istore 59
328: iinc 47 1
goto 279
end local 59 end local 58 end local 57 end local 56 end local 55 end local 53 end local 52 end local 51 end local 47 329: StackMap locals: com.sun.marlin.DRenderer int int com.sun.marlin.MarlinAlphaConsumer int int int int[] com.sun.marlin.OffHeapArray int[] int[] int[] int[] int[] int[] long long long long long sun.misc.Unsafe long top top int int int int int int int int int int int int int int top top int top top top top top top top top top top top top top top top top top top top top int top int[] int int int int int int
StackMap stack:
iload 37
iload 33
iand
iload 33
if_icmpne 352
330: iload 37
iload 31
ishr
istore 75
331: iload 35
iload 4
invokestatic com.sun.marlin.FloatMath.max:(II)I
iload 30
ishr
istore 35
332: iload 36
iload 5
invokestatic com.sun.marlin.FloatMath.min:(II)I
iload 30
ishr
istore 36
333: iload 36
iload 35
if_icmplt 349
334: aload 0
aload 7
iload 75
iload 35
iload 36
iconst_1
iadd
iload 73
aload 3
invokevirtual com.sun.marlin.DRenderer.copyAARow:([IIIIZLcom/sun/marlin/MarlinAlphaConsumer;)V
335: iload 72
ifeq 350
336: iload 36
iload 35
isub
istore 36
337: iload 36
iload 71
if_icmple 340
iload 36
338: iload 39
iload 74
ishr
iconst_1
isub
iload 70
ishl
339: if_icmple 340
iconst_1
goto 341
StackMap locals:
StackMap stack:
340: iconst_0
StackMap locals:
StackMap stack: int
341: istore 73
342: getstatic com.sun.marlin.DRenderer.DO_STATS:Z
ifeq 350
343: iconst_1
344: iload 39
iload 74
ishr
iconst_1
isub
345: invokestatic com.sun.marlin.FloatMath.max:(II)I
istore 54
start local 54 346: aload 0
getfield com.sun.marlin.DRenderer.rdrCtx:Lcom/sun/marlin/DRendererContext;
getfield com.sun.marlin.DRendererContext.stats:Lcom/sun/marlin/RendererStats;
getfield com.sun.marlin.RendererStats.hist_tile_generator_encoding_dist:Lcom/sun/marlin/stats/Histogram;
347: iload 36
iload 54
idiv
invokevirtual com.sun.marlin.stats.Histogram.add:(I)V
end local 54 348: goto 350
349: StackMap locals:
StackMap stack:
aload 3
iload 75
invokeinterface com.sun.marlin.MarlinAlphaConsumer.clearAlphas:(I)V
350: StackMap locals:
StackMap stack:
ldc 2147483647
istore 35
351: ldc -2147483648
istore 36
352: StackMap locals:
StackMap stack:
iinc 37 1
iinc 38 1
end local 67 end local 46 StackMap locals: com.sun.marlin.DRenderer int int com.sun.marlin.MarlinAlphaConsumer int int int int[] com.sun.marlin.OffHeapArray int[] int[] int[] int[] int[] int[] long long long long long sun.misc.Unsafe long top top int int int int int int int int int int int int int int top top top top top top top top top top top top top top top top top top top top top top top top top int[] int int int int int int
StackMap stack:
353: iload 37
iload 2
if_icmplt 44
354: iinc 37 -1
355: iload 37
iload 31
ishr
istore 37
356: iload 35
iload 4
invokestatic com.sun.marlin.FloatMath.max:(II)I
iload 30
ishr
istore 35
357: iload 36
iload 5
invokestatic com.sun.marlin.FloatMath.min:(II)I
iload 30
ishr
istore 36
358: iload 36
iload 35
if_icmplt 361
359: aload 0
aload 7
iload 37
iload 35
iload 36
iconst_1
iadd
iload 73
aload 3
invokevirtual com.sun.marlin.DRenderer.copyAARow:([IIIIZLcom/sun/marlin/MarlinAlphaConsumer;)V
360: goto 363
StackMap locals:
StackMap stack:
361: iload 37
iload 75
if_icmpeq 363
362: aload 3
iload 37
invokeinterface com.sun.marlin.MarlinAlphaConsumer.clearAlphas:(I)V
363: StackMap locals:
StackMap stack:
aload 0
iload 39
putfield com.sun.marlin.DRenderer.edgeCount:I
364: aload 0
iload 73
putfield com.sun.marlin.DRenderer.prevUseBlkFlags:Z
365: getstatic com.sun.marlin.DRenderer.DO_STATS:Z
ifeq 367
366: aload 0
iload 42
putfield com.sun.marlin.DRenderer.activeEdgeMaxUsed:I
367: StackMap locals:
StackMap stack:
return
end local 75 end local 74 end local 73 end local 72 end local 71 end local 70 end local 69 end local 43 end local 42 end local 41 end local 40 end local 39 end local 38 end local 37 end local 36 end local 35 end local 34 end local 33 end local 32 end local 31 end local 30 end local 26 end local 25 end local 23 end local 21 end local 19 end local 17 end local 15 end local 14 end local 13 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 368 0 this Lcom/sun/marlin/DRenderer;
0 368 1 ymin I
0 368 2 ymax I
0 368 3 ac Lcom/sun/marlin/MarlinAlphaConsumer;
1 368 4 bboxx0 I
2 368 5 bboxx1 I
5 368 6 windingRuleEvenOdd Z
6 368 7 _alpha [I
7 368 8 _edges Lcom/sun/marlin/OffHeapArray;
8 368 9 _edgeBuckets [I
9 368 10 _edgeBucketCounts [I
10 368 11 _crossings [I
11 368 12 _edgePtrs [I
12 368 13 _aux_crossings [I
13 368 14 _aux_edgePtrs [I
14 368 15 _OFF_ERROR J
15 368 17 _OFF_BUMP_X J
16 368 19 _OFF_BUMP_ERR J
17 368 21 _OFF_NEXT J
18 368 23 _OFF_YMAX J
19 368 25 _unsafe Lsun/misc/Unsafe;
20 368 26 addr0 J
51 60 28 addr J
85 111 28 addr J
124 170 28 addr J
183 212 28 addr J
21 368 30 _SUBPIXEL_LG_POSITIONS_X I
22 368 31 _SUBPIXEL_LG_POSITIONS_Y I
23 368 32 _SUBPIXEL_MASK_X I
24 368 33 _SUBPIXEL_MASK_Y I
25 368 34 _SUBPIXEL_POSITIONS_X I
26 368 35 minX I
27 368 36 maxX I
28 368 37 y I
29 368 38 bucket I
30 368 39 numCrossings I
31 368 40 edgePtrsLen I
32 368 41 crossingsLen I
33 368 42 _arrayMaxUsed I
34 368 43 ptrLen I
53 60 44 newCount I
67 111 45 ptrEnd I
45 353 46 bucketcount I
52 60 47 i I
121 172 47 i I
180 329 47 i I
150 158 48 j I
159 168 48 j I
200 209 48 j I
55 58 49 ecur I
86 111 49 ecur I
123 170 49 ecur I
182 212 49 ecur I
126 170 50 cross I
185 212 50 cross I
120 172 51 lastCross I
179 329 51 lastCross I
220 329 52 x0 I
223 329 53 x1 I
250 255 54 tmp I
256 273 54 tmp I
299 304 54 tmp I
305 322 54 tmp I
346 348 54 tmp I
230 278 55 sum I
279 329 55 sum I
227 329 56 prev I
125 170 57 curx I
184 212 57 curx I
226 329 57 curx I
219 329 58 curxo I
228 329 59 crorientation I
130 170 60 err I
189 212 60 err I
247 273 61 pix_x I
296 322 61 pix_x I
248 273 62 pix_xmaxm1 I
297 322 62 pix_xmaxm1 I
263 273 63 pix_xmax I
312 322 63 pix_xmax I
141 158 64 low I
142 158 65 high I
143 158 66 mid I
46 353 67 prevNumCrossings I
119 172 68 useBinarySearch Z
35 368 69 _blkFlags [I
36 368 70 _BLK_SIZE_LG I
37 368 71 _BLK_SIZE I
40 368 72 _enableBlkFlagsHeuristics Z
41 368 73 useBlkFlags Z
42 368 74 stroking I
43 368 75 lastY I
MethodParameters:
Name Flags
ymin final
ymax final
ac final
void endRendering();
descriptor: ()V
flags: (0x0000)
Code:
stack=5, locals=10, args_size=1
start local 0 0: aload 0
getfield com.sun.marlin.DRenderer.edgeMinY:I
ldc 2147483647
if_icmpne 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.marlin.DRenderer.edgeMinX:D
ldc 0.5
dsub
invokestatic com.sun.marlin.FloatMath.ceil_int:(D)I
aload 0
getfield com.sun.marlin.DRenderer.boundsMinX:I
invokestatic com.sun.marlin.FloatMath.max:(II)I
istore 1
start local 1 3: aload 0
getfield com.sun.marlin.DRenderer.edgeMaxX:D
ldc 0.5
dsub
invokestatic com.sun.marlin.FloatMath.ceil_int:(D)I
aload 0
getfield com.sun.marlin.DRenderer.boundsMaxX:I
invokestatic com.sun.marlin.FloatMath.min:(II)I
istore 2
start local 2 4: aload 0
getfield com.sun.marlin.DRenderer.edgeMinY:I
istore 3
start local 3 5: aload 0
getfield com.sun.marlin.DRenderer.edgeMaxY:I
istore 4
start local 4 6: aload 0
iload 3
aload 0
getfield com.sun.marlin.DRenderer.boundsMinY:I
isub
putfield com.sun.marlin.DRenderer.buckets_minY:I
7: aload 0
iload 4
aload 0
getfield com.sun.marlin.DRenderer.boundsMinY:I
isub
putfield com.sun.marlin.DRenderer.buckets_maxY:I
8: getstatic com.sun.marlin.DRenderer.DO_LOG_BOUNDS:Z
ifeq 15
9: new java.lang.StringBuilder
dup
ldc "edgesXY = ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.sun.marlin.DRenderer.edgeMinX:D
invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
ldc " ... "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.sun.marlin.DRenderer.edgeMaxX:D
invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
10: ldc "[ ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.sun.marlin.DRenderer.edgeMinY:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " ... "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.sun.marlin.DRenderer.edgeMaxY:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
11: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.sun.marlin.MarlinUtils.logInfo:(Ljava/lang/String;)V
12: new java.lang.StringBuilder
dup
ldc "spXY = ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " ... "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
13: ldc "[ ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " ... "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
14: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.sun.marlin.MarlinUtils.logInfo:(Ljava/lang/String;)V
15: StackMap locals: com.sun.marlin.DRenderer int int int int
StackMap stack:
iload 1
iload 2
if_icmpge 16
iload 3
iload 4
if_icmplt 17
16: StackMap locals:
StackMap stack:
return
17: StackMap locals:
StackMap stack:
iload 1
getstatic com.sun.marlin.DRenderer.SUBPIXEL_LG_POSITIONS_X:I
ishr
istore 5
start local 5 18: iload 2
getstatic com.sun.marlin.DRenderer.SUBPIXEL_MASK_X:I
iadd
getstatic com.sun.marlin.DRenderer.SUBPIXEL_LG_POSITIONS_X:I
ishr
istore 6
start local 6 19: iload 3
getstatic com.sun.marlin.DRenderer.SUBPIXEL_LG_POSITIONS_Y:I
ishr
istore 7
start local 7 20: iload 4
getstatic com.sun.marlin.DRenderer.SUBPIXEL_MASK_Y:I
iadd
getstatic com.sun.marlin.DRenderer.SUBPIXEL_LG_POSITIONS_Y:I
ishr
istore 8
start local 8 21: aload 0
iload 5
iload 7
iload 6
iload 8
invokevirtual com.sun.marlin.DRenderer.initConsumer:(IIII)V
22: getstatic com.sun.marlin.DRenderer.ENABLE_BLOCK_FLAGS:Z
ifeq 31
23: aload 0
aload 0
getfield com.sun.marlin.DRenderer.useRLE:Z
putfield com.sun.marlin.DRenderer.enableBlkFlags:Z
24: aload 0
aload 0
getfield com.sun.marlin.DRenderer.enableBlkFlags:Z
ifeq 25
getstatic com.sun.marlin.DRenderer.ENABLE_BLOCK_FLAGS_HEURISTICS:Z
ifne 25
iconst_1
goto 26
StackMap locals: com.sun.marlin.DRenderer int int int int int int int int
StackMap stack: com.sun.marlin.DRenderer
25: iconst_0
StackMap locals: com.sun.marlin.DRenderer int int int int int int int int
StackMap stack: com.sun.marlin.DRenderer int
26: putfield com.sun.marlin.DRenderer.prevUseBlkFlags:Z
27: aload 0
getfield com.sun.marlin.DRenderer.enableBlkFlags:Z
ifeq 31
28: iload 6
iload 5
isub
getstatic com.sun.marlin.DRenderer.BLOCK_SIZE_LG:I
ishr
iconst_2
iadd
istore 9
start local 9 29: iload 9
sipush 256
if_icmple 31
30: aload 0
aload 0
getfield com.sun.marlin.DRenderer.blkFlags_ref:Lcom/sun/marlin/IntArrayCache$Reference;
iload 9
invokevirtual com.sun.marlin.IntArrayCache$Reference.getArray:(I)[I
putfield com.sun.marlin.DRenderer.blkFlags:[I
end local 9 31: StackMap locals:
StackMap stack:
aload 0
iload 5
getstatic com.sun.marlin.DRenderer.SUBPIXEL_LG_POSITIONS_X:I
ishl
putfield com.sun.marlin.DRenderer.bbox_spminX:I
32: aload 0
iload 6
getstatic com.sun.marlin.DRenderer.SUBPIXEL_LG_POSITIONS_X:I
ishl
putfield com.sun.marlin.DRenderer.bbox_spmaxX:I
33: aload 0
iload 3
putfield com.sun.marlin.DRenderer.bbox_spminY:I
34: aload 0
iload 4
putfield com.sun.marlin.DRenderer.bbox_spmaxY:I
35: getstatic com.sun.marlin.DRenderer.DO_LOG_BOUNDS:Z
ifeq 43
36: new java.lang.StringBuilder
dup
ldc "pXY = ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 5
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " ... "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 6
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
37: ldc "[ ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " ... "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 8
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
38: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.sun.marlin.MarlinUtils.logInfo:(Ljava/lang/String;)V
39: new java.lang.StringBuilder
dup
ldc "bbox_spXY = ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.sun.marlin.DRenderer.bbox_spminX:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " ... "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
40: aload 0
getfield com.sun.marlin.DRenderer.bbox_spmaxX:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "[ ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.sun.marlin.DRenderer.bbox_spminY:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " ... "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
41: aload 0
getfield com.sun.marlin.DRenderer.bbox_spmaxY:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
42: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.sun.marlin.MarlinUtils.logInfo:(Ljava/lang/String;)V
43: StackMap locals:
StackMap stack:
iload 6
iload 5
isub
iconst_2
iadd
istore 9
start local 9 44: iload 9
getstatic com.sun.marlin.DRenderer.INITIAL_AA_ARRAY:I
if_icmple 48
45: getstatic com.sun.marlin.DRenderer.DO_STATS:Z
ifeq 47
46: aload 0
getfield com.sun.marlin.DRenderer.rdrCtx:Lcom/sun/marlin/DRendererContext;
getfield com.sun.marlin.DRendererContext.stats:Lcom/sun/marlin/RendererStats;
getfield com.sun.marlin.RendererStats.stat_array_renderer_alphaline:Lcom/sun/marlin/stats/StatLong;
iload 9
invokevirtual com.sun.marlin.stats.StatLong.add:(I)V
47: StackMap locals: int
StackMap stack:
aload 0
aload 0
getfield com.sun.marlin.DRenderer.alphaLine_ref:Lcom/sun/marlin/IntArrayCache$Reference;
iload 9
invokevirtual com.sun.marlin.IntArrayCache$Reference.getArray:(I)[I
putfield com.sun.marlin.DRenderer.alphaLine:[I
48: StackMap locals:
StackMap stack:
return
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 49 0 this Lcom/sun/marlin/DRenderer;
3 49 1 spminX I
4 49 2 spmaxX I
5 49 3 spminY I
6 49 4 spmaxY I
18 49 5 pminX I
19 49 6 pmaxX I
20 49 7 pminY I
21 49 8 pmaxY I
29 31 9 blkLen I
44 49 9 width I
void initConsumer(int, int, int, int);
descriptor: (IIII)V
flags: (0x0000)
Code:
stack=3, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
iload 1
putfield com.sun.marlin.DRenderer.bboxX0:I
1: aload 0
iload 3
putfield com.sun.marlin.DRenderer.bboxX1:I
2: aload 0
iload 2
putfield com.sun.marlin.DRenderer.bboxY0:I
3: aload 0
iload 4
putfield com.sun.marlin.DRenderer.bboxY1:I
4: iload 3
iload 1
isub
istore 5
start local 5 5: getstatic com.sun.marlin.DRenderer.FORCE_NO_RLE:Z
ifeq 8
6: aload 0
iconst_0
putfield com.sun.marlin.DRenderer.useRLE:Z
7: goto 14
StackMap locals: int
StackMap stack:
8: getstatic com.sun.marlin.DRenderer.FORCE_RLE:Z
ifeq 11
9: aload 0
iconst_1
putfield com.sun.marlin.DRenderer.useRLE:Z
10: goto 14
11: StackMap locals:
StackMap stack:
aload 0
iload 5
getstatic com.sun.marlin.DRenderer.RLE_MIN_WIDTH:I
if_icmple 12
iconst_1
goto 13
StackMap locals:
StackMap stack: com.sun.marlin.DRenderer
12: iconst_0
StackMap locals: com.sun.marlin.DRenderer int int int int int
StackMap stack: com.sun.marlin.DRenderer int
13: putfield com.sun.marlin.DRenderer.useRLE:Z
14: StackMap locals:
StackMap stack:
return
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 15 0 this Lcom/sun/marlin/DRenderer;
0 15 1 minx I
0 15 2 miny I
0 15 3 maxx I
0 15 4 maxy I
5 15 5 width I
MethodParameters:
Name Flags
minx
miny
maxx
maxy
public void produceAlphas(com.sun.marlin.MarlinAlphaConsumer);
descriptor: (Lcom/sun/marlin/MarlinAlphaConsumer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getstatic com.sun.marlin.DRenderer.MAX_AA_ALPHA:I
invokeinterface com.sun.marlin.MarlinAlphaConsumer.setMaxAlpha:(I)V
1: aload 0
getfield com.sun.marlin.DRenderer.enableBlkFlags:Z
ifeq 4
aload 1
invokeinterface com.sun.marlin.MarlinAlphaConsumer.supportBlockFlags:()Z
ifne 4
2: aload 0
iconst_0
putfield com.sun.marlin.DRenderer.enableBlkFlags:Z
3: aload 0
iconst_0
putfield com.sun.marlin.DRenderer.prevUseBlkFlags:Z
4: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.sun.marlin.DRenderer.bbox_spminY:I
aload 0
getfield com.sun.marlin.DRenderer.bbox_spmaxY:I
aload 1
invokevirtual com.sun.marlin.DRenderer._endRendering:(IILcom/sun/marlin/MarlinAlphaConsumer;)V
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/marlin/DRenderer;
0 6 1 ac Lcom/sun/marlin/MarlinAlphaConsumer;
MethodParameters:
Name Flags
ac final
void copyAARow(int[], int, int, int, boolean, com.sun.marlin.MarlinAlphaConsumer);
descriptor: ([IIIIZLcom/sun/marlin/MarlinAlphaConsumer;)V
flags: (0x0000)
Code:
stack=6, locals=7, 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: getstatic com.sun.marlin.DRenderer.DO_STATS:Z
ifeq 2
1: aload 0
getfield com.sun.marlin.DRenderer.rdrCtx:Lcom/sun/marlin/DRendererContext;
getfield com.sun.marlin.DRendererContext.stats:Lcom/sun/marlin/RendererStats;
getfield com.sun.marlin.RendererStats.stat_cache_rowAA:Lcom/sun/marlin/stats/StatLong;
iload 4
iload 3
isub
invokevirtual com.sun.marlin.stats.StatLong.add:(I)V
2: StackMap locals:
StackMap stack:
iload 5
ifeq 7
3: getstatic com.sun.marlin.DRenderer.DO_STATS:Z
ifeq 5
4: aload 0
getfield com.sun.marlin.DRenderer.rdrCtx:Lcom/sun/marlin/DRendererContext;
getfield com.sun.marlin.DRendererContext.stats:Lcom/sun/marlin/RendererStats;
getfield com.sun.marlin.RendererStats.hist_tile_generator_encoding:Lcom/sun/marlin/stats/Histogram;
iconst_1
invokevirtual com.sun.marlin.stats.Histogram.add:(I)V
5: StackMap locals:
StackMap stack:
aload 6
aload 0
getfield com.sun.marlin.DRenderer.blkFlags:[I
aload 1
iload 2
iload 3
iload 4
invokeinterface com.sun.marlin.MarlinAlphaConsumer.setAndClearRelativeAlphas:([I[IIII)V
6: goto 10
7: StackMap locals:
StackMap stack:
getstatic com.sun.marlin.DRenderer.DO_STATS:Z
ifeq 9
8: aload 0
getfield com.sun.marlin.DRenderer.rdrCtx:Lcom/sun/marlin/DRendererContext;
getfield com.sun.marlin.DRendererContext.stats:Lcom/sun/marlin/RendererStats;
getfield com.sun.marlin.RendererStats.hist_tile_generator_encoding:Lcom/sun/marlin/stats/Histogram;
iconst_0
invokevirtual com.sun.marlin.stats.Histogram.add:(I)V
9: StackMap locals:
StackMap stack:
aload 6
aload 1
iload 2
iload 3
iload 4
invokeinterface com.sun.marlin.MarlinAlphaConsumer.setAndClearRelativeAlphas:([IIII)V
10: StackMap locals:
StackMap stack:
return
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 11 0 this Lcom/sun/marlin/DRenderer;
0 11 1 alphaRow [I
0 11 2 pix_y I
0 11 3 pix_from I
0 11 4 pix_to I
0 11 5 useBlockFlags Z
0 11 6 ac Lcom/sun/marlin/MarlinAlphaConsumer;
MethodParameters:
Name Flags
alphaRow final
pix_y final
pix_from final
pix_to final
useBlockFlags final
ac final
public int getOutpixMinX();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.marlin.DRenderer.bboxX0:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/marlin/DRenderer;
public int getOutpixMaxX();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.marlin.DRenderer.bboxX1:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/marlin/DRenderer;
public int getOutpixMinY();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.marlin.DRenderer.bboxY0:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/marlin/DRenderer;
public int getOutpixMaxY();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.marlin.DRenderer.bboxY1:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/marlin/DRenderer;
public double getOffsetX();
descriptor: ()D
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic com.sun.marlin.DRenderer.RDR_OFFSET_X:D
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/marlin/DRenderer;
public double getOffsetY();
descriptor: ()D
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic com.sun.marlin.DRenderer.RDR_OFFSET_Y:D
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/marlin/DRenderer;
public com.sun.marlin.DMarlinRenderer init(int, int, int, int, int);
descriptor: (IIIII)Lcom/sun/marlin/DMarlinRenderer;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=6, locals=6, args_size=6
0: aload 0
iload 1
iload 2
iload 3
iload 4
iload 5
invokevirtual com.sun.marlin.DRenderer.init:(IIIII)Lcom/sun/marlin/DRenderer;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "DRenderer.java"
InnerClasses:
final DRendererSharedMemory = com.sun.marlin.DRendererContext$DRendererSharedMemory of com.sun.marlin.DRendererContext
final Reference = com.sun.marlin.IntArrayCache$Reference of com.sun.marlin.IntArrayCache