final class sun.java2d.marlin.Renderer implements sun.awt.geom.PathConsumer2D, sun.java2d.marlin.MarlinConst
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.java2d.marlin.Renderer
super_class: java.lang.Object
{
static final boolean DISABLE_RENDER;
descriptor: Z
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 0
static final boolean ENABLE_BLOCK_FLAGS;
descriptor: Z
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final boolean ENABLE_BLOCK_FLAGS_HEURISTICS;
descriptor: Z
flags: (0x0018) ACC_STATIC, ACC_FINAL
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
public static final float f_SUBPIXEL_POSITIONS_X;
descriptor: F
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final float f_SUBPIXEL_POSITIONS_Y;
descriptor: F
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final int SUBPIXEL_MASK_X;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final int SUBPIXEL_MASK_Y;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private static final int SUBPIXEL_TILE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static final int INITIAL_BUCKET_ARRAY;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
public static final int WIND_EVEN_ODD;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 0
public static final int WIND_NON_ZERO;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
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 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 int[] crossings_initial;
descriptor: [I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int[] edgePtrs_initial;
descriptor: [I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int[] aux_crossings_initial;
descriptor: [I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int[] aux_edgePtrs_initial;
descriptor: [I
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 sun.java2d.marlin.OffHeapArray edges;
descriptor: Lsun/java2d/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 int edgeSumDeltaY;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private final int[] edgeBuckets_initial;
descriptor: [I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int[] edgeBucketCounts_initial;
descriptor: [I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
final sun.java2d.marlin.MarlinCache cache;
descriptor: Lsun/java2d/marlin/MarlinCache;
flags: (0x0010) ACC_FINAL
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 sun.java2d.marlin.RendererContext rdrCtx;
descriptor: Lsun/java2d/marlin/RendererContext;
flags: (0x0010) ACC_FINAL
private final sun.java2d.marlin.Curve curve;
descriptor: Lsun/java2d/marlin/Curve;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int[] alphaLine;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private final int[] alphaLine_initial;
descriptor: [I
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
private boolean enableBlkFlags;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean prevUseBlkFlags;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private final int[] blkFlags_initial;
descriptor: [I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int[] blkFlags;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: invokestatic sun.java2d.marlin.MarlinProperties.isUseTileFlags:()Z
putstatic sun.java2d.marlin.Renderer.ENABLE_BLOCK_FLAGS:Z
1: invokestatic sun.java2d.marlin.MarlinProperties.isUseTileFlagsWithHeuristics:()Z
putstatic sun.java2d.marlin.Renderer.ENABLE_BLOCK_FLAGS_HEURISTICS:Z
2: getstatic sun.java2d.marlin.Renderer.SUBPIXEL_POSITIONS_X:I
i2f
3: putstatic sun.java2d.marlin.Renderer.f_SUBPIXEL_POSITIONS_X:F
4: getstatic sun.java2d.marlin.Renderer.SUBPIXEL_POSITIONS_Y:I
i2f
5: putstatic sun.java2d.marlin.Renderer.f_SUBPIXEL_POSITIONS_Y:F
6: getstatic sun.java2d.marlin.Renderer.SUBPIXEL_POSITIONS_X:I
iconst_1
isub
putstatic sun.java2d.marlin.Renderer.SUBPIXEL_MASK_X:I
7: getstatic sun.java2d.marlin.Renderer.SUBPIXEL_POSITIONS_Y:I
iconst_1
isub
putstatic sun.java2d.marlin.Renderer.SUBPIXEL_MASK_Y:I
8: getstatic sun.java2d.marlin.Renderer.TILE_SIZE:I
getstatic sun.java2d.marlin.Renderer.SUBPIXEL_LG_POSITIONS_Y:I
ishl
9: putstatic sun.java2d.marlin.Renderer.SUBPIXEL_TILE:I
10: getstatic sun.java2d.marlin.Renderer.INITIAL_PIXEL_DIM:I
getstatic sun.java2d.marlin.Renderer.SUBPIXEL_POSITIONS_Y:I
imul
11: putstatic sun.java2d.marlin.Renderer.INITIAL_BUCKET_ARRAY:I
12: lconst_0
getstatic sun.java2d.marlin.OffHeapArray.SIZE_INT:I
i2l
ladd
putstatic sun.java2d.marlin.Renderer.OFF_ERROR:J
13: getstatic sun.java2d.marlin.Renderer.OFF_ERROR:J
getstatic sun.java2d.marlin.OffHeapArray.SIZE_INT:I
i2l
ladd
putstatic sun.java2d.marlin.Renderer.OFF_BUMP_X:J
14: getstatic sun.java2d.marlin.Renderer.OFF_BUMP_X:J
getstatic sun.java2d.marlin.OffHeapArray.SIZE_INT:I
i2l
ladd
putstatic sun.java2d.marlin.Renderer.OFF_BUMP_ERR:J
15: getstatic sun.java2d.marlin.Renderer.OFF_BUMP_ERR:J
getstatic sun.java2d.marlin.OffHeapArray.SIZE_INT:I
i2l
ladd
putstatic sun.java2d.marlin.Renderer.OFF_NEXT:J
16: getstatic sun.java2d.marlin.Renderer.OFF_NEXT:J
getstatic sun.java2d.marlin.OffHeapArray.SIZE_INT:I
i2l
ladd
putstatic sun.java2d.marlin.Renderer.OFF_YMAX:J
17: getstatic sun.java2d.marlin.Renderer.OFF_YMAX:J
getstatic sun.java2d.marlin.OffHeapArray.SIZE_INT:I
i2l
ladd
l2i
putstatic sun.java2d.marlin.Renderer.SIZEOF_EDGE_BYTES:I
18: ldc 2.5
getstatic sun.java2d.marlin.Renderer.NORM_SUBPIXELS:F
ldc 8.0
fdiv
fmul
19: putstatic sun.java2d.marlin.Renderer.CUB_DEC_ERR_SUBPIX:F
20: fconst_1
getstatic sun.java2d.marlin.Renderer.NORM_SUBPIXELS:F
ldc 8.0
fdiv
fmul
21: putstatic sun.java2d.marlin.Renderer.CUB_INC_ERR_SUBPIX:F
22: ldc 8.0
getstatic sun.java2d.marlin.Renderer.CUB_DEC_ERR_SUBPIX:F
fmul
23: putstatic sun.java2d.marlin.Renderer.CUB_DEC_BND:F
24: ldc 8.0
getstatic sun.java2d.marlin.Renderer.CUB_INC_ERR_SUBPIX:F
fmul
25: putstatic sun.java2d.marlin.Renderer.CUB_INC_BND:F
26: fconst_1
getstatic sun.java2d.marlin.Renderer.NORM_SUBPIXELS:F
ldc 8.0
fdiv
fmul
27: putstatic sun.java2d.marlin.Renderer.QUAD_DEC_ERR_SUBPIX:F
28: ldc 8.0
getstatic sun.java2d.marlin.Renderer.QUAD_DEC_ERR_SUBPIX:F
fmul
29: putstatic sun.java2d.marlin.Renderer.QUAD_DEC_BND:F
30: return
LocalVariableTable:
Start End Slot Name Signature
private void quadBreakIntoLinesAndAdd(float, float, sun.java2d.marlin.Curve, float, float);
descriptor: (FFLsun/java2d/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 sun.java2d.marlin.Curve.dbx:F
invokestatic java.lang.Math.abs:(F)F
aload 3
getfield sun.java2d.marlin.Curve.dby:F
invokestatic java.lang.Math.abs:(F)F
invokestatic sun.java2d.marlin.FloatMath.max:(FF)F
fstore 7
start local 7 2: getstatic sun.java2d.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 sun.java2d.marlin.Renderer.doStats:Z
ifeq 8
7: getstatic sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.stat_rdr_quadBreak_dec:Lsun/java2d/marlin/stats/StatLong;
iload 6
invokevirtual sun.java2d.marlin.stats.StatLong.add:(I)V
8: StackMap locals:
StackMap stack:
fload 7
fload 8
fcmpl
ifge 4
9: iconst_0
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 sun.java2d.marlin.Curve.dbx:F
fload 11
fmul
fstore 12
start local 12 14: aload 3
getfield sun.java2d.marlin.Curve.dby:F
fload 11
fmul
fstore 13
start local 13 15: aload 3
getfield sun.java2d.marlin.Curve.bx:F
fload 11
fmul
aload 3
getfield sun.java2d.marlin.Curve.cx:F
fload 10
fmul
fadd
fstore 14
start local 14 16: aload 3
getfield sun.java2d.marlin.Curve.by:F
fload 11
fmul
aload 3
getfield sun.java2d.marlin.Curve.cy:F
fload 10
fmul
fadd
fstore 15
start local 15 17: goto 26
18: StackMap locals: sun.java2d.marlin.Renderer float float sun.java2d.marlin.Curve float float int float float int float float float float float float
StackMap stack:
fload 1
fload 14
fadd
fstore 16
start local 16 19: fload 14
fload 12
fadd
fstore 14
20: fload 2
fload 15
fadd
fstore 17
start local 17 21: fload 15
fload 13
fadd
fstore 15
22: aload 0
fload 1
fload 2
fload 16
fload 17
invokevirtual sun.java2d.marlin.Renderer.addLine:(FFFF)V
23: getstatic sun.java2d.marlin.Renderer.doStats:Z
ifeq 24
iinc 9 1
24: StackMap locals: float float
StackMap stack:
fload 16
fstore 1
25: fload 17
fstore 2
end local 17 end local 16 26: StackMap locals:
StackMap stack:
iinc 6 -1
iload 6
ifgt 18
end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 27: StackMap locals: sun.java2d.marlin.Renderer float float sun.java2d.marlin.Curve float float int float float int
StackMap stack:
aload 0
fload 1
fload 2
fload 4
fload 5
invokevirtual sun.java2d.marlin.Renderer.addLine:(FFFF)V
28: getstatic sun.java2d.marlin.Renderer.doStats:Z
ifeq 30
29: getstatic sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.stat_rdr_quadBreak:Lsun/java2d/marlin/stats/StatLong;
iload 9
iconst_1
iadd
invokevirtual sun.java2d.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 Lsun/java2d/marlin/Renderer;
0 31 1 x0 F
0 31 2 y0 F
0 31 3 c Lsun/java2d/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
19 26 16 x1 F
21 26 17 y1 F
MethodParameters:
Name Flags
x0
y0
c final
x2 final
y2 final
private void curveBreakIntoLinesAndAdd(float, float, sun.java2d.marlin.Curve, float, float);
descriptor: (FFLsun/java2d/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_4
istore 6
start local 6 1: fconst_2
aload 3
getfield sun.java2d.marlin.Curve.dax:F
fmul
ldc 0.015625
fmul
fstore 7
start local 7 2: fconst_2
aload 3
getfield sun.java2d.marlin.Curve.day:F
fmul
ldc 0.015625
fmul
fstore 8
start local 8 3: fload 7
aload 3
getfield sun.java2d.marlin.Curve.dbx:F
ldc 0.0625
fmul
fadd
fstore 9
start local 9 4: fload 8
aload 3
getfield sun.java2d.marlin.Curve.dby:F
ldc 0.0625
fmul
fadd
fstore 10
start local 10 5: aload 3
getfield sun.java2d.marlin.Curve.ax:F
ldc 0.015625
fmul
aload 3
getfield sun.java2d.marlin.Curve.bx:F
ldc 0.0625
fmul
fadd
aload 3
getfield sun.java2d.marlin.Curve.cx:F
ldc 0.25
fmul
fadd
fstore 11
start local 11 6: aload 3
getfield sun.java2d.marlin.Curve.ay:F
ldc 0.015625
fmul
aload 3
getfield sun.java2d.marlin.Curve.by:F
ldc 0.0625
fmul
fadd
aload 3
getfield sun.java2d.marlin.Curve.cy:F
ldc 0.25
fmul
fadd
fstore 12
start local 12 7: fload 1
fstore 13
start local 13 8: fload 2
fstore 14
start local 14 9: iconst_0
istore 15
start local 15 10: getstatic sun.java2d.marlin.Renderer.CUB_DEC_BND:F
fstore 16
start local 16 11: getstatic sun.java2d.marlin.Renderer.CUB_INC_BND:F
fstore 17
start local 17 12: goto 50
13: StackMap locals: sun.java2d.marlin.Renderer float float sun.java2d.marlin.Curve float float int float float float float float float float float int float float
StackMap stack:
fload 7
ldc 8.0
fdiv
fstore 7
14: fload 8
ldc 8.0
fdiv
fstore 8
15: fload 9
ldc 4.0
fdiv
fload 7
fsub
fstore 9
16: fload 10
ldc 4.0
fdiv
fload 8
fsub
fstore 10
17: fload 11
fload 9
fsub
fconst_2
fdiv
fstore 11
18: fload 12
fload 10
fsub
fconst_2
fdiv
fstore 12
19: iload 6
iconst_1
ishl
istore 6
20: getstatic sun.java2d.marlin.Renderer.doStats:Z
ifeq 22
21: getstatic sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.stat_rdr_curveBreak_dec:Lsun/java2d/marlin/stats/StatLong;
iload 6
invokevirtual sun.java2d.marlin.stats.StatLong.add:(I)V
22: StackMap locals:
StackMap stack:
fload 9
invokestatic java.lang.Math.abs:(F)F
fload 16
fcmpl
ifge 13
fload 10
invokestatic java.lang.Math.abs:(F)F
fload 16
fcmpl
ifge 13
23: goto 33
24: StackMap locals:
StackMap stack:
fconst_2
fload 11
fmul
fload 9
fadd
fstore 11
25: fconst_2
fload 12
fmul
fload 10
fadd
fstore 12
26: ldc 4.0
fload 9
fload 7
fadd
fmul
fstore 9
27: ldc 4.0
fload 10
fload 8
fadd
fmul
fstore 10
28: fload 7
ldc 8.0
fmul
fstore 7
29: fload 8
ldc 8.0
fmul
fstore 8
30: iload 6
iconst_1
ishr
istore 6
31: getstatic sun.java2d.marlin.Renderer.doStats:Z
ifeq 33
32: getstatic sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.stat_rdr_curveBreak_inc:Lsun/java2d/marlin/stats/StatLong;
iload 6
invokevirtual sun.java2d.marlin.stats.StatLong.add:(I)V
33: StackMap locals:
StackMap stack:
iload 6
iconst_2
irem
ifne 36
34: fload 11
invokestatic java.lang.Math.abs:(F)F
fload 17
fcmpg
ifgt 36
fload 12
invokestatic java.lang.Math.abs:(F)F
fload 17
35: fcmpg
ifle 24
36: StackMap locals:
StackMap stack:
iinc 6 -1
iload 6
ifle 44
37: fload 13
fload 11
fadd
fstore 13
38: fload 11
fload 9
fadd
fstore 11
39: fload 9
fload 7
fadd
fstore 9
40: fload 14
fload 12
fadd
fstore 14
41: fload 12
fload 10
fadd
fstore 12
42: fload 10
fload 8
fadd
fstore 10
43: goto 46
44: StackMap locals:
StackMap stack:
fload 4
fstore 13
45: fload 5
fstore 14
46: StackMap locals:
StackMap stack:
aload 0
fload 1
fload 2
fload 13
fload 14
invokevirtual sun.java2d.marlin.Renderer.addLine:(FFFF)V
47: getstatic sun.java2d.marlin.Renderer.doStats:Z
ifeq 48
iinc 15 1
48: StackMap locals:
StackMap stack:
fload 13
fstore 1
49: fload 14
fstore 2
50: StackMap locals:
StackMap stack:
iload 6
ifgt 22
51: getstatic sun.java2d.marlin.Renderer.doStats:Z
ifeq 53
52: getstatic sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.stat_rdr_curveBreak:Lsun/java2d/marlin/stats/StatLong;
iload 15
invokevirtual sun.java2d.marlin.stats.StatLong.add:(I)V
53: StackMap locals:
StackMap stack:
return
end local 17 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 54 0 this Lsun/java2d/marlin/Renderer;
0 54 1 x0 F
0 54 2 y0 F
0 54 3 c Lsun/java2d/marlin/Curve;
0 54 4 x3 F
0 54 5 y3 F
1 54 6 count I
2 54 7 dddx F
3 54 8 dddy F
4 54 9 ddx F
5 54 10 ddy F
6 54 11 dx F
7 54 12 dy F
8 54 13 x1 F
9 54 14 y1 F
10 54 15 nL I
11 54 16 _DEC_BND F
12 54 17 _INC_BND 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 sun.java2d.marlin.Renderer.doStats:Z
ifeq 2
1: getstatic sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.stat_rdr_addLine:Lsun/java2d/marlin/stats/StatLong;
iconst_1
invokevirtual sun.java2d.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 sun.java2d.marlin.FloatMath.ceil_int:(F)I
aload 0
getfield sun.java2d.marlin.Renderer.boundsMinY:I
invokestatic sun.java2d.marlin.FloatMath.max:(II)I
istore 6
start local 6 12: fload 4
invokestatic sun.java2d.marlin.FloatMath.ceil_int:(F)I
aload 0
getfield sun.java2d.marlin.Renderer.boundsMaxY:I
invokestatic sun.java2d.marlin.FloatMath.min:(II)I
istore 7
start local 7 13: iload 6
iload 7
if_icmplt 17
14: getstatic sun.java2d.marlin.Renderer.doStats:Z
ifeq 16
15: getstatic sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.stat_rdr_addLine_skip:Lsun/java2d/marlin/stats/StatLong;
iconst_1
invokevirtual sun.java2d.marlin.stats.StatLong.add:(I)V
16: StackMap locals: int int
StackMap stack:
return
17: StackMap locals:
StackMap stack:
iload 6
aload 0
getfield sun.java2d.marlin.Renderer.edgeMinY:I
if_icmpge 19
18: aload 0
iload 6
putfield sun.java2d.marlin.Renderer.edgeMinY:I
19: StackMap locals:
StackMap stack:
iload 7
aload 0
getfield sun.java2d.marlin.Renderer.edgeMaxY:I
if_icmple 21
20: aload 0
iload 7
putfield sun.java2d.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 sun.java2d.marlin.Renderer.edgeMinX:F
fcmpg
ifge 27
26: aload 0
fload 1
putfield sun.java2d.marlin.Renderer.edgeMinX:F
27: StackMap locals: double double double
StackMap stack:
fload 3
aload 0
getfield sun.java2d.marlin.Renderer.edgeMaxX:F
fcmpl
ifle 34
28: aload 0
fload 3
putfield sun.java2d.marlin.Renderer.edgeMaxX:F
29: goto 34
30: StackMap locals:
StackMap stack:
fload 3
aload 0
getfield sun.java2d.marlin.Renderer.edgeMinX:F
fcmpg
ifge 32
31: aload 0
fload 3
putfield sun.java2d.marlin.Renderer.edgeMinX:F
32: StackMap locals:
StackMap stack:
fload 1
aload 0
getfield sun.java2d.marlin.Renderer.edgeMaxX:F
fcmpl
ifle 34
33: aload 0
fload 1
putfield sun.java2d.marlin.Renderer.edgeMaxX:F
34: StackMap locals:
StackMap stack:
getstatic sun.java2d.marlin.Renderer.SIZEOF_EDGE_BYTES:I
istore 14
start local 14 35: aload 0
getfield sun.java2d.marlin.Renderer.edges:Lsun/java2d/marlin/OffHeapArray;
astore 15
start local 15 36: aload 15
getfield sun.java2d.marlin.OffHeapArray.used:I
istore 16
start local 16 37: aload 15
getfield sun.java2d.marlin.OffHeapArray.length:J
iload 16
i2l
lsub
iload 14
i2l
lcmp
ifge 44
38: aload 15
getfield sun.java2d.marlin.OffHeapArray.length:J
39: iload 16
iload 14
iadd
i2l
40: invokestatic sun.java2d.marlin.ArrayCache.getNewLargeSize:(JJ)J
lstore 17
start local 17 41: getstatic sun.java2d.marlin.Renderer.doStats:Z
ifeq 43
42: getstatic sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.stat_rdr_edges_resizes:Lsun/java2d/marlin/stats/StatLong;
lload 17
invokevirtual sun.java2d.marlin.stats.StatLong.add:(J)V
43: StackMap locals: sun.java2d.marlin.Renderer float float float float int int int double double double int sun.java2d.marlin.OffHeapArray int long
StackMap stack:
aload 15
lload 17
invokevirtual sun.java2d.marlin.OffHeapArray.resize:(J)V
end local 17 44: StackMap locals:
StackMap stack:
getstatic sun.java2d.marlin.OffHeapArray.unsafe:Lsun/misc/Unsafe;
astore 17
start local 17 45: aload 15
getfield sun.java2d.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 sun.java2d.marlin.Renderer.edgeBuckets:[I
astore 26
start local 26 60: aload 0
getfield sun.java2d.marlin.Renderer.edgeBucketCounts:[I
astore 27
start local 27 61: aload 0
getfield sun.java2d.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 0
dup
getfield sun.java2d.marlin.Renderer.edgeSumDeltaY:I
iload 7
iload 6
isub
iadd
putfield sun.java2d.marlin.Renderer.edgeSumDeltaY:I
70: aload 15
dup
getfield sun.java2d.marlin.OffHeapArray.used:I
iload 14
iadd
putfield sun.java2d.marlin.OffHeapArray.used:I
71: 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 72 0 this Lsun/java2d/marlin/Renderer;
0 72 1 x1 F
0 72 2 y1 F
0 72 3 x2 F
0 72 4 y2 F
3 72 5 or I
6 11 6 tmp F
12 72 6 firstCrossing I
13 72 7 lastCrossing I
22 72 8 x1d D
23 72 10 y1d D
24 72 12 slope D
35 72 14 _SIZEOF_EDGE_BYTES I
36 72 15 _edges Lsun/java2d/marlin/OffHeapArray;
37 72 16 edgePtr I
41 44 17 edgeNewSize J
45 72 17 _unsafe Lsun/misc/Unsafe;
46 72 18 addr J
47 72 20 x1_intercept D
50 72 22 x1_fixed_biased J
55 72 24 slope_fixed J
60 72 26 _edgeBuckets [I
61 72 27 _edgeBucketCounts [I
62 72 28 _boundsMinY I
63 72 29 bucketIdx I
MethodParameters:
Name Flags
x1
y1
x2
y2
void <init>(sun.java2d.marlin.RendererContext);
descriptor: (Lsun/java2d/marlin/RendererContext;)V
flags: (0x0000)
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
sipush 1024
newarray 10
putfield sun.java2d.marlin.Renderer.crossings_initial:[I
2: aload 0
sipush 1025
newarray 10
putfield sun.java2d.marlin.Renderer.edgePtrs_initial:[I
3: aload 0
sipush 1024
newarray 10
putfield sun.java2d.marlin.Renderer.aux_crossings_initial:[I
4: aload 0
sipush 1025
newarray 10
putfield sun.java2d.marlin.Renderer.aux_edgePtrs_initial:[I
5: aload 0
ldc 2147483647
putfield sun.java2d.marlin.Renderer.edgeMinY:I
6: aload 0
ldc -2147483648
putfield sun.java2d.marlin.Renderer.edgeMaxY:I
7: aload 0
ldc Infinity
putfield sun.java2d.marlin.Renderer.edgeMinX:F
8: aload 0
ldc -Infinity
putfield sun.java2d.marlin.Renderer.edgeMaxX:F
9: aload 0
10: getstatic sun.java2d.marlin.Renderer.INITIAL_BUCKET_ARRAY:I
iconst_1
iadd
newarray 10
putfield sun.java2d.marlin.Renderer.edgeBuckets_initial:[I
11: aload 0
12: getstatic sun.java2d.marlin.Renderer.INITIAL_BUCKET_ARRAY:I
iconst_1
iadd
newarray 10
putfield sun.java2d.marlin.Renderer.edgeBucketCounts_initial:[I
13: aload 0
getstatic sun.java2d.marlin.Renderer.INITIAL_AA_ARRAY:I
newarray 10
putfield sun.java2d.marlin.Renderer.alphaLine_initial:[I
14: aload 0
iconst_0
putfield sun.java2d.marlin.Renderer.enableBlkFlags:Z
15: aload 0
iconst_0
putfield sun.java2d.marlin.Renderer.prevUseBlkFlags:Z
16: aload 0
sipush 256
newarray 10
putfield sun.java2d.marlin.Renderer.blkFlags_initial:[I
17: aload 0
aload 0
getfield sun.java2d.marlin.Renderer.blkFlags_initial:[I
putfield sun.java2d.marlin.Renderer.blkFlags:[I
18: aload 0
aload 1
putfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
19: aload 0
new sun.java2d.marlin.OffHeapArray
dup
aload 1
ldc 98304
invokespecial sun.java2d.marlin.OffHeapArray.<init>:(Ljava/lang/Object;J)V
putfield sun.java2d.marlin.Renderer.edges:Lsun/java2d/marlin/OffHeapArray;
20: aload 0
aload 1
getfield sun.java2d.marlin.RendererContext.curve:Lsun/java2d/marlin/Curve;
putfield sun.java2d.marlin.Renderer.curve:Lsun/java2d/marlin/Curve;
21: aload 0
aload 0
getfield sun.java2d.marlin.Renderer.edgeBuckets_initial:[I
putfield sun.java2d.marlin.Renderer.edgeBuckets:[I
22: aload 0
aload 0
getfield sun.java2d.marlin.Renderer.edgeBucketCounts_initial:[I
putfield sun.java2d.marlin.Renderer.edgeBucketCounts:[I
23: aload 0
aload 0
getfield sun.java2d.marlin.Renderer.alphaLine_initial:[I
putfield sun.java2d.marlin.Renderer.alphaLine:[I
24: aload 0
aload 1
getfield sun.java2d.marlin.RendererContext.cache:Lsun/java2d/marlin/MarlinCache;
putfield sun.java2d.marlin.Renderer.cache:Lsun/java2d/marlin/MarlinCache;
25: aload 0
aload 0
getfield sun.java2d.marlin.Renderer.crossings_initial:[I
putfield sun.java2d.marlin.Renderer.crossings:[I
26: aload 0
aload 0
getfield sun.java2d.marlin.Renderer.aux_crossings_initial:[I
putfield sun.java2d.marlin.Renderer.aux_crossings:[I
27: aload 0
aload 0
getfield sun.java2d.marlin.Renderer.edgePtrs_initial:[I
putfield sun.java2d.marlin.Renderer.edgePtrs:[I
28: aload 0
aload 0
getfield sun.java2d.marlin.Renderer.aux_edgePtrs_initial:[I
putfield sun.java2d.marlin.Renderer.aux_edgePtrs:[I
29: aload 0
iconst_0
putfield sun.java2d.marlin.Renderer.edgeCount:I
30: aload 0
iconst_0
putfield sun.java2d.marlin.Renderer.activeEdgeMaxUsed:I
31: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Lsun/java2d/marlin/Renderer;
0 32 1 rdrCtx Lsun/java2d/marlin/RendererContext;
MethodParameters:
Name Flags
rdrCtx final
sun.java2d.marlin.Renderer init(int, int, int, int, int);
descriptor: (IIIII)Lsun/java2d/marlin/Renderer;
flags: (0x0000)
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 sun.java2d.marlin.Renderer.windingRule:I
1: aload 0
iload 1
getstatic sun.java2d.marlin.Renderer.SUBPIXEL_LG_POSITIONS_X:I
ishl
putfield sun.java2d.marlin.Renderer.boundsMinX:I
2: aload 0
3: iload 1
iload 3
iadd
getstatic sun.java2d.marlin.Renderer.SUBPIXEL_LG_POSITIONS_X:I
ishl
4: putfield sun.java2d.marlin.Renderer.boundsMaxX:I
5: aload 0
iload 2
getstatic sun.java2d.marlin.Renderer.SUBPIXEL_LG_POSITIONS_Y:I
ishl
putfield sun.java2d.marlin.Renderer.boundsMinY:I
6: aload 0
7: iload 2
iload 4
iadd
getstatic sun.java2d.marlin.Renderer.SUBPIXEL_LG_POSITIONS_Y:I
ishl
8: putfield sun.java2d.marlin.Renderer.boundsMaxY:I
9: getstatic sun.java2d.marlin.Renderer.doLogBounds:Z
ifeq 14
10: new java.lang.StringBuilder
dup
ldc "boundsXY = ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.java2d.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 sun.java2d.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 sun.java2d.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 sun.java2d.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 sun.java2d.marlin.MarlinUtils.logInfo:(Ljava/lang/String;)V
14: StackMap locals:
StackMap stack:
aload 0
getfield sun.java2d.marlin.Renderer.boundsMaxY:I
aload 0
getfield sun.java2d.marlin.Renderer.boundsMinY:I
isub
iconst_1
iadd
istore 6
start local 6 15: iload 6
getstatic sun.java2d.marlin.Renderer.INITIAL_BUCKET_ARRAY:I
if_icmple 23
16: getstatic sun.java2d.marlin.Renderer.doStats:Z
ifeq 21
17: getstatic sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.stat_array_renderer_edgeBuckets:Lsun/java2d/marlin/stats/StatLong;
18: iload 6
invokevirtual sun.java2d.marlin.stats.StatLong.add:(I)V
19: getstatic sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.stat_array_renderer_edgeBucketCounts:Lsun/java2d/marlin/stats/StatLong;
20: iload 6
invokevirtual sun.java2d.marlin.stats.StatLong.add:(I)V
21: StackMap locals: int
StackMap stack:
aload 0
aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
iload 6
invokevirtual sun.java2d.marlin.RendererContext.getIntArray:(I)[I
putfield sun.java2d.marlin.Renderer.edgeBuckets:[I
22: aload 0
aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
iload 6
invokevirtual sun.java2d.marlin.RendererContext.getIntArray:(I)[I
putfield sun.java2d.marlin.Renderer.edgeBucketCounts:[I
23: StackMap locals:
StackMap stack:
aload 0
ldc 2147483647
putfield sun.java2d.marlin.Renderer.edgeMinY:I
24: aload 0
ldc -2147483648
putfield sun.java2d.marlin.Renderer.edgeMaxY:I
25: aload 0
ldc Infinity
putfield sun.java2d.marlin.Renderer.edgeMinX:F
26: aload 0
ldc -Infinity
putfield sun.java2d.marlin.Renderer.edgeMaxX:F
27: aload 0
iconst_0
putfield sun.java2d.marlin.Renderer.edgeCount:I
28: aload 0
iconst_0
putfield sun.java2d.marlin.Renderer.activeEdgeMaxUsed:I
29: aload 0
getfield sun.java2d.marlin.Renderer.edges:Lsun/java2d/marlin/OffHeapArray;
iconst_0
putfield sun.java2d.marlin.OffHeapArray.used:I
30: aload 0
iconst_0
putfield sun.java2d.marlin.Renderer.edgeSumDeltaY:I
31: 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 32 0 this Lsun/java2d/marlin/Renderer;
0 32 1 pix_boundsX I
0 32 2 pix_boundsY I
0 32 3 pix_boundsWidth I
0 32 4 pix_boundsHeight I
0 32 5 windingRule I
15 32 6 edgeBucketsLength I
MethodParameters:
Name Flags
pix_boundsX final
pix_boundsY final
pix_boundsWidth final
pix_boundsHeight final
windingRule final
void dispose();
descriptor: ()V
flags: (0x0000)
Code:
stack=5, locals=1, args_size=1
start local 0 0: getstatic sun.java2d.marlin.Renderer.doStats:Z
ifeq 5
1: getstatic sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.stat_rdr_activeEdges:Lsun/java2d/marlin/stats/StatLong;
aload 0
getfield sun.java2d.marlin.Renderer.activeEdgeMaxUsed:I
invokevirtual sun.java2d.marlin.stats.StatLong.add:(I)V
2: getstatic sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.stat_rdr_edges:Lsun/java2d/marlin/stats/StatLong;
aload 0
getfield sun.java2d.marlin.Renderer.edges:Lsun/java2d/marlin/OffHeapArray;
getfield sun.java2d.marlin.OffHeapArray.used:I
invokevirtual sun.java2d.marlin.stats.StatLong.add:(I)V
3: getstatic sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.stat_rdr_edges_count:Lsun/java2d/marlin/stats/StatLong;
4: aload 0
getfield sun.java2d.marlin.Renderer.edges:Lsun/java2d/marlin/OffHeapArray;
getfield sun.java2d.marlin.OffHeapArray.used:I
getstatic sun.java2d.marlin.Renderer.SIZEOF_EDGE_BYTES:I
idiv
invokevirtual sun.java2d.marlin.stats.StatLong.add:(I)V
5: StackMap locals:
StackMap stack:
aload 0
getfield sun.java2d.marlin.Renderer.crossings:[I
aload 0
getfield sun.java2d.marlin.Renderer.crossings_initial:[I
if_acmpeq 11
6: aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
aload 0
getfield sun.java2d.marlin.Renderer.crossings:[I
invokevirtual sun.java2d.marlin.RendererContext.putDirtyIntArray:([I)V
7: aload 0
aload 0
getfield sun.java2d.marlin.Renderer.crossings_initial:[I
putfield sun.java2d.marlin.Renderer.crossings:[I
8: aload 0
getfield sun.java2d.marlin.Renderer.aux_crossings:[I
aload 0
getfield sun.java2d.marlin.Renderer.aux_crossings_initial:[I
if_acmpeq 11
9: aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
aload 0
getfield sun.java2d.marlin.Renderer.aux_crossings:[I
invokevirtual sun.java2d.marlin.RendererContext.putDirtyIntArray:([I)V
10: aload 0
aload 0
getfield sun.java2d.marlin.Renderer.aux_crossings_initial:[I
putfield sun.java2d.marlin.Renderer.aux_crossings:[I
11: StackMap locals:
StackMap stack:
aload 0
getfield sun.java2d.marlin.Renderer.edgePtrs:[I
aload 0
getfield sun.java2d.marlin.Renderer.edgePtrs_initial:[I
if_acmpeq 17
12: aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
aload 0
getfield sun.java2d.marlin.Renderer.edgePtrs:[I
invokevirtual sun.java2d.marlin.RendererContext.putDirtyIntArray:([I)V
13: aload 0
aload 0
getfield sun.java2d.marlin.Renderer.edgePtrs_initial:[I
putfield sun.java2d.marlin.Renderer.edgePtrs:[I
14: aload 0
getfield sun.java2d.marlin.Renderer.aux_edgePtrs:[I
aload 0
getfield sun.java2d.marlin.Renderer.aux_edgePtrs_initial:[I
if_acmpeq 17
15: aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
aload 0
getfield sun.java2d.marlin.Renderer.aux_edgePtrs:[I
invokevirtual sun.java2d.marlin.RendererContext.putDirtyIntArray:([I)V
16: aload 0
aload 0
getfield sun.java2d.marlin.Renderer.aux_edgePtrs_initial:[I
putfield sun.java2d.marlin.Renderer.aux_edgePtrs:[I
17: StackMap locals:
StackMap stack:
aload 0
getfield sun.java2d.marlin.Renderer.alphaLine:[I
aload 0
getfield sun.java2d.marlin.Renderer.alphaLine_initial:[I
if_acmpeq 20
18: aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
aload 0
getfield sun.java2d.marlin.Renderer.alphaLine:[I
iconst_0
iconst_0
invokevirtual sun.java2d.marlin.RendererContext.putIntArray:([III)V
19: aload 0
aload 0
getfield sun.java2d.marlin.Renderer.alphaLine_initial:[I
putfield sun.java2d.marlin.Renderer.alphaLine:[I
20: StackMap locals:
StackMap stack:
aload 0
getfield sun.java2d.marlin.Renderer.blkFlags:[I
aload 0
getfield sun.java2d.marlin.Renderer.blkFlags_initial:[I
if_acmpeq 23
21: aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
aload 0
getfield sun.java2d.marlin.Renderer.blkFlags:[I
iconst_0
iconst_0
invokevirtual sun.java2d.marlin.RendererContext.putIntArray:([III)V
22: aload 0
aload 0
getfield sun.java2d.marlin.Renderer.blkFlags_initial:[I
putfield sun.java2d.marlin.Renderer.blkFlags:[I
23: StackMap locals:
StackMap stack:
aload 0
getfield sun.java2d.marlin.Renderer.edgeMinY:I
ldc 2147483647
if_icmpeq 44
24: aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
getfield sun.java2d.marlin.RendererContext.dirty:Z
ifeq 27
25: aload 0
iconst_0
putfield sun.java2d.marlin.Renderer.buckets_minY:I
26: aload 0
aload 0
getfield sun.java2d.marlin.Renderer.boundsMaxY:I
aload 0
getfield sun.java2d.marlin.Renderer.boundsMinY:I
isub
putfield sun.java2d.marlin.Renderer.buckets_maxY:I
27: StackMap locals:
StackMap stack:
aload 0
getfield sun.java2d.marlin.Renderer.edgeBuckets:[I
aload 0
getfield sun.java2d.marlin.Renderer.edgeBuckets_initial:[I
if_acmpne 35
28: aload 0
getfield sun.java2d.marlin.Renderer.edgeBuckets:[I
aload 0
getfield sun.java2d.marlin.Renderer.buckets_minY:I
29: aload 0
getfield sun.java2d.marlin.Renderer.buckets_maxY:I
iconst_0
30: invokestatic sun.java2d.marlin.IntArrayCache.fill:([IIII)V
31: aload 0
getfield sun.java2d.marlin.Renderer.edgeBucketCounts:[I
aload 0
getfield sun.java2d.marlin.Renderer.buckets_minY:I
32: aload 0
getfield sun.java2d.marlin.Renderer.buckets_maxY:I
iconst_1
iadd
iconst_0
33: invokestatic sun.java2d.marlin.IntArrayCache.fill:([IIII)V
34: goto 49
35: StackMap locals:
StackMap stack:
aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
aload 0
getfield sun.java2d.marlin.Renderer.edgeBuckets:[I
aload 0
getfield sun.java2d.marlin.Renderer.buckets_minY:I
36: aload 0
getfield sun.java2d.marlin.Renderer.buckets_maxY:I
37: invokevirtual sun.java2d.marlin.RendererContext.putIntArray:([III)V
38: aload 0
aload 0
getfield sun.java2d.marlin.Renderer.edgeBuckets_initial:[I
putfield sun.java2d.marlin.Renderer.edgeBuckets:[I
39: aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
aload 0
getfield sun.java2d.marlin.Renderer.edgeBucketCounts:[I
aload 0
getfield sun.java2d.marlin.Renderer.buckets_minY:I
40: aload 0
getfield sun.java2d.marlin.Renderer.buckets_maxY:I
iconst_1
iadd
41: invokevirtual sun.java2d.marlin.RendererContext.putIntArray:([III)V
42: aload 0
aload 0
getfield sun.java2d.marlin.Renderer.edgeBucketCounts_initial:[I
putfield sun.java2d.marlin.Renderer.edgeBucketCounts:[I
43: goto 49
StackMap locals:
StackMap stack:
44: aload 0
getfield sun.java2d.marlin.Renderer.edgeBuckets:[I
aload 0
getfield sun.java2d.marlin.Renderer.edgeBuckets_initial:[I
if_acmpeq 49
45: aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
aload 0
getfield sun.java2d.marlin.Renderer.edgeBuckets:[I
iconst_0
iconst_0
invokevirtual sun.java2d.marlin.RendererContext.putIntArray:([III)V
46: aload 0
aload 0
getfield sun.java2d.marlin.Renderer.edgeBuckets_initial:[I
putfield sun.java2d.marlin.Renderer.edgeBuckets:[I
47: aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
aload 0
getfield sun.java2d.marlin.Renderer.edgeBucketCounts:[I
iconst_0
iconst_0
invokevirtual sun.java2d.marlin.RendererContext.putIntArray:([III)V
48: aload 0
aload 0
getfield sun.java2d.marlin.Renderer.edgeBucketCounts_initial:[I
putfield sun.java2d.marlin.Renderer.edgeBucketCounts:[I
49: StackMap locals:
StackMap stack:
aload 0
getfield sun.java2d.marlin.Renderer.edges:Lsun/java2d/marlin/OffHeapArray;
getfield sun.java2d.marlin.OffHeapArray.length:J
ldc 98304
lcmp
ifeq 51
50: aload 0
getfield sun.java2d.marlin.Renderer.edges:Lsun/java2d/marlin/OffHeapArray;
ldc 98304
invokevirtual sun.java2d.marlin.OffHeapArray.resize:(J)V
51: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 52 0 this Lsun/java2d/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 sun.java2d.marlin.Renderer.f_SUBPIXEL_POSITIONS_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 sun.java2d.marlin.Renderer.f_SUBPIXEL_POSITIONS_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 sun.java2d.marlin.Renderer.closePath:()V
1: fload 1
invokestatic sun.java2d.marlin.Renderer.tosubpixx:(F)F
fstore 3
start local 3 2: fload 2
invokestatic sun.java2d.marlin.Renderer.tosubpixy:(F)F
fstore 4
start local 4 3: aload 0
fload 3
putfield sun.java2d.marlin.Renderer.sx0:F
4: aload 0
fload 4
putfield sun.java2d.marlin.Renderer.sy0:F
5: aload 0
fload 3
putfield sun.java2d.marlin.Renderer.x0:F
6: aload 0
fload 4
putfield sun.java2d.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 Lsun/java2d/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
pix_y0
public void lineTo(float, float);
descriptor: (FF)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: fload 1
invokestatic sun.java2d.marlin.Renderer.tosubpixx:(F)F
fstore 3
start local 3 1: fload 2
invokestatic sun.java2d.marlin.Renderer.tosubpixy:(F)F
fstore 4
start local 4 2: aload 0
aload 0
getfield sun.java2d.marlin.Renderer.x0:F
aload 0
getfield sun.java2d.marlin.Renderer.y0:F
fload 3
fload 4
invokevirtual sun.java2d.marlin.Renderer.addLine:(FFFF)V
3: aload 0
fload 3
putfield sun.java2d.marlin.Renderer.x0:F
4: aload 0
fload 4
putfield sun.java2d.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 Lsun/java2d/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
pix_y1
public void curveTo(float, float, float, float, float, float);
descriptor: (FFFFFF)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=9, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: fload 5
invokestatic sun.java2d.marlin.Renderer.tosubpixx:(F)F
fstore 7
start local 7 1: fload 6
invokestatic sun.java2d.marlin.Renderer.tosubpixy:(F)F
fstore 8
start local 8 2: aload 0
getfield sun.java2d.marlin.Renderer.curve:Lsun/java2d/marlin/Curve;
aload 0
getfield sun.java2d.marlin.Renderer.x0:F
aload 0
getfield sun.java2d.marlin.Renderer.y0:F
fload 1
invokestatic sun.java2d.marlin.Renderer.tosubpixx:(F)F
fload 2
invokestatic sun.java2d.marlin.Renderer.tosubpixy:(F)F
3: fload 3
invokestatic sun.java2d.marlin.Renderer.tosubpixx:(F)F
fload 4
invokestatic sun.java2d.marlin.Renderer.tosubpixy:(F)F
fload 7
fload 8
4: invokevirtual sun.java2d.marlin.Curve.set:(FFFFFFFF)V
5: aload 0
aload 0
getfield sun.java2d.marlin.Renderer.x0:F
aload 0
getfield sun.java2d.marlin.Renderer.y0:F
aload 0
getfield sun.java2d.marlin.Renderer.curve:Lsun/java2d/marlin/Curve;
fload 7
fload 8
invokevirtual sun.java2d.marlin.Renderer.curveBreakIntoLinesAndAdd:(FFLsun/java2d/marlin/Curve;FF)V
6: aload 0
fload 7
putfield sun.java2d.marlin.Renderer.x0:F
7: aload 0
fload 8
putfield sun.java2d.marlin.Renderer.y0:F
8: 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 9 0 this Lsun/java2d/marlin/Renderer;
0 9 1 x1 F
0 9 2 y1 F
0 9 3 x2 F
0 9 4 y2 F
0 9 5 x3 F
0 9 6 y3 F
1 9 7 xe F
2 9 8 ye F
MethodParameters:
Name Flags
x1
y1
x2
y2
x3
y3
public void quadTo(float, float, float, float);
descriptor: (FFFF)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: fload 3
invokestatic sun.java2d.marlin.Renderer.tosubpixx:(F)F
fstore 5
start local 5 1: fload 4
invokestatic sun.java2d.marlin.Renderer.tosubpixy:(F)F
fstore 6
start local 6 2: aload 0
getfield sun.java2d.marlin.Renderer.curve:Lsun/java2d/marlin/Curve;
aload 0
getfield sun.java2d.marlin.Renderer.x0:F
aload 0
getfield sun.java2d.marlin.Renderer.y0:F
fload 1
invokestatic sun.java2d.marlin.Renderer.tosubpixx:(F)F
fload 2
invokestatic sun.java2d.marlin.Renderer.tosubpixy:(F)F
fload 5
fload 6
invokevirtual sun.java2d.marlin.Curve.set:(FFFFFF)V
3: aload 0
aload 0
getfield sun.java2d.marlin.Renderer.x0:F
aload 0
getfield sun.java2d.marlin.Renderer.y0:F
aload 0
getfield sun.java2d.marlin.Renderer.curve:Lsun/java2d/marlin/Curve;
fload 5
fload 6
invokevirtual sun.java2d.marlin.Renderer.quadBreakIntoLinesAndAdd:(FFLsun/java2d/marlin/Curve;FF)V
4: aload 0
fload 5
putfield sun.java2d.marlin.Renderer.x0:F
5: aload 0
fload 6
putfield sun.java2d.marlin.Renderer.y0:F
6: 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 7 0 this Lsun/java2d/marlin/Renderer;
0 7 1 x1 F
0 7 2 y1 F
0 7 3 x2 F
0 7 4 y2 F
1 7 5 xe F
2 7 6 ye F
MethodParameters:
Name Flags
x1
y1
x2
y2
public void closePath();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield sun.java2d.marlin.Renderer.x0:F
aload 0
getfield sun.java2d.marlin.Renderer.y0:F
aload 0
getfield sun.java2d.marlin.Renderer.sx0:F
aload 0
getfield sun.java2d.marlin.Renderer.sy0:F
invokevirtual sun.java2d.marlin.Renderer.addLine:(FFFF)V
1: aload 0
aload 0
getfield sun.java2d.marlin.Renderer.sx0:F
putfield sun.java2d.marlin.Renderer.x0:F
2: aload 0
aload 0
getfield sun.java2d.marlin.Renderer.sy0:F
putfield sun.java2d.marlin.Renderer.y0:F
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/java2d/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 sun.java2d.marlin.Renderer.closePath:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/java2d/marlin/Renderer;
public long getNativeConsumer();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.InternalError
dup
ldc "Renderer does not use a native consumer."
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/java2d/marlin/Renderer;
private void _endRendering(int, int);
descriptor: (II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=76, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.java2d.marlin.Renderer.bbox_spminX:I
istore 3
start local 3 1: aload 0
getfield sun.java2d.marlin.Renderer.bbox_spmaxX:I
istore 4
start local 4 2: aload 0
getfield sun.java2d.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 5
start local 5 5: aload 0
getfield sun.java2d.marlin.Renderer.alphaLine:[I
astore 6
start local 6 6: aload 0
getfield sun.java2d.marlin.Renderer.cache:Lsun/java2d/marlin/MarlinCache;
astore 7
start local 7 7: aload 0
getfield sun.java2d.marlin.Renderer.edges:Lsun/java2d/marlin/OffHeapArray;
astore 8
start local 8 8: aload 0
getfield sun.java2d.marlin.Renderer.edgeBuckets:[I
astore 9
start local 9 9: aload 0
getfield sun.java2d.marlin.Renderer.edgeBucketCounts:[I
astore 10
start local 10 10: aload 0
getfield sun.java2d.marlin.Renderer.crossings:[I
astore 11
start local 11 11: aload 0
getfield sun.java2d.marlin.Renderer.edgePtrs:[I
astore 12
start local 12 12: aload 0
getfield sun.java2d.marlin.Renderer.aux_crossings:[I
astore 13
start local 13 13: aload 0
getfield sun.java2d.marlin.Renderer.aux_edgePtrs:[I
astore 14
start local 14 14: getstatic sun.java2d.marlin.Renderer.OFF_ERROR:J
lstore 15
start local 15 15: getstatic sun.java2d.marlin.Renderer.OFF_BUMP_X:J
lstore 17
start local 17 16: getstatic sun.java2d.marlin.Renderer.OFF_BUMP_ERR:J
lstore 19
start local 19 17: getstatic sun.java2d.marlin.Renderer.OFF_NEXT:J
lstore 21
start local 21 18: getstatic sun.java2d.marlin.Renderer.OFF_YMAX:J
lstore 23
start local 23 19: getstatic sun.java2d.marlin.OffHeapArray.unsafe:Lsun/misc/Unsafe;
astore 25
start local 25 20: aload 8
getfield sun.java2d.marlin.OffHeapArray.address:J
lstore 26
start local 26 21: getstatic sun.java2d.marlin.Renderer.SUBPIXEL_LG_POSITIONS_X:I
istore 30
start local 30 22: getstatic sun.java2d.marlin.Renderer.SUBPIXEL_LG_POSITIONS_Y:I
istore 31
start local 31 23: getstatic sun.java2d.marlin.Renderer.SUBPIXEL_MASK_X:I
istore 32
start local 32 24: getstatic sun.java2d.marlin.Renderer.SUBPIXEL_MASK_Y:I
istore 33
start local 33 25: getstatic sun.java2d.marlin.Renderer.SUBPIXEL_POSITIONS_X:I
istore 34
start local 34 26: ldc 2147483647
istore 35
start local 35 27: ldc -2147483648
istore 36
start local 36 28: iload 1
istore 37
start local 37 29: iload 37
aload 0
getfield sun.java2d.marlin.Renderer.boundsMinY:I
isub
istore 38
start local 38 30: aload 0
getfield sun.java2d.marlin.Renderer.edgeCount:I
istore 39
start local 39 31: aload 12
arraylength
istore 40
start local 40 32: aload 11
arraylength
istore 41
start local 41 33: aload 0
getfield sun.java2d.marlin.Renderer.activeEdgeMaxUsed:I
istore 42
start local 42 34: iconst_0
istore 43
start local 43 35: aload 0
getfield sun.java2d.marlin.Renderer.blkFlags:[I
astore 69
start local 69 36: getstatic sun.java2d.marlin.Renderer.BLOCK_SIZE_LG:I
istore 70
start local 70 37: getstatic sun.java2d.marlin.Renderer.BLOCK_SIZE:I
istore 71
start local 71 38: getstatic sun.java2d.marlin.Renderer.ENABLE_BLOCK_FLAGS_HEURISTICS:Z
ifeq 39
aload 0
getfield sun.java2d.marlin.Renderer.enableBlkFlags:Z
ifeq 39
iconst_1
goto 40
StackMap locals: sun.java2d.marlin.Renderer int int int int int int[] sun.java2d.marlin.MarlinCache sun.java2d.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:
39: iconst_0
StackMap locals:
StackMap stack: int
40: istore 72
start local 72 41: aload 0
getfield sun.java2d.marlin.Renderer.prevUseBlkFlags:Z
istore 73
start local 73 42: aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
getfield sun.java2d.marlin.RendererContext.stroking:I
istore 74
start local 74 43: iconst_m1
istore 75
start local 75 44: goto 368
45: StackMap locals: sun.java2d.marlin.Renderer int int int int int int[] sun.java2d.marlin.MarlinCache sun.java2d.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 46: iload 39
istore 67
start local 67 47: iload 46
ifeq 120
48: getstatic sun.java2d.marlin.Renderer.doStats:Z
ifeq 51
49: getstatic sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.stat_rdr_activeEdges_updates:Lsun/java2d/marlin/stats/StatLong;
50: iload 39
invokevirtual sun.java2d.marlin.stats.StatLong.add:(I)V
51: StackMap locals: sun.java2d.marlin.Renderer int int int int int int[] sun.java2d.marlin.MarlinCache sun.java2d.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 62
52: lload 26
lload 23
ladd
lstore 28
start local 28 53: iconst_0
istore 47
start local 47 54: iconst_0
istore 44
start local 44 55: goto 60
56: StackMap locals: sun.java2d.marlin.Renderer int int int int int int[] sun.java2d.marlin.MarlinCache sun.java2d.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 57: aload 25
lload 28
iload 49
i2l
ladd
invokevirtual sun.misc.Unsafe.getInt:(J)I
iload 37
if_icmple 59
58: aload 12
iload 44
iinc 44 1
iload 49
iastore
59: StackMap locals: sun.java2d.marlin.Renderer int int int int int int[] sun.java2d.marlin.MarlinCache sun.java2d.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: sun.java2d.marlin.Renderer int int int int int int[] sun.java2d.marlin.MarlinCache sun.java2d.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:
60: iload 47
iload 39
if_icmplt 56
61: iload 44
dup
istore 39
istore 67
end local 47 end local 44 end local 28 62: StackMap locals: sun.java2d.marlin.Renderer int int int int int int[] sun.java2d.marlin.MarlinCache sun.java2d.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
63: iload 43
ifeq 120
64: getstatic sun.java2d.marlin.Renderer.doStats:Z
ifeq 70
65: getstatic sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.stat_rdr_activeEdges_adds:Lsun/java2d/marlin/stats/StatLong;
66: iload 43
invokevirtual sun.java2d.marlin.stats.StatLong.add:(I)V
67: iload 43
bipush 10
if_icmple 70
68: getstatic sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.stat_rdr_activeEdges_adds_high:Lsun/java2d/marlin/stats/StatLong;
69: iload 43
invokevirtual sun.java2d.marlin.stats.StatLong.add:(I)V
70: StackMap locals:
StackMap stack:
iload 39
iload 43
iadd
istore 45
start local 45 71: iload 40
iload 45
if_icmpge 91
72: getstatic sun.java2d.marlin.Renderer.doStats:Z
ifeq 75
73: getstatic sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.stat_array_renderer_edgePtrs:Lsun/java2d/marlin/stats/StatLong;
74: iload 45
invokevirtual sun.java2d.marlin.stats.StatLong.add:(I)V
75: StackMap locals: sun.java2d.marlin.Renderer int int int int int int[] sun.java2d.marlin.MarlinCache sun.java2d.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
76: aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
aload 12
iload 39
77: iload 45
78: invokevirtual sun.java2d.marlin.RendererContext.widenDirtyIntArray:([III)[I
79: dup
astore 12
putfield sun.java2d.marlin.Renderer.edgePtrs:[I
80: aload 12
arraylength
istore 40
81: aload 14
aload 0
getfield sun.java2d.marlin.Renderer.aux_edgePtrs_initial:[I
if_acmpeq 83
82: aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
aload 14
invokevirtual sun.java2d.marlin.RendererContext.putDirtyIntArray:([I)V
83: StackMap locals:
StackMap stack:
getstatic sun.java2d.marlin.Renderer.doStats:Z
ifeq 86
84: getstatic sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.stat_array_renderer_aux_edgePtrs:Lsun/java2d/marlin/stats/StatLong;
85: iload 45
invokevirtual sun.java2d.marlin.stats.StatLong.add:(I)V
86: StackMap locals:
StackMap stack:
aload 0
87: aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
88: iload 39
iload 45
invokestatic sun.java2d.marlin.ArrayCache.getNewSize:(II)I
89: invokevirtual sun.java2d.marlin.RendererContext.getDirtyIntArray:(I)[I
90: dup
astore 14
putfield sun.java2d.marlin.Renderer.aux_edgePtrs:[I
91: StackMap locals:
StackMap stack:
lload 26
lload 21
ladd
lstore 28
start local 28 92: aload 9
iload 38
iaload
istore 49
start local 49 93: goto 97
94: StackMap locals: sun.java2d.marlin.Renderer int int int int int int[] sun.java2d.marlin.MarlinCache sun.java2d.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
95: aload 25
lload 28
iload 49
i2l
ladd
invokevirtual sun.misc.Unsafe.getInt:(J)I
istore 49
96: iinc 39 1
StackMap locals:
StackMap stack:
97: iload 39
iload 45
98: if_icmplt 94
99: iload 41
iload 39
if_icmpge 117
100: aload 11
aload 0
getfield sun.java2d.marlin.Renderer.crossings_initial:[I
if_acmpeq 102
101: aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
aload 11
invokevirtual sun.java2d.marlin.RendererContext.putDirtyIntArray:([I)V
102: StackMap locals:
StackMap stack:
getstatic sun.java2d.marlin.Renderer.doStats:Z
ifeq 105
103: getstatic sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.stat_array_renderer_crossings:Lsun/java2d/marlin/stats/StatLong;
104: iload 39
invokevirtual sun.java2d.marlin.stats.StatLong.add:(I)V
105: StackMap locals:
StackMap stack:
aload 0
106: aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
iload 39
invokevirtual sun.java2d.marlin.RendererContext.getDirtyIntArray:(I)[I
107: dup
astore 11
putfield sun.java2d.marlin.Renderer.crossings:[I
108: aload 13
aload 0
getfield sun.java2d.marlin.Renderer.aux_crossings_initial:[I
if_acmpeq 110
109: aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
aload 13
invokevirtual sun.java2d.marlin.RendererContext.putDirtyIntArray:([I)V
110: StackMap locals:
StackMap stack:
getstatic sun.java2d.marlin.Renderer.doStats:Z
ifeq 113
111: getstatic sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.stat_array_renderer_aux_crossings:Lsun/java2d/marlin/stats/StatLong;
112: iload 39
invokevirtual sun.java2d.marlin.stats.StatLong.add:(I)V
113: StackMap locals:
StackMap stack:
aload 0
114: aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
iload 39
invokevirtual sun.java2d.marlin.RendererContext.getDirtyIntArray:(I)[I
115: dup
astore 13
putfield sun.java2d.marlin.Renderer.aux_crossings:[I
116: aload 11
arraylength
istore 41
117: StackMap locals:
StackMap stack:
getstatic sun.java2d.marlin.Renderer.doStats:Z
ifeq 120
118: iload 39
iload 42
if_icmple 120
119: iload 39
istore 42
end local 49 end local 45 end local 28 120: StackMap locals: sun.java2d.marlin.Renderer int int int int int int[] sun.java2d.marlin.MarlinCache sun.java2d.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 344
121: iload 43
bipush 10
if_icmplt 122
iload 39
bipush 40
if_icmpge 186
122: StackMap locals:
StackMap stack:
getstatic sun.java2d.marlin.Renderer.doStats:Z
ifeq 127
123: getstatic sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.hist_rdr_crossings:Lsun/java2d/marlin/stats/Histogram;
124: iload 39
invokevirtual sun.java2d.marlin.stats.Histogram.add:(I)V
125: getstatic sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.hist_rdr_crossings_adds:Lsun/java2d/marlin/stats/Histogram;
126: iload 43
invokevirtual sun.java2d.marlin.stats.Histogram.add:(I)V
127: StackMap locals:
StackMap stack:
iload 39
bipush 20
if_icmplt 128
iconst_1
goto 129
StackMap locals:
StackMap stack:
128: iconst_0
StackMap locals:
StackMap stack: int
129: istore 68
start local 68 130: ldc -2147483648
istore 51
start local 51 131: iconst_0
istore 47
start local 47 132: goto 184
133: StackMap locals: sun.java2d.marlin.Renderer int int int int int int[] sun.java2d.marlin.MarlinCache sun.java2d.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 134: lload 26
iload 49
i2l
ladd
lstore 28
start local 28 135: aload 25
lload 28
invokevirtual sun.misc.Unsafe.getInt:(J)I
istore 57
start local 57 136: iload 57
istore 50
start local 50 137: iload 57
aload 25
lload 28
lload 17
ladd
invokevirtual sun.misc.Unsafe.getInt:(J)I
iadd
istore 57
138: aload 25
lload 28
lload 15
ladd
invokevirtual sun.misc.Unsafe.getInt:(J)I
139: aload 25
lload 28
lload 19
ladd
invokevirtual sun.misc.Unsafe.getInt:(J)I
140: iadd
istore 60
start local 60 141: aload 25
lload 28
iload 57
iload 60
bipush 30
ishr
bipush -2
iand
isub
invokevirtual sun.misc.Unsafe.putInt:(JI)V
142: aload 25
lload 28
lload 15
ladd
iload 60
ldc 2147483647
iand
invokevirtual sun.misc.Unsafe.putInt:(JI)V
143: getstatic sun.java2d.marlin.Renderer.doStats:Z
ifeq 146
144: getstatic sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.stat_rdr_crossings_updates:Lsun/java2d/marlin/stats/StatLong;
145: iload 39
invokevirtual sun.java2d.marlin.stats.StatLong.add:(I)V
146: StackMap locals: sun.java2d.marlin.Renderer int int int int int int[] sun.java2d.marlin.MarlinCache sun.java2d.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 182
147: getstatic sun.java2d.marlin.Renderer.doStats:Z
ifeq 150
148: getstatic sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.stat_rdr_crossings_sorts:Lsun/java2d/marlin/stats/StatLong;
149: iload 47
invokevirtual sun.java2d.marlin.stats.StatLong.add:(I)V
150: StackMap locals:
StackMap stack:
iload 68
ifeq 172
iload 47
iload 67
if_icmplt 172
151: getstatic sun.java2d.marlin.Renderer.doStats:Z
ifeq 154
152: getstatic sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
153: getfield sun.java2d.marlin.RendererStats.stat_rdr_crossings_bsearch:Lsun/java2d/marlin/stats/StatLong;
iload 47
invokevirtual sun.java2d.marlin.stats.StatLong.add:(I)V
154: StackMap locals:
StackMap stack:
iconst_0
istore 64
start local 64 155: iload 47
iconst_1
isub
istore 65
start local 65 156: StackMap locals: sun.java2d.marlin.Renderer int int int int int int[] sun.java2d.marlin.MarlinCache sun.java2d.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 157: aload 11
iload 66
iaload
iload 50
if_icmpge 160
158: iload 66
iconst_1
iadd
istore 64
159: goto 161
160: StackMap locals: sun.java2d.marlin.Renderer int int int int int int[] sun.java2d.marlin.MarlinCache sun.java2d.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
161: StackMap locals:
StackMap stack:
iload 64
iload 65
162: if_icmple 156
163: iload 47
iconst_1
isub
istore 48
start local 48 164: goto 168
165: StackMap locals: sun.java2d.marlin.Renderer int int int int int int[] sun.java2d.marlin.MarlinCache sun.java2d.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
166: aload 12
iload 48
iconst_1
iadd
aload 12
iload 48
iaload
iastore
167: iinc 48 -1
StackMap locals:
StackMap stack:
168: iload 48
iload 64
if_icmpge 165
169: aload 11
iload 64
iload 50
iastore
170: aload 12
iload 64
iload 49
iastore
171: goto 183
end local 66 end local 65 end local 64 end local 48 172: StackMap locals: sun.java2d.marlin.Renderer int int int int int int[] sun.java2d.marlin.MarlinCache sun.java2d.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 173: aload 11
iload 47
aload 11
iload 48
iaload
iastore
174: aload 12
iload 47
aload 12
iload 48
iaload
iastore
175: goto 178
176: StackMap locals: sun.java2d.marlin.Renderer int int int int int int[] sun.java2d.marlin.MarlinCache sun.java2d.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
177: aload 12
iload 48
iconst_1
iadd
aload 12
iload 48
iaload
iastore
178: StackMap locals:
StackMap stack:
iinc 48 -1
iload 48
iflt 179
aload 11
iload 48
iaload
iload 50
if_icmpgt 176
179: StackMap locals:
StackMap stack:
aload 11
iload 48
iconst_1
iadd
iload 50
iastore
180: aload 12
iload 48
iconst_1
iadd
iload 49
iastore
181: goto 183
end local 48 182: StackMap locals: sun.java2d.marlin.Renderer int int int int int int[] sun.java2d.marlin.MarlinCache sun.java2d.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
183: StackMap locals:
StackMap stack:
iinc 47 1
end local 60 end local 57 end local 50 end local 49 end local 28 StackMap locals: sun.java2d.marlin.Renderer int int int int int int[] sun.java2d.marlin.MarlinCache sun.java2d.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:
184: iload 47
iload 39
if_icmplt 133
185: goto 236
end local 68 end local 51 end local 47 186: StackMap locals: sun.java2d.marlin.Renderer int int int int int int[] sun.java2d.marlin.MarlinCache sun.java2d.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 sun.java2d.marlin.Renderer.doStats:Z
ifeq 195
187: getstatic sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.stat_rdr_crossings_msorts:Lsun/java2d/marlin/stats/StatLong;
188: iload 39
invokevirtual sun.java2d.marlin.stats.StatLong.add:(I)V
189: getstatic sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.hist_rdr_crossings_ratio:Lsun/java2d/marlin/stats/Histogram;
190: sipush 1000
iload 43
imul
iload 39
idiv
invokevirtual sun.java2d.marlin.stats.Histogram.add:(I)V
191: getstatic sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.hist_rdr_crossings_msorts:Lsun/java2d/marlin/stats/Histogram;
192: iload 39
invokevirtual sun.java2d.marlin.stats.Histogram.add:(I)V
193: getstatic sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.hist_rdr_crossings_msorts_adds:Lsun/java2d/marlin/stats/Histogram;
194: iload 43
invokevirtual sun.java2d.marlin.stats.Histogram.add:(I)V
195: StackMap locals:
StackMap stack:
ldc -2147483648
istore 51
start local 51 196: iconst_0
istore 47
start local 47 197: goto 231
198: StackMap locals: sun.java2d.marlin.Renderer int int int int int int[] sun.java2d.marlin.MarlinCache sun.java2d.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 199: lload 26
iload 49
i2l
ladd
lstore 28
start local 28 200: aload 25
lload 28
invokevirtual sun.misc.Unsafe.getInt:(J)I
istore 57
start local 57 201: iload 57
istore 50
start local 50 202: iload 57
aload 25
lload 28
lload 17
ladd
invokevirtual sun.misc.Unsafe.getInt:(J)I
iadd
istore 57
203: aload 25
lload 28
lload 15
ladd
invokevirtual sun.misc.Unsafe.getInt:(J)I
204: aload 25
lload 28
lload 19
ladd
invokevirtual sun.misc.Unsafe.getInt:(J)I
205: iadd
istore 60
start local 60 206: aload 25
lload 28
iload 57
iload 60
bipush 30
ishr
bipush -2
iand
isub
invokevirtual sun.misc.Unsafe.putInt:(JI)V
207: aload 25
lload 28
lload 15
ladd
iload 60
ldc 2147483647
iand
invokevirtual sun.misc.Unsafe.putInt:(JI)V
208: getstatic sun.java2d.marlin.Renderer.doStats:Z
ifeq 211
209: getstatic sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.stat_rdr_crossings_updates:Lsun/java2d/marlin/stats/StatLong;
210: iload 39
invokevirtual sun.java2d.marlin.stats.StatLong.add:(I)V
211: StackMap locals: sun.java2d.marlin.Renderer int int int int int int[] sun.java2d.marlin.MarlinCache sun.java2d.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 214
212: aload 11
iload 47
iload 50
iastore
213: goto 230
StackMap locals:
StackMap stack:
214: iload 50
iload 51
if_icmpge 228
215: getstatic sun.java2d.marlin.Renderer.doStats:Z
ifeq 218
216: getstatic sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.stat_rdr_crossings_sorts:Lsun/java2d/marlin/stats/StatLong;
217: iload 47
invokevirtual sun.java2d.marlin.stats.StatLong.add:(I)V
218: StackMap locals:
StackMap stack:
iload 47
iconst_1
isub
istore 48
start local 48 219: aload 13
iload 47
aload 13
iload 48
iaload
iastore
220: aload 14
iload 47
aload 14
iload 48
iaload
iastore
221: goto 224
222: StackMap locals: sun.java2d.marlin.Renderer int int int int int int[] sun.java2d.marlin.MarlinCache sun.java2d.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
223: aload 14
iload 48
iconst_1
iadd
aload 14
iload 48
iaload
iastore
224: StackMap locals:
StackMap stack:
iinc 48 -1
iload 48
iflt 225
aload 13
iload 48
iaload
iload 50
if_icmpgt 222
225: StackMap locals:
StackMap stack:
aload 13
iload 48
iconst_1
iadd
iload 50
iastore
226: aload 14
iload 48
iconst_1
iadd
iload 49
iastore
227: goto 230
end local 48 228: StackMap locals: sun.java2d.marlin.Renderer int int int int int int[] sun.java2d.marlin.MarlinCache sun.java2d.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
229: aload 14
iload 47
iload 49
iastore
230: StackMap locals:
StackMap stack:
iinc 47 1
end local 60 end local 57 end local 50 end local 49 end local 28 StackMap locals: sun.java2d.marlin.Renderer int int int int int int[] sun.java2d.marlin.MarlinCache sun.java2d.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:
231: iload 47
iload 39
if_icmplt 198
232: aload 11
aload 12
233: aload 13
aload 14
234: iload 39
iload 67
235: invokestatic sun.java2d.marlin.MergeSort.mergeSortNoCopy:([I[I[I[III)V
236: StackMap locals:
StackMap stack:
iconst_0
istore 43
237: aload 11
iconst_0
iaload
istore 58
start local 58 238: iload 58
iconst_1
ishr
istore 52
start local 52 239: iload 52
iload 35
if_icmpge 241
240: iload 52
istore 35
241: StackMap locals: sun.java2d.marlin.Renderer int int int int int int[] sun.java2d.marlin.MarlinCache sun.java2d.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 242: iload 53
iload 36
if_icmple 244
243: iload 53
istore 36
244: StackMap locals: sun.java2d.marlin.Renderer int int int int int int[] sun.java2d.marlin.MarlinCache sun.java2d.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 245: istore 56
start local 56 246: iload 58
iconst_1
iand
iconst_1
ishl
iconst_1
isub
istore 59
start local 59 247: iload 5
ifeq 295
248: iload 59
istore 55
start local 55 249: iconst_1
istore 47
goto 293
250: StackMap locals: sun.java2d.marlin.Renderer int int int int int int[] sun.java2d.marlin.MarlinCache sun.java2d.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
251: iload 58
iconst_1
ishr
istore 57
252: iload 58
iconst_1
iand
iconst_1
ishl
iconst_1
isub
istore 59
253: iload 55
iconst_1
iand
ifeq 290
254: iload 56
iload 3
if_icmple 255
iload 56
goto 256
StackMap locals:
StackMap stack:
255: iload 3
StackMap locals:
StackMap stack: int
256: istore 52
257: iload 57
iload 4
if_icmpge 258
iload 57
goto 259
StackMap locals:
StackMap stack:
258: iload 4
StackMap locals:
StackMap stack: int
259: istore 53
260: iload 52
iload 53
if_icmpge 290
261: iload 52
iload 3
isub
istore 52
262: iload 53
iload 3
isub
istore 53
263: iload 52
iload 30
ishr
istore 61
start local 61 264: iload 53
iconst_1
isub
iload 30
ishr
istore 62
start local 62 265: iload 61
iload 62
if_icmpne 272
266: iload 53
iload 52
isub
istore 54
start local 54 267: aload 6
iload 61
dup2
iaload
iload 54
iadd
iastore
268: aload 6
iload 61
iconst_1
iadd
dup2
iaload
iload 54
isub
iastore
269: iload 73
ifeq 290
270: aload 69
iload 61
iload 70
ishr
iconst_1
iastore
271: goto 290
end local 54 272: StackMap locals: sun.java2d.marlin.Renderer int int int int int int[] sun.java2d.marlin.MarlinCache sun.java2d.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 273: aload 6
iload 61
dup2
iaload
274: iload 34
iload 54
isub
275: iadd
iastore
276: aload 6
iload 61
iconst_1
iadd
dup2
iaload
277: iload 54
278: iadd
iastore
279: iload 53
iload 30
ishr
istore 63
start local 63 280: iload 53
iload 32
iand
istore 54
281: aload 6
iload 63
dup2
iaload
282: iload 34
iload 54
isub
283: isub
iastore
284: aload 6
iload 63
iconst_1
iadd
dup2
iaload
285: iload 54
286: isub
iastore
287: iload 73
ifeq 290
288: aload 69
iload 61
iload 70
ishr
iconst_1
iastore
289: aload 69
iload 63
iload 70
ishr
iconst_1
iastore
end local 63 end local 62 end local 61 end local 54 290: StackMap locals: sun.java2d.marlin.Renderer int int int int int int[] sun.java2d.marlin.MarlinCache sun.java2d.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
291: iload 57
istore 56
292: iinc 47 1
StackMap locals:
StackMap stack:
293: iload 47
iload 39
if_icmplt 250
294: goto 344
end local 55 295: StackMap locals: sun.java2d.marlin.Renderer int int int int int int[] sun.java2d.marlin.MarlinCache sun.java2d.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 296: StackMap locals: sun.java2d.marlin.Renderer int int int int int int[] sun.java2d.marlin.MarlinCache sun.java2d.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
297: iload 55
ifeq 301
298: iload 56
iload 57
if_icmple 338
299: iload 57
istore 56
300: goto 338
301: StackMap locals:
StackMap stack:
iload 56
iload 3
if_icmple 302
iload 56
goto 303
StackMap locals:
StackMap stack:
302: iload 3
StackMap locals:
StackMap stack: int
303: istore 52
304: iload 57
iload 4
if_icmpge 305
iload 57
goto 306
StackMap locals:
StackMap stack:
305: iload 4
StackMap locals:
StackMap stack: int
306: istore 53
307: iload 52
iload 53
if_icmpge 337
308: iload 52
iload 3
isub
istore 52
309: iload 53
iload 3
isub
istore 53
310: iload 52
iload 30
ishr
istore 61
start local 61 311: iload 53
iconst_1
isub
iload 30
ishr
istore 62
start local 62 312: iload 61
iload 62
if_icmpne 319
313: iload 53
iload 52
isub
istore 54
start local 54 314: aload 6
iload 61
dup2
iaload
iload 54
iadd
iastore
315: aload 6
iload 61
iconst_1
iadd
dup2
iaload
iload 54
isub
iastore
316: iload 73
ifeq 337
317: aload 69
iload 61
iload 70
ishr
iconst_1
iastore
318: goto 337
end local 54 319: StackMap locals: sun.java2d.marlin.Renderer int int int int int int[] sun.java2d.marlin.MarlinCache sun.java2d.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 320: aload 6
iload 61
dup2
iaload
321: iload 34
iload 54
isub
322: iadd
iastore
323: aload 6
iload 61
iconst_1
iadd
dup2
iaload
324: iload 54
325: iadd
iastore
326: iload 53
iload 30
ishr
istore 63
start local 63 327: iload 53
iload 32
iand
istore 54
328: aload 6
iload 63
dup2
iaload
329: iload 34
iload 54
isub
330: isub
iastore
331: aload 6
iload 63
iconst_1
iadd
dup2
iaload
332: iload 54
333: isub
iastore
334: iload 73
ifeq 337
335: aload 69
iload 61
iload 70
ishr
iconst_1
iastore
336: aload 69
iload 63
iload 70
ishr
iconst_1
iastore
end local 63 end local 62 end local 61 end local 54 337: StackMap locals: sun.java2d.marlin.Renderer int int int int int int[] sun.java2d.marlin.MarlinCache sun.java2d.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
338: StackMap locals:
StackMap stack:
iload 47
iload 39
if_icmpne 340
339: goto 344
340: StackMap locals:
StackMap stack:
aload 11
iload 47
iaload
istore 58
341: iload 58
iconst_1
ishr
istore 57
342: iload 58
iconst_1
iand
iconst_1
ishl
iconst_1
isub
istore 59
343: iinc 47 1
goto 296
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 344: StackMap locals: sun.java2d.marlin.Renderer int int int int int int[] sun.java2d.marlin.MarlinCache sun.java2d.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 367
345: iload 37
iload 31
ishr
istore 75
346: iload 35
iload 3
invokestatic sun.java2d.marlin.FloatMath.max:(II)I
iload 30
ishr
istore 35
347: iload 36
iload 4
invokestatic sun.java2d.marlin.FloatMath.min:(II)I
iload 30
ishr
istore 36
348: iload 36
iload 35
if_icmplt 364
349: aload 0
aload 6
iload 75
iload 35
iload 36
iconst_2
iadd
iload 73
invokevirtual sun.java2d.marlin.Renderer.copyAARow:([IIIIZ)V
350: iload 72
ifeq 365
351: iload 36
iload 35
isub
istore 36
352: iload 36
iload 71
if_icmple 355
iload 36
353: iload 39
iload 74
ishr
iconst_1
isub
iload 70
ishl
354: if_icmple 355
iconst_1
goto 356
StackMap locals:
StackMap stack:
355: iconst_0
StackMap locals:
StackMap stack: int
356: istore 73
357: getstatic sun.java2d.marlin.Renderer.doStats:Z
ifeq 365
358: iconst_1
359: iload 39
iload 74
ishr
iconst_1
isub
360: invokestatic sun.java2d.marlin.FloatMath.max:(II)I
istore 54
start local 54 361: getstatic sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.hist_tile_generator_encoding_dist:Lsun/java2d/marlin/stats/Histogram;
362: iload 36
iload 54
idiv
invokevirtual sun.java2d.marlin.stats.Histogram.add:(I)V
end local 54 363: goto 365
364: StackMap locals:
StackMap stack:
aload 7
iload 75
invokevirtual sun.java2d.marlin.MarlinCache.clearAARow:(I)V
365: StackMap locals:
StackMap stack:
ldc 2147483647
istore 35
366: ldc -2147483648
istore 36
367: StackMap locals:
StackMap stack:
iinc 37 1
iinc 38 1
end local 67 end local 46 StackMap locals: sun.java2d.marlin.Renderer int int int int int int[] sun.java2d.marlin.MarlinCache sun.java2d.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:
368: iload 37
iload 2
if_icmplt 45
369: iinc 37 -1
370: iload 37
iload 31
ishr
istore 37
371: iload 35
iload 3
invokestatic sun.java2d.marlin.FloatMath.max:(II)I
iload 30
ishr
istore 35
372: iload 36
iload 4
invokestatic sun.java2d.marlin.FloatMath.min:(II)I
iload 30
ishr
istore 36
373: iload 36
iload 35
if_icmplt 376
374: aload 0
aload 6
iload 37
iload 35
iload 36
iconst_2
iadd
iload 73
invokevirtual sun.java2d.marlin.Renderer.copyAARow:([IIIIZ)V
375: goto 378
StackMap locals:
StackMap stack:
376: iload 37
iload 75
if_icmpeq 378
377: aload 7
iload 37
invokevirtual sun.java2d.marlin.MarlinCache.clearAARow:(I)V
378: StackMap locals:
StackMap stack:
aload 0
iload 39
putfield sun.java2d.marlin.Renderer.edgeCount:I
379: aload 0
iload 73
putfield sun.java2d.marlin.Renderer.prevUseBlkFlags:Z
380: getstatic sun.java2d.marlin.Renderer.doStats:Z
ifeq 382
381: aload 0
iload 42
putfield sun.java2d.marlin.Renderer.activeEdgeMaxUsed:I
382: 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 383 0 this Lsun/java2d/marlin/Renderer;
0 383 1 ymin I
0 383 2 ymax I
1 383 3 bboxx0 I
2 383 4 bboxx1 I
5 383 5 windingRuleEvenOdd Z
6 383 6 _alpha [I
7 383 7 _cache Lsun/java2d/marlin/MarlinCache;
8 383 8 _edges Lsun/java2d/marlin/OffHeapArray;
9 383 9 _edgeBuckets [I
10 383 10 _edgeBucketCounts [I
11 383 11 _crossings [I
12 383 12 _edgePtrs [I
13 383 13 _aux_crossings [I
14 383 14 _aux_edgePtrs [I
15 383 15 _OFF_ERROR J
16 383 17 _OFF_BUMP_X J
17 383 19 _OFF_BUMP_ERR J
18 383 21 _OFF_NEXT J
19 383 23 _OFF_YMAX J
20 383 25 _unsafe Lsun/misc/Unsafe;
21 383 26 addr0 J
53 62 28 addr J
92 120 28 addr J
135 184 28 addr J
200 231 28 addr J
22 383 30 _SUBPIXEL_LG_POSITIONS_X I
23 383 31 _SUBPIXEL_LG_POSITIONS_Y I
24 383 32 _SUBPIXEL_MASK_X I
25 383 33 _SUBPIXEL_MASK_Y I
26 383 34 _SUBPIXEL_POSITIONS_X I
27 383 35 minX I
28 383 36 maxX I
29 383 37 y I
30 383 38 bucket I
31 383 39 numCrossings I
32 383 40 edgePtrsLen I
33 383 41 crossingsLen I
34 383 42 _arrayMaxUsed I
35 383 43 ptrLen I
55 62 44 newCount I
71 120 45 ptrEnd I
46 368 46 bucketcount I
54 62 47 i I
132 186 47 i I
197 344 47 i I
164 172 48 j I
173 182 48 j I
219 228 48 j I
57 60 49 ecur I
93 120 49 ecur I
134 184 49 ecur I
199 231 49 ecur I
137 184 50 cross I
202 231 50 cross I
131 186 51 lastCross I
196 344 51 lastCross I
239 344 52 x0 I
242 344 53 x1 I
267 272 54 tmp I
273 290 54 tmp I
314 319 54 tmp I
320 337 54 tmp I
361 363 54 tmp I
249 295 55 sum I
296 344 55 sum I
246 344 56 prev I
136 184 57 curx I
201 231 57 curx I
245 344 57 curx I
238 344 58 curxo I
247 344 59 crorientation I
141 184 60 err I
206 231 60 err I
264 290 61 pix_x I
311 337 61 pix_x I
265 290 62 pix_xmaxm1 I
312 337 62 pix_xmaxm1 I
280 290 63 pix_xmax I
327 337 63 pix_xmax I
155 172 64 low I
156 172 65 high I
157 172 66 mid I
47 368 67 prevNumCrossings I
130 186 68 useBinarySearch Z
36 383 69 _blkFlags [I
37 383 70 _BLK_SIZE_LG I
38 383 71 _BLK_SIZE I
41 383 72 _enableBlkFlagsHeuristics Z
42 383 73 useBlkFlags Z
43 383 74 stroking I
44 383 75 lastY I
MethodParameters:
Name Flags
ymin final
ymax final
boolean endRendering();
descriptor: ()Z
flags: (0x0000)
Code:
stack=6, locals=13, args_size=1
start local 0 0: aload 0
getfield sun.java2d.marlin.Renderer.edgeMinY:I
ldc 2147483647
if_icmpne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.java2d.marlin.Renderer.boundsMinY:I
istore 1
start local 1 3: aload 0
getfield sun.java2d.marlin.Renderer.boundsMaxY:I
istore 2
start local 2 4: aload 0
getfield sun.java2d.marlin.Renderer.edgeMinX:F
ldc 0.5
fsub
invokestatic sun.java2d.marlin.FloatMath.ceil_int:(F)I
aload 0
getfield sun.java2d.marlin.Renderer.boundsMinX:I
invokestatic sun.java2d.marlin.FloatMath.max:(II)I
istore 3
start local 3 5: aload 0
getfield sun.java2d.marlin.Renderer.edgeMaxX:F
ldc 0.5
fsub
invokestatic sun.java2d.marlin.FloatMath.ceil_int:(F)I
aload 0
getfield sun.java2d.marlin.Renderer.boundsMaxX:I
iconst_1
isub
invokestatic sun.java2d.marlin.FloatMath.min:(II)I
istore 4
start local 4 6: aload 0
getfield sun.java2d.marlin.Renderer.edgeMinY:I
istore 5
start local 5 7: aload 0
getfield sun.java2d.marlin.Renderer.edgeMaxY:I
istore 7
start local 7 8: iload 7
iload 2
iconst_1
isub
if_icmpgt 11
9: iload 7
istore 6
start local 6 10: goto 13
end local 6 11: StackMap locals: sun.java2d.marlin.Renderer int int int int int top int
StackMap stack:
iload 2
iconst_1
isub
istore 6
start local 6 12: iload 2
istore 7
13: StackMap locals: sun.java2d.marlin.Renderer int int int int int int int
StackMap stack:
aload 0
iload 5
iload 1
isub
putfield sun.java2d.marlin.Renderer.buckets_minY:I
14: aload 0
iload 7
iload 1
isub
putfield sun.java2d.marlin.Renderer.buckets_maxY:I
15: getstatic sun.java2d.marlin.Renderer.doLogBounds:Z
ifeq 22
16: new java.lang.StringBuilder
dup
ldc "edgesXY = ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.java2d.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 sun.java2d.marlin.Renderer.edgeMaxX:F
invokevirtual java.lang.StringBuilder.append:(F)Ljava/lang/StringBuilder;
17: ldc "]["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.java2d.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 sun.java2d.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;
18: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic sun.java2d.marlin.MarlinUtils.logInfo:(Ljava/lang/String;)V
19: new java.lang.StringBuilder
dup
ldc "spXY = ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
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;
20: ldc "]["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
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;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
21: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic sun.java2d.marlin.MarlinUtils.logInfo:(Ljava/lang/String;)V
22: StackMap locals:
StackMap stack:
iload 3
iload 4
if_icmpgt 23
iload 5
iload 6
if_icmple 24
23: StackMap locals:
StackMap stack:
iconst_0
ireturn
24: StackMap locals:
StackMap stack:
iload 3
getstatic sun.java2d.marlin.Renderer.SUBPIXEL_LG_POSITIONS_X:I
ishr
istore 8
start local 8 25: iload 4
getstatic sun.java2d.marlin.Renderer.SUBPIXEL_MASK_X:I
iadd
getstatic sun.java2d.marlin.Renderer.SUBPIXEL_LG_POSITIONS_X:I
ishr
istore 9
start local 9 26: iload 5
getstatic sun.java2d.marlin.Renderer.SUBPIXEL_LG_POSITIONS_Y:I
ishr
istore 10
start local 10 27: iload 6
getstatic sun.java2d.marlin.Renderer.SUBPIXEL_MASK_Y:I
iadd
getstatic sun.java2d.marlin.Renderer.SUBPIXEL_LG_POSITIONS_Y:I
ishr
istore 11
start local 11 28: aload 0
getfield sun.java2d.marlin.Renderer.cache:Lsun/java2d/marlin/MarlinCache;
iload 8
iload 10
iload 9
iload 11
aload 0
getfield sun.java2d.marlin.Renderer.edgeSumDeltaY:I
invokevirtual sun.java2d.marlin.MarlinCache.init:(IIIII)V
29: getstatic sun.java2d.marlin.Renderer.ENABLE_BLOCK_FLAGS:Z
ifeq 38
30: aload 0
aload 0
getfield sun.java2d.marlin.Renderer.cache:Lsun/java2d/marlin/MarlinCache;
getfield sun.java2d.marlin.MarlinCache.useRLE:Z
putfield sun.java2d.marlin.Renderer.enableBlkFlags:Z
31: aload 0
aload 0
getfield sun.java2d.marlin.Renderer.enableBlkFlags:Z
ifeq 32
getstatic sun.java2d.marlin.Renderer.ENABLE_BLOCK_FLAGS_HEURISTICS:Z
ifne 32
iconst_1
goto 33
StackMap locals: sun.java2d.marlin.Renderer int int int int int int int int int int int
StackMap stack: sun.java2d.marlin.Renderer
32: iconst_0
StackMap locals: sun.java2d.marlin.Renderer int int int int int int int int int int int
StackMap stack: sun.java2d.marlin.Renderer int
33: putfield sun.java2d.marlin.Renderer.prevUseBlkFlags:Z
34: aload 0
getfield sun.java2d.marlin.Renderer.enableBlkFlags:Z
ifeq 38
35: iload 9
iload 8
isub
getstatic sun.java2d.marlin.Renderer.TILE_SIZE_LG:I
ishr
iconst_2
iadd
istore 12
start local 12 36: iload 12
sipush 256
if_icmple 38
37: aload 0
aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
iload 12
invokevirtual sun.java2d.marlin.RendererContext.getIntArray:(I)[I
putfield sun.java2d.marlin.Renderer.blkFlags:[I
end local 12 38: StackMap locals:
StackMap stack:
aload 0
iload 8
getstatic sun.java2d.marlin.Renderer.SUBPIXEL_LG_POSITIONS_X:I
ishl
putfield sun.java2d.marlin.Renderer.bbox_spminX:I
39: aload 0
iload 9
getstatic sun.java2d.marlin.Renderer.SUBPIXEL_LG_POSITIONS_X:I
ishl
putfield sun.java2d.marlin.Renderer.bbox_spmaxX:I
40: aload 0
iload 5
putfield sun.java2d.marlin.Renderer.bbox_spminY:I
41: aload 0
iload 6
iconst_1
iadd
iload 11
getstatic sun.java2d.marlin.Renderer.SUBPIXEL_LG_POSITIONS_Y:I
ishl
invokestatic sun.java2d.marlin.FloatMath.min:(II)I
putfield sun.java2d.marlin.Renderer.bbox_spmaxY:I
42: getstatic sun.java2d.marlin.Renderer.doLogBounds:Z
ifeq 50
43: new java.lang.StringBuilder
dup
ldc "pXY = ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 8
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " ... "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 9
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
44: ldc "[ ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 10
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " ... "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 11
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
45: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic sun.java2d.marlin.MarlinUtils.logInfo:(Ljava/lang/String;)V
46: new java.lang.StringBuilder
dup
ldc "bbox_spXY = ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.java2d.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;
47: aload 0
getfield sun.java2d.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 sun.java2d.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;
48: aload 0
getfield sun.java2d.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;
49: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic sun.java2d.marlin.MarlinUtils.logInfo:(Ljava/lang/String;)V
50: StackMap locals:
StackMap stack:
iload 9
iload 8
isub
iconst_2
iadd
istore 12
start local 12 51: iload 12
getstatic sun.java2d.marlin.Renderer.INITIAL_AA_ARRAY:I
if_icmple 56
52: getstatic sun.java2d.marlin.Renderer.doStats:Z
ifeq 55
53: getstatic sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.stat_array_renderer_alphaline:Lsun/java2d/marlin/stats/StatLong;
54: iload 12
invokevirtual sun.java2d.marlin.stats.StatLong.add:(I)V
55: StackMap locals: int
StackMap stack:
aload 0
aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
iload 12
invokevirtual sun.java2d.marlin.RendererContext.getIntArray:(I)[I
putfield sun.java2d.marlin.Renderer.alphaLine:[I
56: StackMap locals:
StackMap stack:
aload 0
iload 10
invokevirtual sun.java2d.marlin.Renderer.endRendering:(I)V
57: iconst_1
ireturn
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 58 0 this Lsun/java2d/marlin/Renderer;
3 58 1 _boundsMinY I
4 58 2 _boundsMaxY I
5 58 3 spminX I
6 58 4 spmaxX I
7 58 5 spminY I
10 11 6 spmaxY I
12 58 6 spmaxY I
8 58 7 maxY I
25 58 8 pminX I
26 58 9 pmaxX I
27 58 10 pminY I
28 58 11 pmaxY I
36 38 12 nxTiles I
51 58 12 width I
void endRendering(int);
descriptor: (I)V
flags: (0x0000)
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: iload 1
getstatic sun.java2d.marlin.Renderer.SUBPIXEL_LG_POSITIONS_Y:I
ishl
istore 2
start local 2 1: aload 0
getfield sun.java2d.marlin.Renderer.bbox_spminY:I
iload 2
invokestatic sun.java2d.marlin.FloatMath.max:(II)I
istore 3
start local 3 2: iload 3
aload 0
getfield sun.java2d.marlin.Renderer.bbox_spmaxY:I
if_icmpge 6
3: aload 0
getfield sun.java2d.marlin.Renderer.bbox_spmaxY:I
iload 2
getstatic sun.java2d.marlin.Renderer.SUBPIXEL_TILE:I
iadd
invokestatic sun.java2d.marlin.FloatMath.min:(II)I
istore 4
start local 4 4: aload 0
getfield sun.java2d.marlin.Renderer.cache:Lsun/java2d/marlin/MarlinCache;
iload 1
invokevirtual sun.java2d.marlin.MarlinCache.resetTileLine:(I)V
5: aload 0
iload 3
iload 4
invokevirtual sun.java2d.marlin.Renderer._endRendering:(II)V
end local 4 6: StackMap locals: int int
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/java2d/marlin/Renderer;
0 7 1 pminY I
1 7 2 spminY I
2 7 3 fixed_spminY I
4 6 4 spmaxY I
MethodParameters:
Name Flags
pminY final
void copyAARow(int[], int, int, int, boolean);
descriptor: ([IIIIZ)V
flags: (0x0000)
Code:
stack=6, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: iload 5
ifeq 5
1: getstatic sun.java2d.marlin.Renderer.doStats:Z
ifeq 3
2: getstatic sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.hist_tile_generator_encoding:Lsun/java2d/marlin/stats/Histogram;
iconst_1
invokevirtual sun.java2d.marlin.stats.Histogram.add:(I)V
3: StackMap locals:
StackMap stack:
aload 0
getfield sun.java2d.marlin.Renderer.cache:Lsun/java2d/marlin/MarlinCache;
aload 0
getfield sun.java2d.marlin.Renderer.blkFlags:[I
aload 1
iload 2
iload 3
iload 4
invokevirtual sun.java2d.marlin.MarlinCache.copyAARowRLE_WithBlockFlags:([I[IIII)V
4: goto 8
5: StackMap locals:
StackMap stack:
getstatic sun.java2d.marlin.Renderer.doStats:Z
ifeq 7
6: getstatic sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.hist_tile_generator_encoding:Lsun/java2d/marlin/stats/Histogram;
iconst_0
invokevirtual sun.java2d.marlin.stats.Histogram.add:(I)V
7: StackMap locals:
StackMap stack:
aload 0
getfield sun.java2d.marlin.Renderer.cache:Lsun/java2d/marlin/MarlinCache;
aload 1
iload 2
iload 3
iload 4
invokevirtual sun.java2d.marlin.MarlinCache.copyAARowNoRLE:([IIII)V
8: 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 9 0 this Lsun/java2d/marlin/Renderer;
0 9 1 alphaRow [I
0 9 2 pix_y I
0 9 3 pix_from I
0 9 4 pix_to I
0 9 5 useBlockFlags Z
MethodParameters:
Name Flags
alphaRow final
pix_y final
pix_from final
pix_to final
useBlockFlags final
}
SourceFile: "Renderer.java"