final class sun.java2d.marlin.DRenderer implements sun.java2d.marlin.DPathConsumer2D, sun.java2d.marlin.MarlinRenderer
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.java2d.marlin.DRenderer
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 double SUBPIXEL_SCALE_X;
descriptor: D
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final double SUBPIXEL_SCALE_Y;
descriptor: D
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final int SUBPIXEL_MASK_X;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final int SUBPIXEL_MASK_Y;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final double RDR_OFFSET_X;
descriptor: D
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final double RDR_OFFSET_Y;
descriptor: D
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 double CUB_DEC_ERR_SUBPIX;
descriptor: D
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final double CUB_INC_ERR_SUBPIX;
descriptor: D
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public static final double CUB_DEC_BND;
descriptor: D
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final double CUB_INC_BND;
descriptor: D
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final int CUB_COUNT_LG;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int CUB_COUNT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private static final int CUB_COUNT_2;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16
private static final int CUB_COUNT_3;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 64
private static final double CUB_INV_COUNT;
descriptor: D
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0.25
private static final double CUB_INV_COUNT_2;
descriptor: D
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0.0625
private static final double CUB_INV_COUNT_3;
descriptor: D
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0.015625
private static final double QUAD_DEC_ERR_SUBPIX;
descriptor: D
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public static final double QUAD_DEC_BND;
descriptor: D
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private int[] crossings;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private int[] aux_crossings;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private int edgeCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int[] edgePtrs;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private int[] aux_edgePtrs;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private int activeEdgeMaxUsed;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private final 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 double edgeMinX;
descriptor: D
flags: (0x0002) ACC_PRIVATE
private double edgeMaxX;
descriptor: D
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 double x0;
descriptor: D
flags: (0x0002) ACC_PRIVATE
private double y0;
descriptor: D
flags: (0x0002) ACC_PRIVATE
private double sx0;
descriptor: D
flags: (0x0002) ACC_PRIVATE
private double sy0;
descriptor: D
flags: (0x0002) ACC_PRIVATE
final sun.java2d.marlin.DRendererContext rdrCtx;
descriptor: Lsun/java2d/marlin/DRendererContext;
flags: (0x0010) ACC_FINAL
private final sun.java2d.marlin.DCurve curve;
descriptor: Lsun/java2d/marlin/DCurve;
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=6, locals=0, args_size=0
0: invokestatic sun.java2d.marlin.MarlinProperties.isUseTileFlags:()Z
putstatic sun.java2d.marlin.DRenderer.ENABLE_BLOCK_FLAGS:Z
1: invokestatic sun.java2d.marlin.MarlinProperties.isUseTileFlagsWithHeuristics:()Z
putstatic sun.java2d.marlin.DRenderer.ENABLE_BLOCK_FLAGS_HEURISTICS:Z
2: getstatic sun.java2d.marlin.DRenderer.SUBPIXEL_POSITIONS_X:I
i2d
putstatic sun.java2d.marlin.DRenderer.SUBPIXEL_SCALE_X:D
3: getstatic sun.java2d.marlin.DRenderer.SUBPIXEL_POSITIONS_Y:I
i2d
putstatic sun.java2d.marlin.DRenderer.SUBPIXEL_SCALE_Y:D
4: getstatic sun.java2d.marlin.DRenderer.SUBPIXEL_POSITIONS_X:I
iconst_1
isub
putstatic sun.java2d.marlin.DRenderer.SUBPIXEL_MASK_X:I
5: getstatic sun.java2d.marlin.DRenderer.SUBPIXEL_POSITIONS_Y:I
iconst_1
isub
putstatic sun.java2d.marlin.DRenderer.SUBPIXEL_MASK_Y:I
6: ldc 0.5
getstatic sun.java2d.marlin.DRenderer.SUBPIXEL_SCALE_X:D
ddiv
putstatic sun.java2d.marlin.DRenderer.RDR_OFFSET_X:D
7: ldc 0.5
getstatic sun.java2d.marlin.DRenderer.SUBPIXEL_SCALE_Y:D
ddiv
putstatic sun.java2d.marlin.DRenderer.RDR_OFFSET_Y:D
8: getstatic sun.java2d.marlin.DRenderer.TILE_H:I
getstatic sun.java2d.marlin.DRenderer.SUBPIXEL_LG_POSITIONS_Y:I
ishl
9: putstatic sun.java2d.marlin.DRenderer.SUBPIXEL_TILE:I
10: getstatic sun.java2d.marlin.DRenderer.INITIAL_PIXEL_DIM:I
getstatic sun.java2d.marlin.DRenderer.SUBPIXEL_POSITIONS_Y:I
imul
11: putstatic sun.java2d.marlin.DRenderer.INITIAL_BUCKET_ARRAY:I
12: getstatic sun.java2d.marlin.DRenderer.INITIAL_EDGES_COUNT:I
iconst_2
ishr
putstatic sun.java2d.marlin.DRenderer.INITIAL_CROSSING_COUNT:I
13: lconst_0
getstatic sun.java2d.marlin.OffHeapArray.SIZE_INT:I
i2l
ladd
putstatic sun.java2d.marlin.DRenderer.OFF_ERROR:J
14: getstatic sun.java2d.marlin.DRenderer.OFF_ERROR:J
getstatic sun.java2d.marlin.OffHeapArray.SIZE_INT:I
i2l
ladd
putstatic sun.java2d.marlin.DRenderer.OFF_BUMP_X:J
15: getstatic sun.java2d.marlin.DRenderer.OFF_BUMP_X:J
getstatic sun.java2d.marlin.OffHeapArray.SIZE_INT:I
i2l
ladd
putstatic sun.java2d.marlin.DRenderer.OFF_BUMP_ERR:J
16: getstatic sun.java2d.marlin.DRenderer.OFF_BUMP_ERR:J
getstatic sun.java2d.marlin.OffHeapArray.SIZE_INT:I
i2l
ladd
putstatic sun.java2d.marlin.DRenderer.OFF_NEXT:J
17: getstatic sun.java2d.marlin.DRenderer.OFF_NEXT:J
getstatic sun.java2d.marlin.OffHeapArray.SIZE_INT:I
i2l
ladd
putstatic sun.java2d.marlin.DRenderer.OFF_YMAX:J
18: getstatic sun.java2d.marlin.DRenderer.OFF_YMAX:J
getstatic sun.java2d.marlin.OffHeapArray.SIZE_INT:I
i2l
ladd
l2i
putstatic sun.java2d.marlin.DRenderer.SIZEOF_EDGE_BYTES:I
19: invokestatic sun.java2d.marlin.MarlinProperties.getCubicDecD2:()F
f2d
getstatic sun.java2d.marlin.DRenderer.NORM_SUBPIXELS:F
f2d
ldc 8.0
ddiv
dmul
20: putstatic sun.java2d.marlin.DRenderer.CUB_DEC_ERR_SUBPIX:D
21: invokestatic sun.java2d.marlin.MarlinProperties.getCubicIncD1:()F
f2d
getstatic sun.java2d.marlin.DRenderer.NORM_SUBPIXELS:F
f2d
ldc 8.0
ddiv
dmul
22: putstatic sun.java2d.marlin.DRenderer.CUB_INC_ERR_SUBPIX:D
23: ldc 8.0
getstatic sun.java2d.marlin.DRenderer.CUB_DEC_ERR_SUBPIX:D
dmul
24: putstatic sun.java2d.marlin.DRenderer.CUB_DEC_BND:D
25: ldc 8.0
getstatic sun.java2d.marlin.DRenderer.CUB_INC_ERR_SUBPIX:D
dmul
26: putstatic sun.java2d.marlin.DRenderer.CUB_INC_BND:D
27: invokestatic sun.java2d.marlin.MarlinProperties.getQuadDecD2:()F
f2d
getstatic sun.java2d.marlin.DRenderer.NORM_SUBPIXELS:F
f2d
ldc 8.0
ddiv
dmul
28: putstatic sun.java2d.marlin.DRenderer.QUAD_DEC_ERR_SUBPIX:D
29: ldc 8.0
getstatic sun.java2d.marlin.DRenderer.QUAD_DEC_ERR_SUBPIX:D
dmul
30: putstatic sun.java2d.marlin.DRenderer.QUAD_DEC_BND:D
31: return
LocalVariableTable:
Start End Slot Name Signature
private void quadBreakIntoLinesAndAdd(double, double, sun.java2d.marlin.DCurve, double, double);
descriptor: (DDLsun/java2d/marlin/DCurve;DD)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=32, args_size=6
start local 0 start local 1 start local 3 start local 5 start local 6 start local 8 0: iconst_1
istore 10
start local 10 1: aload 5
getfield sun.java2d.marlin.DCurve.dbx:D
invokestatic java.lang.Math.abs:(D)D
aload 5
getfield sun.java2d.marlin.DCurve.dby:D
invokestatic java.lang.Math.abs:(D)D
dadd
dstore 11
start local 11 2: getstatic sun.java2d.marlin.DRenderer.QUAD_DEC_BND:D
dstore 13
start local 13 3: goto 8
4: StackMap locals: int double double
StackMap stack:
dload 11
ldc 4.0
ddiv
dstore 11
5: iload 10
iconst_1
ishl
istore 10
6: getstatic sun.java2d.marlin.DRenderer.DO_STATS:Z
ifeq 8
7: aload 0
getfield sun.java2d.marlin.DRenderer.rdrCtx:Lsun/java2d/marlin/DRendererContext;
getfield sun.java2d.marlin.DRendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.stat_rdr_quadBreak_dec:Lsun/java2d/marlin/stats/StatLong;
iload 10
invokevirtual sun.java2d.marlin.stats.StatLong.add:(I)V
8: StackMap locals:
StackMap stack:
dload 11
dload 13
dcmpl
ifge 4
9: iconst_0
istore 15
start local 15 10: iload 10
iconst_1
if_icmple 27
11: dconst_1
iload 10
i2d
ddiv
dstore 16
start local 16 12: dload 16
dload 16
dmul
dstore 18
start local 18 13: aload 5
getfield sun.java2d.marlin.DCurve.dbx:D
dload 18
dmul
dstore 20
start local 20 14: aload 5
getfield sun.java2d.marlin.DCurve.dby:D
dload 18
dmul
dstore 22
start local 22 15: aload 5
getfield sun.java2d.marlin.DCurve.bx:D
dload 18
dmul
aload 5
getfield sun.java2d.marlin.DCurve.cx:D
dload 16
dmul
dadd
dstore 24
start local 24 16: aload 5
getfield sun.java2d.marlin.DCurve.by:D
dload 18
dmul
aload 5
getfield sun.java2d.marlin.DCurve.cy:D
dload 16
dmul
dadd
dstore 26
start local 26 17: goto 26
18: StackMap locals: sun.java2d.marlin.DRenderer double double sun.java2d.marlin.DCurve double double int double double int double double double double double double
StackMap stack:
dload 1
dload 24
dadd
dstore 28
start local 28 19: dload 24
dload 20
dadd
dstore 24
20: dload 3
dload 26
dadd
dstore 30
start local 30 21: dload 26
dload 22
dadd
dstore 26
22: aload 0
dload 1
dload 3
dload 28
dload 30
invokevirtual sun.java2d.marlin.DRenderer.addLine:(DDDD)V
23: getstatic sun.java2d.marlin.DRenderer.DO_STATS:Z
ifeq 24
iinc 15 1
24: StackMap locals: double double
StackMap stack:
dload 28
dstore 1
25: dload 30
dstore 3
end local 30 end local 28 26: StackMap locals:
StackMap stack:
iinc 10 -1
iload 10
ifgt 18
end local 26 end local 24 end local 22 end local 20 end local 18 end local 16 27: StackMap locals: sun.java2d.marlin.DRenderer double double sun.java2d.marlin.DCurve double double int double double int
StackMap stack:
aload 0
dload 1
dload 3
dload 6
dload 8
invokevirtual sun.java2d.marlin.DRenderer.addLine:(DDDD)V
28: getstatic sun.java2d.marlin.DRenderer.DO_STATS:Z
ifeq 30
29: aload 0
getfield sun.java2d.marlin.DRenderer.rdrCtx:Lsun/java2d/marlin/DRendererContext;
getfield sun.java2d.marlin.DRendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.stat_rdr_quadBreak:Lsun/java2d/marlin/stats/StatLong;
iload 15
iconst_1
iadd
invokevirtual sun.java2d.marlin.stats.StatLong.add:(I)V
30: StackMap locals:
StackMap stack:
return
end local 15 end local 13 end local 11 end local 10 end local 8 end local 6 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lsun/java2d/marlin/DRenderer;
0 31 1 x0 D
0 31 3 y0 D
0 31 5 c Lsun/java2d/marlin/DCurve;
0 31 6 x2 D
0 31 8 y2 D
1 31 10 count I
2 31 11 maxDD D
3 31 13 _DEC_BND D
10 31 15 nL I
12 27 16 icount D
13 27 18 icount2 D
14 27 20 ddx D
15 27 22 ddy D
16 27 24 dx D
17 27 26 dy D
19 26 28 x1 D
21 26 30 y1 D
MethodParameters:
Name Flags
x0
y0
c final
x2 final
y2 final
private void curveBreakIntoLinesAndAdd(double, double, sun.java2d.marlin.DCurve, double, double);
descriptor: (DDLsun/java2d/marlin/DCurve;DD)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=32, args_size=6
start local 0 start local 1 start local 3 start local 5 start local 6 start local 8 0: iconst_4
istore 10
start local 10 1: ldc 2.0
aload 5
getfield sun.java2d.marlin.DCurve.dax:D
dmul
ldc 0.015625
dmul
dstore 11
start local 11 2: ldc 2.0
aload 5
getfield sun.java2d.marlin.DCurve.day:D
dmul
ldc 0.015625
dmul
dstore 13
start local 13 3: dload 11
aload 5
getfield sun.java2d.marlin.DCurve.dbx:D
ldc 0.0625
dmul
dadd
dstore 15
start local 15 4: dload 13
aload 5
getfield sun.java2d.marlin.DCurve.dby:D
ldc 0.0625
dmul
dadd
dstore 17
start local 17 5: aload 5
getfield sun.java2d.marlin.DCurve.ax:D
ldc 0.015625
dmul
aload 5
getfield sun.java2d.marlin.DCurve.bx:D
ldc 0.0625
dmul
dadd
aload 5
getfield sun.java2d.marlin.DCurve.cx:D
ldc 0.25
dmul
dadd
dstore 19
start local 19 6: aload 5
getfield sun.java2d.marlin.DCurve.ay:D
ldc 0.015625
dmul
aload 5
getfield sun.java2d.marlin.DCurve.by:D
ldc 0.0625
dmul
dadd
aload 5
getfield sun.java2d.marlin.DCurve.cy:D
ldc 0.25
dmul
dadd
dstore 21
start local 21 7: dload 1
dstore 23
start local 23 8: dload 3
dstore 25
start local 25 9: iconst_0
istore 27
start local 27 10: getstatic sun.java2d.marlin.DRenderer.CUB_DEC_BND:D
dstore 28
start local 28 11: getstatic sun.java2d.marlin.DRenderer.CUB_INC_BND:D
dstore 30
start local 30 12: goto 50
13: StackMap locals: sun.java2d.marlin.DRenderer double double sun.java2d.marlin.DCurve double double int double double double double double double double double int double double
StackMap stack:
dload 11
ldc 8.0
ddiv
dstore 11
14: dload 13
ldc 8.0
ddiv
dstore 13
15: dload 15
ldc 4.0
ddiv
dload 11
dsub
dstore 15
16: dload 17
ldc 4.0
ddiv
dload 13
dsub
dstore 17
17: dload 19
dload 15
dsub
ldc 2.0
ddiv
dstore 19
18: dload 21
dload 17
dsub
ldc 2.0
ddiv
dstore 21
19: iload 10
iconst_1
ishl
istore 10
20: getstatic sun.java2d.marlin.DRenderer.DO_STATS:Z
ifeq 22
21: aload 0
getfield sun.java2d.marlin.DRenderer.rdrCtx:Lsun/java2d/marlin/DRendererContext;
getfield sun.java2d.marlin.DRendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.stat_rdr_curveBreak_dec:Lsun/java2d/marlin/stats/StatLong;
iload 10
invokevirtual sun.java2d.marlin.stats.StatLong.add:(I)V
22: StackMap locals:
StackMap stack:
dload 15
invokestatic java.lang.Math.abs:(D)D
dload 17
invokestatic java.lang.Math.abs:(D)D
dadd
dload 28
dcmpl
ifge 13
23: goto 33
24: StackMap locals:
StackMap stack:
ldc 2.0
dload 19
dmul
dload 15
dadd
dstore 19
25: ldc 2.0
dload 21
dmul
dload 17
dadd
dstore 21
26: ldc 4.0
dload 15
dload 11
dadd
dmul
dstore 15
27: ldc 4.0
dload 17
dload 13
dadd
dmul
dstore 17
28: dload 11
ldc 8.0
dmul
dstore 11
29: dload 13
ldc 8.0
dmul
dstore 13
30: iload 10
iconst_1
ishr
istore 10
31: getstatic sun.java2d.marlin.DRenderer.DO_STATS:Z
ifeq 33
32: aload 0
getfield sun.java2d.marlin.DRenderer.rdrCtx:Lsun/java2d/marlin/DRendererContext;
getfield sun.java2d.marlin.DRendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.stat_rdr_curveBreak_inc:Lsun/java2d/marlin/stats/StatLong;
iload 10
invokevirtual sun.java2d.marlin.stats.StatLong.add:(I)V
33: StackMap locals:
StackMap stack:
iload 10
iconst_2
irem
ifne 36
34: dload 19
invokestatic java.lang.Math.abs:(D)D
dload 21
invokestatic java.lang.Math.abs:(D)D
dadd
dload 30
35: dcmpg
ifle 24
36: StackMap locals:
StackMap stack:
iinc 10 -1
iload 10
ifle 44
37: dload 23
dload 19
dadd
dstore 23
38: dload 19
dload 15
dadd
dstore 19
39: dload 15
dload 11
dadd
dstore 15
40: dload 25
dload 21
dadd
dstore 25
41: dload 21
dload 17
dadd
dstore 21
42: dload 17
dload 13
dadd
dstore 17
43: goto 46
44: StackMap locals:
StackMap stack:
dload 6
dstore 23
45: dload 8
dstore 25
46: StackMap locals:
StackMap stack:
aload 0
dload 1
dload 3
dload 23
dload 25
invokevirtual sun.java2d.marlin.DRenderer.addLine:(DDDD)V
47: getstatic sun.java2d.marlin.DRenderer.DO_STATS:Z
ifeq 48
iinc 27 1
48: StackMap locals:
StackMap stack:
dload 23
dstore 1
49: dload 25
dstore 3
50: StackMap locals:
StackMap stack:
iload 10
ifgt 22
51: getstatic sun.java2d.marlin.DRenderer.DO_STATS:Z
ifeq 53
52: aload 0
getfield sun.java2d.marlin.DRenderer.rdrCtx:Lsun/java2d/marlin/DRendererContext;
getfield sun.java2d.marlin.DRendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.stat_rdr_curveBreak:Lsun/java2d/marlin/stats/StatLong;
iload 27
invokevirtual sun.java2d.marlin.stats.StatLong.add:(I)V
53: StackMap locals:
StackMap stack:
return
end local 30 end local 28 end local 27 end local 25 end local 23 end local 21 end local 19 end local 17 end local 15 end local 13 end local 11 end local 10 end local 8 end local 6 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 54 0 this Lsun/java2d/marlin/DRenderer;
0 54 1 x0 D
0 54 3 y0 D
0 54 5 c Lsun/java2d/marlin/DCurve;
0 54 6 x3 D
0 54 8 y3 D
1 54 10 count I
2 54 11 dddx D
3 54 13 dddy D
4 54 15 ddx D
5 54 17 ddy D
6 54 19 dx D
7 54 21 dy D
8 54 23 x1 D
9 54 25 y1 D
10 54 27 nL I
11 54 28 _DEC_BND D
12 54 30 _INC_BND D
MethodParameters:
Name Flags
x0
y0
c final
x3 final
y3 final
private void addLine(double, double, double, double);
descriptor: (DDDD)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=30, args_size=5
start local 0 start local 1 start local 3 start local 5 start local 7 0: getstatic sun.java2d.marlin.DRenderer.DO_STATS:Z
ifeq 2
1: aload 0
getfield sun.java2d.marlin.DRenderer.rdrCtx:Lsun/java2d/marlin/DRendererContext;
getfield sun.java2d.marlin.DRendererContext.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 9
start local 9 3: dload 7
dload 3
dcmpg
ifge 11
4: iconst_0
istore 9
5: dload 7
dstore 10
start local 10 6: dload 3
dstore 7
7: dload 10
dstore 3
8: dload 5
dstore 10
9: dload 1
dstore 5
10: dload 10
dstore 1
end local 10 11: StackMap locals: int
StackMap stack:
dload 3
invokestatic sun.java2d.marlin.FloatMath.ceil_int:(D)I
aload 0
getfield sun.java2d.marlin.DRenderer.boundsMinY:I
invokestatic sun.java2d.marlin.FloatMath.max:(II)I
istore 10
start local 10 12: dload 7
invokestatic sun.java2d.marlin.FloatMath.ceil_int:(D)I
aload 0
getfield sun.java2d.marlin.DRenderer.boundsMaxY:I
invokestatic sun.java2d.marlin.FloatMath.min:(II)I
istore 11
start local 11 13: iload 10
iload 11
if_icmplt 17
14: getstatic sun.java2d.marlin.DRenderer.DO_STATS:Z
ifeq 16
15: aload 0
getfield sun.java2d.marlin.DRenderer.rdrCtx:Lsun/java2d/marlin/DRendererContext;
getfield sun.java2d.marlin.DRendererContext.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 10
aload 0
getfield sun.java2d.marlin.DRenderer.edgeMinY:I
if_icmpge 19
18: aload 0
iload 10
putfield sun.java2d.marlin.DRenderer.edgeMinY:I
19: StackMap locals:
StackMap stack:
iload 11
aload 0
getfield sun.java2d.marlin.DRenderer.edgeMaxY:I
if_icmple 21
20: aload 0
iload 11
putfield sun.java2d.marlin.DRenderer.edgeMaxY:I
21: StackMap locals:
StackMap stack:
dload 1
dload 5
dsub
dload 3
dload 7
dsub
ddiv
dstore 12
start local 12 22: dload 12
dconst_0
dcmpl
iflt 28
23: dload 1
aload 0
getfield sun.java2d.marlin.DRenderer.edgeMinX:D
dcmpg
ifge 25
24: aload 0
dload 1
putfield sun.java2d.marlin.DRenderer.edgeMinX:D
25: StackMap locals: double
StackMap stack:
dload 5
aload 0
getfield sun.java2d.marlin.DRenderer.edgeMaxX:D
dcmpl
ifle 32
26: aload 0
dload 5
putfield sun.java2d.marlin.DRenderer.edgeMaxX:D
27: goto 32
28: StackMap locals:
StackMap stack:
dload 5
aload 0
getfield sun.java2d.marlin.DRenderer.edgeMinX:D
dcmpg
ifge 30
29: aload 0
dload 5
putfield sun.java2d.marlin.DRenderer.edgeMinX:D
30: StackMap locals:
StackMap stack:
dload 1
aload 0
getfield sun.java2d.marlin.DRenderer.edgeMaxX:D
dcmpl
ifle 32
31: aload 0
dload 1
putfield sun.java2d.marlin.DRenderer.edgeMaxX:D
32: StackMap locals:
StackMap stack:
getstatic sun.java2d.marlin.DRenderer.SIZEOF_EDGE_BYTES:I
istore 14
start local 14 33: aload 0
getfield sun.java2d.marlin.DRenderer.edges:Lsun/java2d/marlin/OffHeapArray;
astore 15
start local 15 34: aload 15
getfield sun.java2d.marlin.OffHeapArray.used:I
istore 16
start local 16 35: aload 15
getfield sun.java2d.marlin.OffHeapArray.length:J
iload 16
i2l
lsub
iload 14
i2l
lcmp
ifge 42
36: aload 15
getfield sun.java2d.marlin.OffHeapArray.length:J
37: iload 16
iload 14
iadd
i2l
38: invokestatic sun.java2d.marlin.ArrayCacheConst.getNewLargeSize:(JJ)J
lstore 17
start local 17 39: getstatic sun.java2d.marlin.DRenderer.DO_STATS:Z
ifeq 41
40: aload 0
getfield sun.java2d.marlin.DRenderer.rdrCtx:Lsun/java2d/marlin/DRendererContext;
getfield sun.java2d.marlin.DRendererContext.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
41: StackMap locals: sun.java2d.marlin.DRenderer double double double double int int int 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 42: StackMap locals:
StackMap stack:
getstatic sun.java2d.marlin.OffHeapArray.UNSAFE:Ljdk/internal/misc/Unsafe;
astore 17
start local 17 43: aload 15
getfield sun.java2d.marlin.OffHeapArray.address:J
iload 16
i2l
ladd
lstore 18
start local 18 44: dload 1
iload 10
i2d
dload 3
dsub
dload 12
dmul
dadd
dstore 20
start local 20 45: ldc 4.294967296E9
dload 20
dmul
d2l
46: ldc 2147483647
47: ladd
lstore 22
start local 22 48: aload 17
lload 18
lload 22
bipush 31
lshr
l2i
bipush -2
iand
iload 9
ior
invokevirtual jdk.internal.misc.Unsafe.putInt:(JI)V
49: lload 18
ldc 4
ladd
lstore 18
50: aload 17
lload 18
lload 22
l2i
iconst_1
iushr
invokevirtual jdk.internal.misc.Unsafe.putInt:(JI)V
51: lload 18
ldc 4
ladd
lstore 18
52: ldc 4.294967296E9
dload 12
dmul
d2l
lstore 24
start local 24 53: aload 17
lload 18
lload 24
bipush 31
lshr
l2i
bipush -2
iand
invokevirtual jdk.internal.misc.Unsafe.putInt:(JI)V
54: lload 18
ldc 4
ladd
lstore 18
55: aload 17
lload 18
lload 24
l2i
iconst_1
iushr
invokevirtual jdk.internal.misc.Unsafe.putInt:(JI)V
56: lload 18
ldc 4
ladd
lstore 18
57: aload 0
getfield sun.java2d.marlin.DRenderer.edgeBuckets:[I
astore 26
start local 26 58: aload 0
getfield sun.java2d.marlin.DRenderer.edgeBucketCounts:[I
astore 27
start local 27 59: aload 0
getfield sun.java2d.marlin.DRenderer.boundsMinY:I
istore 28
start local 28 60: iload 10
iload 28
isub
istore 29
start local 29 61: aload 17
lload 18
aload 26
iload 29
iaload
invokevirtual jdk.internal.misc.Unsafe.putInt:(JI)V
62: lload 18
ldc 4
ladd
lstore 18
63: aload 17
lload 18
iload 11
invokevirtual jdk.internal.misc.Unsafe.putInt:(JI)V
64: aload 26
iload 29
iload 16
iastore
65: aload 27
iload 29
dup2
iaload
iconst_2
iadd
iastore
66: aload 27
iload 11
iload 28
isub
dup2
iaload
iconst_1
ior
iastore
67: aload 15
dup
getfield sun.java2d.marlin.OffHeapArray.used:I
iload 14
iadd
putfield sun.java2d.marlin.OffHeapArray.used:I
68: return
end local 29 end local 28 end local 27 end local 26 end local 24 end local 22 end local 20 end local 18 end local 17 end local 16 end local 15 end local 14 end local 12 end local 11 end local 10 end local 9 end local 7 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 69 0 this Lsun/java2d/marlin/DRenderer;
0 69 1 x1 D
0 69 3 y1 D
0 69 5 x2 D
0 69 7 y2 D
3 69 9 or I
6 11 10 tmp D
12 69 10 firstCrossing I
13 69 11 lastCrossing I
22 69 12 slope D
33 69 14 _SIZEOF_EDGE_BYTES I
34 69 15 _edges Lsun/java2d/marlin/OffHeapArray;
35 69 16 edgePtr I
39 42 17 edgeNewSize J
43 69 17 _unsafe Ljdk/internal/misc/Unsafe;
44 69 18 addr J
45 69 20 x1_intercept D
48 69 22 x1_fixed_biased J
53 69 24 slope_fixed J
58 69 26 _edgeBuckets [I
59 69 27 _edgeBucketCounts [I
60 69 28 _boundsMinY I
61 69 29 bucketIdx I
MethodParameters:
Name Flags
x1
y1
x2
y2
void <init>(sun.java2d.marlin.DRendererContext);
descriptor: (Lsun/java2d/marlin/DRendererContext;)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.DRenderer.edgeMinY:I
2: aload 0
ldc -2147483648
putfield sun.java2d.marlin.DRenderer.edgeMaxY:I
3: aload 0
ldc Infinity
putfield sun.java2d.marlin.DRenderer.edgeMinX:D
4: aload 0
ldc -Infinity
putfield sun.java2d.marlin.DRenderer.edgeMaxX:D
5: aload 0
iconst_0
putfield sun.java2d.marlin.DRenderer.enableBlkFlags:Z
6: aload 0
iconst_0
putfield sun.java2d.marlin.DRenderer.prevUseBlkFlags:Z
7: aload 0
aload 1
putfield sun.java2d.marlin.DRenderer.rdrCtx:Lsun/java2d/marlin/DRendererContext;
8: aload 0
aload 1
getfield sun.java2d.marlin.DRendererContext.curve:Lsun/java2d/marlin/DCurve;
putfield sun.java2d.marlin.DRenderer.curve:Lsun/java2d/marlin/DCurve;
9: aload 0
aload 1
getfield sun.java2d.marlin.DRendererContext.cache:Lsun/java2d/marlin/MarlinCache;
putfield sun.java2d.marlin.DRenderer.cache:Lsun/java2d/marlin/MarlinCache;
10: aload 0
aload 1
getstatic sun.java2d.marlin.DRenderer.INITIAL_EDGES_CAPACITY:I
i2l
invokevirtual sun.java2d.marlin.DRendererContext.newOffHeapArray:(J)Lsun/java2d/marlin/OffHeapArray;
putfield sun.java2d.marlin.DRenderer.edges:Lsun/java2d/marlin/OffHeapArray;
11: aload 0
aload 1
getstatic sun.java2d.marlin.DRenderer.INITIAL_BUCKET_ARRAY:I
invokevirtual sun.java2d.marlin.DRendererContext.newCleanIntArrayRef:(I)Lsun/java2d/marlin/IntArrayCache$Reference;
putfield sun.java2d.marlin.DRenderer.edgeBuckets_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
12: aload 0
aload 1
getstatic sun.java2d.marlin.DRenderer.INITIAL_BUCKET_ARRAY:I
invokevirtual sun.java2d.marlin.DRendererContext.newCleanIntArrayRef:(I)Lsun/java2d/marlin/IntArrayCache$Reference;
putfield sun.java2d.marlin.DRenderer.edgeBucketCounts_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
13: aload 0
aload 0
getfield sun.java2d.marlin.DRenderer.edgeBuckets_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
getfield sun.java2d.marlin.IntArrayCache$Reference.initial:[I
putfield sun.java2d.marlin.DRenderer.edgeBuckets:[I
14: aload 0
aload 0
getfield sun.java2d.marlin.DRenderer.edgeBucketCounts_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
getfield sun.java2d.marlin.IntArrayCache$Reference.initial:[I
putfield sun.java2d.marlin.DRenderer.edgeBucketCounts:[I
15: aload 0
aload 1
getstatic sun.java2d.marlin.DRenderer.INITIAL_AA_ARRAY:I
invokevirtual sun.java2d.marlin.DRendererContext.newCleanIntArrayRef:(I)Lsun/java2d/marlin/IntArrayCache$Reference;
putfield sun.java2d.marlin.DRenderer.alphaLine_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
16: aload 0
aload 0
getfield sun.java2d.marlin.DRenderer.alphaLine_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
getfield sun.java2d.marlin.IntArrayCache$Reference.initial:[I
putfield sun.java2d.marlin.DRenderer.alphaLine:[I
17: aload 0
aload 1
getstatic sun.java2d.marlin.DRenderer.INITIAL_CROSSING_COUNT:I
invokevirtual sun.java2d.marlin.DRendererContext.newDirtyIntArrayRef:(I)Lsun/java2d/marlin/IntArrayCache$Reference;
putfield sun.java2d.marlin.DRenderer.crossings_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
18: aload 0
aload 1
getstatic sun.java2d.marlin.DRenderer.INITIAL_CROSSING_COUNT:I
invokevirtual sun.java2d.marlin.DRendererContext.newDirtyIntArrayRef:(I)Lsun/java2d/marlin/IntArrayCache$Reference;
putfield sun.java2d.marlin.DRenderer.aux_crossings_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
19: aload 0
aload 1
getstatic sun.java2d.marlin.DRenderer.INITIAL_CROSSING_COUNT:I
invokevirtual sun.java2d.marlin.DRendererContext.newDirtyIntArrayRef:(I)Lsun/java2d/marlin/IntArrayCache$Reference;
putfield sun.java2d.marlin.DRenderer.edgePtrs_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
20: aload 0
aload 1
getstatic sun.java2d.marlin.DRenderer.INITIAL_CROSSING_COUNT:I
invokevirtual sun.java2d.marlin.DRendererContext.newDirtyIntArrayRef:(I)Lsun/java2d/marlin/IntArrayCache$Reference;
putfield sun.java2d.marlin.DRenderer.aux_edgePtrs_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
21: aload 0
aload 0
getfield sun.java2d.marlin.DRenderer.crossings_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
getfield sun.java2d.marlin.IntArrayCache$Reference.initial:[I
putfield sun.java2d.marlin.DRenderer.crossings:[I
22: aload 0
aload 0
getfield sun.java2d.marlin.DRenderer.aux_crossings_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
getfield sun.java2d.marlin.IntArrayCache$Reference.initial:[I
putfield sun.java2d.marlin.DRenderer.aux_crossings:[I
23: aload 0
aload 0
getfield sun.java2d.marlin.DRenderer.edgePtrs_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
getfield sun.java2d.marlin.IntArrayCache$Reference.initial:[I
putfield sun.java2d.marlin.DRenderer.edgePtrs:[I
24: aload 0
aload 0
getfield sun.java2d.marlin.DRenderer.aux_edgePtrs_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
getfield sun.java2d.marlin.IntArrayCache$Reference.initial:[I
putfield sun.java2d.marlin.DRenderer.aux_edgePtrs:[I
25: aload 0
aload 1
sipush 256
invokevirtual sun.java2d.marlin.DRendererContext.newCleanIntArrayRef:(I)Lsun/java2d/marlin/IntArrayCache$Reference;
putfield sun.java2d.marlin.DRenderer.blkFlags_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
26: aload 0
aload 0
getfield sun.java2d.marlin.DRenderer.blkFlags_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
getfield sun.java2d.marlin.IntArrayCache$Reference.initial:[I
putfield sun.java2d.marlin.DRenderer.blkFlags:[I
27: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lsun/java2d/marlin/DRenderer;
0 28 1 rdrCtx Lsun/java2d/marlin/DRendererContext;
MethodParameters:
Name Flags
rdrCtx final
sun.java2d.marlin.DRenderer init(int, int, int, int, int);
descriptor: (IIIII)Lsun/java2d/marlin/DRenderer;
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.DRenderer.windingRule:I
1: aload 0
iload 1
getstatic sun.java2d.marlin.DRenderer.SUBPIXEL_LG_POSITIONS_X:I
ishl
putfield sun.java2d.marlin.DRenderer.boundsMinX:I
2: aload 0
3: iload 1
iload 3
iadd
getstatic sun.java2d.marlin.DRenderer.SUBPIXEL_LG_POSITIONS_X:I
ishl
4: putfield sun.java2d.marlin.DRenderer.boundsMaxX:I
5: aload 0
iload 2
getstatic sun.java2d.marlin.DRenderer.SUBPIXEL_LG_POSITIONS_Y:I
ishl
putfield sun.java2d.marlin.DRenderer.boundsMinY:I
6: aload 0
7: iload 2
iload 4
iadd
getstatic sun.java2d.marlin.DRenderer.SUBPIXEL_LG_POSITIONS_Y:I
ishl
8: putfield sun.java2d.marlin.DRenderer.boundsMaxY:I
9: getstatic sun.java2d.marlin.DRenderer.DO_LOG_BOUNDS:Z
ifeq 14
10: new java.lang.StringBuilder
dup
ldc "boundsXY = ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.java2d.marlin.DRenderer.boundsMinX:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " ... "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
11: aload 0
getfield sun.java2d.marlin.DRenderer.boundsMaxX:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "[ ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.java2d.marlin.DRenderer.boundsMinY:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " ... "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
12: aload 0
getfield sun.java2d.marlin.DRenderer.boundsMaxY:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
13: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic sun.java2d.marlin.MarlinUtils.logInfo:(Ljava/lang/String;)V
14: StackMap locals:
StackMap stack:
aload 0
getfield sun.java2d.marlin.DRenderer.boundsMaxY:I
aload 0
getfield sun.java2d.marlin.DRenderer.boundsMinY:I
isub
iconst_1
iadd
istore 6
start local 6 15: iload 6
getstatic sun.java2d.marlin.DRenderer.INITIAL_BUCKET_ARRAY:I
if_icmple 23
16: getstatic sun.java2d.marlin.DRenderer.DO_STATS:Z
ifeq 21
17: aload 0
getfield sun.java2d.marlin.DRenderer.rdrCtx:Lsun/java2d/marlin/DRendererContext;
getfield sun.java2d.marlin.DRendererContext.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.DRenderer.rdrCtx:Lsun/java2d/marlin/DRendererContext;
getfield sun.java2d.marlin.DRendererContext.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.DRenderer.edgeBuckets_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
iload 6
invokevirtual sun.java2d.marlin.IntArrayCache$Reference.getArray:(I)[I
putfield sun.java2d.marlin.DRenderer.edgeBuckets:[I
22: aload 0
aload 0
getfield sun.java2d.marlin.DRenderer.edgeBucketCounts_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
iload 6
invokevirtual sun.java2d.marlin.IntArrayCache$Reference.getArray:(I)[I
putfield sun.java2d.marlin.DRenderer.edgeBucketCounts:[I
23: StackMap locals:
StackMap stack:
aload 0
ldc 2147483647
putfield sun.java2d.marlin.DRenderer.edgeMinY:I
24: aload 0
ldc -2147483648
putfield sun.java2d.marlin.DRenderer.edgeMaxY:I
25: aload 0
ldc Infinity
putfield sun.java2d.marlin.DRenderer.edgeMinX:D
26: aload 0
ldc -Infinity
putfield sun.java2d.marlin.DRenderer.edgeMaxX:D
27: aload 0
iconst_0
putfield sun.java2d.marlin.DRenderer.edgeCount:I
28: aload 0
iconst_0
putfield sun.java2d.marlin.DRenderer.activeEdgeMaxUsed:I
29: aload 0
getfield sun.java2d.marlin.DRenderer.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/DRenderer;
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.DRenderer.DO_STATS:Z
ifeq 6
1: aload 0
getfield sun.java2d.marlin.DRenderer.rdrCtx:Lsun/java2d/marlin/DRendererContext;
getfield sun.java2d.marlin.DRendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.stat_rdr_activeEdges:Lsun/java2d/marlin/stats/StatLong;
aload 0
getfield sun.java2d.marlin.DRenderer.activeEdgeMaxUsed:I
invokevirtual sun.java2d.marlin.stats.StatLong.add:(I)V
2: aload 0
getfield sun.java2d.marlin.DRenderer.rdrCtx:Lsun/java2d/marlin/DRendererContext;
getfield sun.java2d.marlin.DRendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.stat_rdr_edges:Lsun/java2d/marlin/stats/StatLong;
aload 0
getfield sun.java2d.marlin.DRenderer.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.DRenderer.rdrCtx:Lsun/java2d/marlin/DRendererContext;
getfield sun.java2d.marlin.DRendererContext.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.DRenderer.edges:Lsun/java2d/marlin/OffHeapArray;
getfield sun.java2d.marlin.OffHeapArray.used:I
getstatic sun.java2d.marlin.DRenderer.SIZEOF_EDGE_BYTES:I
idiv
invokevirtual sun.java2d.marlin.stats.StatLong.add:(I)V
4: aload 0
getfield sun.java2d.marlin.DRenderer.rdrCtx:Lsun/java2d/marlin/DRendererContext;
getfield sun.java2d.marlin.DRendererContext.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.DRenderer.edges:Lsun/java2d/marlin/OffHeapArray;
getfield sun.java2d.marlin.OffHeapArray.used:I
getstatic sun.java2d.marlin.DRenderer.SIZEOF_EDGE_BYTES:I
idiv
invokevirtual sun.java2d.marlin.stats.Histogram.add:(I)V
5: aload 0
getfield sun.java2d.marlin.DRenderer.rdrCtx:Lsun/java2d/marlin/DRendererContext;
getfield sun.java2d.marlin.DRendererContext.stats:Lsun/java2d/marlin/RendererStats;
dup
getfield sun.java2d.marlin.RendererStats.totalOffHeap:J
aload 0
getfield sun.java2d.marlin.DRenderer.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.DRenderer.crossings_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
aload 0
getfield sun.java2d.marlin.DRenderer.crossings:[I
invokevirtual sun.java2d.marlin.IntArrayCache$Reference.putArray:([I)[I
putfield sun.java2d.marlin.DRenderer.crossings:[I
7: aload 0
aload 0
getfield sun.java2d.marlin.DRenderer.aux_crossings_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
aload 0
getfield sun.java2d.marlin.DRenderer.aux_crossings:[I
invokevirtual sun.java2d.marlin.IntArrayCache$Reference.putArray:([I)[I
putfield sun.java2d.marlin.DRenderer.aux_crossings:[I
8: aload 0
aload 0
getfield sun.java2d.marlin.DRenderer.edgePtrs_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
aload 0
getfield sun.java2d.marlin.DRenderer.edgePtrs:[I
invokevirtual sun.java2d.marlin.IntArrayCache$Reference.putArray:([I)[I
putfield sun.java2d.marlin.DRenderer.edgePtrs:[I
9: aload 0
aload 0
getfield sun.java2d.marlin.DRenderer.aux_edgePtrs_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
aload 0
getfield sun.java2d.marlin.DRenderer.aux_edgePtrs:[I
invokevirtual sun.java2d.marlin.IntArrayCache$Reference.putArray:([I)[I
putfield sun.java2d.marlin.DRenderer.aux_edgePtrs:[I
10: aload 0
aload 0
getfield sun.java2d.marlin.DRenderer.alphaLine_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
aload 0
getfield sun.java2d.marlin.DRenderer.alphaLine:[I
iconst_0
iconst_0
invokevirtual sun.java2d.marlin.IntArrayCache$Reference.putArray:([III)[I
putfield sun.java2d.marlin.DRenderer.alphaLine:[I
11: aload 0
aload 0
getfield sun.java2d.marlin.DRenderer.blkFlags_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
aload 0
getfield sun.java2d.marlin.DRenderer.blkFlags:[I
iconst_0
iconst_0
invokevirtual sun.java2d.marlin.IntArrayCache$Reference.putArray:([III)[I
putfield sun.java2d.marlin.DRenderer.blkFlags:[I
12: aload 0
getfield sun.java2d.marlin.DRenderer.edgeMinY:I
ldc 2147483647
if_icmpeq 24
13: aload 0
getfield sun.java2d.marlin.DRenderer.rdrCtx:Lsun/java2d/marlin/DRendererContext;
getfield sun.java2d.marlin.DRendererContext.dirty:Z
ifeq 16
14: aload 0
iconst_0
putfield sun.java2d.marlin.DRenderer.buckets_minY:I
15: aload 0
aload 0
getfield sun.java2d.marlin.DRenderer.boundsMaxY:I
aload 0
getfield sun.java2d.marlin.DRenderer.boundsMinY:I
isub
putfield sun.java2d.marlin.DRenderer.buckets_maxY:I
16: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.java2d.marlin.DRenderer.edgeBuckets_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
aload 0
getfield sun.java2d.marlin.DRenderer.edgeBuckets:[I
aload 0
getfield sun.java2d.marlin.DRenderer.buckets_minY:I
17: aload 0
getfield sun.java2d.marlin.DRenderer.buckets_maxY:I
18: invokevirtual sun.java2d.marlin.IntArrayCache$Reference.putArray:([III)[I
putfield sun.java2d.marlin.DRenderer.edgeBuckets:[I
19: aload 0
aload 0
getfield sun.java2d.marlin.DRenderer.edgeBucketCounts_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
aload 0
getfield sun.java2d.marlin.DRenderer.edgeBucketCounts:[I
20: aload 0
getfield sun.java2d.marlin.DRenderer.buckets_minY:I
21: aload 0
getfield sun.java2d.marlin.DRenderer.buckets_maxY:I
iconst_1
iadd
22: invokevirtual sun.java2d.marlin.IntArrayCache$Reference.putArray:([III)[I
putfield sun.java2d.marlin.DRenderer.edgeBucketCounts:[I
23: goto 26
24: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.java2d.marlin.DRenderer.edgeBuckets_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
aload 0
getfield sun.java2d.marlin.DRenderer.edgeBuckets:[I
iconst_0
iconst_0
invokevirtual sun.java2d.marlin.IntArrayCache$Reference.putArray:([III)[I
putfield sun.java2d.marlin.DRenderer.edgeBuckets:[I
25: aload 0
aload 0
getfield sun.java2d.marlin.DRenderer.edgeBucketCounts_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
aload 0
getfield sun.java2d.marlin.DRenderer.edgeBucketCounts:[I
iconst_0
iconst_0
invokevirtual sun.java2d.marlin.IntArrayCache$Reference.putArray:([III)[I
putfield sun.java2d.marlin.DRenderer.edgeBucketCounts:[I
26: StackMap locals:
StackMap stack:
aload 0
getfield sun.java2d.marlin.DRenderer.edges:Lsun/java2d/marlin/OffHeapArray;
getfield sun.java2d.marlin.OffHeapArray.length:J
getstatic sun.java2d.marlin.DRenderer.INITIAL_EDGES_CAPACITY:I
i2l
lcmp
ifeq 28
27: aload 0
getfield sun.java2d.marlin.DRenderer.edges:Lsun/java2d/marlin/OffHeapArray;
getstatic sun.java2d.marlin.DRenderer.INITIAL_EDGES_CAPACITY:I
i2l
invokevirtual sun.java2d.marlin.OffHeapArray.resize:(J)V
28: StackMap locals:
StackMap stack:
aload 0
getfield sun.java2d.marlin.DRenderer.rdrCtx:Lsun/java2d/marlin/DRendererContext;
invokestatic sun.java2d.marlin.DMarlinRenderingEngine.returnRendererContext:(Lsun/java2d/marlin/DRendererContext;)V
29: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lsun/java2d/marlin/DRenderer;
private static double tosubpixx(double);
descriptor: (D)D
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: getstatic sun.java2d.marlin.DRenderer.SUBPIXEL_SCALE_X:D
dload 0
dmul
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 pix_x D
MethodParameters:
Name Flags
pix_x final
private static double tosubpixy(double);
descriptor: (D)D
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: getstatic sun.java2d.marlin.DRenderer.SUBPIXEL_SCALE_Y:D
dload 0
dmul
ldc 0.5
dsub
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 pix_y D
MethodParameters:
Name Flags
pix_y final
public void moveTo(double, double);
descriptor: (DD)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=9, args_size=3
start local 0 start local 1 start local 3 0: aload 0
invokevirtual sun.java2d.marlin.DRenderer.closePath:()V
1: dload 1
invokestatic sun.java2d.marlin.DRenderer.tosubpixx:(D)D
dstore 5
start local 5 2: dload 3
invokestatic sun.java2d.marlin.DRenderer.tosubpixy:(D)D
dstore 7
start local 7 3: aload 0
dload 5
putfield sun.java2d.marlin.DRenderer.sx0:D
4: aload 0
dload 7
putfield sun.java2d.marlin.DRenderer.sy0:D
5: aload 0
dload 5
putfield sun.java2d.marlin.DRenderer.x0:D
6: aload 0
dload 7
putfield sun.java2d.marlin.DRenderer.y0:D
7: return
end local 7 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/java2d/marlin/DRenderer;
0 8 1 pix_x0 D
0 8 3 pix_y0 D
2 8 5 sx D
3 8 7 sy D
MethodParameters:
Name Flags
pix_x0 final
pix_y0 final
public void lineTo(double, double);
descriptor: (DD)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=9, args_size=3
start local 0 start local 1 start local 3 0: dload 1
invokestatic sun.java2d.marlin.DRenderer.tosubpixx:(D)D
dstore 5
start local 5 1: dload 3
invokestatic sun.java2d.marlin.DRenderer.tosubpixy:(D)D
dstore 7
start local 7 2: aload 0
aload 0
getfield sun.java2d.marlin.DRenderer.x0:D
aload 0
getfield sun.java2d.marlin.DRenderer.y0:D
dload 5
dload 7
invokevirtual sun.java2d.marlin.DRenderer.addLine:(DDDD)V
3: aload 0
dload 5
putfield sun.java2d.marlin.DRenderer.x0:D
4: aload 0
dload 7
putfield sun.java2d.marlin.DRenderer.y0:D
5: return
end local 7 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/java2d/marlin/DRenderer;
0 6 1 pix_x1 D
0 6 3 pix_y1 D
1 6 5 x1 D
2 6 7 y1 D
MethodParameters:
Name Flags
pix_x1 final
pix_y1 final
public void curveTo(double, double, double, double, double, double);
descriptor: (DDDDDD)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=17, locals=17, args_size=7
start local 0 start local 1 start local 3 start local 5 start local 7 start local 9 start local 11 0: dload 9
invokestatic sun.java2d.marlin.DRenderer.tosubpixx:(D)D
dstore 13
start local 13 1: dload 11
invokestatic sun.java2d.marlin.DRenderer.tosubpixy:(D)D
dstore 15
start local 15 2: aload 0
getfield sun.java2d.marlin.DRenderer.curve:Lsun/java2d/marlin/DCurve;
aload 0
getfield sun.java2d.marlin.DRenderer.x0:D
aload 0
getfield sun.java2d.marlin.DRenderer.y0:D
dload 1
invokestatic sun.java2d.marlin.DRenderer.tosubpixx:(D)D
dload 3
invokestatic sun.java2d.marlin.DRenderer.tosubpixy:(D)D
3: dload 5
invokestatic sun.java2d.marlin.DRenderer.tosubpixx:(D)D
dload 7
invokestatic sun.java2d.marlin.DRenderer.tosubpixy:(D)D
dload 13
dload 15
4: invokevirtual sun.java2d.marlin.DCurve.set:(DDDDDDDD)V
5: aload 0
aload 0
getfield sun.java2d.marlin.DRenderer.x0:D
aload 0
getfield sun.java2d.marlin.DRenderer.y0:D
aload 0
getfield sun.java2d.marlin.DRenderer.curve:Lsun/java2d/marlin/DCurve;
dload 13
dload 15
invokevirtual sun.java2d.marlin.DRenderer.curveBreakIntoLinesAndAdd:(DDLsun/java2d/marlin/DCurve;DD)V
6: aload 0
dload 13
putfield sun.java2d.marlin.DRenderer.x0:D
7: aload 0
dload 15
putfield sun.java2d.marlin.DRenderer.y0:D
8: return
end local 15 end local 13 end local 11 end local 9 end local 7 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/java2d/marlin/DRenderer;
0 9 1 pix_x1 D
0 9 3 pix_y1 D
0 9 5 pix_x2 D
0 9 7 pix_y2 D
0 9 9 pix_x3 D
0 9 11 pix_y3 D
1 9 13 xe D
2 9 15 ye D
MethodParameters:
Name Flags
pix_x1 final
pix_y1 final
pix_x2 final
pix_y2 final
pix_x3 final
pix_y3 final
public void quadTo(double, double, double, double);
descriptor: (DDDD)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=13, locals=13, args_size=5
start local 0 start local 1 start local 3 start local 5 start local 7 0: dload 5
invokestatic sun.java2d.marlin.DRenderer.tosubpixx:(D)D
dstore 9
start local 9 1: dload 7
invokestatic sun.java2d.marlin.DRenderer.tosubpixy:(D)D
dstore 11
start local 11 2: aload 0
getfield sun.java2d.marlin.DRenderer.curve:Lsun/java2d/marlin/DCurve;
aload 0
getfield sun.java2d.marlin.DRenderer.x0:D
aload 0
getfield sun.java2d.marlin.DRenderer.y0:D
dload 1
invokestatic sun.java2d.marlin.DRenderer.tosubpixx:(D)D
dload 3
invokestatic sun.java2d.marlin.DRenderer.tosubpixy:(D)D
dload 9
dload 11
invokevirtual sun.java2d.marlin.DCurve.set:(DDDDDD)V
3: aload 0
aload 0
getfield sun.java2d.marlin.DRenderer.x0:D
aload 0
getfield sun.java2d.marlin.DRenderer.y0:D
aload 0
getfield sun.java2d.marlin.DRenderer.curve:Lsun/java2d/marlin/DCurve;
dload 9
dload 11
invokevirtual sun.java2d.marlin.DRenderer.quadBreakIntoLinesAndAdd:(DDLsun/java2d/marlin/DCurve;DD)V
4: aload 0
dload 9
putfield sun.java2d.marlin.DRenderer.x0:D
5: aload 0
dload 11
putfield sun.java2d.marlin.DRenderer.y0:D
6: return
end local 11 end local 9 end local 7 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/java2d/marlin/DRenderer;
0 7 1 pix_x1 D
0 7 3 pix_y1 D
0 7 5 pix_x2 D
0 7 7 pix_y2 D
1 7 9 xe D
2 7 11 ye D
MethodParameters:
Name Flags
pix_x1 final
pix_y1 final
pix_x2 final
pix_y2 final
public void closePath();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.java2d.marlin.DRenderer.x0:D
aload 0
getfield sun.java2d.marlin.DRenderer.sx0:D
dcmpl
ifne 1
aload 0
getfield sun.java2d.marlin.DRenderer.y0:D
aload 0
getfield sun.java2d.marlin.DRenderer.sy0:D
dcmpl
ifeq 4
1: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.java2d.marlin.DRenderer.x0:D
aload 0
getfield sun.java2d.marlin.DRenderer.y0:D
aload 0
getfield sun.java2d.marlin.DRenderer.sx0:D
aload 0
getfield sun.java2d.marlin.DRenderer.sy0:D
invokevirtual sun.java2d.marlin.DRenderer.addLine:(DDDD)V
2: aload 0
aload 0
getfield sun.java2d.marlin.DRenderer.sx0:D
putfield sun.java2d.marlin.DRenderer.x0:D
3: aload 0
aload 0
getfield sun.java2d.marlin.DRenderer.sy0:D
putfield sun.java2d.marlin.DRenderer.y0:D
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/java2d/marlin/DRenderer;
public void pathDone();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.java2d.marlin.DRenderer.closePath:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/java2d/marlin/DRenderer;
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/DRenderer;
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.DRenderer.bbox_spminX:I
istore 3
start local 3 1: aload 0
getfield sun.java2d.marlin.DRenderer.bbox_spmaxX:I
istore 4
start local 4 2: aload 0
getfield sun.java2d.marlin.DRenderer.windingRule:I
ifne 3
iconst_1
goto 4
StackMap locals: int int
StackMap stack:
3: iconst_0
StackMap locals:
StackMap stack: int
4: istore 5
start local 5 5: aload 0
getfield sun.java2d.marlin.DRenderer.alphaLine:[I
astore 6
start local 6 6: aload 0
getfield sun.java2d.marlin.DRenderer.cache:Lsun/java2d/marlin/MarlinCache;
astore 7
start local 7 7: aload 0
getfield sun.java2d.marlin.DRenderer.edges:Lsun/java2d/marlin/OffHeapArray;
astore 8
start local 8 8: aload 0
getfield sun.java2d.marlin.DRenderer.edgeBuckets:[I
astore 9
start local 9 9: aload 0
getfield sun.java2d.marlin.DRenderer.edgeBucketCounts:[I
astore 10
start local 10 10: aload 0
getfield sun.java2d.marlin.DRenderer.crossings:[I
astore 11
start local 11 11: aload 0
getfield sun.java2d.marlin.DRenderer.edgePtrs:[I
astore 12
start local 12 12: aload 0
getfield sun.java2d.marlin.DRenderer.aux_crossings:[I
astore 13
start local 13 13: aload 0
getfield sun.java2d.marlin.DRenderer.aux_edgePtrs:[I
astore 14
start local 14 14: getstatic sun.java2d.marlin.DRenderer.OFF_ERROR:J
lstore 15
start local 15 15: getstatic sun.java2d.marlin.DRenderer.OFF_BUMP_X:J
lstore 17
start local 17 16: getstatic sun.java2d.marlin.DRenderer.OFF_BUMP_ERR:J
lstore 19
start local 19 17: getstatic sun.java2d.marlin.DRenderer.OFF_NEXT:J
lstore 21
start local 21 18: getstatic sun.java2d.marlin.DRenderer.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.DRenderer.SUBPIXEL_LG_POSITIONS_X:I
istore 30
start local 30 22: getstatic sun.java2d.marlin.DRenderer.SUBPIXEL_LG_POSITIONS_Y:I
istore 31
start local 31 23: getstatic sun.java2d.marlin.DRenderer.SUBPIXEL_MASK_X:I
istore 32
start local 32 24: getstatic sun.java2d.marlin.DRenderer.SUBPIXEL_MASK_Y:I
istore 33
start local 33 25: getstatic sun.java2d.marlin.DRenderer.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.DRenderer.boundsMinY:I
isub
istore 38
start local 38 30: aload 0
getfield sun.java2d.marlin.DRenderer.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.DRenderer.activeEdgeMaxUsed:I
istore 42
start local 42 34: iconst_0
istore 43
start local 43 35: aload 0
getfield sun.java2d.marlin.DRenderer.blkFlags:[I
astore 69
start local 69 36: getstatic sun.java2d.marlin.DRenderer.BLOCK_SIZE_LG:I
istore 70
start local 70 37: getstatic sun.java2d.marlin.DRenderer.BLOCK_SIZE:I
istore 71
start local 71 38: getstatic sun.java2d.marlin.DRenderer.ENABLE_BLOCK_FLAGS_HEURISTICS:Z
ifeq 39
aload 0
getfield sun.java2d.marlin.DRenderer.enableBlkFlags:Z
ifeq 39
iconst_1
goto 40
StackMap locals: sun.java2d.marlin.DRenderer 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.DRenderer.prevUseBlkFlags:Z
istore 73
start local 73 42: aload 0
getfield sun.java2d.marlin.DRenderer.rdrCtx:Lsun/java2d/marlin/DRendererContext;
getfield sun.java2d.marlin.DRendererContext.stroking:I
istore 74
start local 74 43: iconst_m1
istore 75
start local 75 44: goto 354
45: StackMap locals: sun.java2d.marlin.DRenderer 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.DRenderer.DO_STATS:Z
ifeq 50
49: aload 0
getfield sun.java2d.marlin.DRenderer.rdrCtx:Lsun/java2d/marlin/DRendererContext;
getfield sun.java2d.marlin.DRendererContext.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.DRenderer 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.DRenderer 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.DRenderer 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.DRenderer 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.DRenderer 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.DRenderer.DO_STATS:Z
ifeq 67
64: aload 0
getfield sun.java2d.marlin.DRenderer.rdrCtx:Lsun/java2d/marlin/DRendererContext;
getfield sun.java2d.marlin.DRendererContext.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.DRenderer.rdrCtx:Lsun/java2d/marlin/DRendererContext;
getfield sun.java2d.marlin.DRendererContext.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.DRenderer.DO_STATS:Z
ifeq 71
70: aload 0
getfield sun.java2d.marlin.DRenderer.rdrCtx:Lsun/java2d/marlin/DRendererContext;
getfield sun.java2d.marlin.DRendererContext.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.DRenderer 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.DRenderer.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.DRenderer.edgePtrs:[I
76: aload 12
arraylength
istore 40
77: aload 0
getfield sun.java2d.marlin.DRenderer.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.DRenderer.DO_STATS:Z
ifeq 80
79: aload 0
getfield sun.java2d.marlin.DRenderer.rdrCtx:Lsun/java2d/marlin/DRendererContext;
getfield sun.java2d.marlin.DRendererContext.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.DRenderer.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.DRenderer.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.DRenderer 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.DRenderer.crossings_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
aload 11
invokevirtual sun.java2d.marlin.IntArrayCache$Reference.putArray:([I)[I
pop
95: getstatic sun.java2d.marlin.DRenderer.DO_STATS:Z
ifeq 98
96: aload 0
getfield sun.java2d.marlin.DRenderer.rdrCtx:Lsun/java2d/marlin/DRendererContext;
getfield sun.java2d.marlin.DRendererContext.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.DRenderer.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.DRenderer.crossings:[I
101: aload 0
getfield sun.java2d.marlin.DRenderer.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.DRenderer.DO_STATS:Z
ifeq 105
103: aload 0
getfield sun.java2d.marlin.DRenderer.rdrCtx:Lsun/java2d/marlin/DRendererContext;
getfield sun.java2d.marlin.DRendererContext.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.DRenderer.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.DRenderer.aux_crossings:[I
108: aload 11
arraylength
istore 41
109: StackMap locals:
StackMap stack:
getstatic sun.java2d.marlin.DRenderer.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.DRenderer 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.DRenderer.DO_STATS:Z
ifeq 117
115: aload 0
getfield sun.java2d.marlin.DRenderer.rdrCtx:Lsun/java2d/marlin/DRendererContext;
getfield sun.java2d.marlin.DRendererContext.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.DRenderer.rdrCtx:Lsun/java2d/marlin/DRendererContext;
getfield sun.java2d.marlin.DRendererContext.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.DRenderer 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.DRenderer.DO_STATS:Z
ifeq 135
134: aload 0
getfield sun.java2d.marlin.DRenderer.rdrCtx:Lsun/java2d/marlin/DRendererContext;
getfield sun.java2d.marlin.DRendererContext.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.DRenderer 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.DRenderer.DO_STATS:Z
ifeq 138
137: aload 0
getfield sun.java2d.marlin.DRenderer.rdrCtx:Lsun/java2d/marlin/DRendererContext;
getfield sun.java2d.marlin.DRendererContext.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.DRenderer.DO_STATS:Z
ifeq 141
140: aload 0
getfield sun.java2d.marlin.DRenderer.rdrCtx:Lsun/java2d/marlin/DRendererContext;
getfield sun.java2d.marlin.DRendererContext.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.DRenderer 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.DRenderer 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.DRenderer 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.DRenderer 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.DRenderer 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.DRenderer 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.DRenderer 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.DRenderer 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.DRenderer.DO_STATS:Z
ifeq 179
174: aload 0
getfield sun.java2d.marlin.DRenderer.rdrCtx:Lsun/java2d/marlin/DRendererContext;
getfield sun.java2d.marlin.DRendererContext.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.DRenderer.rdrCtx:Lsun/java2d/marlin/DRendererContext;
getfield sun.java2d.marlin.DRendererContext.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.DRenderer.rdrCtx:Lsun/java2d/marlin/DRendererContext;
getfield sun.java2d.marlin.DRendererContext.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.DRenderer.rdrCtx:Lsun/java2d/marlin/DRendererContext;
getfield sun.java2d.marlin.DRendererContext.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.DRenderer 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.DRenderer.DO_STATS:Z
ifeq 194
193: aload 0
getfield sun.java2d.marlin.DRenderer.rdrCtx:Lsun/java2d/marlin/DRendererContext;
getfield sun.java2d.marlin.DRendererContext.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.DRenderer 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.DRenderer.DO_STATS:Z
ifeq 200
199: aload 0
getfield sun.java2d.marlin.DRenderer.rdrCtx:Lsun/java2d/marlin/DRendererContext;
getfield sun.java2d.marlin.DRendererContext.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.DRenderer 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.DRenderer 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.DRenderer 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.DRenderer 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.DRenderer 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.DRenderer 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.DRenderer 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.DRenderer 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.DRenderer 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.DRenderer 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.DRenderer 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.DRenderer 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.DRenderer 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.DRenderer.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.DRenderer.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.DRenderer.rdrCtx:Lsun/java2d/marlin/DRendererContext;
getfield sun.java2d.marlin.DRendererContext.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.DRenderer 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.DRenderer.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.DRenderer.edgeCount:I
365: aload 0
iload 73
putfield sun.java2d.marlin.DRenderer.prevUseBlkFlags:Z
366: getstatic sun.java2d.marlin.DRenderer.DO_STATS:Z
ifeq 368
367: aload 0
iload 42
putfield sun.java2d.marlin.DRenderer.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/DRenderer;
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.DRenderer.edgeMinY:I
ldc 2147483647
if_icmpne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.java2d.marlin.DRenderer.edgeMinX:D
ldc 0.5
dsub
invokestatic sun.java2d.marlin.FloatMath.ceil_int:(D)I
aload 0
getfield sun.java2d.marlin.DRenderer.boundsMinX:I
invokestatic sun.java2d.marlin.FloatMath.max:(II)I
istore 1
start local 1 3: aload 0
getfield sun.java2d.marlin.DRenderer.edgeMaxX:D
ldc 0.5
dsub
invokestatic sun.java2d.marlin.FloatMath.ceil_int:(D)I
aload 0
getfield sun.java2d.marlin.DRenderer.boundsMaxX:I
invokestatic sun.java2d.marlin.FloatMath.min:(II)I
istore 2
start local 2 4: aload 0
getfield sun.java2d.marlin.DRenderer.edgeMinY:I
istore 3
start local 3 5: aload 0
getfield sun.java2d.marlin.DRenderer.edgeMaxY:I
istore 4
start local 4 6: aload 0
iload 3
aload 0
getfield sun.java2d.marlin.DRenderer.boundsMinY:I
isub
putfield sun.java2d.marlin.DRenderer.buckets_minY:I
7: aload 0
iload 4
aload 0
getfield sun.java2d.marlin.DRenderer.boundsMinY:I
isub
putfield sun.java2d.marlin.DRenderer.buckets_maxY:I
8: getstatic sun.java2d.marlin.DRenderer.DO_LOG_BOUNDS:Z
ifeq 15
9: new java.lang.StringBuilder
dup
ldc "edgesXY = ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.java2d.marlin.DRenderer.edgeMinX:D
invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
ldc " ... "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.java2d.marlin.DRenderer.edgeMaxX:D
invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
10: ldc "[ ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.java2d.marlin.DRenderer.edgeMinY:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " ... "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.java2d.marlin.DRenderer.edgeMaxY:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
11: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic 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.DRenderer int int int int
StackMap stack:
iload 1
iload 2
if_icmpge 16
iload 3
iload 4
if_icmplt 17
16: StackMap locals:
StackMap stack:
iconst_0
ireturn
17: StackMap locals:
StackMap stack:
iload 1
getstatic sun.java2d.marlin.DRenderer.SUBPIXEL_LG_POSITIONS_X:I
ishr
istore 5
start local 5 18: iload 2
getstatic sun.java2d.marlin.DRenderer.SUBPIXEL_MASK_X:I
iadd
getstatic sun.java2d.marlin.DRenderer.SUBPIXEL_LG_POSITIONS_X:I
ishr
istore 6
start local 6 19: iload 3
getstatic sun.java2d.marlin.DRenderer.SUBPIXEL_LG_POSITIONS_Y:I
ishr
istore 7
start local 7 20: iload 4
getstatic sun.java2d.marlin.DRenderer.SUBPIXEL_MASK_Y:I
iadd
getstatic sun.java2d.marlin.DRenderer.SUBPIXEL_LG_POSITIONS_Y:I
ishr
istore 8
start local 8 21: aload 0
getfield sun.java2d.marlin.DRenderer.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.DRenderer.ENABLE_BLOCK_FLAGS:Z
ifeq 31
23: aload 0
aload 0
getfield sun.java2d.marlin.DRenderer.cache:Lsun/java2d/marlin/MarlinCache;
getfield sun.java2d.marlin.MarlinCache.useRLE:Z
putfield sun.java2d.marlin.DRenderer.enableBlkFlags:Z
24: aload 0
aload 0
getfield sun.java2d.marlin.DRenderer.enableBlkFlags:Z
ifeq 25
getstatic sun.java2d.marlin.DRenderer.ENABLE_BLOCK_FLAGS_HEURISTICS:Z
ifne 25
iconst_1
goto 26
StackMap locals: sun.java2d.marlin.DRenderer int int int int int int int int
StackMap stack: sun.java2d.marlin.DRenderer
25: iconst_0
StackMap locals: sun.java2d.marlin.DRenderer int int int int int int int int
StackMap stack: sun.java2d.marlin.DRenderer int
26: putfield sun.java2d.marlin.DRenderer.prevUseBlkFlags:Z
27: aload 0
getfield sun.java2d.marlin.DRenderer.enableBlkFlags:Z
ifeq 31
28: iload 6
iload 5
isub
getstatic sun.java2d.marlin.DRenderer.BLOCK_SIZE_LG:I
ishr
iconst_2
iadd
istore 9
start local 9 29: iload 9
sipush 256
if_icmple 31
30: aload 0
aload 0
getfield sun.java2d.marlin.DRenderer.blkFlags_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
iload 9
invokevirtual sun.java2d.marlin.IntArrayCache$Reference.getArray:(I)[I
putfield sun.java2d.marlin.DRenderer.blkFlags:[I
end local 9 31: StackMap locals:
StackMap stack:
aload 0
iload 5
getstatic sun.java2d.marlin.DRenderer.SUBPIXEL_LG_POSITIONS_X:I
ishl
putfield sun.java2d.marlin.DRenderer.bbox_spminX:I
32: aload 0
iload 6
getstatic sun.java2d.marlin.DRenderer.SUBPIXEL_LG_POSITIONS_X:I
ishl
putfield sun.java2d.marlin.DRenderer.bbox_spmaxX:I
33: aload 0
iload 3
putfield sun.java2d.marlin.DRenderer.bbox_spminY:I
34: aload 0
iload 4
putfield sun.java2d.marlin.DRenderer.bbox_spmaxY:I
35: getstatic sun.java2d.marlin.DRenderer.DO_LOG_BOUNDS:Z
ifeq 43
36: new java.lang.StringBuilder
dup
ldc "pXY = ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 5
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " ... "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 6
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
37: ldc "[ ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " ... "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 8
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
38: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic 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.DRenderer.bbox_spminX:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " ... "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
40: aload 0
getfield sun.java2d.marlin.DRenderer.bbox_spmaxX:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "[ ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.java2d.marlin.DRenderer.bbox_spminY:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " ... "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
41: aload 0
getfield sun.java2d.marlin.DRenderer.bbox_spmaxY:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
42: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic 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.DRenderer.INITIAL_AA_ARRAY:I
if_icmple 48
45: getstatic sun.java2d.marlin.DRenderer.DO_STATS:Z
ifeq 47
46: aload 0
getfield sun.java2d.marlin.DRenderer.rdrCtx:Lsun/java2d/marlin/DRendererContext;
getfield sun.java2d.marlin.DRendererContext.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.DRenderer.alphaLine_ref:Lsun/java2d/marlin/IntArrayCache$Reference;
iload 9
invokevirtual sun.java2d.marlin.IntArrayCache$Reference.getArray:(I)[I
putfield sun.java2d.marlin.DRenderer.alphaLine:[I
48: StackMap locals:
StackMap stack:
aload 0
iload 7
invokevirtual sun.java2d.marlin.DRenderer.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/DRenderer;
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.DRenderer.SUBPIXEL_LG_POSITIONS_Y:I
ishl
istore 2
start local 2 1: aload 0
getfield sun.java2d.marlin.DRenderer.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.DRenderer.bbox_spmaxY:I
if_icmpge 6
3: aload 0
getfield sun.java2d.marlin.DRenderer.bbox_spmaxY:I
iload 2
getstatic sun.java2d.marlin.DRenderer.SUBPIXEL_TILE:I
iadd
invokestatic sun.java2d.marlin.FloatMath.min:(II)I
istore 4
start local 4 4: aload 0
getfield sun.java2d.marlin.DRenderer.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.DRenderer._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/DRenderer;
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.DRenderer.DO_STATS:Z
ifeq 3
2: aload 0
getfield sun.java2d.marlin.DRenderer.rdrCtx:Lsun/java2d/marlin/DRendererContext;
getfield sun.java2d.marlin.DRendererContext.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.DRenderer.cache:Lsun/java2d/marlin/MarlinCache;
aload 0
getfield sun.java2d.marlin.DRenderer.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.DRenderer.DO_STATS:Z
ifeq 7
6: aload 0
getfield sun.java2d.marlin.DRenderer.rdrCtx:Lsun/java2d/marlin/DRendererContext;
getfield sun.java2d.marlin.DRendererContext.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.DRenderer.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/DRenderer;
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: "DRenderer.java"
InnerClasses:
final Reference = sun.java2d.marlin.IntArrayCache$Reference of sun.java2d.marlin.IntArrayCache