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
static final int INITIAL_CROSSING_COUNT;
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 sun.java2d.marlin.IntArrayCache$Reference crossings_ref;
descriptor: Lsun/java2d/marlin/IntArrayCache$Reference;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final sun.java2d.marlin.IntArrayCache$Reference edgePtrs_ref;
descriptor: Lsun/java2d/marlin/IntArrayCache$Reference;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final sun.java2d.marlin.IntArrayCache$Reference aux_crossings_ref;
descriptor: Lsun/java2d/marlin/IntArrayCache$Reference;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final sun.java2d.marlin.IntArrayCache$Reference aux_edgePtrs_ref;
descriptor: Lsun/java2d/marlin/IntArrayCache$Reference;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int edgeMinY;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int edgeMaxY;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private float edgeMinX;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private float edgeMaxX;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private final 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 sun.java2d.marlin.IntArrayCache$Reference edgeBuckets_ref;
descriptor: Lsun/java2d/marlin/IntArrayCache$Reference;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final sun.java2d.marlin.IntArrayCache$Reference edgeBucketCounts_ref;
descriptor: Lsun/java2d/marlin/IntArrayCache$Reference;
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 sun.java2d.marlin.IntArrayCache$Reference alphaLine_ref;
descriptor: Lsun/java2d/marlin/IntArrayCache$Reference;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private boolean enableBlkFlags;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean prevUseBlkFlags;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int[] blkFlags;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private final sun.java2d.marlin.IntArrayCache$Reference blkFlags_ref;
descriptor: Lsun/java2d/marlin/IntArrayCache$Reference;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int bbox_spminX;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int bbox_spmaxX;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int bbox_spminY;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int bbox_spmaxY;
descriptor: I
flags: (0x0002) ACC_PRIVATE
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: getstatic sun.java2d.marlin.Renderer.INITIAL_EDGES_COUNT:I
iconst_3
ishr
putstatic sun.java2d.marlin.Renderer.INITIAL_CROSSING_COUNT:I
13: lconst_0
getstatic sun.java2d.marlin.OffHeapArray.SIZE_INT:I
i2l
ladd
putstatic sun.java2d.marlin.Renderer.OFF_ERROR:J
14: 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
15: 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
16: 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
17: 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
18: 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
19: ldc 2.5
getstatic sun.java2d.marlin.Renderer.NORM_SUBPIXELS:F
ldc 8.0
fdiv
fmul
20: putstatic sun.java2d.marlin.Renderer.CUB_DEC_ERR_SUBPIX:F
21: fconst_1
getstatic sun.java2d.marlin.Renderer.NORM_SUBPIXELS:F
ldc 8.0
fdiv
fmul
22: putstatic sun.java2d.marlin.Renderer.CUB_INC_ERR_SUBPIX:F
23: ldc 8.0
getstatic sun.java2d.marlin.Renderer.CUB_DEC_ERR_SUBPIX:F
fmul
24: putstatic sun.java2d.marlin.Renderer.CUB_DEC_BND:F
25: ldc 8.0
getstatic sun.java2d.marlin.Renderer.CUB_INC_ERR_SUBPIX:F
fmul
26: putstatic sun.java2d.marlin.Renderer.CUB_INC_BND:F
27: fconst_1
getstatic sun.java2d.marlin.Renderer.NORM_SUBPIXELS:F
ldc 8.0
fdiv
fmul
28: putstatic sun.java2d.marlin.Renderer.QUAD_DEC_ERR_SUBPIX:F
29: ldc 8.0
getstatic sun.java2d.marlin.Renderer.QUAD_DEC_ERR_SUBPIX:F
fmul
30: putstatic sun.java2d.marlin.Renderer.QUAD_DEC_BND:F
31: 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.DO_STATS:Z
ifeq 8
7: aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
getfield 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.DO_STATS: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.DO_STATS:Z
ifeq 30
29: aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
getfield 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.DO_STATS:Z
ifeq 22
21: aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
getfield 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.DO_STATS:Z
ifeq 33
32: aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
getfield 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.DO_STATS: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.DO_STATS:Z
ifeq 53
52: aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
getfield 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.DO_STATS:Z
ifeq 2
1: aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
getfield 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.DO_STATS:Z
ifeq 16
15: aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
getfield 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.ArrayCacheConst.getNewLargeSize:(JJ)J
lstore 17
start local 17 41: getstatic sun.java2d.marlin.Renderer.DO_STATS:Z
ifeq 43
42: aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
getfield 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:Ljdk/internal/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 jdk.internal.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 jdk.internal.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 jdk.internal.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 jdk.internal.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 jdk.internal.misc.Unsafe.putInt:(JI)V
64: lload 18
ldc 4
ladd
lstore 18
65: aload 17
lload 18
iload 7
invokevirtual jdk.internal.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 Ljdk/internal/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=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
ldc 2147483647
putfield sun.java2d.marlin.Renderer.edgeMinY:I
2: aload 0
ldc -2147483648
putfield sun.java2d.marlin.Renderer.edgeMaxY:I
3: aload 0
ldc Infinity
putfield sun.java2d.marlin.Renderer.edgeMinX:F
4: aload 0
ldc -Infinity
putfield sun.java2d.marlin.Renderer.edgeMaxX:F
5: aload 0
iconst_0
putfield sun.java2d.marlin.Renderer.enableBlkFlags:Z
6: aload 0
iconst_0
putfield sun.java2d.marlin.Renderer.prevUseBlkFlags:Z
7: aload 0
aload 1
putfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
8: aload 0
aload 1
getstatic sun.java2d.marlin.Renderer.INITIAL_EDGES_CAPACITY:I
i2l
invokevirtual sun.java2d.marlin.RendererContext.newOffHeapArray:(J)Lsun/java2d/marlin/OffHeapArray;
putfield sun.java2d.marlin.Renderer.edges:Lsun/java2d/marlin/OffHeapArray;
9: aload 0
aload 1
getfield sun.java2d.marlin.RendererContext.curve:Lsun/java2d/marlin/Curve;
putfield sun.java2d.marlin.Renderer.curve:Lsun/java2d/marlin/Curve;
10: aload 0
aload 1
getstatic sun.java2d.marlin.Renderer.INITIAL_BUCKET_ARRAY:I
invokevirtual sun.java2d.marlin.RendererContext.newCleanIntArrayRef:(I)Lsun/java2d/marlin/IntArrayCache$Reference;
putfield sun.java2d.marlin.Renderer.edgeBuckets_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
11: aload 0
aload 1
getstatic sun.java2d.marlin.Renderer.INITIAL_BUCKET_ARRAY:I
invokevirtual sun.java2d.marlin.RendererContext.newCleanIntArrayRef:(I)Lsun/java2d/marlin/IntArrayCache$Reference;
putfield sun.java2d.marlin.Renderer.edgeBucketCounts_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
12: aload 0
aload 0
getfield sun.java2d.marlin.Renderer.edgeBuckets_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
getfield sun.java2d.marlin.IntArrayCache$Reference.initial:[I
putfield sun.java2d.marlin.Renderer.edgeBuckets:[I
13: aload 0
aload 0
getfield sun.java2d.marlin.Renderer.edgeBucketCounts_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
getfield sun.java2d.marlin.IntArrayCache$Reference.initial:[I
putfield sun.java2d.marlin.Renderer.edgeBucketCounts:[I
14: aload 0
aload 1
getstatic sun.java2d.marlin.Renderer.INITIAL_AA_ARRAY:I
invokevirtual sun.java2d.marlin.RendererContext.newCleanIntArrayRef:(I)Lsun/java2d/marlin/IntArrayCache$Reference;
putfield sun.java2d.marlin.Renderer.alphaLine_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
15: aload 0
aload 0
getfield sun.java2d.marlin.Renderer.alphaLine_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
getfield sun.java2d.marlin.IntArrayCache$Reference.initial:[I
putfield sun.java2d.marlin.Renderer.alphaLine:[I
16: aload 0
aload 1
getfield sun.java2d.marlin.RendererContext.cache:Lsun/java2d/marlin/MarlinCache;
putfield sun.java2d.marlin.Renderer.cache:Lsun/java2d/marlin/MarlinCache;
17: aload 0
aload 1
getstatic sun.java2d.marlin.Renderer.INITIAL_CROSSING_COUNT:I
invokevirtual sun.java2d.marlin.RendererContext.newDirtyIntArrayRef:(I)Lsun/java2d/marlin/IntArrayCache$Reference;
putfield sun.java2d.marlin.Renderer.crossings_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
18: aload 0
aload 1
getstatic sun.java2d.marlin.Renderer.INITIAL_CROSSING_COUNT:I
invokevirtual sun.java2d.marlin.RendererContext.newDirtyIntArrayRef:(I)Lsun/java2d/marlin/IntArrayCache$Reference;
putfield sun.java2d.marlin.Renderer.aux_crossings_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
19: aload 0
aload 1
getstatic sun.java2d.marlin.Renderer.INITIAL_CROSSING_COUNT:I
invokevirtual sun.java2d.marlin.RendererContext.newDirtyIntArrayRef:(I)Lsun/java2d/marlin/IntArrayCache$Reference;
putfield sun.java2d.marlin.Renderer.edgePtrs_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
20: aload 0
aload 1
getstatic sun.java2d.marlin.Renderer.INITIAL_CROSSING_COUNT:I
invokevirtual sun.java2d.marlin.RendererContext.newDirtyIntArrayRef:(I)Lsun/java2d/marlin/IntArrayCache$Reference;
putfield sun.java2d.marlin.Renderer.aux_edgePtrs_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
21: aload 0
aload 0
getfield sun.java2d.marlin.Renderer.crossings_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
getfield sun.java2d.marlin.IntArrayCache$Reference.initial:[I
putfield sun.java2d.marlin.Renderer.crossings:[I
22: aload 0
aload 0
getfield sun.java2d.marlin.Renderer.aux_crossings_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
getfield sun.java2d.marlin.IntArrayCache$Reference.initial:[I
putfield sun.java2d.marlin.Renderer.aux_crossings:[I
23: aload 0
aload 0
getfield sun.java2d.marlin.Renderer.edgePtrs_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
getfield sun.java2d.marlin.IntArrayCache$Reference.initial:[I
putfield sun.java2d.marlin.Renderer.edgePtrs:[I
24: aload 0
aload 0
getfield sun.java2d.marlin.Renderer.aux_edgePtrs_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
getfield sun.java2d.marlin.IntArrayCache$Reference.initial:[I
putfield sun.java2d.marlin.Renderer.aux_edgePtrs:[I
25: aload 0
aload 1
sipush 256
invokevirtual sun.java2d.marlin.RendererContext.newCleanIntArrayRef:(I)Lsun/java2d/marlin/IntArrayCache$Reference;
putfield sun.java2d.marlin.Renderer.blkFlags_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
26: aload 0
aload 0
getfield sun.java2d.marlin.Renderer.blkFlags_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
getfield sun.java2d.marlin.IntArrayCache$Reference.initial:[I
putfield sun.java2d.marlin.Renderer.blkFlags:[I
27: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lsun/java2d/marlin/Renderer;
0 28 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.DO_LOG_BOUNDS:Z
ifeq 14
10: new java.lang.StringBuilder
dup
ldc "boundsXY = ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield 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.DO_STATS:Z
ifeq 21
17: aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
getfield 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: aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
getfield 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.edgeBuckets_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
iload 6
invokevirtual sun.java2d.marlin.IntArrayCache$Reference.getArray:(I)[I
putfield sun.java2d.marlin.Renderer.edgeBuckets:[I
22: aload 0
aload 0
getfield sun.java2d.marlin.Renderer.edgeBucketCounts_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
iload 6
invokevirtual sun.java2d.marlin.IntArrayCache$Reference.getArray:(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=6, locals=1, args_size=1
start local 0 0: getstatic sun.java2d.marlin.Renderer.DO_STATS:Z
ifeq 6
1: aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
getfield 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: aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
getfield 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: aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
getfield sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.stat_rdr_edges_count:Lsun/java2d/marlin/stats/StatLong;
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
4: aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
getfield sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.hist_rdr_edges_count:Lsun/java2d/marlin/stats/Histogram;
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.Histogram.add:(I)V
5: aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
getfield sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
dup
getfield sun.java2d.marlin.RendererStats.totalOffHeap:J
aload 0
getfield sun.java2d.marlin.Renderer.edges:Lsun/java2d/marlin/OffHeapArray;
getfield sun.java2d.marlin.OffHeapArray.length:J
ladd
putfield sun.java2d.marlin.RendererStats.totalOffHeap:J
6: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.java2d.marlin.Renderer.crossings_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
aload 0
getfield sun.java2d.marlin.Renderer.crossings:[I
invokevirtual sun.java2d.marlin.IntArrayCache$Reference.putArray:([I)[I
putfield sun.java2d.marlin.Renderer.crossings:[I
7: aload 0
aload 0
getfield sun.java2d.marlin.Renderer.aux_crossings_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
aload 0
getfield sun.java2d.marlin.Renderer.aux_crossings:[I
invokevirtual sun.java2d.marlin.IntArrayCache$Reference.putArray:([I)[I
putfield sun.java2d.marlin.Renderer.aux_crossings:[I
8: aload 0
aload 0
getfield sun.java2d.marlin.Renderer.edgePtrs_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
aload 0
getfield sun.java2d.marlin.Renderer.edgePtrs:[I
invokevirtual sun.java2d.marlin.IntArrayCache$Reference.putArray:([I)[I
putfield sun.java2d.marlin.Renderer.edgePtrs:[I
9: aload 0
aload 0
getfield sun.java2d.marlin.Renderer.aux_edgePtrs_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
aload 0
getfield sun.java2d.marlin.Renderer.aux_edgePtrs:[I
invokevirtual sun.java2d.marlin.IntArrayCache$Reference.putArray:([I)[I
putfield sun.java2d.marlin.Renderer.aux_edgePtrs:[I
10: aload 0
aload 0
getfield sun.java2d.marlin.Renderer.alphaLine_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
aload 0
getfield sun.java2d.marlin.Renderer.alphaLine:[I
iconst_0
iconst_0
invokevirtual sun.java2d.marlin.IntArrayCache$Reference.putArray:([III)[I
putfield sun.java2d.marlin.Renderer.alphaLine:[I
11: aload 0
aload 0
getfield sun.java2d.marlin.Renderer.blkFlags_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
aload 0
getfield sun.java2d.marlin.Renderer.blkFlags:[I
iconst_0
iconst_0
invokevirtual sun.java2d.marlin.IntArrayCache$Reference.putArray:([III)[I
putfield sun.java2d.marlin.Renderer.blkFlags:[I
12: aload 0
getfield sun.java2d.marlin.Renderer.edgeMinY:I
ldc 2147483647
if_icmpeq 24
13: aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
getfield sun.java2d.marlin.RendererContext.dirty:Z
ifeq 16
14: aload 0
iconst_0
putfield sun.java2d.marlin.Renderer.buckets_minY:I
15: 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
16: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.java2d.marlin.Renderer.edgeBuckets_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
aload 0
getfield sun.java2d.marlin.Renderer.edgeBuckets:[I
aload 0
getfield sun.java2d.marlin.Renderer.buckets_minY:I
17: aload 0
getfield sun.java2d.marlin.Renderer.buckets_maxY:I
18: invokevirtual sun.java2d.marlin.IntArrayCache$Reference.putArray:([III)[I
putfield sun.java2d.marlin.Renderer.edgeBuckets:[I
19: aload 0
aload 0
getfield sun.java2d.marlin.Renderer.edgeBucketCounts_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
aload 0
getfield sun.java2d.marlin.Renderer.edgeBucketCounts:[I
20: aload 0
getfield sun.java2d.marlin.Renderer.buckets_minY:I
21: aload 0
getfield sun.java2d.marlin.Renderer.buckets_maxY:I
iconst_1
iadd
22: invokevirtual sun.java2d.marlin.IntArrayCache$Reference.putArray:([III)[I
putfield sun.java2d.marlin.Renderer.edgeBucketCounts:[I
23: goto 26
24: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.java2d.marlin.Renderer.edgeBuckets_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
aload 0
getfield sun.java2d.marlin.Renderer.edgeBuckets:[I
iconst_0
iconst_0
invokevirtual sun.java2d.marlin.IntArrayCache$Reference.putArray:([III)[I
putfield sun.java2d.marlin.Renderer.edgeBuckets:[I
25: aload 0
aload 0
getfield sun.java2d.marlin.Renderer.edgeBucketCounts_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
aload 0
getfield sun.java2d.marlin.Renderer.edgeBucketCounts:[I
iconst_0
iconst_0
invokevirtual sun.java2d.marlin.IntArrayCache$Reference.putArray:([III)[I
putfield sun.java2d.marlin.Renderer.edgeBucketCounts:[I
26: StackMap locals:
StackMap stack:
aload 0
getfield sun.java2d.marlin.Renderer.edges:Lsun/java2d/marlin/OffHeapArray;
getfield sun.java2d.marlin.OffHeapArray.length:J
getstatic sun.java2d.marlin.Renderer.INITIAL_EDGES_CAPACITY:I
i2l
lcmp
ifeq 28
27: aload 0
getfield sun.java2d.marlin.Renderer.edges:Lsun/java2d/marlin/OffHeapArray;
getstatic sun.java2d.marlin.Renderer.INITIAL_EDGES_CAPACITY:I
i2l
invokevirtual sun.java2d.marlin.OffHeapArray.resize:(J)V
28: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 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:Ljdk/internal/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 jdk.internal.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 350
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 jdk.internal.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 112
48: getstatic sun.java2d.marlin.Renderer.DO_STATS:Z
ifeq 50
49: aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
getfield sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.stat_rdr_activeEdges_updates:Lsun/java2d/marlin/stats/StatLong;
iload 39
invokevirtual sun.java2d.marlin.stats.StatLong.add:(I)V
50: 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 jdk.internal.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 61
51: lload 26
lload 23
ladd
lstore 28
start local 28 52: iconst_0
istore 47
start local 47 53: iconst_0
istore 44
start local 44 54: goto 59
55: 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 jdk.internal.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 56: aload 25
lload 28
iload 49
i2l
ladd
invokevirtual jdk.internal.misc.Unsafe.getInt:(J)I
iload 37
if_icmple 58
57: aload 12
iload 44
iinc 44 1
iload 49
iastore
58: 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 jdk.internal.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 jdk.internal.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:
59: iload 47
iload 39
if_icmplt 55
60: iload 44
dup
istore 39
istore 67
end local 47 end local 44 end local 28 61: 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 jdk.internal.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
62: iload 43
ifeq 112
63: getstatic sun.java2d.marlin.Renderer.DO_STATS:Z
ifeq 67
64: aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
getfield sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.stat_rdr_activeEdges_adds:Lsun/java2d/marlin/stats/StatLong;
iload 43
invokevirtual sun.java2d.marlin.stats.StatLong.add:(I)V
65: iload 43
bipush 10
if_icmple 67
66: aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
getfield sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.stat_rdr_activeEdges_adds_high:Lsun/java2d/marlin/stats/StatLong;
iload 43
invokevirtual sun.java2d.marlin.stats.StatLong.add:(I)V
67: StackMap locals:
StackMap stack:
iload 39
iload 43
iadd
istore 45
start local 45 68: iload 40
iload 45
if_icmpge 85
69: getstatic sun.java2d.marlin.Renderer.DO_STATS:Z
ifeq 71
70: aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
getfield sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.stat_array_renderer_edgePtrs:Lsun/java2d/marlin/stats/StatLong;
iload 45
invokevirtual sun.java2d.marlin.stats.StatLong.add:(I)V
71: 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 jdk.internal.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
72: aload 0
getfield sun.java2d.marlin.Renderer.edgePtrs_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
aload 12
iload 39
73: iload 45
74: invokevirtual sun.java2d.marlin.IntArrayCache$Reference.widenArray:([III)[I
75: dup
astore 12
putfield sun.java2d.marlin.Renderer.edgePtrs:[I
76: aload 12
arraylength
istore 40
77: aload 0
getfield sun.java2d.marlin.Renderer.aux_edgePtrs_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
aload 14
invokevirtual sun.java2d.marlin.IntArrayCache$Reference.putArray:([I)[I
pop
78: getstatic sun.java2d.marlin.Renderer.DO_STATS:Z
ifeq 80
79: aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
getfield sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.stat_array_renderer_aux_edgePtrs:Lsun/java2d/marlin/stats/StatLong;
iload 45
invokevirtual sun.java2d.marlin.stats.StatLong.add:(I)V
80: StackMap locals:
StackMap stack:
aload 0
81: aload 0
getfield sun.java2d.marlin.Renderer.aux_edgePtrs_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
82: iload 39
iload 45
invokestatic sun.java2d.marlin.ArrayCacheConst.getNewSize:(II)I
83: invokevirtual sun.java2d.marlin.IntArrayCache$Reference.getArray:(I)[I
84: dup
astore 14
putfield sun.java2d.marlin.Renderer.aux_edgePtrs:[I
85: StackMap locals:
StackMap stack:
lload 26
lload 21
ladd
lstore 28
start local 28 86: aload 9
iload 38
iaload
istore 49
start local 49 87: goto 91
88: 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 jdk.internal.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
89: aload 25
lload 28
iload 49
i2l
ladd
invokevirtual jdk.internal.misc.Unsafe.getInt:(J)I
istore 49
90: iinc 39 1
StackMap locals:
StackMap stack:
91: iload 39
iload 45
92: if_icmplt 88
93: iload 41
iload 39
if_icmpge 109
94: aload 0
getfield sun.java2d.marlin.Renderer.crossings_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
aload 11
invokevirtual sun.java2d.marlin.IntArrayCache$Reference.putArray:([I)[I
pop
95: getstatic sun.java2d.marlin.Renderer.DO_STATS:Z
ifeq 98
96: aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
getfield sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.stat_array_renderer_crossings:Lsun/java2d/marlin/stats/StatLong;
97: iload 39
invokevirtual sun.java2d.marlin.stats.StatLong.add:(I)V
98: StackMap locals:
StackMap stack:
aload 0
99: aload 0
getfield sun.java2d.marlin.Renderer.crossings_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
iload 39
invokevirtual sun.java2d.marlin.IntArrayCache$Reference.getArray:(I)[I
100: dup
astore 11
putfield sun.java2d.marlin.Renderer.crossings:[I
101: aload 0
getfield sun.java2d.marlin.Renderer.aux_crossings_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
aload 13
invokevirtual sun.java2d.marlin.IntArrayCache$Reference.putArray:([I)[I
pop
102: getstatic sun.java2d.marlin.Renderer.DO_STATS:Z
ifeq 105
103: aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
getfield sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.stat_array_renderer_aux_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.aux_crossings_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
iload 39
invokevirtual sun.java2d.marlin.IntArrayCache$Reference.getArray:(I)[I
107: dup
astore 13
putfield sun.java2d.marlin.Renderer.aux_crossings:[I
108: aload 11
arraylength
istore 41
109: StackMap locals:
StackMap stack:
getstatic sun.java2d.marlin.Renderer.DO_STATS:Z
ifeq 112
110: iload 39
iload 42
if_icmple 112
111: iload 39
istore 42
end local 49 end local 45 end local 28 112: 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 jdk.internal.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 326
113: iload 43
bipush 10
if_icmplt 114
iload 39
bipush 40
if_icmpge 173
114: StackMap locals:
StackMap stack:
getstatic sun.java2d.marlin.Renderer.DO_STATS:Z
ifeq 117
115: aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
getfield sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.hist_rdr_crossings:Lsun/java2d/marlin/stats/Histogram;
iload 39
invokevirtual sun.java2d.marlin.stats.Histogram.add:(I)V
116: aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
getfield sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.hist_rdr_crossings_adds:Lsun/java2d/marlin/stats/Histogram;
iload 43
invokevirtual sun.java2d.marlin.stats.Histogram.add:(I)V
117: StackMap locals:
StackMap stack:
iload 39
bipush 20
if_icmplt 118
iconst_1
goto 119
StackMap locals:
StackMap stack:
118: iconst_0
StackMap locals:
StackMap stack: int
119: istore 68
start local 68 120: ldc -2147483648
istore 51
start local 51 121: iconst_0
istore 47
start local 47 122: goto 171
123: 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 jdk.internal.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 124: lload 26
iload 49
i2l
ladd
lstore 28
start local 28 125: aload 25
lload 28
invokevirtual jdk.internal.misc.Unsafe.getInt:(J)I
istore 57
start local 57 126: iload 57
istore 50
start local 50 127: iload 57
aload 25
lload 28
lload 17
ladd
invokevirtual jdk.internal.misc.Unsafe.getInt:(J)I
iadd
istore 57
128: aload 25
lload 28
lload 15
ladd
invokevirtual jdk.internal.misc.Unsafe.getInt:(J)I
129: aload 25
lload 28
lload 19
ladd
invokevirtual jdk.internal.misc.Unsafe.getInt:(J)I
130: iadd
istore 60
start local 60 131: aload 25
lload 28
iload 57
iload 60
bipush 30
ishr
bipush -2
iand
isub
invokevirtual jdk.internal.misc.Unsafe.putInt:(JI)V
132: aload 25
lload 28
lload 15
ladd
iload 60
ldc 2147483647
iand
invokevirtual jdk.internal.misc.Unsafe.putInt:(JI)V
133: getstatic sun.java2d.marlin.Renderer.DO_STATS:Z
ifeq 135
134: aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
getfield sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.stat_rdr_crossings_updates:Lsun/java2d/marlin/stats/StatLong;
iload 39
invokevirtual sun.java2d.marlin.stats.StatLong.add:(I)V
135: 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 jdk.internal.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 169
136: getstatic sun.java2d.marlin.Renderer.DO_STATS:Z
ifeq 138
137: aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
getfield sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.stat_rdr_crossings_sorts:Lsun/java2d/marlin/stats/StatLong;
iload 47
invokevirtual sun.java2d.marlin.stats.StatLong.add:(I)V
138: StackMap locals:
StackMap stack:
iload 68
ifeq 159
iload 47
iload 67
if_icmplt 159
139: getstatic sun.java2d.marlin.Renderer.DO_STATS:Z
ifeq 141
140: aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
getfield sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
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
141: StackMap locals:
StackMap stack:
iconst_0
istore 64
start local 64 142: iload 47
iconst_1
isub
istore 65
start local 65 143: 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 jdk.internal.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 144: aload 11
iload 66
iaload
iload 50
if_icmpge 147
145: iload 66
iconst_1
iadd
istore 64
146: goto 148
147: 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 jdk.internal.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
148: StackMap locals:
StackMap stack:
iload 64
iload 65
149: if_icmple 143
150: iload 47
iconst_1
isub
istore 48
start local 48 151: goto 155
152: 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 jdk.internal.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
153: aload 12
iload 48
iconst_1
iadd
aload 12
iload 48
iaload
iastore
154: iinc 48 -1
StackMap locals:
StackMap stack:
155: iload 48
iload 64
if_icmpge 152
156: aload 11
iload 64
iload 50
iastore
157: aload 12
iload 64
iload 49
iastore
158: goto 170
end local 66 end local 65 end local 64 end local 48 159: 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 jdk.internal.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 160: aload 11
iload 47
aload 11
iload 48
iaload
iastore
161: aload 12
iload 47
aload 12
iload 48
iaload
iastore
162: goto 165
163: 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 jdk.internal.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
164: aload 12
iload 48
iconst_1
iadd
aload 12
iload 48
iaload
iastore
165: StackMap locals:
StackMap stack:
iinc 48 -1
iload 48
iflt 166
aload 11
iload 48
iaload
iload 50
if_icmpgt 163
166: StackMap locals:
StackMap stack:
aload 11
iload 48
iconst_1
iadd
iload 50
iastore
167: aload 12
iload 48
iconst_1
iadd
iload 49
iastore
168: goto 170
end local 48 169: 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 jdk.internal.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
170: 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 jdk.internal.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:
171: iload 47
iload 39
if_icmplt 123
172: goto 218
end local 68 end local 51 end local 47 173: 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 jdk.internal.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.DO_STATS:Z
ifeq 179
174: aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
getfield sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.stat_rdr_crossings_msorts:Lsun/java2d/marlin/stats/StatLong;
iload 39
invokevirtual sun.java2d.marlin.stats.StatLong.add:(I)V
175: aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
getfield sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.hist_rdr_crossings_ratio:Lsun/java2d/marlin/stats/Histogram;
176: sipush 1000
iload 43
imul
iload 39
idiv
invokevirtual sun.java2d.marlin.stats.Histogram.add:(I)V
177: aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
getfield sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.hist_rdr_crossings_msorts:Lsun/java2d/marlin/stats/Histogram;
iload 39
invokevirtual sun.java2d.marlin.stats.Histogram.add:(I)V
178: aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
getfield sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.hist_rdr_crossings_msorts_adds:Lsun/java2d/marlin/stats/Histogram;
iload 43
invokevirtual sun.java2d.marlin.stats.Histogram.add:(I)V
179: StackMap locals:
StackMap stack:
ldc -2147483648
istore 51
start local 51 180: iconst_0
istore 47
start local 47 181: goto 213
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 jdk.internal.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 183: lload 26
iload 49
i2l
ladd
lstore 28
start local 28 184: aload 25
lload 28
invokevirtual jdk.internal.misc.Unsafe.getInt:(J)I
istore 57
start local 57 185: iload 57
istore 50
start local 50 186: iload 57
aload 25
lload 28
lload 17
ladd
invokevirtual jdk.internal.misc.Unsafe.getInt:(J)I
iadd
istore 57
187: aload 25
lload 28
lload 15
ladd
invokevirtual jdk.internal.misc.Unsafe.getInt:(J)I
188: aload 25
lload 28
lload 19
ladd
invokevirtual jdk.internal.misc.Unsafe.getInt:(J)I
189: iadd
istore 60
start local 60 190: aload 25
lload 28
iload 57
iload 60
bipush 30
ishr
bipush -2
iand
isub
invokevirtual jdk.internal.misc.Unsafe.putInt:(JI)V
191: aload 25
lload 28
lload 15
ladd
iload 60
ldc 2147483647
iand
invokevirtual jdk.internal.misc.Unsafe.putInt:(JI)V
192: getstatic sun.java2d.marlin.Renderer.DO_STATS:Z
ifeq 194
193: aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
getfield sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.stat_rdr_crossings_updates:Lsun/java2d/marlin/stats/StatLong;
iload 39
invokevirtual sun.java2d.marlin.stats.StatLong.add:(I)V
194: 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 jdk.internal.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 197
195: aload 11
iload 47
iload 50
iastore
196: goto 212
StackMap locals:
StackMap stack:
197: iload 50
iload 51
if_icmpge 210
198: getstatic sun.java2d.marlin.Renderer.DO_STATS:Z
ifeq 200
199: aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
getfield sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.stat_rdr_crossings_sorts:Lsun/java2d/marlin/stats/StatLong;
iload 47
invokevirtual sun.java2d.marlin.stats.StatLong.add:(I)V
200: StackMap locals:
StackMap stack:
iload 47
iconst_1
isub
istore 48
start local 48 201: aload 13
iload 47
aload 13
iload 48
iaload
iastore
202: aload 14
iload 47
aload 14
iload 48
iaload
iastore
203: goto 206
204: 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 jdk.internal.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
205: aload 14
iload 48
iconst_1
iadd
aload 14
iload 48
iaload
iastore
206: StackMap locals:
StackMap stack:
iinc 48 -1
iload 48
iflt 207
aload 13
iload 48
iaload
iload 50
if_icmpgt 204
207: StackMap locals:
StackMap stack:
aload 13
iload 48
iconst_1
iadd
iload 50
iastore
208: aload 14
iload 48
iconst_1
iadd
iload 49
iastore
209: goto 212
end local 48 210: 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 jdk.internal.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
211: aload 14
iload 47
iload 49
iastore
212: 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 jdk.internal.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:
213: iload 47
iload 39
if_icmplt 182
214: aload 11
aload 12
215: aload 13
aload 14
216: iload 39
iload 67
217: invokestatic sun.java2d.marlin.MergeSort.mergeSortNoCopy:([I[I[I[III)V
218: StackMap locals:
StackMap stack:
iconst_0
istore 43
219: aload 11
iconst_0
iaload
istore 58
start local 58 220: iload 58
iconst_1
ishr
istore 52
start local 52 221: iload 52
iload 35
if_icmpge 223
222: iload 52
istore 35
223: 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 jdk.internal.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 224: iload 53
iload 36
if_icmple 226
225: iload 53
istore 36
226: 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 jdk.internal.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 227: istore 56
start local 56 228: iload 58
iconst_1
iand
iconst_1
ishl
iconst_1
isub
istore 59
start local 59 229: iload 5
ifeq 277
230: iload 59
istore 55
start local 55 231: iconst_1
istore 47
goto 275
232: 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 jdk.internal.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
233: iload 58
iconst_1
ishr
istore 57
234: iload 58
iconst_1
iand
iconst_1
ishl
iconst_1
isub
istore 59
235: iload 55
iconst_1
iand
ifeq 272
236: iload 56
iload 3
if_icmple 237
iload 56
goto 238
StackMap locals:
StackMap stack:
237: iload 3
StackMap locals:
StackMap stack: int
238: istore 52
239: iload 57
iload 4
if_icmpge 240
iload 57
goto 241
StackMap locals:
StackMap stack:
240: iload 4
StackMap locals:
StackMap stack: int
241: istore 53
242: iload 52
iload 53
if_icmpge 272
243: iload 52
iload 3
isub
istore 52
244: iload 53
iload 3
isub
istore 53
245: iload 52
iload 30
ishr
istore 61
start local 61 246: iload 53
iconst_1
isub
iload 30
ishr
istore 62
start local 62 247: iload 61
iload 62
if_icmpne 254
248: iload 53
iload 52
isub
istore 54
start local 54 249: aload 6
iload 61
dup2
iaload
iload 54
iadd
iastore
250: aload 6
iload 61
iconst_1
iadd
dup2
iaload
iload 54
isub
iastore
251: iload 73
ifeq 272
252: aload 69
iload 61
iload 70
ishr
iconst_1
iastore
253: goto 272
end local 54 254: 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 jdk.internal.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 255: aload 6
iload 61
dup2
iaload
256: iload 34
iload 54
isub
257: iadd
iastore
258: aload 6
iload 61
iconst_1
iadd
dup2
iaload
259: iload 54
260: iadd
iastore
261: iload 53
iload 30
ishr
istore 63
start local 63 262: iload 53
iload 32
iand
istore 54
263: aload 6
iload 63
dup2
iaload
264: iload 34
iload 54
isub
265: isub
iastore
266: aload 6
iload 63
iconst_1
iadd
dup2
iaload
267: iload 54
268: isub
iastore
269: iload 73
ifeq 272
270: aload 69
iload 61
iload 70
ishr
iconst_1
iastore
271: aload 69
iload 63
iload 70
ishr
iconst_1
iastore
end local 63 end local 62 end local 61 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 jdk.internal.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
273: iload 57
istore 56
274: iinc 47 1
StackMap locals:
StackMap stack:
275: iload 47
iload 39
if_icmplt 232
276: goto 326
end local 55 277: 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 jdk.internal.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 278: 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 jdk.internal.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
279: iload 55
ifeq 283
280: iload 56
iload 57
if_icmple 320
281: iload 57
istore 56
282: goto 320
283: StackMap locals:
StackMap stack:
iload 56
iload 3
if_icmple 284
iload 56
goto 285
StackMap locals:
StackMap stack:
284: iload 3
StackMap locals:
StackMap stack: int
285: istore 52
286: iload 57
iload 4
if_icmpge 287
iload 57
goto 288
StackMap locals:
StackMap stack:
287: iload 4
StackMap locals:
StackMap stack: int
288: istore 53
289: iload 52
iload 53
if_icmpge 319
290: iload 52
iload 3
isub
istore 52
291: iload 53
iload 3
isub
istore 53
292: iload 52
iload 30
ishr
istore 61
start local 61 293: iload 53
iconst_1
isub
iload 30
ishr
istore 62
start local 62 294: iload 61
iload 62
if_icmpne 301
295: iload 53
iload 52
isub
istore 54
start local 54 296: aload 6
iload 61
dup2
iaload
iload 54
iadd
iastore
297: aload 6
iload 61
iconst_1
iadd
dup2
iaload
iload 54
isub
iastore
298: iload 73
ifeq 319
299: aload 69
iload 61
iload 70
ishr
iconst_1
iastore
300: goto 319
end local 54 301: 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 jdk.internal.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 302: aload 6
iload 61
dup2
iaload
303: iload 34
iload 54
isub
304: iadd
iastore
305: aload 6
iload 61
iconst_1
iadd
dup2
iaload
306: iload 54
307: iadd
iastore
308: iload 53
iload 30
ishr
istore 63
start local 63 309: iload 53
iload 32
iand
istore 54
310: aload 6
iload 63
dup2
iaload
311: iload 34
iload 54
isub
312: isub
iastore
313: aload 6
iload 63
iconst_1
iadd
dup2
iaload
314: iload 54
315: isub
iastore
316: iload 73
ifeq 319
317: aload 69
iload 61
iload 70
ishr
iconst_1
iastore
318: aload 69
iload 63
iload 70
ishr
iconst_1
iastore
end local 63 end local 62 end local 61 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 jdk.internal.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
320: StackMap locals:
StackMap stack:
iload 47
iload 39
if_icmpne 322
321: goto 326
322: StackMap locals:
StackMap stack:
aload 11
iload 47
iaload
istore 58
323: iload 58
iconst_1
ishr
istore 57
324: iload 58
iconst_1
iand
iconst_1
ishl
iconst_1
isub
istore 59
325: iinc 47 1
goto 278
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 326: 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 jdk.internal.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 349
327: iload 37
iload 31
ishr
istore 75
328: iload 35
iload 3
invokestatic sun.java2d.marlin.FloatMath.max:(II)I
iload 30
ishr
istore 35
329: iload 36
iload 4
invokestatic sun.java2d.marlin.FloatMath.min:(II)I
iload 30
ishr
istore 36
330: iload 36
iload 35
if_icmplt 346
331: aload 0
aload 6
iload 75
iload 35
iload 36
iconst_2
iadd
iload 73
invokevirtual sun.java2d.marlin.Renderer.copyAARow:([IIIIZ)V
332: iload 72
ifeq 347
333: iload 36
iload 35
isub
istore 36
334: iload 36
iload 71
if_icmple 337
iload 36
335: iload 39
iload 74
ishr
iconst_1
isub
iload 70
ishl
336: if_icmple 337
iconst_1
goto 338
StackMap locals:
StackMap stack:
337: iconst_0
StackMap locals:
StackMap stack: int
338: istore 73
339: getstatic sun.java2d.marlin.Renderer.DO_STATS:Z
ifeq 347
340: iconst_1
341: iload 39
iload 74
ishr
iconst_1
isub
342: invokestatic sun.java2d.marlin.FloatMath.max:(II)I
istore 54
start local 54 343: aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
getfield sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.hist_tile_generator_encoding_dist:Lsun/java2d/marlin/stats/Histogram;
344: iload 36
iload 54
idiv
invokevirtual sun.java2d.marlin.stats.Histogram.add:(I)V
end local 54 345: goto 347
346: StackMap locals:
StackMap stack:
aload 7
iload 75
invokevirtual sun.java2d.marlin.MarlinCache.clearAARow:(I)V
347: StackMap locals:
StackMap stack:
ldc 2147483647
istore 35
348: ldc -2147483648
istore 36
349: 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 jdk.internal.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:
350: iload 37
iload 2
if_icmplt 45
351: iinc 37 -1
352: iload 37
iload 31
ishr
istore 37
353: iload 35
iload 3
invokestatic sun.java2d.marlin.FloatMath.max:(II)I
iload 30
ishr
istore 35
354: iload 36
iload 4
invokestatic sun.java2d.marlin.FloatMath.min:(II)I
iload 30
ishr
istore 36
355: iload 36
iload 35
if_icmplt 358
356: aload 0
aload 6
iload 37
iload 35
iload 36
iconst_2
iadd
iload 73
invokevirtual sun.java2d.marlin.Renderer.copyAARow:([IIIIZ)V
357: goto 360
StackMap locals:
StackMap stack:
358: iload 37
iload 75
if_icmpeq 360
359: aload 7
iload 37
invokevirtual sun.java2d.marlin.MarlinCache.clearAARow:(I)V
360: StackMap locals:
StackMap stack:
aload 0
iload 39
putfield sun.java2d.marlin.Renderer.edgeCount:I
361: aload 0
iload 73
putfield sun.java2d.marlin.Renderer.prevUseBlkFlags:Z
362: getstatic sun.java2d.marlin.Renderer.DO_STATS:Z
ifeq 364
363: aload 0
iload 42
putfield sun.java2d.marlin.Renderer.activeEdgeMaxUsed:I
364: 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 365 0 this Lsun/java2d/marlin/Renderer;
0 365 1 ymin I
0 365 2 ymax I
1 365 3 bboxx0 I
2 365 4 bboxx1 I
5 365 5 windingRuleEvenOdd Z
6 365 6 _alpha [I
7 365 7 _cache Lsun/java2d/marlin/MarlinCache;
8 365 8 _edges Lsun/java2d/marlin/OffHeapArray;
9 365 9 _edgeBuckets [I
10 365 10 _edgeBucketCounts [I
11 365 11 _crossings [I
12 365 12 _edgePtrs [I
13 365 13 _aux_crossings [I
14 365 14 _aux_edgePtrs [I
15 365 15 _OFF_ERROR J
16 365 17 _OFF_BUMP_X J
17 365 19 _OFF_BUMP_ERR J
18 365 21 _OFF_NEXT J
19 365 23 _OFF_YMAX J
20 365 25 _unsafe Ljdk/internal/misc/Unsafe;
21 365 26 addr0 J
52 61 28 addr J
86 112 28 addr J
125 171 28 addr J
184 213 28 addr J
22 365 30 _SUBPIXEL_LG_POSITIONS_X I
23 365 31 _SUBPIXEL_LG_POSITIONS_Y I
24 365 32 _SUBPIXEL_MASK_X I
25 365 33 _SUBPIXEL_MASK_Y I
26 365 34 _SUBPIXEL_POSITIONS_X I
27 365 35 minX I
28 365 36 maxX I
29 365 37 y I
30 365 38 bucket I
31 365 39 numCrossings I
32 365 40 edgePtrsLen I
33 365 41 crossingsLen I
34 365 42 _arrayMaxUsed I
35 365 43 ptrLen I
54 61 44 newCount I
68 112 45 ptrEnd I
46 350 46 bucketcount I
53 61 47 i I
122 173 47 i I
181 326 47 i I
151 159 48 j I
160 169 48 j I
201 210 48 j I
56 59 49 ecur I
87 112 49 ecur I
124 171 49 ecur I
183 213 49 ecur I
127 171 50 cross I
186 213 50 cross I
121 173 51 lastCross I
180 326 51 lastCross I
221 326 52 x0 I
224 326 53 x1 I
249 254 54 tmp I
255 272 54 tmp I
296 301 54 tmp I
302 319 54 tmp I
343 345 54 tmp I
231 277 55 sum I
278 326 55 sum I
228 326 56 prev I
126 171 57 curx I
185 213 57 curx I
227 326 57 curx I
220 326 58 curxo I
229 326 59 crorientation I
131 171 60 err I
190 213 60 err I
246 272 61 pix_x I
293 319 61 pix_x I
247 272 62 pix_xmaxm1 I
294 319 62 pix_xmaxm1 I
262 272 63 pix_xmax I
309 319 63 pix_xmax I
142 159 64 low I
143 159 65 high I
144 159 66 mid I
47 350 67 prevNumCrossings I
120 173 68 useBinarySearch Z
36 365 69 _blkFlags [I
37 365 70 _BLK_SIZE_LG I
38 365 71 _BLK_SIZE I
41 365 72 _enableBlkFlagsHeuristics Z
42 365 73 useBlkFlags Z
43 365 74 stroking I
44 365 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.DO_LOG_BOUNDS: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.blkFlags_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
iload 12
invokevirtual sun.java2d.marlin.IntArrayCache$Reference.getArray:(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.DO_LOG_BOUNDS: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 55
52: getstatic sun.java2d.marlin.Renderer.DO_STATS:Z
ifeq 54
53: aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
getfield sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.stat_array_renderer_alphaline:Lsun/java2d/marlin/stats/StatLong;
iload 12
invokevirtual sun.java2d.marlin.stats.StatLong.add:(I)V
54: StackMap locals: int
StackMap stack:
aload 0
aload 0
getfield sun.java2d.marlin.Renderer.alphaLine_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
iload 12
invokevirtual sun.java2d.marlin.IntArrayCache$Reference.getArray:(I)[I
putfield sun.java2d.marlin.Renderer.alphaLine:[I
55: StackMap locals:
StackMap stack:
aload 0
iload 10
invokevirtual sun.java2d.marlin.Renderer.endRendering:(I)V
56: 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 57 0 this Lsun/java2d/marlin/Renderer;
3 57 1 _boundsMinY I
4 57 2 _boundsMaxY I
5 57 3 spminX I
6 57 4 spmaxX I
7 57 5 spminY I
10 11 6 spmaxY I
12 57 6 spmaxY I
8 57 7 maxY I
25 57 8 pminX I
26 57 9 pmaxX I
27 57 10 pminY I
28 57 11 pmaxY I
36 38 12 nxTiles I
51 57 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.DO_STATS:Z
ifeq 3
2: aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
getfield 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.DO_STATS:Z
ifeq 7
6: aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
getfield 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"
InnerClasses:
final Reference = sun.java2d.marlin.IntArrayCache$Reference of sun.java2d.marlin.IntArrayCache