public final class com.sun.marlin.Renderer implements com.sun.marlin.MarlinRenderer, com.sun.marlin.MarlinConst
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.sun.marlin.Renderer
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 float SUBPIXEL_SCALE_X;
descriptor: F
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final float SUBPIXEL_SCALE_Y;
descriptor: F
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 float RDR_OFFSET_X;
descriptor: F
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final float RDR_OFFSET_Y;
descriptor: F
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 float CUB_DEC_ERR_SUBPIX;
descriptor: F
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final float CUB_INC_ERR_SUBPIX;
descriptor: F
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public static final float SCALE_DY;
descriptor: F
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final float CUB_DEC_BND;
descriptor: F
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final float CUB_INC_BND;
descriptor: F
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 float CUB_INV_COUNT;
descriptor: F
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0.25
private static final float CUB_INV_COUNT_2;
descriptor: F
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0.0625
private static final float CUB_INV_COUNT_3;
descriptor: F
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0.015625
private static final float QUAD_DEC_ERR_SUBPIX;
descriptor: F
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public static final float QUAD_DEC_BND;
descriptor: F
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 float edgeMinX;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private float edgeMaxX;
descriptor: F
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 float x0;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private float y0;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private float sx0;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private float sy0;
descriptor: F
flags: (0x0002) ACC_PRIVATE
final com.sun.marlin.RendererContext rdrCtx;
descriptor: Lcom/sun/marlin/RendererContext;
flags: (0x0010) ACC_FINAL
private final com.sun.marlin.Curve curve;
descriptor: Lcom/sun/marlin/Curve;
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=4, locals=0, args_size=0
0: getstatic com.sun.marlin.Renderer.SUBPIXEL_POSITIONS_X:I
i2f
putstatic com.sun.marlin.Renderer.SUBPIXEL_SCALE_X:F
1: getstatic com.sun.marlin.Renderer.SUBPIXEL_POSITIONS_Y:I
i2f
putstatic com.sun.marlin.Renderer.SUBPIXEL_SCALE_Y:F
2: getstatic com.sun.marlin.Renderer.SUBPIXEL_POSITIONS_X:I
iconst_1
isub
putstatic com.sun.marlin.Renderer.SUBPIXEL_MASK_X:I
3: getstatic com.sun.marlin.Renderer.SUBPIXEL_POSITIONS_Y:I
iconst_1
isub
putstatic com.sun.marlin.Renderer.SUBPIXEL_MASK_Y:I
4: ldc 0.5
getstatic com.sun.marlin.Renderer.SUBPIXEL_SCALE_X:F
fdiv
putstatic com.sun.marlin.Renderer.RDR_OFFSET_X:F
5: ldc 0.5
getstatic com.sun.marlin.Renderer.SUBPIXEL_SCALE_Y:F
fdiv
putstatic com.sun.marlin.Renderer.RDR_OFFSET_Y:F
6: lconst_0
getstatic com.sun.marlin.OffHeapArray.SIZE_INT:I
i2l
ladd
putstatic com.sun.marlin.Renderer.OFF_ERROR:J
7: getstatic com.sun.marlin.Renderer.OFF_ERROR:J
getstatic com.sun.marlin.OffHeapArray.SIZE_INT:I
i2l
ladd
putstatic com.sun.marlin.Renderer.OFF_BUMP_X:J
8: getstatic com.sun.marlin.Renderer.OFF_BUMP_X:J
getstatic com.sun.marlin.OffHeapArray.SIZE_INT:I
i2l
ladd
putstatic com.sun.marlin.Renderer.OFF_BUMP_ERR:J
9: getstatic com.sun.marlin.Renderer.OFF_BUMP_ERR:J
getstatic com.sun.marlin.OffHeapArray.SIZE_INT:I
i2l
ladd
putstatic com.sun.marlin.Renderer.OFF_NEXT:J
10: getstatic com.sun.marlin.Renderer.OFF_NEXT:J
getstatic com.sun.marlin.OffHeapArray.SIZE_INT:I
i2l
ladd
putstatic com.sun.marlin.Renderer.OFF_YMAX:J
11: getstatic com.sun.marlin.Renderer.OFF_YMAX:J
getstatic com.sun.marlin.OffHeapArray.SIZE_INT:I
i2l
ladd
l2i
putstatic com.sun.marlin.Renderer.SIZEOF_EDGE_BYTES:I
12: invokestatic com.sun.marlin.MarlinProperties.getCubicDecD2:()F
getstatic com.sun.marlin.Renderer.SUBPIXEL_POSITIONS_X:I
i2f
ldc 8.0
fdiv
fmul
13: putstatic com.sun.marlin.Renderer.CUB_DEC_ERR_SUBPIX:F
14: invokestatic com.sun.marlin.MarlinProperties.getCubicIncD1:()F
getstatic com.sun.marlin.Renderer.SUBPIXEL_POSITIONS_X:I
i2f
ldc 8.0
fdiv
fmul
15: putstatic com.sun.marlin.Renderer.CUB_INC_ERR_SUBPIX:F
16: getstatic com.sun.marlin.Renderer.SUBPIXEL_POSITIONS_X:I
i2f
getstatic com.sun.marlin.Renderer.SUBPIXEL_POSITIONS_Y:I
i2f
fdiv
putstatic com.sun.marlin.Renderer.SCALE_DY:F
17: ldc 8.0
getstatic com.sun.marlin.Renderer.CUB_DEC_ERR_SUBPIX:F
fmul
18: putstatic com.sun.marlin.Renderer.CUB_DEC_BND:F
19: ldc 8.0
getstatic com.sun.marlin.Renderer.CUB_INC_ERR_SUBPIX:F
fmul
20: putstatic com.sun.marlin.Renderer.CUB_INC_BND:F
21: invokestatic com.sun.marlin.MarlinProperties.getQuadDecD2:()F
getstatic com.sun.marlin.Renderer.SUBPIXEL_POSITIONS_X:I
i2f
ldc 8.0
fdiv
fmul
22: putstatic com.sun.marlin.Renderer.QUAD_DEC_ERR_SUBPIX:F
23: ldc 8.0
getstatic com.sun.marlin.Renderer.QUAD_DEC_ERR_SUBPIX:F
fmul
24: putstatic com.sun.marlin.Renderer.QUAD_DEC_BND:F
25: return
LocalVariableTable:
Start End Slot Name Signature
private void quadBreakIntoLinesAndAdd(float, float, com.sun.marlin.Curve, float, float);
descriptor: (FFLcom/sun/marlin/Curve;FF)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=18, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: iconst_1
istore 6
start local 6 1: aload 3
getfield com.sun.marlin.Curve.dbx:F
invokestatic java.lang.Math.abs:(F)F
aload 3
getfield com.sun.marlin.Curve.dby:F
invokestatic java.lang.Math.abs:(F)F
getstatic com.sun.marlin.Renderer.SCALE_DY:F
fmul
fadd
fstore 7
start local 7 2: getstatic com.sun.marlin.Renderer.QUAD_DEC_BND:F
fstore 8
start local 8 3: goto 8
4: StackMap locals: int float float
StackMap stack:
fload 7
ldc 4.0
fdiv
fstore 7
5: iload 6
iconst_1
ishl
istore 6
6: getstatic com.sun.marlin.Renderer.DO_STATS:Z
ifeq 8
7: aload 0
getfield com.sun.marlin.Renderer.rdrCtx:Lcom/sun/marlin/RendererContext;
getfield com.sun.marlin.RendererContext.stats:Lcom/sun/marlin/RendererStats;
getfield com.sun.marlin.RendererStats.stat_rdr_quadBreak_dec:Lcom/sun/marlin/stats/StatLong;
iload 6
invokevirtual com.sun.marlin.stats.StatLong.add:(I)V
8: StackMap locals:
StackMap stack:
fload 7
fload 8
fcmpl
ifge 4
9: iload 6
istore 9
start local 9 10: iload 6
iconst_1
if_icmple 27
11: fconst_1
iload 6
i2f
fdiv
fstore 10
start local 10 12: fload 10
fload 10
fmul
fstore 11
start local 11 13: aload 3
getfield com.sun.marlin.Curve.dbx:F
fload 11
fmul
fstore 12
start local 12 14: aload 3
getfield com.sun.marlin.Curve.dby:F
fload 11
fmul
fstore 13
start local 13 15: aload 3
getfield com.sun.marlin.Curve.bx:F
fload 11
fmul
aload 3
getfield com.sun.marlin.Curve.cx:F
fload 10
fmul
fadd
fstore 14
start local 14 16: aload 3
getfield com.sun.marlin.Curve.by:F
fload 11
fmul
aload 3
getfield com.sun.marlin.Curve.cy:F
fload 10
fmul
fadd
fstore 15
start local 15 17: fload 1
fstore 16
start local 16 18: fload 2
fstore 17
start local 17 19: goto 26
20: StackMap locals: com.sun.marlin.Renderer float float com.sun.marlin.Curve float float int float float int float float float float float float float float
StackMap stack:
fload 16
fload 14
fadd
fstore 16
21: fload 17
fload 15
fadd
fstore 17
22: aload 0
fload 1
fload 2
fload 16
fload 17
invokevirtual com.sun.marlin.Renderer.addLine:(FFFF)V
23: fload 16
fstore 1
24: fload 17
fstore 2
25: fload 14
fload 12
fadd
fstore 14
fload 15
fload 13
fadd
fstore 15
StackMap locals:
StackMap stack:
26: iinc 6 -1
iload 6
ifgt 20
end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 27: StackMap locals: com.sun.marlin.Renderer float float com.sun.marlin.Curve float float int float float int
StackMap stack:
aload 0
fload 1
fload 2
fload 4
fload 5
invokevirtual com.sun.marlin.Renderer.addLine:(FFFF)V
28: getstatic com.sun.marlin.Renderer.DO_STATS:Z
ifeq 30
29: aload 0
getfield com.sun.marlin.Renderer.rdrCtx:Lcom/sun/marlin/RendererContext;
getfield com.sun.marlin.RendererContext.stats:Lcom/sun/marlin/RendererStats;
getfield com.sun.marlin.RendererStats.stat_rdr_quadBreak:Lcom/sun/marlin/stats/StatLong;
iload 9
invokevirtual com.sun.marlin.stats.StatLong.add:(I)V
30: 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 31 0 this Lcom/sun/marlin/Renderer;
0 31 1 x0 F
0 31 2 y0 F
0 31 3 c Lcom/sun/marlin/Curve;
0 31 4 x2 F
0 31 5 y2 F
1 31 6 count I
2 31 7 maxDD F
3 31 8 _DEC_BND F
10 31 9 nL I
12 27 10 icount F
13 27 11 icount2 F
14 27 12 ddx F
15 27 13 ddy F
16 27 14 dx F
17 27 15 dy F
18 27 16 x1 F
19 27 17 y1 F
MethodParameters:
Name Flags
x0
y0
c final
x2 final
y2 final
private void curveBreakIntoLinesAndAdd(float, float, com.sun.marlin.Curve, float, float);
descriptor: (FFLcom/sun/marlin/Curve;FF)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=19, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: iconst_4
istore 6
start local 6 1: fconst_2
aload 3
getfield com.sun.marlin.Curve.dax:F
fmul
ldc 0.015625
fmul
fstore 7
start local 7 2: fconst_2
aload 3
getfield com.sun.marlin.Curve.day:F
fmul
ldc 0.015625
fmul
fstore 8
start local 8 3: fload 7
aload 3
getfield com.sun.marlin.Curve.dbx:F
ldc 0.0625
fmul
fadd
fstore 9
start local 9 4: fload 8
aload 3
getfield com.sun.marlin.Curve.dby:F
ldc 0.0625
fmul
fadd
fstore 10
start local 10 5: aload 3
getfield com.sun.marlin.Curve.ax:F
ldc 0.015625
fmul
aload 3
getfield com.sun.marlin.Curve.bx:F
ldc 0.0625
fmul
fadd
aload 3
getfield com.sun.marlin.Curve.cx:F
ldc 0.25
fmul
fadd
fstore 11
start local 11 6: aload 3
getfield com.sun.marlin.Curve.ay:F
ldc 0.015625
fmul
aload 3
getfield com.sun.marlin.Curve.by:F
ldc 0.0625
fmul
fadd
aload 3
getfield com.sun.marlin.Curve.cy:F
ldc 0.25
fmul
fadd
fstore 12
start local 12 7: iconst_0
istore 13
start local 13 8: getstatic com.sun.marlin.Renderer.CUB_DEC_BND:F
fstore 14
start local 14 9: getstatic com.sun.marlin.Renderer.CUB_INC_BND:F
fstore 15
start local 15 10: getstatic com.sun.marlin.Renderer.SCALE_DY:F
fstore 16
start local 16 11: fload 1
fstore 17
start local 17 12: fload 2
fstore 18
start local 18 13: goto 48
14: StackMap locals: com.sun.marlin.Renderer float float com.sun.marlin.Curve float float int float float float float float float int float float float float float
StackMap stack:
fconst_2
fload 11
fmul
fload 9
fadd
fstore 11
15: fconst_2
fload 12
fmul
fload 10
fadd
fstore 12
16: ldc 4.0
fload 9
fload 7
fadd
fmul
fstore 9
17: ldc 4.0
fload 10
fload 8
fadd
fmul
fstore 10
18: fload 7
ldc 8.0
fmul
fstore 7
19: fload 8
ldc 8.0
fmul
fstore 8
20: iload 6
iconst_1
ishr
istore 6
21: getstatic com.sun.marlin.Renderer.DO_STATS:Z
ifeq 23
22: aload 0
getfield com.sun.marlin.Renderer.rdrCtx:Lcom/sun/marlin/RendererContext;
getfield com.sun.marlin.RendererContext.stats:Lcom/sun/marlin/RendererStats;
getfield com.sun.marlin.RendererStats.stat_rdr_curveBreak_inc:Lcom/sun/marlin/stats/StatLong;
iload 6
invokevirtual com.sun.marlin.stats.StatLong.add:(I)V
23: StackMap locals:
StackMap stack:
iload 6
iconst_2
irem
ifne 36
24: fload 9
invokestatic java.lang.Math.abs:(F)F
fload 10
invokestatic java.lang.Math.abs:(F)F
fload 16
fmul
fadd
fload 15
25: fcmpg
ifle 14
26: goto 36
27: StackMap locals:
StackMap stack:
fload 7
ldc 8.0
fdiv
fstore 7
28: fload 8
ldc 8.0
fdiv
fstore 8
29: fload 9
ldc 4.0
fdiv
fload 7
fsub
fstore 9
30: fload 10
ldc 4.0
fdiv
fload 8
fsub
fstore 10
31: fload 11
fload 9
fsub
fconst_2
fdiv
fstore 11
32: fload 12
fload 10
fsub
fconst_2
fdiv
fstore 12
33: iload 6
iconst_1
ishl
istore 6
34: getstatic com.sun.marlin.Renderer.DO_STATS:Z
ifeq 36
35: aload 0
getfield com.sun.marlin.Renderer.rdrCtx:Lcom/sun/marlin/RendererContext;
getfield com.sun.marlin.RendererContext.stats:Lcom/sun/marlin/RendererStats;
getfield com.sun.marlin.RendererStats.stat_rdr_curveBreak_dec:Lcom/sun/marlin/stats/StatLong;
iload 6
invokevirtual com.sun.marlin.stats.StatLong.add:(I)V
36: StackMap locals:
StackMap stack:
fload 9
invokestatic java.lang.Math.abs:(F)F
fload 10
invokestatic java.lang.Math.abs:(F)F
fload 16
fmul
fadd
fload 14
fcmpl
ifge 27
37: iinc 6 -1
iload 6
ifne 39
38: goto 49
39: StackMap locals:
StackMap stack:
fload 17
fload 11
fadd
fstore 17
40: fload 18
fload 12
fadd
fstore 18
41: fload 11
fload 9
fadd
fstore 11
42: fload 12
fload 10
fadd
fstore 12
43: fload 9
fload 7
fadd
fstore 9
44: fload 10
fload 8
fadd
fstore 10
45: aload 0
fload 1
fload 2
fload 17
fload 18
invokevirtual com.sun.marlin.Renderer.addLine:(FFFF)V
46: fload 17
fstore 1
47: fload 18
fstore 2
48: StackMap locals:
StackMap stack:
iload 6
ifgt 23
end local 18 end local 17 49: StackMap locals:
StackMap stack:
aload 0
fload 1
fload 2
fload 4
fload 5
invokevirtual com.sun.marlin.Renderer.addLine:(FFFF)V
50: getstatic com.sun.marlin.Renderer.DO_STATS:Z
ifeq 52
51: aload 0
getfield com.sun.marlin.Renderer.rdrCtx:Lcom/sun/marlin/RendererContext;
getfield com.sun.marlin.RendererContext.stats:Lcom/sun/marlin/RendererStats;
getfield com.sun.marlin.RendererStats.stat_rdr_curveBreak:Lcom/sun/marlin/stats/StatLong;
iload 13
iconst_1
iadd
invokevirtual com.sun.marlin.stats.StatLong.add:(I)V
52: StackMap locals:
StackMap stack:
return
end local 16 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 53 0 this Lcom/sun/marlin/Renderer;
0 53 1 x0 F
0 53 2 y0 F
0 53 3 c Lcom/sun/marlin/Curve;
0 53 4 x3 F
0 53 5 y3 F
1 53 6 count I
2 53 7 dddx F
3 53 8 dddy F
4 53 9 ddx F
5 53 10 ddy F
6 53 11 dx F
7 53 12 dy F
8 53 13 nL I
9 53 14 _DEC_BND F
10 53 15 _INC_BND F
11 53 16 _SCALE_DY F
12 49 17 x1 F
13 49 18 y1 F
MethodParameters:
Name Flags
x0
y0
c final
x3 final
y3 final
private void addLine(float, float, float, float);
descriptor: (FFFF)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=30, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: getstatic com.sun.marlin.Renderer.DO_STATS:Z
ifeq 2
1: aload 0
getfield com.sun.marlin.Renderer.rdrCtx:Lcom/sun/marlin/RendererContext;
getfield com.sun.marlin.RendererContext.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 5
start local 5 3: fload 4
fload 2
fcmpg
ifge 11
4: iconst_0
istore 5
5: fload 4
fstore 6
start local 6 6: fload 2
fstore 4
7: fload 6
fstore 2
8: fload 3
fstore 6
9: fload 1
fstore 3
10: fload 6
fstore 1
end local 6 11: StackMap locals: int
StackMap stack:
fload 2
invokestatic com.sun.marlin.FloatMath.ceil_int:(F)I
aload 0
getfield com.sun.marlin.Renderer.boundsMinY:I
invokestatic com.sun.marlin.FloatMath.max:(II)I
istore 6
start local 6 12: fload 4
invokestatic com.sun.marlin.FloatMath.ceil_int:(F)I
aload 0
getfield com.sun.marlin.Renderer.boundsMaxY:I
invokestatic com.sun.marlin.FloatMath.min:(II)I
istore 7
start local 7 13: iload 6
iload 7
if_icmplt 17
14: getstatic com.sun.marlin.Renderer.DO_STATS:Z
ifeq 16
15: aload 0
getfield com.sun.marlin.Renderer.rdrCtx:Lcom/sun/marlin/RendererContext;
getfield com.sun.marlin.RendererContext.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 6
aload 0
getfield com.sun.marlin.Renderer.edgeMinY:I
if_icmpge 19
18: aload 0
iload 6
putfield com.sun.marlin.Renderer.edgeMinY:I
19: StackMap locals:
StackMap stack:
iload 7
aload 0
getfield com.sun.marlin.Renderer.edgeMaxY:I
if_icmple 21
20: aload 0
iload 7
putfield com.sun.marlin.Renderer.edgeMaxY:I
21: StackMap locals:
StackMap stack:
fload 1
f2d
dstore 8
start local 8 22: fload 2
f2d
dstore 10
start local 10 23: dload 8
fload 3
f2d
dsub
dload 10
fload 4
f2d
dsub
ddiv
dstore 12
start local 12 24: dload 12
dconst_0
dcmpl
iflt 30
25: fload 1
aload 0
getfield com.sun.marlin.Renderer.edgeMinX:F
fcmpg
ifge 27
26: aload 0
fload 1
putfield com.sun.marlin.Renderer.edgeMinX:F
27: StackMap locals: double double double
StackMap stack:
fload 3
aload 0
getfield com.sun.marlin.Renderer.edgeMaxX:F
fcmpl
ifle 34
28: aload 0
fload 3
putfield com.sun.marlin.Renderer.edgeMaxX:F
29: goto 34
30: StackMap locals:
StackMap stack:
fload 3
aload 0
getfield com.sun.marlin.Renderer.edgeMinX:F
fcmpg
ifge 32
31: aload 0
fload 3
putfield com.sun.marlin.Renderer.edgeMinX:F
32: StackMap locals:
StackMap stack:
fload 1
aload 0
getfield com.sun.marlin.Renderer.edgeMaxX:F
fcmpl
ifle 34
33: aload 0
fload 1
putfield com.sun.marlin.Renderer.edgeMaxX:F
34: StackMap locals:
StackMap stack:
getstatic com.sun.marlin.Renderer.SIZEOF_EDGE_BYTES:I
istore 14
start local 14 35: aload 0
getfield com.sun.marlin.Renderer.edges:Lcom/sun/marlin/OffHeapArray;
astore 15
start local 15 36: aload 15
getfield com.sun.marlin.OffHeapArray.used:I
istore 16
start local 16 37: aload 15
getfield com.sun.marlin.OffHeapArray.length:J
iload 16
i2l
lsub
iload 14
i2l
lcmp
ifge 44
38: aload 15
getfield com.sun.marlin.OffHeapArray.length:J
39: iload 16
iload 14
iadd
i2l
40: invokestatic com.sun.marlin.ArrayCacheConst.getNewLargeSize:(JJ)J
lstore 17
start local 17 41: getstatic com.sun.marlin.Renderer.DO_STATS:Z
ifeq 43
42: aload 0
getfield com.sun.marlin.Renderer.rdrCtx:Lcom/sun/marlin/RendererContext;
getfield com.sun.marlin.RendererContext.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
43: StackMap locals: com.sun.marlin.Renderer float float float float int int int double double 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 44: StackMap locals:
StackMap stack:
getstatic com.sun.marlin.OffHeapArray.UNSAFE:Lsun/misc/Unsafe;
astore 17
start local 17 45: aload 15
getfield com.sun.marlin.OffHeapArray.address:J
iload 16
i2l
ladd
lstore 18
start local 18 46: dload 8
iload 6
i2d
dload 10
dsub
dload 12
dmul
dadd
dstore 20
start local 20 47: ldc 4.294967296E9
dload 20
dmul
d2l
48: ldc 2147483647
49: ladd
lstore 22
start local 22 50: aload 17
lload 18
lload 22
bipush 31
lshr
l2i
bipush -2
iand
iload 5
ior
invokevirtual sun.misc.Unsafe.putInt:(JI)V
51: lload 18
ldc 4
ladd
lstore 18
52: aload 17
lload 18
lload 22
l2i
iconst_1
iushr
invokevirtual sun.misc.Unsafe.putInt:(JI)V
53: lload 18
ldc 4
ladd
lstore 18
54: ldc 4.294967296E9
dload 12
dmul
d2l
lstore 24
start local 24 55: aload 17
lload 18
lload 24
bipush 31
lshr
l2i
bipush -2
iand
invokevirtual sun.misc.Unsafe.putInt:(JI)V
56: lload 18
ldc 4
ladd
lstore 18
57: aload 17
lload 18
lload 24
l2i
iconst_1
iushr
invokevirtual sun.misc.Unsafe.putInt:(JI)V
58: lload 18
ldc 4
ladd
lstore 18
59: aload 0
getfield com.sun.marlin.Renderer.edgeBuckets:[I
astore 26
start local 26 60: aload 0
getfield com.sun.marlin.Renderer.edgeBucketCounts:[I
astore 27
start local 27 61: aload 0
getfield com.sun.marlin.Renderer.boundsMinY:I
istore 28
start local 28 62: iload 6
iload 28
isub
istore 29
start local 29 63: aload 17
lload 18
aload 26
iload 29
iaload
invokevirtual sun.misc.Unsafe.putInt:(JI)V
64: lload 18
ldc 4
ladd
lstore 18
65: aload 17
lload 18
iload 7
invokevirtual sun.misc.Unsafe.putInt:(JI)V
66: aload 26
iload 29
iload 16
iastore
67: aload 27
iload 29
dup2
iaload
iconst_2
iadd
iastore
68: aload 27
iload 7
iload 28
isub
dup2
iaload
iconst_1
ior
iastore
69: aload 15
dup
getfield com.sun.marlin.OffHeapArray.used:I
iload 14
iadd
putfield com.sun.marlin.OffHeapArray.used:I
70: 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 10 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 71 0 this Lcom/sun/marlin/Renderer;
0 71 1 x1 F
0 71 2 y1 F
0 71 3 x2 F
0 71 4 y2 F
3 71 5 or I
6 11 6 tmp F
12 71 6 firstCrossing I
13 71 7 lastCrossing I
22 71 8 x1d D
23 71 10 y1d D
24 71 12 slope D
35 71 14 _SIZEOF_EDGE_BYTES I
36 71 15 _edges Lcom/sun/marlin/OffHeapArray;
37 71 16 edgePtr I
41 44 17 edgeNewSize J
45 71 17 _unsafe Lsun/misc/Unsafe;
46 71 18 addr J
47 71 20 x1_intercept D
50 71 22 x1_fixed_biased J
55 71 24 slope_fixed J
60 71 26 _edgeBuckets [I
61 71 27 _edgeBucketCounts [I
62 71 28 _boundsMinY I
63 71 29 bucketIdx I
MethodParameters:
Name Flags
x1
y1
x2
y2
void <init>(com.sun.marlin.RendererContext);
descriptor: (Lcom/sun/marlin/RendererContext;)V
flags: (0x0000)
Code:
stack=2, 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.Renderer.edgeMinY:I
2: aload 0
ldc -2147483648
putfield com.sun.marlin.Renderer.edgeMaxY:I
3: aload 0
ldc Infinity
putfield com.sun.marlin.Renderer.edgeMinX:F
4: aload 0
ldc -Infinity
putfield com.sun.marlin.Renderer.edgeMaxX:F
5: aload 0
iconst_0
putfield com.sun.marlin.Renderer.useRLE:Z
6: aload 0
iconst_0
putfield com.sun.marlin.Renderer.enableBlkFlags:Z
7: aload 0
iconst_0
putfield com.sun.marlin.Renderer.prevUseBlkFlags:Z
8: aload 0
aload 1
putfield com.sun.marlin.Renderer.rdrCtx:Lcom/sun/marlin/RendererContext;
9: aload 0
aload 1
getfield com.sun.marlin.RendererContext.curve:Lcom/sun/marlin/Curve;
putfield com.sun.marlin.Renderer.curve:Lcom/sun/marlin/Curve;
10: aload 0
aload 1
getfield com.sun.marlin.RendererContext.rdrMem:Lcom/sun/marlin/RendererContext$RendererSharedMemory;
getfield com.sun.marlin.RendererContext$RendererSharedMemory.edges:Lcom/sun/marlin/OffHeapArray;
putfield com.sun.marlin.Renderer.edges:Lcom/sun/marlin/OffHeapArray;
11: aload 0
aload 1
getfield com.sun.marlin.RendererContext.rdrMem:Lcom/sun/marlin/RendererContext$RendererSharedMemory;
getfield com.sun.marlin.RendererContext$RendererSharedMemory.edgeBuckets_ref:Lcom/sun/marlin/IntArrayCache$Reference;
putfield com.sun.marlin.Renderer.edgeBuckets_ref:Lcom/sun/marlin/IntArrayCache$Reference;
12: aload 0
aload 1
getfield com.sun.marlin.RendererContext.rdrMem:Lcom/sun/marlin/RendererContext$RendererSharedMemory;
getfield com.sun.marlin.RendererContext$RendererSharedMemory.edgeBucketCounts_ref:Lcom/sun/marlin/IntArrayCache$Reference;
putfield com.sun.marlin.Renderer.edgeBucketCounts_ref:Lcom/sun/marlin/IntArrayCache$Reference;
13: aload 0
aload 0
getfield com.sun.marlin.Renderer.edgeBuckets_ref:Lcom/sun/marlin/IntArrayCache$Reference;
getfield com.sun.marlin.IntArrayCache$Reference.initial:[I
putfield com.sun.marlin.Renderer.edgeBuckets:[I
14: aload 0
aload 0
getfield com.sun.marlin.Renderer.edgeBucketCounts_ref:Lcom/sun/marlin/IntArrayCache$Reference;
getfield com.sun.marlin.IntArrayCache$Reference.initial:[I
putfield com.sun.marlin.Renderer.edgeBucketCounts:[I
15: aload 0
aload 1
getfield com.sun.marlin.RendererContext.rdrMem:Lcom/sun/marlin/RendererContext$RendererSharedMemory;
getfield com.sun.marlin.RendererContext$RendererSharedMemory.alphaLine_ref:Lcom/sun/marlin/IntArrayCache$Reference;
putfield com.sun.marlin.Renderer.alphaLine_ref:Lcom/sun/marlin/IntArrayCache$Reference;
16: aload 0
aload 0
getfield com.sun.marlin.Renderer.alphaLine_ref:Lcom/sun/marlin/IntArrayCache$Reference;
getfield com.sun.marlin.IntArrayCache$Reference.initial:[I
putfield com.sun.marlin.Renderer.alphaLine:[I
17: aload 0
aload 1
getfield com.sun.marlin.RendererContext.rdrMem:Lcom/sun/marlin/RendererContext$RendererSharedMemory;
getfield com.sun.marlin.RendererContext$RendererSharedMemory.crossings_ref:Lcom/sun/marlin/IntArrayCache$Reference;
putfield com.sun.marlin.Renderer.crossings_ref:Lcom/sun/marlin/IntArrayCache$Reference;
18: aload 0
aload 1
getfield com.sun.marlin.RendererContext.rdrMem:Lcom/sun/marlin/RendererContext$RendererSharedMemory;
getfield com.sun.marlin.RendererContext$RendererSharedMemory.aux_crossings_ref:Lcom/sun/marlin/IntArrayCache$Reference;
putfield com.sun.marlin.Renderer.aux_crossings_ref:Lcom/sun/marlin/IntArrayCache$Reference;
19: aload 0
aload 1
getfield com.sun.marlin.RendererContext.rdrMem:Lcom/sun/marlin/RendererContext$RendererSharedMemory;
getfield com.sun.marlin.RendererContext$RendererSharedMemory.edgePtrs_ref:Lcom/sun/marlin/IntArrayCache$Reference;
putfield com.sun.marlin.Renderer.edgePtrs_ref:Lcom/sun/marlin/IntArrayCache$Reference;
20: aload 0
aload 1
getfield com.sun.marlin.RendererContext.rdrMem:Lcom/sun/marlin/RendererContext$RendererSharedMemory;
getfield com.sun.marlin.RendererContext$RendererSharedMemory.aux_edgePtrs_ref:Lcom/sun/marlin/IntArrayCache$Reference;
putfield com.sun.marlin.Renderer.aux_edgePtrs_ref:Lcom/sun/marlin/IntArrayCache$Reference;
21: aload 0
aload 0
getfield com.sun.marlin.Renderer.crossings_ref:Lcom/sun/marlin/IntArrayCache$Reference;
getfield com.sun.marlin.IntArrayCache$Reference.initial:[I
putfield com.sun.marlin.Renderer.crossings:[I
22: aload 0
aload 0
getfield com.sun.marlin.Renderer.aux_crossings_ref:Lcom/sun/marlin/IntArrayCache$Reference;
getfield com.sun.marlin.IntArrayCache$Reference.initial:[I
putfield com.sun.marlin.Renderer.aux_crossings:[I
23: aload 0
aload 0
getfield com.sun.marlin.Renderer.edgePtrs_ref:Lcom/sun/marlin/IntArrayCache$Reference;
getfield com.sun.marlin.IntArrayCache$Reference.initial:[I
putfield com.sun.marlin.Renderer.edgePtrs:[I
24: aload 0
aload 0
getfield com.sun.marlin.Renderer.aux_edgePtrs_ref:Lcom/sun/marlin/IntArrayCache$Reference;
getfield com.sun.marlin.IntArrayCache$Reference.initial:[I
putfield com.sun.marlin.Renderer.aux_edgePtrs:[I
25: aload 0
aload 1
getfield com.sun.marlin.RendererContext.rdrMem:Lcom/sun/marlin/RendererContext$RendererSharedMemory;
getfield com.sun.marlin.RendererContext$RendererSharedMemory.blkFlags_ref:Lcom/sun/marlin/IntArrayCache$Reference;
putfield com.sun.marlin.Renderer.blkFlags_ref:Lcom/sun/marlin/IntArrayCache$Reference;
26: aload 0
aload 0
getfield com.sun.marlin.Renderer.blkFlags_ref:Lcom/sun/marlin/IntArrayCache$Reference;
getfield com.sun.marlin.IntArrayCache$Reference.initial:[I
putfield com.sun.marlin.Renderer.blkFlags:[I
27: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lcom/sun/marlin/Renderer;
0 28 1 rdrCtx Lcom/sun/marlin/RendererContext;
MethodParameters:
Name Flags
rdrCtx final
public com.sun.marlin.Renderer init(int, int, int, int, int);
descriptor: (IIIII)Lcom/sun/marlin/Renderer;
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.Renderer.windingRule:I
1: aload 0
iload 1
getstatic com.sun.marlin.Renderer.SUBPIXEL_LG_POSITIONS_X:I
ishl
putfield com.sun.marlin.Renderer.boundsMinX:I
2: aload 0
3: iload 1
iload 3
iadd
getstatic com.sun.marlin.Renderer.SUBPIXEL_LG_POSITIONS_X:I
ishl
4: putfield com.sun.marlin.Renderer.boundsMaxX:I
5: aload 0
iload 2
getstatic com.sun.marlin.Renderer.SUBPIXEL_LG_POSITIONS_Y:I
ishl
putfield com.sun.marlin.Renderer.boundsMinY:I
6: aload 0
7: iload 2
iload 4
iadd
getstatic com.sun.marlin.Renderer.SUBPIXEL_LG_POSITIONS_Y:I
ishl
8: putfield com.sun.marlin.Renderer.boundsMaxY:I
9: getstatic com.sun.marlin.Renderer.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.Renderer.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.Renderer.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.Renderer.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.Renderer.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.Renderer.boundsMaxY:I
aload 0
getfield com.sun.marlin.Renderer.boundsMinY:I
isub
iconst_1
iadd
istore 6
start local 6 15: iload 6
getstatic com.sun.marlin.Renderer.INITIAL_BUCKET_ARRAY:I
if_icmple 23
16: getstatic com.sun.marlin.Renderer.DO_STATS:Z
ifeq 21
17: aload 0
getfield com.sun.marlin.Renderer.rdrCtx:Lcom/sun/marlin/RendererContext;
getfield com.sun.marlin.RendererContext.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.Renderer.rdrCtx:Lcom/sun/marlin/RendererContext;
getfield com.sun.marlin.RendererContext.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.Renderer.edgeBuckets_ref:Lcom/sun/marlin/IntArrayCache$Reference;
iload 6
invokevirtual com.sun.marlin.IntArrayCache$Reference.getArray:(I)[I
putfield com.sun.marlin.Renderer.edgeBuckets:[I
22: aload 0
aload 0
getfield com.sun.marlin.Renderer.edgeBucketCounts_ref:Lcom/sun/marlin/IntArrayCache$Reference;
iload 6
invokevirtual com.sun.marlin.IntArrayCache$Reference.getArray:(I)[I
putfield com.sun.marlin.Renderer.edgeBucketCounts:[I
23: StackMap locals:
StackMap stack:
aload 0
ldc 2147483647
putfield com.sun.marlin.Renderer.edgeMinY:I
24: aload 0
ldc -2147483648
putfield com.sun.marlin.Renderer.edgeMaxY:I
25: aload 0
ldc Infinity
putfield com.sun.marlin.Renderer.edgeMinX:F
26: aload 0
ldc -Infinity
putfield com.sun.marlin.Renderer.edgeMaxX:F
27: aload 0
iconst_0
putfield com.sun.marlin.Renderer.edgeCount:I
28: aload 0
iconst_0
putfield com.sun.marlin.Renderer.activeEdgeMaxUsed:I
29: aload 0
getfield com.sun.marlin.Renderer.edges:Lcom/sun/marlin/OffHeapArray;
iconst_0
putfield com.sun.marlin.OffHeapArray.used:I
30: aload 0
iconst_0
putfield com.sun.marlin.Renderer.bboxX0:I
31: aload 0
iconst_0
putfield com.sun.marlin.Renderer.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/Renderer;
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.Renderer.DO_STATS:Z
ifeq 6
1: aload 0
getfield com.sun.marlin.Renderer.rdrCtx:Lcom/sun/marlin/RendererContext;
getfield com.sun.marlin.RendererContext.stats:Lcom/sun/marlin/RendererStats;
getfield com.sun.marlin.RendererStats.stat_rdr_activeEdges:Lcom/sun/marlin/stats/StatLong;
aload 0
getfield com.sun.marlin.Renderer.activeEdgeMaxUsed:I
invokevirtual com.sun.marlin.stats.StatLong.add:(I)V
2: aload 0
getfield com.sun.marlin.Renderer.rdrCtx:Lcom/sun/marlin/RendererContext;
getfield com.sun.marlin.RendererContext.stats:Lcom/sun/marlin/RendererStats;
getfield com.sun.marlin.RendererStats.stat_rdr_edges:Lcom/sun/marlin/stats/StatLong;
aload 0
getfield com.sun.marlin.Renderer.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.Renderer.rdrCtx:Lcom/sun/marlin/RendererContext;
getfield com.sun.marlin.RendererContext.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.Renderer.edges:Lcom/sun/marlin/OffHeapArray;
getfield com.sun.marlin.OffHeapArray.used:I
getstatic com.sun.marlin.Renderer.SIZEOF_EDGE_BYTES:I
idiv
invokevirtual com.sun.marlin.stats.StatLong.add:(I)V
4: aload 0
getfield com.sun.marlin.Renderer.rdrCtx:Lcom/sun/marlin/RendererContext;
getfield com.sun.marlin.RendererContext.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.Renderer.edges:Lcom/sun/marlin/OffHeapArray;
getfield com.sun.marlin.OffHeapArray.used:I
getstatic com.sun.marlin.Renderer.SIZEOF_EDGE_BYTES:I
idiv
invokevirtual com.sun.marlin.stats.Histogram.add:(I)V
5: aload 0
getfield com.sun.marlin.Renderer.rdrCtx:Lcom/sun/marlin/RendererContext;
getfield com.sun.marlin.RendererContext.stats:Lcom/sun/marlin/RendererStats;
dup
getfield com.sun.marlin.RendererStats.totalOffHeap:J
aload 0
getfield com.sun.marlin.Renderer.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.Renderer.crossings_ref:Lcom/sun/marlin/IntArrayCache$Reference;
aload 0
getfield com.sun.marlin.Renderer.crossings:[I
invokevirtual com.sun.marlin.IntArrayCache$Reference.putArray:([I)[I
putfield com.sun.marlin.Renderer.crossings:[I
7: aload 0
aload 0
getfield com.sun.marlin.Renderer.aux_crossings_ref:Lcom/sun/marlin/IntArrayCache$Reference;
aload 0
getfield com.sun.marlin.Renderer.aux_crossings:[I
invokevirtual com.sun.marlin.IntArrayCache$Reference.putArray:([I)[I
putfield com.sun.marlin.Renderer.aux_crossings:[I
8: aload 0
aload 0
getfield com.sun.marlin.Renderer.edgePtrs_ref:Lcom/sun/marlin/IntArrayCache$Reference;
aload 0
getfield com.sun.marlin.Renderer.edgePtrs:[I
invokevirtual com.sun.marlin.IntArrayCache$Reference.putArray:([I)[I
putfield com.sun.marlin.Renderer.edgePtrs:[I
9: aload 0
aload 0
getfield com.sun.marlin.Renderer.aux_edgePtrs_ref:Lcom/sun/marlin/IntArrayCache$Reference;
aload 0
getfield com.sun.marlin.Renderer.aux_edgePtrs:[I
invokevirtual com.sun.marlin.IntArrayCache$Reference.putArray:([I)[I
putfield com.sun.marlin.Renderer.aux_edgePtrs:[I
10: aload 0
aload 0
getfield com.sun.marlin.Renderer.alphaLine_ref:Lcom/sun/marlin/IntArrayCache$Reference;
aload 0
getfield com.sun.marlin.Renderer.alphaLine:[I
iconst_0
iconst_0
invokevirtual com.sun.marlin.IntArrayCache$Reference.putArray:([III)[I
putfield com.sun.marlin.Renderer.alphaLine:[I
11: aload 0
aload 0
getfield com.sun.marlin.Renderer.blkFlags_ref:Lcom/sun/marlin/IntArrayCache$Reference;
aload 0
getfield com.sun.marlin.Renderer.blkFlags:[I
iconst_0
iconst_0
invokevirtual com.sun.marlin.IntArrayCache$Reference.putArray:([III)[I
putfield com.sun.marlin.Renderer.blkFlags:[I
12: aload 0
getfield com.sun.marlin.Renderer.edgeMinY:I
ldc 2147483647
if_icmpeq 24
13: aload 0
getfield com.sun.marlin.Renderer.rdrCtx:Lcom/sun/marlin/RendererContext;
getfield com.sun.marlin.RendererContext.dirty:Z
ifeq 16
14: aload 0
iconst_0
putfield com.sun.marlin.Renderer.buckets_minY:I
15: aload 0
aload 0
getfield com.sun.marlin.Renderer.boundsMaxY:I
aload 0
getfield com.sun.marlin.Renderer.boundsMinY:I
isub
putfield com.sun.marlin.Renderer.buckets_maxY:I
16: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.sun.marlin.Renderer.edgeBuckets_ref:Lcom/sun/marlin/IntArrayCache$Reference;
aload 0
getfield com.sun.marlin.Renderer.edgeBuckets:[I
aload 0
getfield com.sun.marlin.Renderer.buckets_minY:I
17: aload 0
getfield com.sun.marlin.Renderer.buckets_maxY:I
18: invokevirtual com.sun.marlin.IntArrayCache$Reference.putArray:([III)[I
putfield com.sun.marlin.Renderer.edgeBuckets:[I
19: aload 0
aload 0
getfield com.sun.marlin.Renderer.edgeBucketCounts_ref:Lcom/sun/marlin/IntArrayCache$Reference;
aload 0
getfield com.sun.marlin.Renderer.edgeBucketCounts:[I
20: aload 0
getfield com.sun.marlin.Renderer.buckets_minY:I
21: aload 0
getfield com.sun.marlin.Renderer.buckets_maxY:I
iconst_1
iadd
22: invokevirtual com.sun.marlin.IntArrayCache$Reference.putArray:([III)[I
putfield com.sun.marlin.Renderer.edgeBucketCounts:[I
23: goto 26
24: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.sun.marlin.Renderer.edgeBuckets_ref:Lcom/sun/marlin/IntArrayCache$Reference;
aload 0
getfield com.sun.marlin.Renderer.edgeBuckets:[I
iconst_0
iconst_0
invokevirtual com.sun.marlin.IntArrayCache$Reference.putArray:([III)[I
putfield com.sun.marlin.Renderer.edgeBuckets:[I
25: aload 0
aload 0
getfield com.sun.marlin.Renderer.edgeBucketCounts_ref:Lcom/sun/marlin/IntArrayCache$Reference;
aload 0
getfield com.sun.marlin.Renderer.edgeBucketCounts:[I
iconst_0
iconst_0
invokevirtual com.sun.marlin.IntArrayCache$Reference.putArray:([III)[I
putfield com.sun.marlin.Renderer.edgeBucketCounts:[I
26: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.marlin.Renderer.edges:Lcom/sun/marlin/OffHeapArray;
getfield com.sun.marlin.OffHeapArray.length:J
getstatic com.sun.marlin.Renderer.INITIAL_EDGES_CAPACITY:I
i2l
lcmp
ifeq 28
27: aload 0
getfield com.sun.marlin.Renderer.edges:Lcom/sun/marlin/OffHeapArray;
getstatic com.sun.marlin.Renderer.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/Renderer;
private static float tosubpixx(float);
descriptor: (F)F
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic com.sun.marlin.Renderer.SUBPIXEL_SCALE_X:F
fload 0
fmul
freturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 pix_x F
MethodParameters:
Name Flags
pix_x final
private static float tosubpixy(float);
descriptor: (F)F
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic com.sun.marlin.Renderer.SUBPIXEL_SCALE_Y:F
fload 0
fmul
ldc 0.5
fsub
freturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 pix_y F
MethodParameters:
Name Flags
pix_y final
public void moveTo(float, float);
descriptor: (FF)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.sun.marlin.Renderer.closePath:()V
1: fload 1
invokestatic com.sun.marlin.Renderer.tosubpixx:(F)F
fstore 3
start local 3 2: fload 2
invokestatic com.sun.marlin.Renderer.tosubpixy:(F)F
fstore 4
start local 4 3: aload 0
fload 3
putfield com.sun.marlin.Renderer.sx0:F
4: aload 0
fload 4
putfield com.sun.marlin.Renderer.sy0:F
5: aload 0
fload 3
putfield com.sun.marlin.Renderer.x0:F
6: aload 0
fload 4
putfield com.sun.marlin.Renderer.y0:F
7: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/marlin/Renderer;
0 8 1 pix_x0 F
0 8 2 pix_y0 F
2 8 3 sx F
3 8 4 sy F
MethodParameters:
Name Flags
pix_x0 final
pix_y0 final
public void lineTo(float, float);
descriptor: (FF)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: fload 1
invokestatic com.sun.marlin.Renderer.tosubpixx:(F)F
fstore 3
start local 3 1: fload 2
invokestatic com.sun.marlin.Renderer.tosubpixy:(F)F
fstore 4
start local 4 2: aload 0
aload 0
getfield com.sun.marlin.Renderer.x0:F
aload 0
getfield com.sun.marlin.Renderer.y0:F
fload 3
fload 4
invokevirtual com.sun.marlin.Renderer.addLine:(FFFF)V
3: aload 0
fload 3
putfield com.sun.marlin.Renderer.x0:F
4: aload 0
fload 4
putfield com.sun.marlin.Renderer.y0:F
5: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/marlin/Renderer;
0 6 1 pix_x1 F
0 6 2 pix_y1 F
1 6 3 x1 F
2 6 4 y1 F
MethodParameters:
Name Flags
pix_x1 final
pix_y1 final
public void curveTo(float, float, float, float, float, float);
descriptor: (FFFFFF)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=9, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: fload 5
invokestatic com.sun.marlin.Renderer.tosubpixx:(F)F
fstore 7
start local 7 1: fload 6
invokestatic com.sun.marlin.Renderer.tosubpixy:(F)F
fstore 8
start local 8 2: aload 0
getfield com.sun.marlin.Renderer.curve:Lcom/sun/marlin/Curve;
aload 0
getfield com.sun.marlin.Renderer.x0:F
aload 0
getfield com.sun.marlin.Renderer.y0:F
3: fload 1
invokestatic com.sun.marlin.Renderer.tosubpixx:(F)F
fload 2
invokestatic com.sun.marlin.Renderer.tosubpixy:(F)F
4: fload 3
invokestatic com.sun.marlin.Renderer.tosubpixx:(F)F
fload 4
invokestatic com.sun.marlin.Renderer.tosubpixy:(F)F
5: fload 7
fload 8
6: invokevirtual com.sun.marlin.Curve.set:(FFFFFFFF)V
7: aload 0
aload 0
getfield com.sun.marlin.Renderer.x0:F
aload 0
getfield com.sun.marlin.Renderer.y0:F
aload 0
getfield com.sun.marlin.Renderer.curve:Lcom/sun/marlin/Curve;
fload 7
fload 8
invokevirtual com.sun.marlin.Renderer.curveBreakIntoLinesAndAdd:(FFLcom/sun/marlin/Curve;FF)V
8: aload 0
fload 7
putfield com.sun.marlin.Renderer.x0:F
9: aload 0
fload 8
putfield com.sun.marlin.Renderer.y0:F
10: return
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 11 0 this Lcom/sun/marlin/Renderer;
0 11 1 pix_x1 F
0 11 2 pix_y1 F
0 11 3 pix_x2 F
0 11 4 pix_y2 F
0 11 5 pix_x3 F
0 11 6 pix_y3 F
1 11 7 xe F
2 11 8 ye F
MethodParameters:
Name Flags
pix_x1 final
pix_y1 final
pix_x2 final
pix_y2 final
pix_x3 final
pix_y3 final
public void quadTo(float, float, float, float);
descriptor: (FFFF)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: fload 3
invokestatic com.sun.marlin.Renderer.tosubpixx:(F)F
fstore 5
start local 5 1: fload 4
invokestatic com.sun.marlin.Renderer.tosubpixy:(F)F
fstore 6
start local 6 2: aload 0
getfield com.sun.marlin.Renderer.curve:Lcom/sun/marlin/Curve;
aload 0
getfield com.sun.marlin.Renderer.x0:F
aload 0
getfield com.sun.marlin.Renderer.y0:F
3: fload 1
invokestatic com.sun.marlin.Renderer.tosubpixx:(F)F
fload 2
invokestatic com.sun.marlin.Renderer.tosubpixy:(F)F
4: fload 5
fload 6
5: invokevirtual com.sun.marlin.Curve.set:(FFFFFF)V
6: aload 0
aload 0
getfield com.sun.marlin.Renderer.x0:F
aload 0
getfield com.sun.marlin.Renderer.y0:F
aload 0
getfield com.sun.marlin.Renderer.curve:Lcom/sun/marlin/Curve;
fload 5
fload 6
invokevirtual com.sun.marlin.Renderer.quadBreakIntoLinesAndAdd:(FFLcom/sun/marlin/Curve;FF)V
7: aload 0
fload 5
putfield com.sun.marlin.Renderer.x0:F
8: aload 0
fload 6
putfield com.sun.marlin.Renderer.y0:F
9: 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 10 0 this Lcom/sun/marlin/Renderer;
0 10 1 pix_x1 F
0 10 2 pix_y1 F
0 10 3 pix_x2 F
0 10 4 pix_y2 F
1 10 5 xe F
2 10 6 ye F
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=5, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.marlin.Renderer.x0:F
aload 0
getfield com.sun.marlin.Renderer.sx0:F
fcmpl
ifne 1
aload 0
getfield com.sun.marlin.Renderer.y0:F
aload 0
getfield com.sun.marlin.Renderer.sy0:F
fcmpl
ifeq 4
1: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.sun.marlin.Renderer.x0:F
aload 0
getfield com.sun.marlin.Renderer.y0:F
aload 0
getfield com.sun.marlin.Renderer.sx0:F
aload 0
getfield com.sun.marlin.Renderer.sy0:F
invokevirtual com.sun.marlin.Renderer.addLine:(FFFF)V
2: aload 0
aload 0
getfield com.sun.marlin.Renderer.sx0:F
putfield com.sun.marlin.Renderer.x0:F
3: aload 0
aload 0
getfield com.sun.marlin.Renderer.sy0:F
putfield com.sun.marlin.Renderer.y0:F
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/marlin/Renderer;
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.Renderer.closePath:()V
1: aload 0
invokevirtual com.sun.marlin.Renderer.endRendering:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/marlin/Renderer;
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.Renderer.bbox_spminX:I
istore 4
start local 4 1: aload 0
getfield com.sun.marlin.Renderer.bbox_spmaxX:I
istore 5
start local 5 2: aload 0
getfield com.sun.marlin.Renderer.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.Renderer.alphaLine:[I
astore 7
start local 7 6: aload 0
getfield com.sun.marlin.Renderer.edges:Lcom/sun/marlin/OffHeapArray;
astore 8
start local 8 7: aload 0
getfield com.sun.marlin.Renderer.edgeBuckets:[I
astore 9
start local 9 8: aload 0
getfield com.sun.marlin.Renderer.edgeBucketCounts:[I
astore 10
start local 10 9: aload 0
getfield com.sun.marlin.Renderer.crossings:[I
astore 11
start local 11 10: aload 0
getfield com.sun.marlin.Renderer.edgePtrs:[I
astore 12
start local 12 11: aload 0
getfield com.sun.marlin.Renderer.aux_crossings:[I
astore 13
start local 13 12: aload 0
getfield com.sun.marlin.Renderer.aux_edgePtrs:[I
astore 14
start local 14 13: getstatic com.sun.marlin.Renderer.OFF_ERROR:J
lstore 15
start local 15 14: getstatic com.sun.marlin.Renderer.OFF_BUMP_X:J
lstore 17
start local 17 15: getstatic com.sun.marlin.Renderer.OFF_BUMP_ERR:J
lstore 19
start local 19 16: getstatic com.sun.marlin.Renderer.OFF_NEXT:J
lstore 21
start local 21 17: getstatic com.sun.marlin.Renderer.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.Renderer.SUBPIXEL_LG_POSITIONS_X:I
istore 30
start local 30 21: getstatic com.sun.marlin.Renderer.SUBPIXEL_LG_POSITIONS_Y:I
istore 31
start local 31 22: getstatic com.sun.marlin.Renderer.SUBPIXEL_MASK_X:I
istore 32
start local 32 23: getstatic com.sun.marlin.Renderer.SUBPIXEL_MASK_Y:I
istore 33
start local 33 24: getstatic com.sun.marlin.Renderer.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.Renderer.boundsMinY:I
isub
istore 38
start local 38 29: aload 0
getfield com.sun.marlin.Renderer.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.Renderer.activeEdgeMaxUsed:I
istore 42
start local 42 33: iconst_0
istore 43
start local 43 34: aload 0
getfield com.sun.marlin.Renderer.blkFlags:[I
astore 69
start local 69 35: getstatic com.sun.marlin.Renderer.BLOCK_SIZE_LG:I
istore 70
start local 70 36: getstatic com.sun.marlin.Renderer.BLOCK_SIZE:I
istore 71
start local 71 37: getstatic com.sun.marlin.Renderer.ENABLE_BLOCK_FLAGS_HEURISTICS:Z
ifeq 38
aload 0
getfield com.sun.marlin.Renderer.enableBlkFlags:Z
ifeq 38
iconst_1
goto 39
StackMap locals: com.sun.marlin.Renderer 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.Renderer.prevUseBlkFlags:Z
istore 73
start local 73 41: aload 0
getfield com.sun.marlin.Renderer.rdrCtx:Lcom/sun/marlin/RendererContext;
getfield com.sun.marlin.RendererContext.stroking:I
istore 74
start local 74 42: iconst_m1
istore 75
start local 75 43: goto 353
44: StackMap locals: com.sun.marlin.Renderer 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.Renderer.DO_STATS:Z
ifeq 49
48: aload 0
getfield com.sun.marlin.Renderer.rdrCtx:Lcom/sun/marlin/RendererContext;
getfield com.sun.marlin.RendererContext.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.Renderer 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.Renderer 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.Renderer 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.Renderer 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.Renderer 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.Renderer.DO_STATS:Z
ifeq 66
63: aload 0
getfield com.sun.marlin.Renderer.rdrCtx:Lcom/sun/marlin/RendererContext;
getfield com.sun.marlin.RendererContext.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.Renderer.rdrCtx:Lcom/sun/marlin/RendererContext;
getfield com.sun.marlin.RendererContext.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.Renderer.DO_STATS:Z
ifeq 70
69: aload 0
getfield com.sun.marlin.Renderer.rdrCtx:Lcom/sun/marlin/RendererContext;
getfield com.sun.marlin.RendererContext.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.Renderer 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.Renderer.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.Renderer.edgePtrs:[I
75: aload 12
arraylength
istore 40
76: aload 0
getfield com.sun.marlin.Renderer.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.Renderer.DO_STATS:Z
ifeq 79
78: aload 0
getfield com.sun.marlin.Renderer.rdrCtx:Lcom/sun/marlin/RendererContext;
getfield com.sun.marlin.RendererContext.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.Renderer.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.Renderer.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.Renderer 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.Renderer.crossings_ref:Lcom/sun/marlin/IntArrayCache$Reference;
aload 11
invokevirtual com.sun.marlin.IntArrayCache$Reference.putArray:([I)[I
pop
94: getstatic com.sun.marlin.Renderer.DO_STATS:Z
ifeq 97
95: aload 0
getfield com.sun.marlin.Renderer.rdrCtx:Lcom/sun/marlin/RendererContext;
getfield com.sun.marlin.RendererContext.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.Renderer.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.Renderer.crossings:[I
100: aload 0
getfield com.sun.marlin.Renderer.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.Renderer.DO_STATS:Z
ifeq 104
102: aload 0
getfield com.sun.marlin.Renderer.rdrCtx:Lcom/sun/marlin/RendererContext;
getfield com.sun.marlin.RendererContext.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.Renderer.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.Renderer.aux_crossings:[I
107: aload 11
arraylength
istore 41
108: StackMap locals:
StackMap stack:
getstatic com.sun.marlin.Renderer.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.Renderer 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.Renderer.DO_STATS:Z
ifeq 116
114: aload 0
getfield com.sun.marlin.Renderer.rdrCtx:Lcom/sun/marlin/RendererContext;
getfield com.sun.marlin.RendererContext.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.Renderer.rdrCtx:Lcom/sun/marlin/RendererContext;
getfield com.sun.marlin.RendererContext.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.Renderer 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.Renderer.DO_STATS:Z
ifeq 134
133: aload 0
getfield com.sun.marlin.Renderer.rdrCtx:Lcom/sun/marlin/RendererContext;
getfield com.sun.marlin.RendererContext.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.Renderer 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.Renderer.DO_STATS:Z
ifeq 137
136: aload 0
getfield com.sun.marlin.Renderer.rdrCtx:Lcom/sun/marlin/RendererContext;
getfield com.sun.marlin.RendererContext.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.Renderer.DO_STATS:Z
ifeq 140
139: aload 0
getfield com.sun.marlin.Renderer.rdrCtx:Lcom/sun/marlin/RendererContext;
getfield com.sun.marlin.RendererContext.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.Renderer 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.Renderer 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.Renderer 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.Renderer 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.Renderer 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.Renderer 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.Renderer 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.Renderer 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.Renderer.DO_STATS:Z
ifeq 178
173: aload 0
getfield com.sun.marlin.Renderer.rdrCtx:Lcom/sun/marlin/RendererContext;
getfield com.sun.marlin.RendererContext.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.Renderer.rdrCtx:Lcom/sun/marlin/RendererContext;
getfield com.sun.marlin.RendererContext.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.Renderer.rdrCtx:Lcom/sun/marlin/RendererContext;
getfield com.sun.marlin.RendererContext.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.Renderer.rdrCtx:Lcom/sun/marlin/RendererContext;
getfield com.sun.marlin.RendererContext.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.Renderer 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.Renderer.DO_STATS:Z
ifeq 193
192: aload 0
getfield com.sun.marlin.Renderer.rdrCtx:Lcom/sun/marlin/RendererContext;
getfield com.sun.marlin.RendererContext.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.Renderer 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.Renderer.DO_STATS:Z
ifeq 199
198: aload 0
getfield com.sun.marlin.Renderer.rdrCtx:Lcom/sun/marlin/RendererContext;
getfield com.sun.marlin.RendererContext.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.Renderer 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.Renderer 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.Renderer 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.Renderer 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.Renderer 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.Renderer 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.Renderer 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.Renderer 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.Renderer 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.Renderer 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.Renderer 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.Renderer 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.Renderer 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.Renderer.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.Renderer.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.Renderer.rdrCtx:Lcom/sun/marlin/RendererContext;
getfield com.sun.marlin.RendererContext.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.Renderer 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.Renderer.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.Renderer.edgeCount:I
364: aload 0
iload 73
putfield com.sun.marlin.Renderer.prevUseBlkFlags:Z
365: getstatic com.sun.marlin.Renderer.DO_STATS:Z
ifeq 367
366: aload 0
iload 42
putfield com.sun.marlin.Renderer.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/Renderer;
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.Renderer.edgeMinY:I
ldc 2147483647
if_icmpne 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.marlin.Renderer.edgeMinX:F
ldc 0.5
fsub
invokestatic com.sun.marlin.FloatMath.ceil_int:(F)I
aload 0
getfield com.sun.marlin.Renderer.boundsMinX:I
invokestatic com.sun.marlin.FloatMath.max:(II)I
istore 1
start local 1 3: aload 0
getfield com.sun.marlin.Renderer.edgeMaxX:F
ldc 0.5
fsub
invokestatic com.sun.marlin.FloatMath.ceil_int:(F)I
aload 0
getfield com.sun.marlin.Renderer.boundsMaxX:I
invokestatic com.sun.marlin.FloatMath.min:(II)I
istore 2
start local 2 4: aload 0
getfield com.sun.marlin.Renderer.edgeMinY:I
istore 3
start local 3 5: aload 0
getfield com.sun.marlin.Renderer.edgeMaxY:I
istore 4
start local 4 6: aload 0
iload 3
aload 0
getfield com.sun.marlin.Renderer.boundsMinY:I
isub
putfield com.sun.marlin.Renderer.buckets_minY:I
7: aload 0
iload 4
aload 0
getfield com.sun.marlin.Renderer.boundsMinY:I
isub
putfield com.sun.marlin.Renderer.buckets_maxY:I
8: getstatic com.sun.marlin.Renderer.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.Renderer.edgeMinX:F
invokevirtual java.lang.StringBuilder.append:(F)Ljava/lang/StringBuilder;
ldc " ... "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.sun.marlin.Renderer.edgeMaxX:F
invokevirtual java.lang.StringBuilder.append:(F)Ljava/lang/StringBuilder;
10: ldc "[ ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.sun.marlin.Renderer.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.Renderer.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.Renderer 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.Renderer.SUBPIXEL_LG_POSITIONS_X:I
ishr
istore 5
start local 5 18: iload 2
getstatic com.sun.marlin.Renderer.SUBPIXEL_MASK_X:I
iadd
getstatic com.sun.marlin.Renderer.SUBPIXEL_LG_POSITIONS_X:I
ishr
istore 6
start local 6 19: iload 3
getstatic com.sun.marlin.Renderer.SUBPIXEL_LG_POSITIONS_Y:I
ishr
istore 7
start local 7 20: iload 4
getstatic com.sun.marlin.Renderer.SUBPIXEL_MASK_Y:I
iadd
getstatic com.sun.marlin.Renderer.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.Renderer.initConsumer:(IIII)V
22: getstatic com.sun.marlin.Renderer.ENABLE_BLOCK_FLAGS:Z
ifeq 31
23: aload 0
aload 0
getfield com.sun.marlin.Renderer.useRLE:Z
putfield com.sun.marlin.Renderer.enableBlkFlags:Z
24: aload 0
aload 0
getfield com.sun.marlin.Renderer.enableBlkFlags:Z
ifeq 25
getstatic com.sun.marlin.Renderer.ENABLE_BLOCK_FLAGS_HEURISTICS:Z
ifne 25
iconst_1
goto 26
StackMap locals: com.sun.marlin.Renderer int int int int int int int int
StackMap stack: com.sun.marlin.Renderer
25: iconst_0
StackMap locals: com.sun.marlin.Renderer int int int int int int int int
StackMap stack: com.sun.marlin.Renderer int
26: putfield com.sun.marlin.Renderer.prevUseBlkFlags:Z
27: aload 0
getfield com.sun.marlin.Renderer.enableBlkFlags:Z
ifeq 31
28: iload 6
iload 5
isub
getstatic com.sun.marlin.Renderer.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.Renderer.blkFlags_ref:Lcom/sun/marlin/IntArrayCache$Reference;
iload 9
invokevirtual com.sun.marlin.IntArrayCache$Reference.getArray:(I)[I
putfield com.sun.marlin.Renderer.blkFlags:[I
end local 9 31: StackMap locals:
StackMap stack:
aload 0
iload 5
getstatic com.sun.marlin.Renderer.SUBPIXEL_LG_POSITIONS_X:I
ishl
putfield com.sun.marlin.Renderer.bbox_spminX:I
32: aload 0
iload 6
getstatic com.sun.marlin.Renderer.SUBPIXEL_LG_POSITIONS_X:I
ishl
putfield com.sun.marlin.Renderer.bbox_spmaxX:I
33: aload 0
iload 3
putfield com.sun.marlin.Renderer.bbox_spminY:I
34: aload 0
iload 4
putfield com.sun.marlin.Renderer.bbox_spmaxY:I
35: getstatic com.sun.marlin.Renderer.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.Renderer.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.Renderer.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.Renderer.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.Renderer.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.Renderer.INITIAL_AA_ARRAY:I
if_icmple 48
45: getstatic com.sun.marlin.Renderer.DO_STATS:Z
ifeq 47
46: aload 0
getfield com.sun.marlin.Renderer.rdrCtx:Lcom/sun/marlin/RendererContext;
getfield com.sun.marlin.RendererContext.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.Renderer.alphaLine_ref:Lcom/sun/marlin/IntArrayCache$Reference;
iload 9
invokevirtual com.sun.marlin.IntArrayCache$Reference.getArray:(I)[I
putfield com.sun.marlin.Renderer.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/Renderer;
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.Renderer.bboxX0:I
1: aload 0
iload 3
putfield com.sun.marlin.Renderer.bboxX1:I
2: aload 0
iload 2
putfield com.sun.marlin.Renderer.bboxY0:I
3: aload 0
iload 4
putfield com.sun.marlin.Renderer.bboxY1:I
4: iload 3
iload 1
isub
istore 5
start local 5 5: getstatic com.sun.marlin.Renderer.FORCE_NO_RLE:Z
ifeq 8
6: aload 0
iconst_0
putfield com.sun.marlin.Renderer.useRLE:Z
7: goto 14
StackMap locals: int
StackMap stack:
8: getstatic com.sun.marlin.Renderer.FORCE_RLE:Z
ifeq 11
9: aload 0
iconst_1
putfield com.sun.marlin.Renderer.useRLE:Z
10: goto 14
11: StackMap locals:
StackMap stack:
aload 0
iload 5
getstatic com.sun.marlin.Renderer.RLE_MIN_WIDTH:I
if_icmple 12
iconst_1
goto 13
StackMap locals:
StackMap stack: com.sun.marlin.Renderer
12: iconst_0
StackMap locals: com.sun.marlin.Renderer int int int int int
StackMap stack: com.sun.marlin.Renderer int
13: putfield com.sun.marlin.Renderer.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/Renderer;
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.Renderer.MAX_AA_ALPHA:I
invokeinterface com.sun.marlin.MarlinAlphaConsumer.setMaxAlpha:(I)V
1: aload 0
getfield com.sun.marlin.Renderer.enableBlkFlags:Z
ifeq 4
aload 1
invokeinterface com.sun.marlin.MarlinAlphaConsumer.supportBlockFlags:()Z
ifne 4
2: aload 0
iconst_0
putfield com.sun.marlin.Renderer.enableBlkFlags:Z
3: aload 0
iconst_0
putfield com.sun.marlin.Renderer.prevUseBlkFlags:Z
4: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.sun.marlin.Renderer.bbox_spminY:I
aload 0
getfield com.sun.marlin.Renderer.bbox_spmaxY:I
aload 1
invokevirtual com.sun.marlin.Renderer._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/Renderer;
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.Renderer.DO_STATS:Z
ifeq 2
1: aload 0
getfield com.sun.marlin.Renderer.rdrCtx:Lcom/sun/marlin/RendererContext;
getfield com.sun.marlin.RendererContext.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.Renderer.DO_STATS:Z
ifeq 5
4: aload 0
getfield com.sun.marlin.Renderer.rdrCtx:Lcom/sun/marlin/RendererContext;
getfield com.sun.marlin.RendererContext.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.Renderer.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.Renderer.DO_STATS:Z
ifeq 9
8: aload 0
getfield com.sun.marlin.Renderer.rdrCtx:Lcom/sun/marlin/RendererContext;
getfield com.sun.marlin.RendererContext.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/Renderer;
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.Renderer.bboxX0:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/marlin/Renderer;
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.Renderer.bboxX1:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/marlin/Renderer;
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.Renderer.bboxY0:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/marlin/Renderer;
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.Renderer.bboxY1:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/marlin/Renderer;
public float getOffsetX();
descriptor: ()F
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic com.sun.marlin.Renderer.RDR_OFFSET_X:F
freturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/marlin/Renderer;
public float getOffsetY();
descriptor: ()F
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic com.sun.marlin.Renderer.RDR_OFFSET_Y:F
freturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/marlin/Renderer;
public com.sun.marlin.MarlinRenderer init(int, int, int, int, int);
descriptor: (IIIII)Lcom/sun/marlin/MarlinRenderer;
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.Renderer.init:(IIIII)Lcom/sun/marlin/Renderer;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "Renderer.java"
InnerClasses:
final Reference = com.sun.marlin.IntArrayCache$Reference of com.sun.marlin.IntArrayCache
final RendererSharedMemory = com.sun.marlin.RendererContext$RendererSharedMemory of com.sun.marlin.RendererContext