final class sun.java2d.marlin.Renderer implements sun.awt.geom.PathConsumer2D, sun.java2d.marlin.MarlinRenderer
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
static final float SUBPIXEL_SCALE_X;
descriptor: F
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final float SUBPIXEL_SCALE_Y;
descriptor: F
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final int SUBPIXEL_MASK_X;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final int SUBPIXEL_MASK_Y;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final float RDR_OFFSET_X;
descriptor: F
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final float RDR_OFFSET_Y;
descriptor: F
flags: (0x0018) 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 long OFF_CURX_OR;
descriptor: J
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 0
public static final long OFF_ERROR;
descriptor: J
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final long OFF_BUMP_X;
descriptor: J
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final long OFF_BUMP_ERR;
descriptor: J
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final long OFF_NEXT;
descriptor: J
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final long OFF_YMAX;
descriptor: J
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final int SIZEOF_EDGE_BYTES;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private static final float CUB_DEC_ERR_SUBPIX;
descriptor: F
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final float CUB_INC_ERR_SUBPIX;
descriptor: F
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public static final float SCALE_DY;
descriptor: F
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final float CUB_DEC_BND;
descriptor: F
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final float CUB_INC_BND;
descriptor: F
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final int CUB_COUNT_LG;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int CUB_COUNT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private static final int CUB_COUNT_2;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16
private static final int CUB_COUNT_3;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 64
private static final float CUB_INV_COUNT;
descriptor: F
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0.25
private static final float CUB_INV_COUNT_2;
descriptor: F
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0.0625
private static final float CUB_INV_COUNT_3;
descriptor: F
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0.015625
private static final float QUAD_DEC_ERR_SUBPIX;
descriptor: F
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public static final float QUAD_DEC_BND;
descriptor: F
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private int[] crossings;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private int[] aux_crossings;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private int edgeCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int[] edgePtrs;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private int[] aux_edgePtrs;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private int activeEdgeMaxUsed;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private final 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 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
putstatic sun.java2d.marlin.Renderer.SUBPIXEL_SCALE_X:F
3: getstatic sun.java2d.marlin.Renderer.SUBPIXEL_POSITIONS_Y:I
i2f
putstatic sun.java2d.marlin.Renderer.SUBPIXEL_SCALE_Y:F
4: getstatic sun.java2d.marlin.Renderer.SUBPIXEL_POSITIONS_X:I
iconst_1
isub
putstatic sun.java2d.marlin.Renderer.SUBPIXEL_MASK_X:I
5: getstatic sun.java2d.marlin.Renderer.SUBPIXEL_POSITIONS_Y:I
iconst_1
isub
putstatic sun.java2d.marlin.Renderer.SUBPIXEL_MASK_Y:I
6: ldc 0.5
getstatic sun.java2d.marlin.Renderer.SUBPIXEL_SCALE_X:F
fdiv
putstatic sun.java2d.marlin.Renderer.RDR_OFFSET_X:F
7: ldc 0.5
getstatic sun.java2d.marlin.Renderer.SUBPIXEL_SCALE_Y:F
fdiv
putstatic sun.java2d.marlin.Renderer.RDR_OFFSET_Y:F
8: getstatic sun.java2d.marlin.Renderer.TILE_H: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_HEIGHT: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_2
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: invokestatic sun.java2d.marlin.MarlinProperties.getCubicDecD2:()F
getstatic sun.java2d.marlin.Renderer.SUBPIXEL_POSITIONS_X:I
i2f
ldc 8.0
fdiv
fmul
20: putstatic sun.java2d.marlin.Renderer.CUB_DEC_ERR_SUBPIX:F
21: invokestatic sun.java2d.marlin.MarlinProperties.getCubicIncD1:()F
getstatic sun.java2d.marlin.Renderer.SUBPIXEL_POSITIONS_X:I
i2f
ldc 8.0
fdiv
fmul
22: putstatic sun.java2d.marlin.Renderer.CUB_INC_ERR_SUBPIX:F
23: getstatic sun.java2d.marlin.Renderer.SUBPIXEL_POSITIONS_X:I
i2f
getstatic sun.java2d.marlin.Renderer.SUBPIXEL_POSITIONS_Y:I
i2f
fdiv
putstatic sun.java2d.marlin.Renderer.SCALE_DY:F
24: ldc 8.0
getstatic sun.java2d.marlin.Renderer.CUB_DEC_ERR_SUBPIX:F
fmul
25: putstatic sun.java2d.marlin.Renderer.CUB_DEC_BND:F
26: ldc 8.0
getstatic sun.java2d.marlin.Renderer.CUB_INC_ERR_SUBPIX:F
fmul
27: putstatic sun.java2d.marlin.Renderer.CUB_INC_BND:F
28: invokestatic sun.java2d.marlin.MarlinProperties.getQuadDecD2:()F
getstatic sun.java2d.marlin.Renderer.SUBPIXEL_POSITIONS_X:I
i2f
ldc 8.0
fdiv
fmul
29: putstatic sun.java2d.marlin.Renderer.QUAD_DEC_ERR_SUBPIX:F
30: ldc 8.0
getstatic sun.java2d.marlin.Renderer.QUAD_DEC_ERR_SUBPIX:F
fmul
31: putstatic sun.java2d.marlin.Renderer.QUAD_DEC_BND:F
32: 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
getstatic sun.java2d.marlin.Renderer.SCALE_DY:F
fmul
fadd
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: iload 6
istore 9
start local 9 10: iload 6
iconst_1
if_icmple 27
11: fconst_1
iload 6
i2f
fdiv
fstore 10
start local 10 12: fload 10
fload 10
fmul
fstore 11
start local 11 13: aload 3
getfield 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: fload 1
fstore 16
start local 16 18: fload 2
fstore 17
start local 17 19: goto 26
20: StackMap locals: sun.java2d.marlin.Renderer float float sun.java2d.marlin.Curve float float int float float int float float float float float float float float
StackMap stack:
fload 16
fload 14
fadd
fstore 16
21: fload 17
fload 15
fadd
fstore 17
22: aload 0
fload 1
fload 2
fload 16
fload 17
invokevirtual sun.java2d.marlin.Renderer.addLine:(FFFF)V
23: fload 16
fstore 1
24: fload 17
fstore 2
25: fload 14
fload 12
fadd
fstore 14
fload 15
fload 13
fadd
fstore 15
StackMap locals:
StackMap stack:
26: iinc 6 -1
iload 6
ifgt 20
end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 27: StackMap locals: 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
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
18 27 16 x1 F
19 27 17 y1 F
MethodParameters:
Name Flags
x0
y0
c final
x2 final
y2 final
private void curveBreakIntoLinesAndAdd(float, float, sun.java2d.marlin.Curve, float, float);
descriptor: (FFLsun/java2d/marlin/Curve;FF)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=19, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: iconst_4
istore 6
start local 6 1: fconst_2
aload 3
getfield 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: iconst_0
istore 13
start local 13 8: getstatic sun.java2d.marlin.Renderer.CUB_DEC_BND:F
fstore 14
start local 14 9: getstatic sun.java2d.marlin.Renderer.CUB_INC_BND:F
fstore 15
start local 15 10: getstatic sun.java2d.marlin.Renderer.SCALE_DY:F
fstore 16
start local 16 11: fload 1
fstore 17
start local 17 12: fload 2
fstore 18
start local 18 13: goto 48
14: StackMap locals: sun.java2d.marlin.Renderer float float sun.java2d.marlin.Curve float float int float float float float float float int float float float float float
StackMap stack:
fconst_2
fload 11
fmul
fload 9
fadd
fstore 11
15: fconst_2
fload 12
fmul
fload 10
fadd
fstore 12
16: ldc 4.0
fload 9
fload 7
fadd
fmul
fstore 9
17: ldc 4.0
fload 10
fload 8
fadd
fmul
fstore 10
18: fload 7
ldc 8.0
fmul
fstore 7
19: fload 8
ldc 8.0
fmul
fstore 8
20: iload 6
iconst_1
ishr
istore 6
21: getstatic sun.java2d.marlin.Renderer.DO_STATS:Z
ifeq 23
22: 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
23: StackMap locals:
StackMap stack:
iload 6
iconst_2
irem
ifne 36
24: fload 9
invokestatic java.lang.Math.abs:(F)F
fload 10
invokestatic java.lang.Math.abs:(F)F
fload 16
fmul
fadd
fload 15
25: fcmpg
ifle 14
26: goto 36
27: StackMap locals:
StackMap stack:
fload 7
ldc 8.0
fdiv
fstore 7
28: fload 8
ldc 8.0
fdiv
fstore 8
29: fload 9
ldc 4.0
fdiv
fload 7
fsub
fstore 9
30: fload 10
ldc 4.0
fdiv
fload 8
fsub
fstore 10
31: fload 11
fload 9
fsub
fconst_2
fdiv
fstore 11
32: fload 12
fload 10
fsub
fconst_2
fdiv
fstore 12
33: iload 6
iconst_1
ishl
istore 6
34: getstatic sun.java2d.marlin.Renderer.DO_STATS:Z
ifeq 36
35: 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
36: StackMap locals:
StackMap stack:
fload 9
invokestatic java.lang.Math.abs:(F)F
fload 10
invokestatic java.lang.Math.abs:(F)F
fload 16
fmul
fadd
fload 14
fcmpl
ifge 27
37: iinc 6 -1
iload 6
ifne 39
38: goto 49
39: StackMap locals:
StackMap stack:
fload 17
fload 11
fadd
fstore 17
40: fload 18
fload 12
fadd
fstore 18
41: fload 11
fload 9
fadd
fstore 11
42: fload 12
fload 10
fadd
fstore 12
43: fload 9
fload 7
fadd
fstore 9
44: fload 10
fload 8
fadd
fstore 10
45: aload 0
fload 1
fload 2
fload 17
fload 18
invokevirtual sun.java2d.marlin.Renderer.addLine:(FFFF)V
46: fload 17
fstore 1
47: fload 18
fstore 2
48: StackMap locals:
StackMap stack:
iload 6
ifgt 23
end local 18 end local 17 49: StackMap locals:
StackMap stack:
aload 0
fload 1
fload 2
fload 4
fload 5
invokevirtual sun.java2d.marlin.Renderer.addLine:(FFFF)V
50: getstatic sun.java2d.marlin.Renderer.DO_STATS:Z
ifeq 52
51: 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 13
iconst_1
iadd
invokevirtual sun.java2d.marlin.stats.StatLong.add:(I)V
52: StackMap locals:
StackMap stack:
return
end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 53 0 this Lsun/java2d/marlin/Renderer;
0 53 1 x0 F
0 53 2 y0 F
0 53 3 c Lsun/java2d/marlin/Curve;
0 53 4 x3 F
0 53 5 y3 F
1 53 6 count I
2 53 7 dddx F
3 53 8 dddy F
4 53 9 ddx F
5 53 10 ddy F
6 53 11 dx F
7 53 12 dy F
8 53 13 nL I
9 53 14 _DEC_BND F
10 53 15 _INC_BND F
11 53 16 _SCALE_DY F
12 49 17 x1 F
13 49 18 y1 F
MethodParameters:
Name Flags
x0
y0
c final
x3 final
y3 final
private void addLine(float, float, float, float);
descriptor: (FFFF)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=30, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: getstatic 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 15
dup
getfield sun.java2d.marlin.OffHeapArray.used:I
iload 14
iadd
putfield sun.java2d.marlin.OffHeapArray.used:I
70: return
end local 29 end local 28 end local 27 end local 26 end local 24 end local 22 end local 20 end local 18 end local 17 end local 16 end local 15 end local 14 end local 12 end local 10 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 71 0 this Lsun/java2d/marlin/Renderer;
0 71 1 x1 F
0 71 2 y1 F
0 71 3 x2 F
0 71 4 y2 F
3 71 5 or I
6 11 6 tmp F
12 71 6 firstCrossing I
13 71 7 lastCrossing I
22 71 8 x1d D
23 71 10 y1d D
24 71 12 slope D
35 71 14 _SIZEOF_EDGE_BYTES I
36 71 15 _edges Lsun/java2d/marlin/OffHeapArray;
37 71 16 edgePtr I
41 44 17 edgeNewSize J
45 71 17 _unsafe Ljdk/internal/misc/Unsafe;
46 71 18 addr J
47 71 20 x1_intercept D
50 71 22 x1_fixed_biased J
55 71 24 slope_fixed J
60 71 26 _edgeBuckets [I
61 71 27 _edgeBucketCounts [I
62 71 28 _boundsMinY I
63 71 29 bucketIdx I
MethodParameters:
Name Flags
x1
y1
x2
y2
void <init>(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
getfield sun.java2d.marlin.RendererContext.curve:Lsun/java2d/marlin/Curve;
putfield sun.java2d.marlin.Renderer.curve:Lsun/java2d/marlin/Curve;
9: aload 0
aload 1
getfield sun.java2d.marlin.RendererContext.cache:Lsun/java2d/marlin/MarlinCache;
putfield sun.java2d.marlin.Renderer.cache:Lsun/java2d/marlin/MarlinCache;
10: 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;
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.edgeBuckets_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
12: 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;
13: 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
14: 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
15: 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;
16: 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
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
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 31 0 this Lsun/java2d/marlin/Renderer;
0 31 1 pix_boundsX I
0 31 2 pix_boundsY I
0 31 3 pix_boundsWidth I
0 31 4 pix_boundsHeight I
0 31 5 windingRule I
15 31 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:
aload 0
getfield sun.java2d.marlin.Renderer.rdrCtx:Lsun/java2d/marlin/RendererContext;
invokestatic sun.java2d.marlin.MarlinRenderingEngine.returnRendererContext:(Lsun/java2d/marlin/RendererContext;)V
29: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 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.SUBPIXEL_SCALE_X:F
fload 0
fmul
freturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 pix_x F
MethodParameters:
Name Flags
pix_x final
private static float tosubpixy(float);
descriptor: (F)F
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic sun.java2d.marlin.Renderer.SUBPIXEL_SCALE_Y:F
fload 0
fmul
ldc 0.5
fsub
freturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 pix_y F
MethodParameters:
Name Flags
pix_y final
public void moveTo(float, float);
descriptor: (FF)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual 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 final
pix_y0 final
public void lineTo(float, float);
descriptor: (FF)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: fload 1
invokestatic 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 final
pix_y1 final
public void curveTo(float, float, float, float, float, float);
descriptor: (FFFFFF)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=9, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: fload 5
invokestatic 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
3: fload 1
invokestatic sun.java2d.marlin.Renderer.tosubpixx:(F)F
fload 2
invokestatic sun.java2d.marlin.Renderer.tosubpixy:(F)F
4: fload 3
invokestatic sun.java2d.marlin.Renderer.tosubpixx:(F)F
fload 4
invokestatic sun.java2d.marlin.Renderer.tosubpixy:(F)F
5: fload 7
fload 8
6: invokevirtual sun.java2d.marlin.Curve.set:(FFFFFFFF)V
7: 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
8: aload 0
fload 7
putfield sun.java2d.marlin.Renderer.x0:F
9: aload 0
fload 8
putfield sun.java2d.marlin.Renderer.y0:F
10: return
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/java2d/marlin/Renderer;
0 11 1 pix_x1 F
0 11 2 pix_y1 F
0 11 3 pix_x2 F
0 11 4 pix_y2 F
0 11 5 pix_x3 F
0 11 6 pix_y3 F
1 11 7 xe F
2 11 8 ye F
MethodParameters:
Name Flags
pix_x1 final
pix_y1 final
pix_x2 final
pix_y2 final
pix_x3 final
pix_y3 final
public void quadTo(float, float, float, float);
descriptor: (FFFF)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: fload 3
invokestatic 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
3: fload 1
invokestatic sun.java2d.marlin.Renderer.tosubpixx:(F)F
fload 2
invokestatic sun.java2d.marlin.Renderer.tosubpixy:(F)F
4: fload 5
fload 6
5: invokevirtual sun.java2d.marlin.Curve.set:(FFFFFF)V
6: 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
7: aload 0
fload 5
putfield sun.java2d.marlin.Renderer.x0:F
8: aload 0
fload 6
putfield sun.java2d.marlin.Renderer.y0:F
9: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/java2d/marlin/Renderer;
0 10 1 pix_x1 F
0 10 2 pix_y1 F
0 10 3 pix_x2 F
0 10 4 pix_y2 F
1 10 5 xe F
2 10 6 ye F
MethodParameters:
Name Flags
pix_x1 final
pix_y1 final
pix_x2 final
pix_y2 final
public void closePath();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.java2d.marlin.Renderer.x0:F
aload 0
getfield sun.java2d.marlin.Renderer.sx0:F
fcmpl
ifne 1
aload 0
getfield sun.java2d.marlin.Renderer.y0:F
aload 0
getfield sun.java2d.marlin.Renderer.sy0:F
fcmpl
ifeq 4
1: StackMap locals:
StackMap stack:
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
2: aload 0
aload 0
getfield sun.java2d.marlin.Renderer.sx0:F
putfield sun.java2d.marlin.Renderer.x0:F
3: aload 0
aload 0
getfield sun.java2d.marlin.Renderer.sy0:F
putfield sun.java2d.marlin.Renderer.y0:F
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 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 354
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 330
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 279
230: iload 59
istore 55
start local 55 231: iconst_1
istore 47
goto 277
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 274
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 242
240: iload 57
istore 53
241: goto 244
242: StackMap locals:
StackMap stack:
iload 4
istore 53
243: iload 39
istore 47
244: StackMap locals:
StackMap stack:
iload 52
iload 53
if_icmpge 274
245: iload 52
iload 3
isub
istore 52
246: iload 53
iload 3
isub
istore 53
247: iload 52
iload 30
ishr
istore 61
start local 61 248: iload 53
iconst_1
isub
iload 30
ishr
istore 62
start local 62 249: iload 61
iload 62
if_icmpne 256
250: iload 53
iload 52
isub
istore 54
start local 54 251: aload 6
iload 61
dup2
iaload
iload 54
iadd
iastore
252: aload 6
iload 61
iconst_1
iadd
dup2
iaload
iload 54
isub
iastore
253: iload 73
ifeq 274
254: aload 69
iload 61
iload 70
ishr
iconst_1
iastore
255: goto 274
end local 54 256: 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 257: aload 6
iload 61
dup2
iaload
258: iload 34
iload 54
isub
259: iadd
iastore
260: aload 6
iload 61
iconst_1
iadd
dup2
iaload
261: iload 54
262: iadd
iastore
263: iload 53
iload 30
ishr
istore 63
start local 63 264: iload 53
iload 32
iand
istore 54
265: aload 6
iload 63
dup2
iaload
266: iload 34
iload 54
isub
267: isub
iastore
268: aload 6
iload 63
iconst_1
iadd
dup2
iaload
269: iload 54
270: isub
iastore
271: iload 73
ifeq 274
272: aload 69
iload 61
iload 70
ishr
iconst_1
iastore
273: aload 69
iload 63
iload 70
ishr
iconst_1
iastore
end local 63 end local 62 end local 61 end local 54 274: 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
275: iload 57
istore 56
276: iinc 47 1
StackMap locals:
StackMap stack:
277: iload 47
iload 39
if_icmplt 232
278: goto 330
end local 55 279: 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 280: 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
281: iload 55
ifeq 285
282: iload 56
iload 57
if_icmple 324
283: iload 57
istore 56
284: goto 324
285: StackMap locals:
StackMap stack:
iload 56
iload 3
if_icmple 286
iload 56
goto 287
StackMap locals:
StackMap stack:
286: iload 3
StackMap locals:
StackMap stack: int
287: istore 52
288: iload 57
iload 4
if_icmpge 291
289: iload 57
istore 53
290: goto 293
291: StackMap locals:
StackMap stack:
iload 4
istore 53
292: iload 39
istore 47
293: StackMap locals:
StackMap stack:
iload 52
iload 53
if_icmpge 323
294: iload 52
iload 3
isub
istore 52
295: iload 53
iload 3
isub
istore 53
296: iload 52
iload 30
ishr
istore 61
start local 61 297: iload 53
iconst_1
isub
iload 30
ishr
istore 62
start local 62 298: iload 61
iload 62
if_icmpne 305
299: iload 53
iload 52
isub
istore 54
start local 54 300: aload 6
iload 61
dup2
iaload
iload 54
iadd
iastore
301: aload 6
iload 61
iconst_1
iadd
dup2
iaload
iload 54
isub
iastore
302: iload 73
ifeq 323
303: aload 69
iload 61
iload 70
ishr
iconst_1
iastore
304: goto 323
end local 54 305: 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 306: aload 6
iload 61
dup2
iaload
307: iload 34
iload 54
isub
308: iadd
iastore
309: aload 6
iload 61
iconst_1
iadd
dup2
iaload
310: iload 54
311: iadd
iastore
312: iload 53
iload 30
ishr
istore 63
start local 63 313: iload 53
iload 32
iand
istore 54
314: aload 6
iload 63
dup2
iaload
315: iload 34
iload 54
isub
316: isub
iastore
317: aload 6
iload 63
iconst_1
iadd
dup2
iaload
318: iload 54
319: isub
iastore
320: iload 73
ifeq 323
321: aload 69
iload 61
iload 70
ishr
iconst_1
iastore
322: aload 69
iload 63
iload 70
ishr
iconst_1
iastore
end local 63 end local 62 end local 61 end local 54 323: 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
324: StackMap locals:
StackMap stack:
iload 47
iload 39
if_icmpne 326
325: goto 330
326: StackMap locals:
StackMap stack:
aload 11
iload 47
iaload
istore 58
327: iload 58
iconst_1
ishr
istore 57
328: iload 58
iconst_1
iand
iconst_1
ishl
iconst_1
isub
istore 59
329: iinc 47 1
goto 280
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 330: 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 353
331: iload 37
iload 31
ishr
istore 75
332: iload 35
iload 3
invokestatic sun.java2d.marlin.FloatMath.max:(II)I
iload 30
ishr
istore 35
333: iload 36
iload 4
invokestatic sun.java2d.marlin.FloatMath.min:(II)I
iload 30
ishr
istore 36
334: iload 36
iload 35
if_icmplt 350
335: aload 0
aload 6
iload 75
iload 35
iload 36
iconst_1
iadd
iload 73
invokevirtual sun.java2d.marlin.Renderer.copyAARow:([IIIIZ)V
336: iload 72
ifeq 351
337: iload 36
iload 35
isub
istore 36
338: iload 36
iload 71
if_icmple 341
iload 36
339: iload 39
iload 74
ishr
iconst_1
isub
iload 70
ishl
340: if_icmple 341
iconst_1
goto 342
StackMap locals:
StackMap stack:
341: iconst_0
StackMap locals:
StackMap stack: int
342: istore 73
343: getstatic sun.java2d.marlin.Renderer.DO_STATS:Z
ifeq 351
344: iconst_1
345: iload 39
iload 74
ishr
iconst_1
isub
346: invokestatic sun.java2d.marlin.FloatMath.max:(II)I
istore 54
start local 54 347: 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;
348: iload 36
iload 54
idiv
invokevirtual sun.java2d.marlin.stats.Histogram.add:(I)V
end local 54 349: goto 351
350: StackMap locals:
StackMap stack:
aload 7
iload 75
invokevirtual sun.java2d.marlin.MarlinCache.clearAARow:(I)V
351: StackMap locals:
StackMap stack:
ldc 2147483647
istore 35
352: ldc -2147483648
istore 36
353: 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:
354: iload 37
iload 2
if_icmplt 45
355: iinc 37 -1
356: iload 37
iload 31
ishr
istore 37
357: iload 35
iload 3
invokestatic sun.java2d.marlin.FloatMath.max:(II)I
iload 30
ishr
istore 35
358: iload 36
iload 4
invokestatic sun.java2d.marlin.FloatMath.min:(II)I
iload 30
ishr
istore 36
359: iload 36
iload 35
if_icmplt 362
360: aload 0
aload 6
iload 37
iload 35
iload 36
iconst_1
iadd
iload 73
invokevirtual sun.java2d.marlin.Renderer.copyAARow:([IIIIZ)V
361: goto 364
StackMap locals:
StackMap stack:
362: iload 37
iload 75
if_icmpeq 364
363: aload 7
iload 37
invokevirtual sun.java2d.marlin.MarlinCache.clearAARow:(I)V
364: StackMap locals:
StackMap stack:
aload 0
iload 39
putfield sun.java2d.marlin.Renderer.edgeCount:I
365: aload 0
iload 73
putfield sun.java2d.marlin.Renderer.prevUseBlkFlags:Z
366: getstatic sun.java2d.marlin.Renderer.DO_STATS:Z
ifeq 368
367: aload 0
iload 42
putfield sun.java2d.marlin.Renderer.activeEdgeMaxUsed:I
368: 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 369 0 this Lsun/java2d/marlin/Renderer;
0 369 1 ymin I
0 369 2 ymax I
1 369 3 bboxx0 I
2 369 4 bboxx1 I
5 369 5 windingRuleEvenOdd Z
6 369 6 _alpha [I
7 369 7 _cache Lsun/java2d/marlin/MarlinCache;
8 369 8 _edges Lsun/java2d/marlin/OffHeapArray;
9 369 9 _edgeBuckets [I
10 369 10 _edgeBucketCounts [I
11 369 11 _crossings [I
12 369 12 _edgePtrs [I
13 369 13 _aux_crossings [I
14 369 14 _aux_edgePtrs [I
15 369 15 _OFF_ERROR J
16 369 17 _OFF_BUMP_X J
17 369 19 _OFF_BUMP_ERR J
18 369 21 _OFF_NEXT J
19 369 23 _OFF_YMAX J
20 369 25 _unsafe Ljdk/internal/misc/Unsafe;
21 369 26 addr0 J
52 61 28 addr J
86 112 28 addr J
125 171 28 addr J
184 213 28 addr J
22 369 30 _SUBPIXEL_LG_POSITIONS_X I
23 369 31 _SUBPIXEL_LG_POSITIONS_Y I
24 369 32 _SUBPIXEL_MASK_X I
25 369 33 _SUBPIXEL_MASK_Y I
26 369 34 _SUBPIXEL_POSITIONS_X I
27 369 35 minX I
28 369 36 maxX I
29 369 37 y I
30 369 38 bucket I
31 369 39 numCrossings I
32 369 40 edgePtrsLen I
33 369 41 crossingsLen I
34 369 42 _arrayMaxUsed I
35 369 43 ptrLen I
54 61 44 newCount I
68 112 45 ptrEnd I
46 354 46 bucketcount I
53 61 47 i I
122 173 47 i I
181 330 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 330 51 lastCross I
221 330 52 x0 I
224 330 53 x1 I
251 256 54 tmp I
257 274 54 tmp I
300 305 54 tmp I
306 323 54 tmp I
347 349 54 tmp I
231 279 55 sum I
280 330 55 sum I
228 330 56 prev I
126 171 57 curx I
185 213 57 curx I
227 330 57 curx I
220 330 58 curxo I
229 330 59 crorientation I
131 171 60 err I
190 213 60 err I
248 274 61 pix_x I
297 323 61 pix_x I
249 274 62 pix_xmaxm1 I
298 323 62 pix_xmaxm1 I
264 274 63 pix_xmax I
313 323 63 pix_xmax I
142 159 64 low I
143 159 65 high I
144 159 66 mid I
47 354 67 prevNumCrossings I
120 173 68 useBinarySearch Z
36 369 69 _blkFlags [I
37 369 70 _BLK_SIZE_LG I
38 369 71 _BLK_SIZE I
41 369 72 _enableBlkFlagsHeuristics Z
42 369 73 useBlkFlags Z
43 369 74 stroking I
44 369 75 lastY I
MethodParameters:
Name Flags
ymin final
ymax final
boolean endRendering();
descriptor: ()Z
flags: (0x0000)
Code:
stack=5, locals=10, 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.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 1
start local 1 3: 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
invokestatic sun.java2d.marlin.FloatMath.min:(II)I
istore 2
start local 2 4: aload 0
getfield sun.java2d.marlin.Renderer.edgeMinY:I
istore 3
start local 3 5: aload 0
getfield sun.java2d.marlin.Renderer.edgeMaxY:I
istore 4
start local 4 6: aload 0
iload 3
aload 0
getfield sun.java2d.marlin.Renderer.boundsMinY:I
isub
putfield sun.java2d.marlin.Renderer.buckets_minY:I
7: aload 0
iload 4
aload 0
getfield sun.java2d.marlin.Renderer.boundsMinY:I
isub
putfield sun.java2d.marlin.Renderer.buckets_maxY:I
8: getstatic sun.java2d.marlin.Renderer.DO_LOG_BOUNDS:Z
ifeq 15
9: new java.lang.StringBuilder
dup
ldc "edgesXY = ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield 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;
10: 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;
11: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic sun.java2d.marlin.MarlinUtils.logInfo:(Ljava/lang/String;)V
12: new java.lang.StringBuilder
dup
ldc "spXY = ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " ... "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
13: ldc "[ ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " ... "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
14: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic sun.java2d.marlin.MarlinUtils.logInfo:(Ljava/lang/String;)V
15: StackMap locals: sun.java2d.marlin.Renderer int int int int
StackMap stack:
iload 1
iload 2
if_icmpge 16
iload 3
iload 4
if_icmplt 17
16: StackMap locals:
StackMap stack:
iconst_0
ireturn
17: StackMap locals:
StackMap stack:
iload 1
getstatic sun.java2d.marlin.Renderer.SUBPIXEL_LG_POSITIONS_X:I
ishr
istore 5
start local 5 18: iload 2
getstatic sun.java2d.marlin.Renderer.SUBPIXEL_MASK_X:I
iadd
getstatic sun.java2d.marlin.Renderer.SUBPIXEL_LG_POSITIONS_X:I
ishr
istore 6
start local 6 19: iload 3
getstatic sun.java2d.marlin.Renderer.SUBPIXEL_LG_POSITIONS_Y:I
ishr
istore 7
start local 7 20: iload 4
getstatic sun.java2d.marlin.Renderer.SUBPIXEL_MASK_Y:I
iadd
getstatic sun.java2d.marlin.Renderer.SUBPIXEL_LG_POSITIONS_Y:I
ishr
istore 8
start local 8 21: aload 0
getfield sun.java2d.marlin.Renderer.cache:Lsun/java2d/marlin/MarlinCache;
iload 5
iload 7
iload 6
iload 8
invokevirtual sun.java2d.marlin.MarlinCache.init:(IIII)V
22: getstatic sun.java2d.marlin.Renderer.ENABLE_BLOCK_FLAGS:Z
ifeq 31
23: 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
24: aload 0
aload 0
getfield sun.java2d.marlin.Renderer.enableBlkFlags:Z
ifeq 25
getstatic sun.java2d.marlin.Renderer.ENABLE_BLOCK_FLAGS_HEURISTICS:Z
ifne 25
iconst_1
goto 26
StackMap locals: sun.java2d.marlin.Renderer int int int int int int int int
StackMap stack: sun.java2d.marlin.Renderer
25: iconst_0
StackMap locals: sun.java2d.marlin.Renderer int int int int int int int int
StackMap stack: sun.java2d.marlin.Renderer int
26: putfield sun.java2d.marlin.Renderer.prevUseBlkFlags:Z
27: aload 0
getfield sun.java2d.marlin.Renderer.enableBlkFlags:Z
ifeq 31
28: iload 6
iload 5
isub
getstatic sun.java2d.marlin.Renderer.BLOCK_SIZE_LG:I
ishr
iconst_2
iadd
istore 9
start local 9 29: iload 9
sipush 256
if_icmple 31
30: aload 0
aload 0
getfield sun.java2d.marlin.Renderer.blkFlags_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
iload 9
invokevirtual sun.java2d.marlin.IntArrayCache$Reference.getArray:(I)[I
putfield sun.java2d.marlin.Renderer.blkFlags:[I
end local 9 31: StackMap locals:
StackMap stack:
aload 0
iload 5
getstatic sun.java2d.marlin.Renderer.SUBPIXEL_LG_POSITIONS_X:I
ishl
putfield sun.java2d.marlin.Renderer.bbox_spminX:I
32: aload 0
iload 6
getstatic sun.java2d.marlin.Renderer.SUBPIXEL_LG_POSITIONS_X:I
ishl
putfield sun.java2d.marlin.Renderer.bbox_spmaxX:I
33: aload 0
iload 3
putfield sun.java2d.marlin.Renderer.bbox_spminY:I
34: aload 0
iload 4
putfield sun.java2d.marlin.Renderer.bbox_spmaxY:I
35: getstatic sun.java2d.marlin.Renderer.DO_LOG_BOUNDS:Z
ifeq 43
36: new java.lang.StringBuilder
dup
ldc "pXY = ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 5
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " ... "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 6
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
37: ldc "[ ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " ... "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 8
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
38: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic sun.java2d.marlin.MarlinUtils.logInfo:(Ljava/lang/String;)V
39: new java.lang.StringBuilder
dup
ldc "bbox_spXY = ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield 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;
40: 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;
41: 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;
42: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic sun.java2d.marlin.MarlinUtils.logInfo:(Ljava/lang/String;)V
43: StackMap locals:
StackMap stack:
iload 6
iload 5
isub
iconst_2
iadd
istore 9
start local 9 44: iload 9
getstatic sun.java2d.marlin.Renderer.INITIAL_AA_ARRAY:I
if_icmple 48
45: getstatic sun.java2d.marlin.Renderer.DO_STATS:Z
ifeq 47
46: 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 9
invokevirtual sun.java2d.marlin.stats.StatLong.add:(I)V
47: StackMap locals: int
StackMap stack:
aload 0
aload 0
getfield sun.java2d.marlin.Renderer.alphaLine_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
iload 9
invokevirtual sun.java2d.marlin.IntArrayCache$Reference.getArray:(I)[I
putfield sun.java2d.marlin.Renderer.alphaLine:[I
48: StackMap locals:
StackMap stack:
aload 0
iload 7
invokevirtual sun.java2d.marlin.Renderer.endRendering:(I)V
49: iconst_1
ireturn
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 50 0 this Lsun/java2d/marlin/Renderer;
3 50 1 spminX I
4 50 2 spmaxX I
5 50 3 spminY I
6 50 4 spmaxY I
18 50 5 pminX I
19 50 6 pmaxX I
20 50 7 pminY I
21 50 8 pmaxY I
29 31 9 blkLen I
44 50 9 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