final class sun.java2d.marlin.DStroker implements sun.java2d.marlin.DPathConsumer2D, sun.java2d.marlin.MarlinConst
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.java2d.marlin.DStroker
super_class: java.lang.Object
{
private static final int MOVE_TO;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int DRAWING_OP_TO;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int CLOSE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final double ROUND_JOIN_THRESHOLD;
descriptor: D
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0.0152587890625
private static final double C;
descriptor: D
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final double SQRT_2;
descriptor: D
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int MAX_N_CURVES;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 11
private sun.java2d.marlin.DPathConsumer2D out;
descriptor: Lsun/java2d/marlin/DPathConsumer2D;
flags: (0x0002) ACC_PRIVATE
private int capStyle;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int joinStyle;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private double lineWidth2;
descriptor: D
flags: (0x0002) ACC_PRIVATE
private double invHalfLineWidth2Sq;
descriptor: D
flags: (0x0002) ACC_PRIVATE
private final double[] offset0;
descriptor: [D
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final double[] offset1;
descriptor: [D
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final double[] offset2;
descriptor: [D
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final double[] miter;
descriptor: [D
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private double miterLimitSq;
descriptor: D
flags: (0x0002) ACC_PRIVATE
private int prev;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private double sx0;
descriptor: D
flags: (0x0002) ACC_PRIVATE
private double sy0;
descriptor: D
flags: (0x0002) ACC_PRIVATE
private double sdx;
descriptor: D
flags: (0x0002) ACC_PRIVATE
private double sdy;
descriptor: D
flags: (0x0002) ACC_PRIVATE
private double cx0;
descriptor: D
flags: (0x0002) ACC_PRIVATE
private double cy0;
descriptor: D
flags: (0x0002) ACC_PRIVATE
private double cdx;
descriptor: D
flags: (0x0002) ACC_PRIVATE
private double cdy;
descriptor: D
flags: (0x0002) ACC_PRIVATE
private double smx;
descriptor: D
flags: (0x0002) ACC_PRIVATE
private double smy;
descriptor: D
flags: (0x0002) ACC_PRIVATE
private double cmx;
descriptor: D
flags: (0x0002) ACC_PRIVATE
private double cmy;
descriptor: D
flags: (0x0002) ACC_PRIVATE
private final sun.java2d.marlin.DHelpers$PolyStack reverse;
descriptor: Lsun/java2d/marlin/DHelpers$PolyStack;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final double[] middle;
descriptor: [D
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final double[] lp;
descriptor: [D
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final double[] rp;
descriptor: [D
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final double[] subdivTs;
descriptor: [D
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
final sun.java2d.marlin.DRendererContext rdrCtx;
descriptor: Lsun/java2d/marlin/DRendererContext;
flags: (0x0010) ACC_FINAL
final sun.java2d.marlin.DCurve curve;
descriptor: Lsun/java2d/marlin/DCurve;
flags: (0x0010) ACC_FINAL
private double[] clipRect;
descriptor: [D
flags: (0x0002) ACC_PRIVATE
private int cOutCode;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int sOutCode;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean opened;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean capStart;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=0, args_size=0
0: .line 34
ldc Lsun/java2d/marlin/DStroker;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic sun.java2d.marlin.DStroker.$assertionsDisabled:Z
3: .line 46
ldc 4.0
ldc 2.0
invokestatic java.lang.Math.sqrt:(D)D
dconst_1
dsub
dmul
ldc 3.0
ddiv
putstatic sun.java2d.marlin.DStroker.C:D
4: .line 49
ldc 2.0
invokestatic java.lang.Math.sqrt:(D)D
putstatic sun.java2d.marlin.DStroker.SQRT_2:D
5: .line 51
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(sun.java2d.marlin.DRendererContext);
descriptor: (Lsun/java2d/marlin/DRendererContext;)V
flags: (0x0000)
Code:
stack=9, locals=2, args_size=2
start local 0 // sun.java2d.marlin.DStroker this
start local 1 // sun.java2d.marlin.DRendererContext rdrCtx
0: .line 114
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 61
aload 0 /* this */
iconst_2
newarray 7
putfield sun.java2d.marlin.DStroker.offset0:[D
2: .line 62
aload 0 /* this */
iconst_2
newarray 7
putfield sun.java2d.marlin.DStroker.offset1:[D
3: .line 63
aload 0 /* this */
iconst_2
newarray 7
putfield sun.java2d.marlin.DStroker.offset2:[D
4: .line 64
aload 0 /* this */
iconst_2
newarray 7
putfield sun.java2d.marlin.DStroker.miter:[D
5: .line 85
aload 0 /* this */
bipush 68
newarray 7
putfield sun.java2d.marlin.DStroker.middle:[D
6: .line 86
aload 0 /* this */
bipush 8
newarray 7
putfield sun.java2d.marlin.DStroker.lp:[D
7: .line 87
aload 0 /* this */
bipush 8
newarray 7
putfield sun.java2d.marlin.DStroker.rp:[D
8: .line 88
aload 0 /* this */
bipush 10
newarray 7
putfield sun.java2d.marlin.DStroker.subdivTs:[D
9: .line 100
aload 0 /* this */
iconst_0
putfield sun.java2d.marlin.DStroker.cOutCode:I
10: .line 103
aload 0 /* this */
iconst_0
putfield sun.java2d.marlin.DStroker.sOutCode:I
11: .line 106
aload 0 /* this */
iconst_0
putfield sun.java2d.marlin.DStroker.opened:Z
12: .line 108
aload 0 /* this */
iconst_0
putfield sun.java2d.marlin.DStroker.capStart:Z
13: .line 115
aload 0 /* this */
aload 1 /* rdrCtx */
putfield sun.java2d.marlin.DStroker.rdrCtx:Lsun/java2d/marlin/DRendererContext;
14: .line 117
aload 0 /* this */
aload 1 /* rdrCtx */
getfield sun.java2d.marlin.DRendererContext.stats:Lsun/java2d/marlin/RendererStats;
ifnull 23
15: .line 118
new sun.java2d.marlin.DHelpers$PolyStack
dup
aload 1 /* rdrCtx */
16: .line 119
aload 1 /* rdrCtx */
getfield sun.java2d.marlin.DRendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.stat_str_polystack_types:Lsun/java2d/marlin/stats/StatLong;
17: .line 120
aload 1 /* rdrCtx */
getfield sun.java2d.marlin.DRendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.stat_str_polystack_curves:Lsun/java2d/marlin/stats/StatLong;
18: .line 121
aload 1 /* rdrCtx */
getfield sun.java2d.marlin.DRendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.hist_str_polystack_curves:Lsun/java2d/marlin/stats/Histogram;
19: .line 122
aload 1 /* rdrCtx */
getfield sun.java2d.marlin.DRendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.stat_array_str_polystack_curves:Lsun/java2d/marlin/stats/StatLong;
20: .line 123
aload 1 /* rdrCtx */
getfield sun.java2d.marlin.DRendererContext.stats:Lsun/java2d/marlin/RendererStats;
getfield sun.java2d.marlin.RendererStats.stat_array_str_polystack_types:Lsun/java2d/marlin/stats/StatLong;
21: .line 118
invokespecial sun.java2d.marlin.DHelpers$PolyStack.<init>:(Lsun/java2d/marlin/DRendererContext;Lsun/java2d/marlin/stats/StatLong;Lsun/java2d/marlin/stats/StatLong;Lsun/java2d/marlin/stats/Histogram;Lsun/java2d/marlin/stats/StatLong;Lsun/java2d/marlin/stats/StatLong;)V
22: .line 123
goto 24
23: .line 124
StackMap locals: sun.java2d.marlin.DStroker sun.java2d.marlin.DRendererContext
StackMap stack: sun.java2d.marlin.DStroker
new sun.java2d.marlin.DHelpers$PolyStack
dup
aload 1 /* rdrCtx */
invokespecial sun.java2d.marlin.DHelpers$PolyStack.<init>:(Lsun/java2d/marlin/DRendererContext;)V
24: .line 117
StackMap locals: sun.java2d.marlin.DStroker sun.java2d.marlin.DRendererContext
StackMap stack: sun.java2d.marlin.DStroker sun.java2d.marlin.DHelpers$PolyStack
putfield sun.java2d.marlin.DStroker.reverse:Lsun/java2d/marlin/DHelpers$PolyStack;
25: .line 126
aload 0 /* this */
aload 1 /* rdrCtx */
getfield sun.java2d.marlin.DRendererContext.curve:Lsun/java2d/marlin/DCurve;
putfield sun.java2d.marlin.DStroker.curve:Lsun/java2d/marlin/DCurve;
26: .line 127
return
end local 1 // sun.java2d.marlin.DRendererContext rdrCtx
end local 0 // sun.java2d.marlin.DStroker this
LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lsun/java2d/marlin/DStroker;
0 27 1 rdrCtx Lsun/java2d/marlin/DRendererContext;
MethodParameters:
Name Flags
rdrCtx final
sun.java2d.marlin.DStroker init(sun.java2d.marlin.DPathConsumer2D, double, int, int, double, double);
descriptor: (Lsun/java2d/marlin/DPathConsumer2D;DIIDD)Lsun/java2d/marlin/DStroker;
flags: (0x0000)
Code:
stack=8, locals=19, args_size=7
start local 0 // sun.java2d.marlin.DStroker this
start local 1 // sun.java2d.marlin.DPathConsumer2D pc2d
start local 2 // double lineWidth
start local 4 // int capStyle
start local 5 // int joinStyle
start local 6 // double miterLimit
start local 8 // double scale
0: .line 151
aload 0 /* this */
aload 1 /* pc2d */
putfield sun.java2d.marlin.DStroker.out:Lsun/java2d/marlin/DPathConsumer2D;
1: .line 153
aload 0 /* this */
dload 2 /* lineWidth */
ldc 2.0
ddiv
putfield sun.java2d.marlin.DStroker.lineWidth2:D
2: .line 154
aload 0 /* this */
dconst_1
ldc 2.0
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.lineWidth2:D
dmul
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.lineWidth2:D
dmul
ddiv
putfield sun.java2d.marlin.DStroker.invHalfLineWidth2Sq:D
3: .line 155
aload 0 /* this */
iload 4 /* capStyle */
putfield sun.java2d.marlin.DStroker.capStyle:I
4: .line 156
aload 0 /* this */
iload 5 /* joinStyle */
putfield sun.java2d.marlin.DStroker.joinStyle:I
5: .line 158
dload 6 /* miterLimit */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.lineWidth2:D
dmul
dstore 10 /* limit */
start local 10 // double limit
6: .line 159
aload 0 /* this */
dload 10 /* limit */
dload 10 /* limit */
dmul
putfield sun.java2d.marlin.DStroker.miterLimitSq:D
7: .line 161
aload 0 /* this */
iconst_2
putfield sun.java2d.marlin.DStroker.prev:I
8: .line 163
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.rdrCtx:Lsun/java2d/marlin/DRendererContext;
iconst_1
putfield sun.java2d.marlin.DRendererContext.stroking:I
9: .line 165
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.rdrCtx:Lsun/java2d/marlin/DRendererContext;
getfield sun.java2d.marlin.DRendererContext.doClip:Z
ifeq 29
10: .line 167
dconst_0
dstore 12 /* rdrOffX */
start local 12 // double rdrOffX
11: dconst_0
dstore 14 /* rdrOffY */
start local 14 // double rdrOffY
12: .line 168
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.lineWidth2:D
dstore 16 /* margin */
start local 16 // double margin
13: .line 170
iload 4 /* capStyle */
iconst_2
if_icmpne 15
14: .line 171
dload 16 /* margin */
getstatic sun.java2d.marlin.DStroker.SQRT_2:D
dmul
dstore 16 /* margin */
15: .line 173
StackMap locals: sun.java2d.marlin.DStroker sun.java2d.marlin.DPathConsumer2D double int int double double double double double double
StackMap stack:
iload 5 /* joinStyle */
ifne 17
dload 16 /* margin */
dload 10 /* limit */
dcmpg
ifge 17
16: .line 174
dload 10 /* limit */
dstore 16 /* margin */
17: .line 176
StackMap locals:
StackMap stack:
dload 8 /* scale */
dconst_1
dcmpl
ifeq 21
18: .line 177
dload 16 /* margin */
dload 8 /* scale */
dmul
dstore 16 /* margin */
19: .line 178
dload 8 /* scale */
getstatic sun.java2d.marlin.DRenderer.RDR_OFFSET_X:D
dmul
dstore 12 /* rdrOffX */
20: .line 179
dload 8 /* scale */
getstatic sun.java2d.marlin.DRenderer.RDR_OFFSET_Y:D
dmul
dstore 14 /* rdrOffY */
21: .line 182
StackMap locals:
StackMap stack:
dload 16 /* margin */
ldc 0.001
dadd
dstore 16 /* margin */
22: .line 186
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.rdrCtx:Lsun/java2d/marlin/DRendererContext;
getfield sun.java2d.marlin.DRendererContext.clipRect:[D
astore 18 /* _clipRect */
start local 18 // double[] _clipRect
23: .line 187
aload 18 /* _clipRect */
iconst_0
dup2
daload
dload 16 /* margin */
dload 14 /* rdrOffY */
dsub
dsub
dastore
24: .line 188
aload 18 /* _clipRect */
iconst_1
dup2
daload
dload 16 /* margin */
dload 14 /* rdrOffY */
dadd
dadd
dastore
25: .line 189
aload 18 /* _clipRect */
iconst_2
dup2
daload
dload 16 /* margin */
dload 12 /* rdrOffX */
dsub
dsub
dastore
26: .line 190
aload 18 /* _clipRect */
iconst_3
dup2
daload
dload 16 /* margin */
dload 12 /* rdrOffX */
dadd
dadd
dastore
27: .line 191
aload 0 /* this */
aload 18 /* _clipRect */
putfield sun.java2d.marlin.DStroker.clipRect:[D
end local 18 // double[] _clipRect
end local 16 // double margin
end local 14 // double rdrOffY
end local 12 // double rdrOffX
28: .line 192
goto 32
29: .line 193
StackMap locals:
StackMap stack:
aload 0 /* this */
aconst_null
putfield sun.java2d.marlin.DStroker.clipRect:[D
30: .line 194
aload 0 /* this */
iconst_0
putfield sun.java2d.marlin.DStroker.cOutCode:I
31: .line 195
aload 0 /* this */
iconst_0
putfield sun.java2d.marlin.DStroker.sOutCode:I
32: .line 197
StackMap locals:
StackMap stack:
aload 0 /* this */
areturn
end local 10 // double limit
end local 8 // double scale
end local 6 // double miterLimit
end local 5 // int joinStyle
end local 4 // int capStyle
end local 2 // double lineWidth
end local 1 // sun.java2d.marlin.DPathConsumer2D pc2d
end local 0 // sun.java2d.marlin.DStroker this
LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lsun/java2d/marlin/DStroker;
0 33 1 pc2d Lsun/java2d/marlin/DPathConsumer2D;
0 33 2 lineWidth D
0 33 4 capStyle I
0 33 5 joinStyle I
0 33 6 miterLimit D
0 33 8 scale D
6 33 10 limit D
11 28 12 rdrOffX D
12 28 14 rdrOffY D
13 28 16 margin D
23 28 18 _clipRect [D
MethodParameters:
Name Flags
pc2d final
lineWidth final
capStyle final
joinStyle final
miterLimit final
scale final
void dispose();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 // sun.java2d.marlin.DStroker this
0: .line 205
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.reverse:Lsun/java2d/marlin/DHelpers$PolyStack;
invokevirtual sun.java2d.marlin.DHelpers$PolyStack.dispose:()V
1: .line 207
aload 0 /* this */
iconst_0
putfield sun.java2d.marlin.DStroker.opened:Z
2: .line 208
aload 0 /* this */
iconst_0
putfield sun.java2d.marlin.DStroker.capStart:Z
3: .line 221
return
end local 0 // sun.java2d.marlin.DStroker this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/java2d/marlin/DStroker;
private static void computeOffset(double, double, double, double[]);
descriptor: (DDD[D)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=9, args_size=4
start local 0 // double lx
start local 2 // double ly
start local 4 // double w
start local 6 // double[] m
0: .line 226
dload 0 /* lx */
dload 0 /* lx */
dmul
dload 2 /* ly */
dload 2 /* ly */
dmul
dadd
dstore 7 /* len */
start local 7 // double len
1: .line 227
dload 7 /* len */
dconst_0
dcmpl
ifne 5
2: .line 228
aload 6 /* m */
iconst_0
dconst_0
dastore
3: .line 229
aload 6 /* m */
iconst_1
dconst_0
dastore
4: .line 230
goto 8
5: .line 231
StackMap locals: double
StackMap stack:
dload 7 /* len */
invokestatic java.lang.Math.sqrt:(D)D
dstore 7 /* len */
6: .line 232
aload 6 /* m */
iconst_0
dload 2 /* ly */
dload 4 /* w */
dmul
dload 7 /* len */
ddiv
dastore
7: .line 233
aload 6 /* m */
iconst_1
dload 0 /* lx */
dload 4 /* w */
dmul
dneg
dload 7 /* len */
ddiv
dastore
8: .line 235
StackMap locals:
StackMap stack:
return
end local 7 // double len
end local 6 // double[] m
end local 4 // double w
end local 2 // double ly
end local 0 // double lx
LocalVariableTable:
Start End Slot Name Signature
0 9 0 lx D
0 9 2 ly D
0 9 4 w D
0 9 6 m [D
1 9 7 len D
MethodParameters:
Name Flags
lx final
ly final
w final
m final
private static boolean isCW(double, double, double, double);
descriptor: (DDDD)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=8, args_size=4
start local 0 // double dx1
start local 2 // double dy1
start local 4 // double dx2
start local 6 // double dy2
0: .line 248
dload 0 /* dx1 */
dload 6 /* dy2 */
dmul
dload 2 /* dy1 */
dload 4 /* dx2 */
dmul
dcmpg
ifgt 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 6 // double dy2
end local 4 // double dx2
end local 2 // double dy1
end local 0 // double dx1
LocalVariableTable:
Start End Slot Name Signature
0 2 0 dx1 D
0 2 2 dy1 D
0 2 4 dx2 D
0 2 6 dy2 D
MethodParameters:
Name Flags
dx1 final
dy1 final
dx2 final
dy2 final
private void drawRoundJoin(double, double, double, double, double, double, boolean, double);
descriptor: (DDDDDDZD)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=14, locals=22, args_size=9
start local 0 // sun.java2d.marlin.DStroker this
start local 1 // double x
start local 3 // double y
start local 5 // double omx
start local 7 // double omy
start local 9 // double mx
start local 11 // double my
start local 13 // boolean rev
start local 14 // double threshold
0: .line 256
dload 5 /* omx */
dconst_0
dcmpl
ifne 1
dload 7 /* omy */
dconst_0
dcmpl
ifeq 2
StackMap locals:
StackMap stack:
1: dload 9 /* mx */
dconst_0
dcmpl
ifne 3
dload 11 /* my */
dconst_0
dcmpl
ifne 3
2: .line 257
StackMap locals:
StackMap stack:
return
3: .line 260
StackMap locals:
StackMap stack:
dload 5 /* omx */
dload 9 /* mx */
dsub
dstore 16 /* domx */
start local 16 // double domx
4: .line 261
dload 7 /* omy */
dload 11 /* my */
dsub
dstore 18 /* domy */
start local 18 // double domy
5: .line 262
dload 16 /* domx */
dload 16 /* domx */
dmul
dload 18 /* domy */
dload 18 /* domy */
dmul
dadd
dstore 20 /* len */
start local 20 // double len
6: .line 263
dload 20 /* len */
dload 14 /* threshold */
dcmpg
ifge 8
7: .line 264
return
8: .line 267
StackMap locals: double double double
StackMap stack:
iload 13 /* rev */
ifeq 13
9: .line 268
dload 5 /* omx */
dneg
dstore 5 /* omx */
10: .line 269
dload 7 /* omy */
dneg
dstore 7 /* omy */
11: .line 270
dload 9 /* mx */
dneg
dstore 9 /* mx */
12: .line 271
dload 11 /* my */
dneg
dstore 11 /* my */
13: .line 273
StackMap locals:
StackMap stack:
aload 0 /* this */
dload 1 /* x */
dload 3 /* y */
dload 5 /* omx */
dload 7 /* omy */
dload 9 /* mx */
dload 11 /* my */
iload 13 /* rev */
invokevirtual sun.java2d.marlin.DStroker.drawRoundJoin:(DDDDDDZ)V
14: .line 274
return
end local 20 // double len
end local 18 // double domy
end local 16 // double domx
end local 14 // double threshold
end local 13 // boolean rev
end local 11 // double my
end local 9 // double mx
end local 7 // double omy
end local 5 // double omx
end local 3 // double y
end local 1 // double x
end local 0 // sun.java2d.marlin.DStroker this
LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lsun/java2d/marlin/DStroker;
0 15 1 x D
0 15 3 y D
0 15 5 omx D
0 15 7 omy D
0 15 9 mx D
0 15 11 my D
0 15 13 rev Z
0 15 14 threshold D
4 15 16 domx D
5 15 18 domy D
6 15 20 len D
MethodParameters:
Name Flags
x
y
omx
omy
mx
my
rev
threshold
private void drawRoundJoin(double, double, double, double, double, double, boolean);
descriptor: (DDDDDDZ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=14, locals=29, args_size=8
start local 0 // sun.java2d.marlin.DStroker this
start local 1 // double cx
start local 3 // double cy
start local 5 // double omx
start local 7 // double omy
start local 9 // double mx
start local 11 // double my
start local 13 // boolean rev
0: .line 284
dload 5 /* omx */
dload 9 /* mx */
dmul
dload 7 /* omy */
dload 11 /* my */
dmul
dadd
dstore 14 /* cosext */
start local 14 // double cosext
1: .line 288
dload 14 /* cosext */
dconst_0
dcmpl
iflt 2
iconst_1
goto 3
StackMap locals: double
StackMap stack:
2: iconst_2
StackMap locals:
StackMap stack: int
3: istore 16 /* numCurves */
start local 16 // int numCurves
4: .line 290
iload 16 /* numCurves */
tableswitch { // 1 - 2
1: 5
2: 7
default: 18
}
5: .line 292
StackMap locals: int
StackMap stack:
aload 0 /* this */
dload 1 /* cx */
dload 3 /* cy */
dload 5 /* omx */
dload 7 /* omy */
dload 9 /* mx */
dload 11 /* my */
iload 13 /* rev */
invokevirtual sun.java2d.marlin.DStroker.drawBezApproxForArc:(DDDDDDZ)V
6: .line 293
goto 18
7: .line 309
StackMap locals:
StackMap stack:
dload 11 /* my */
dload 7 /* omy */
dsub
dstore 17 /* nx */
start local 17 // double nx
8: dload 5 /* omx */
dload 9 /* mx */
dsub
dstore 19 /* ny */
start local 19 // double ny
9: .line 310
dload 17 /* nx */
dload 17 /* nx */
dmul
dload 19 /* ny */
dload 19 /* ny */
dmul
dadd
invokestatic java.lang.Math.sqrt:(D)D
dstore 21 /* nlen */
start local 21 // double nlen
10: .line 311
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.lineWidth2:D
dload 21 /* nlen */
ddiv
dstore 23 /* scale */
start local 23 // double scale
11: .line 312
dload 17 /* nx */
dload 23 /* scale */
dmul
dstore 25 /* mmx */
start local 25 // double mmx
12: dload 19 /* ny */
dload 23 /* scale */
dmul
dstore 27 /* mmy */
start local 27 // double mmy
13: .line 317
iload 13 /* rev */
ifeq 16
14: .line 318
dload 25 /* mmx */
dneg
dstore 25 /* mmx */
15: .line 319
dload 27 /* mmy */
dneg
dstore 27 /* mmy */
16: .line 321
StackMap locals: sun.java2d.marlin.DStroker double double double double double double int double int double double double double double double
StackMap stack:
aload 0 /* this */
dload 1 /* cx */
dload 3 /* cy */
dload 5 /* omx */
dload 7 /* omy */
dload 25 /* mmx */
dload 27 /* mmy */
iload 13 /* rev */
invokevirtual sun.java2d.marlin.DStroker.drawBezApproxForArc:(DDDDDDZ)V
17: .line 322
aload 0 /* this */
dload 1 /* cx */
dload 3 /* cy */
dload 25 /* mmx */
dload 27 /* mmy */
dload 9 /* mx */
dload 11 /* my */
iload 13 /* rev */
invokevirtual sun.java2d.marlin.DStroker.drawBezApproxForArc:(DDDDDDZ)V
end local 27 // double mmy
end local 25 // double mmx
end local 23 // double scale
end local 21 // double nlen
end local 19 // double ny
end local 17 // double nx
18: .line 326
StackMap locals: sun.java2d.marlin.DStroker double double double double double double int double int
StackMap stack:
return
end local 16 // int numCurves
end local 14 // double cosext
end local 13 // boolean rev
end local 11 // double my
end local 9 // double mx
end local 7 // double omy
end local 5 // double omx
end local 3 // double cy
end local 1 // double cx
end local 0 // sun.java2d.marlin.DStroker this
LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lsun/java2d/marlin/DStroker;
0 19 1 cx D
0 19 3 cy D
0 19 5 omx D
0 19 7 omy D
0 19 9 mx D
0 19 11 my D
0 19 13 rev Z
1 19 14 cosext D
4 19 16 numCurves I
8 18 17 nx D
9 18 19 ny D
10 18 21 nlen D
11 18 23 scale D
12 18 25 mmx D
13 18 27 mmy D
MethodParameters:
Name Flags
cx
cy
omx
omy
mx
my
rev
private void drawBezApproxForArc(double, double, double, double, double, double, boolean);
descriptor: (DDDDDDZ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=18, locals=34, args_size=8
start local 0 // sun.java2d.marlin.DStroker this
start local 1 // double cx
start local 3 // double cy
start local 5 // double omx
start local 7 // double omy
start local 9 // double mx
start local 11 // double my
start local 13 // boolean rev
0: .line 334
dload 5 /* omx */
dload 9 /* mx */
dmul
dload 7 /* omy */
dload 11 /* my */
dmul
dadd
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.invHalfLineWidth2Sq:D
dmul
dstore 14 /* cosext2 */
start local 14 // double cosext2
1: .line 338
dload 14 /* cosext2 */
ldc 0.5
dcmpl
iflt 3
2: .line 340
return
3: .line 348
StackMap locals: double
StackMap stack:
ldc 1.3333333333333333
ldc 0.5
dload 14 /* cosext2 */
dsub
invokestatic java.lang.Math.sqrt:(D)D
dmul
4: .line 349
dconst_1
dload 14 /* cosext2 */
ldc 0.5
dadd
invokestatic java.lang.Math.sqrt:(D)D
dadd
5: .line 348
ddiv
dstore 16 /* cv */
start local 16 // double cv
6: .line 351
iload 13 /* rev */
ifeq 8
7: .line 352
dload 16 /* cv */
dneg
dstore 16 /* cv */
8: .line 354
StackMap locals: double
StackMap stack:
dload 1 /* cx */
dload 5 /* omx */
dadd
dstore 18 /* x1 */
start local 18 // double x1
9: .line 355
dload 3 /* cy */
dload 7 /* omy */
dadd
dstore 20 /* y1 */
start local 20 // double y1
10: .line 356
dload 18 /* x1 */
dload 16 /* cv */
dload 7 /* omy */
dmul
dsub
dstore 22 /* x2 */
start local 22 // double x2
11: .line 357
dload 20 /* y1 */
dload 16 /* cv */
dload 5 /* omx */
dmul
dadd
dstore 24 /* y2 */
start local 24 // double y2
12: .line 359
dload 1 /* cx */
dload 9 /* mx */
dadd
dstore 26 /* x4 */
start local 26 // double x4
13: .line 360
dload 3 /* cy */
dload 11 /* my */
dadd
dstore 28 /* y4 */
start local 28 // double y4
14: .line 361
dload 26 /* x4 */
dload 16 /* cv */
dload 11 /* my */
dmul
dadd
dstore 30 /* x3 */
start local 30 // double x3
15: .line 362
dload 28 /* y4 */
dload 16 /* cv */
dload 9 /* mx */
dmul
dsub
dstore 32 /* y3 */
start local 32 // double y3
16: .line 364
aload 0 /* this */
dload 18 /* x1 */
dload 20 /* y1 */
dload 22 /* x2 */
dload 24 /* y2 */
dload 30 /* x3 */
dload 32 /* y3 */
dload 26 /* x4 */
dload 28 /* y4 */
iload 13 /* rev */
invokevirtual sun.java2d.marlin.DStroker.emitCurveTo:(DDDDDDDDZ)V
17: .line 365
return
end local 32 // double y3
end local 30 // double x3
end local 28 // double y4
end local 26 // double x4
end local 24 // double y2
end local 22 // double x2
end local 20 // double y1
end local 18 // double x1
end local 16 // double cv
end local 14 // double cosext2
end local 13 // boolean rev
end local 11 // double my
end local 9 // double mx
end local 7 // double omy
end local 5 // double omx
end local 3 // double cy
end local 1 // double cx
end local 0 // sun.java2d.marlin.DStroker this
LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lsun/java2d/marlin/DStroker;
0 18 1 cx D
0 18 3 cy D
0 18 5 omx D
0 18 7 omy D
0 18 9 mx D
0 18 11 my D
0 18 13 rev Z
1 18 14 cosext2 D
6 18 16 cv D
9 18 18 x1 D
10 18 20 y1 D
11 18 22 x2 D
12 18 24 y2 D
13 18 26 x4 D
14 18 28 y4 D
15 18 30 x3 D
16 18 32 y3 D
MethodParameters:
Name Flags
cx final
cy final
omx final
omy final
mx final
my final
rev
private void drawRoundCap(double, double, double, double);
descriptor: (DDDD)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=15, locals=13, args_size=5
start local 0 // sun.java2d.marlin.DStroker this
start local 1 // double cx
start local 3 // double cy
start local 5 // double mx
start local 7 // double my
0: .line 368
getstatic sun.java2d.marlin.DStroker.C:D
dload 5 /* mx */
dmul
dstore 9 /* Cmx */
start local 9 // double Cmx
1: .line 369
getstatic sun.java2d.marlin.DStroker.C:D
dload 7 /* my */
dmul
dstore 11 /* Cmy */
start local 11 // double Cmy
2: .line 370
aload 0 /* this */
dload 1 /* cx */
dload 5 /* mx */
dadd
dload 11 /* Cmy */
dsub
dload 3 /* cy */
dload 7 /* my */
dadd
dload 9 /* Cmx */
dadd
3: .line 371
dload 1 /* cx */
dload 7 /* my */
dsub
dload 9 /* Cmx */
dadd
dload 3 /* cy */
dload 5 /* mx */
dadd
dload 11 /* Cmy */
dadd
4: .line 372
dload 1 /* cx */
dload 7 /* my */
dsub
dload 3 /* cy */
dload 5 /* mx */
dadd
5: .line 370
invokevirtual sun.java2d.marlin.DStroker.emitCurveTo:(DDDDDD)V
6: .line 373
aload 0 /* this */
dload 1 /* cx */
dload 7 /* my */
dsub
dload 9 /* Cmx */
dsub
dload 3 /* cy */
dload 5 /* mx */
dadd
dload 11 /* Cmy */
dsub
7: .line 374
dload 1 /* cx */
dload 5 /* mx */
dsub
dload 11 /* Cmy */
dsub
dload 3 /* cy */
dload 7 /* my */
dsub
dload 9 /* Cmx */
dadd
8: .line 375
dload 1 /* cx */
dload 5 /* mx */
dsub
dload 3 /* cy */
dload 7 /* my */
dsub
9: .line 373
invokevirtual sun.java2d.marlin.DStroker.emitCurveTo:(DDDDDD)V
10: .line 376
return
end local 11 // double Cmy
end local 9 // double Cmx
end local 7 // double my
end local 5 // double mx
end local 3 // double cy
end local 1 // double cx
end local 0 // sun.java2d.marlin.DStroker this
LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/java2d/marlin/DStroker;
0 11 1 cx D
0 11 3 cy D
0 11 5 mx D
0 11 7 my D
1 11 9 Cmx D
2 11 11 Cmy D
MethodParameters:
Name Flags
cx
cy
mx
my
private static void computeMiter(double, double, double, double, double, double, double, double, double[], int);
descriptor: (DDDDDDDD[DI)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=30, args_size=10
start local 0 // double x0
start local 2 // double y0
start local 4 // double x1
start local 6 // double y1
start local 8 // double x0p
start local 10 // double y0p
start local 12 // double x1p
start local 14 // double y1p
start local 16 // double[] m
start local 17 // int off
0: .line 386
dload 4 /* x1 */
dload 0 /* x0 */
dsub
dstore 18 /* x10 */
start local 18 // double x10
1: .line 387
dload 6 /* y1 */
dload 2 /* y0 */
dsub
dstore 20 /* y10 */
start local 20 // double y10
2: .line 388
dload 12 /* x1p */
dload 8 /* x0p */
dsub
dstore 22 /* x10p */
start local 22 // double x10p
3: .line 389
dload 14 /* y1p */
dload 10 /* y0p */
dsub
dstore 24 /* y10p */
start local 24 // double y10p
4: .line 400
dload 18 /* x10 */
dload 24 /* y10p */
dmul
dload 22 /* x10p */
dload 20 /* y10 */
dmul
dsub
dstore 26 /* den */
start local 26 // double den
5: .line 401
dload 22 /* x10p */
dload 2 /* y0 */
dload 10 /* y0p */
dsub
dmul
dload 24 /* y10p */
dload 0 /* x0 */
dload 8 /* x0p */
dsub
dmul
dsub
dstore 28 /* t */
start local 28 // double t
6: .line 402
dload 28 /* t */
dload 26 /* den */
ddiv
dstore 28 /* t */
7: .line 403
aload 16 /* m */
iload 17 /* off */
iinc 17 /* off */ 1
dload 0 /* x0 */
dload 28 /* t */
dload 18 /* x10 */
dmul
dadd
dastore
8: .line 404
aload 16 /* m */
iload 17 /* off */
dload 2 /* y0 */
dload 28 /* t */
dload 20 /* y10 */
dmul
dadd
dastore
9: .line 405
return
end local 28 // double t
end local 26 // double den
end local 24 // double y10p
end local 22 // double x10p
end local 20 // double y10
end local 18 // double x10
end local 17 // int off
end local 16 // double[] m
end local 14 // double y1p
end local 12 // double x1p
end local 10 // double y0p
end local 8 // double x0p
end local 6 // double y1
end local 4 // double x1
end local 2 // double y0
end local 0 // double x0
LocalVariableTable:
Start End Slot Name Signature
0 10 0 x0 D
0 10 2 y0 D
0 10 4 x1 D
0 10 6 y1 D
0 10 8 x0p D
0 10 10 y0p D
0 10 12 x1p D
0 10 14 y1p D
0 10 16 m [D
0 10 17 off I
1 10 18 x10 D
2 10 20 y10 D
3 10 22 x10p D
4 10 24 y10p D
5 10 26 den D
6 10 28 t D
MethodParameters:
Name Flags
x0 final
y0 final
x1 final
y1 final
x0p final
y0p final
x1p final
y1p final
m final
off
private static void safeComputeMiter(double, double, double, double, double, double, double, double, double[], int);
descriptor: (DDDDDDDD[DI)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=30, args_size=10
start local 0 // double x0
start local 2 // double y0
start local 4 // double x1
start local 6 // double y1
start local 8 // double x0p
start local 10 // double y0p
start local 12 // double x1p
start local 14 // double y1p
start local 16 // double[] m
start local 17 // int off
0: .line 415
dload 4 /* x1 */
dload 0 /* x0 */
dsub
dstore 18 /* x10 */
start local 18 // double x10
1: .line 416
dload 6 /* y1 */
dload 2 /* y0 */
dsub
dstore 20 /* y10 */
start local 20 // double y10
2: .line 417
dload 12 /* x1p */
dload 8 /* x0p */
dsub
dstore 22 /* x10p */
start local 22 // double x10p
3: .line 418
dload 14 /* y1p */
dload 10 /* y0p */
dsub
dstore 24 /* y10p */
start local 24 // double y10p
4: .line 429
dload 18 /* x10 */
dload 24 /* y10p */
dmul
dload 22 /* x10p */
dload 20 /* y10 */
dmul
dsub
dstore 26 /* den */
start local 26 // double den
5: .line 430
dload 26 /* den */
dconst_0
dcmpl
ifne 9
6: .line 431
aload 16 /* m */
iload 17 /* off */
iinc 17 /* off */ 1
dload 0 /* x0 */
dload 8 /* x0p */
dadd
ldc 2.0
ddiv
dastore
7: .line 432
aload 16 /* m */
iload 17 /* off */
dload 2 /* y0 */
dload 10 /* y0p */
dadd
ldc 2.0
ddiv
dastore
8: .line 433
return
9: .line 435
StackMap locals: double double double double double double double double double[] int double double double double double
StackMap stack:
dload 22 /* x10p */
dload 2 /* y0 */
dload 10 /* y0p */
dsub
dmul
dload 24 /* y10p */
dload 0 /* x0 */
dload 8 /* x0p */
dsub
dmul
dsub
dstore 28 /* t */
start local 28 // double t
10: .line 436
dload 28 /* t */
dload 26 /* den */
ddiv
dstore 28 /* t */
11: .line 437
aload 16 /* m */
iload 17 /* off */
iinc 17 /* off */ 1
dload 0 /* x0 */
dload 28 /* t */
dload 18 /* x10 */
dmul
dadd
dastore
12: .line 438
aload 16 /* m */
iload 17 /* off */
dload 2 /* y0 */
dload 28 /* t */
dload 20 /* y10 */
dmul
dadd
dastore
13: .line 439
return
end local 28 // double t
end local 26 // double den
end local 24 // double y10p
end local 22 // double x10p
end local 20 // double y10
end local 18 // double x10
end local 17 // int off
end local 16 // double[] m
end local 14 // double y1p
end local 12 // double x1p
end local 10 // double y0p
end local 8 // double x0p
end local 6 // double y1
end local 4 // double x1
end local 2 // double y0
end local 0 // double x0
LocalVariableTable:
Start End Slot Name Signature
0 14 0 x0 D
0 14 2 y0 D
0 14 4 x1 D
0 14 6 y1 D
0 14 8 x0p D
0 14 10 y0p D
0 14 12 x1p D
0 14 14 y1p D
0 14 16 m [D
0 14 17 off I
1 14 18 x10 D
2 14 20 y10 D
3 14 22 x10p D
4 14 24 y10p D
5 14 26 den D
10 14 28 t D
MethodParameters:
Name Flags
x0 final
y0 final
x1 final
y1 final
x0p final
y0p final
x1p final
y1p final
m final
off
private void drawMiter(double, double, double, double, double, double, double, double, double, double, boolean);
descriptor: (DDDDDDDDDDZ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=18, locals=28, args_size=12
start local 0 // sun.java2d.marlin.DStroker this
start local 1 // double pdx
start local 3 // double pdy
start local 5 // double x0
start local 7 // double y0
start local 9 // double dx
start local 11 // double dy
start local 13 // double omx
start local 15 // double omy
start local 17 // double mx
start local 19 // double my
start local 21 // boolean rev
0: .line 447
dload 17 /* mx */
dload 13 /* omx */
dcmpl
ifne 1
dload 19 /* my */
dload 15 /* omy */
dcmpl
ifeq 3
1: .line 448
StackMap locals:
StackMap stack:
dload 1 /* pdx */
dconst_0
dcmpl
ifne 2
dload 3 /* pdy */
dconst_0
dcmpl
ifeq 3
2: .line 449
StackMap locals:
StackMap stack:
dload 9 /* dx */
dconst_0
dcmpl
ifne 4
dload 11 /* dy */
dconst_0
dcmpl
ifne 4
3: .line 451
StackMap locals:
StackMap stack:
return
4: .line 454
StackMap locals:
StackMap stack:
iload 21 /* rev */
ifeq 9
5: .line 455
dload 13 /* omx */
dneg
dstore 13 /* omx */
6: .line 456
dload 15 /* omy */
dneg
dstore 15 /* omy */
7: .line 457
dload 17 /* mx */
dneg
dstore 17 /* mx */
8: .line 458
dload 19 /* my */
dneg
dstore 19 /* my */
9: .line 461
StackMap locals:
StackMap stack:
dload 5 /* x0 */
dload 1 /* pdx */
dsub
dload 13 /* omx */
dadd
dload 7 /* y0 */
dload 3 /* pdy */
dsub
dload 15 /* omy */
dadd
dload 5 /* x0 */
dload 13 /* omx */
dadd
dload 7 /* y0 */
dload 15 /* omy */
dadd
10: .line 462
dload 9 /* dx */
dload 5 /* x0 */
dadd
dload 17 /* mx */
dadd
dload 11 /* dy */
dload 7 /* y0 */
dadd
dload 19 /* my */
dadd
dload 5 /* x0 */
dload 17 /* mx */
dadd
dload 7 /* y0 */
dload 19 /* my */
dadd
11: .line 463
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.miter:[D
iconst_0
12: .line 461
invokestatic sun.java2d.marlin.DStroker.computeMiter:(DDDDDDDD[DI)V
13: .line 465
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.miter:[D
iconst_0
daload
dstore 22 /* miterX */
start local 22 // double miterX
14: .line 466
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.miter:[D
iconst_1
daload
dstore 24 /* miterY */
start local 24 // double miterY
15: .line 467
dload 22 /* miterX */
dload 5 /* x0 */
dsub
dload 22 /* miterX */
dload 5 /* x0 */
dsub
dmul
dload 24 /* miterY */
dload 7 /* y0 */
dsub
dload 24 /* miterY */
dload 7 /* y0 */
dsub
dmul
dadd
dstore 26 /* lenSq */
start local 26 // double lenSq
16: .line 474
dload 26 /* lenSq */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.miterLimitSq:D
dcmpg
ifge 18
17: .line 475
aload 0 /* this */
dload 22 /* miterX */
dload 24 /* miterY */
iload 21 /* rev */
invokevirtual sun.java2d.marlin.DStroker.emitLineTo:(DDZ)V
18: .line 477
StackMap locals: double double double
StackMap stack:
return
end local 26 // double lenSq
end local 24 // double miterY
end local 22 // double miterX
end local 21 // boolean rev
end local 19 // double my
end local 17 // double mx
end local 15 // double omy
end local 13 // double omx
end local 11 // double dy
end local 9 // double dx
end local 7 // double y0
end local 5 // double x0
end local 3 // double pdy
end local 1 // double pdx
end local 0 // sun.java2d.marlin.DStroker this
LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lsun/java2d/marlin/DStroker;
0 19 1 pdx D
0 19 3 pdy D
0 19 5 x0 D
0 19 7 y0 D
0 19 9 dx D
0 19 11 dy D
0 19 13 omx D
0 19 15 omy D
0 19 17 mx D
0 19 19 my D
0 19 21 rev Z
14 19 22 miterX D
15 19 24 miterY D
16 19 26 lenSq D
MethodParameters:
Name Flags
pdx final
pdy final
x0 final
y0 final
dx final
dy final
omx
omy
mx
my
rev
public void moveTo(double, double);
descriptor: (DD)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=3
start local 0 // sun.java2d.marlin.DStroker this
start local 1 // double x0
start local 3 // double y0
0: .line 481
aload 0 /* this */
dload 1 /* x0 */
dload 3 /* y0 */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cOutCode:I
invokevirtual sun.java2d.marlin.DStroker.moveTo:(DDI)V
1: .line 483
aload 0 /* this */
dload 1 /* x0 */
putfield sun.java2d.marlin.DStroker.sx0:D
2: .line 484
aload 0 /* this */
dload 3 /* y0 */
putfield sun.java2d.marlin.DStroker.sy0:D
3: .line 485
aload 0 /* this */
dconst_1
putfield sun.java2d.marlin.DStroker.sdx:D
4: .line 486
aload 0 /* this */
dconst_0
putfield sun.java2d.marlin.DStroker.sdy:D
5: .line 487
aload 0 /* this */
iconst_0
putfield sun.java2d.marlin.DStroker.opened:Z
6: .line 488
aload 0 /* this */
iconst_0
putfield sun.java2d.marlin.DStroker.capStart:Z
7: .line 490
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.clipRect:[D
ifnull 11
8: .line 491
dload 1 /* x0 */
dload 3 /* y0 */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.clipRect:[D
invokestatic sun.java2d.marlin.DHelpers.outcode:(DD[D)I
istore 5 /* outcode */
start local 5 // int outcode
9: .line 492
aload 0 /* this */
iload 5 /* outcode */
putfield sun.java2d.marlin.DStroker.cOutCode:I
10: .line 493
aload 0 /* this */
iload 5 /* outcode */
putfield sun.java2d.marlin.DStroker.sOutCode:I
end local 5 // int outcode
11: .line 495
StackMap locals:
StackMap stack:
return
end local 3 // double y0
end local 1 // double x0
end local 0 // sun.java2d.marlin.DStroker this
LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/java2d/marlin/DStroker;
0 12 1 x0 D
0 12 3 y0 D
9 11 5 outcode I
MethodParameters:
Name Flags
x0 final
y0 final
private void moveTo(double, double, int);
descriptor: (DDI)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=4
start local 0 // sun.java2d.marlin.DStroker this
start local 1 // double x0
start local 3 // double y0
start local 5 // int outcode
0: .line 500
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.prev:I
ifne 4
1: .line 501
aload 0 /* this */
dload 1 /* x0 */
putfield sun.java2d.marlin.DStroker.cx0:D
2: .line 502
aload 0 /* this */
dload 3 /* y0 */
putfield sun.java2d.marlin.DStroker.cy0:D
3: .line 503
goto 11
4: .line 504
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.prev:I
iconst_1
if_icmpne 6
5: .line 505
aload 0 /* this */
iload 5 /* outcode */
invokevirtual sun.java2d.marlin.DStroker.finish:(I)V
6: .line 507
StackMap locals:
StackMap stack:
aload 0 /* this */
iconst_0
putfield sun.java2d.marlin.DStroker.prev:I
7: .line 508
aload 0 /* this */
dload 1 /* x0 */
putfield sun.java2d.marlin.DStroker.cx0:D
8: .line 509
aload 0 /* this */
dload 3 /* y0 */
putfield sun.java2d.marlin.DStroker.cy0:D
9: .line 510
aload 0 /* this */
dconst_1
putfield sun.java2d.marlin.DStroker.cdx:D
10: .line 511
aload 0 /* this */
dconst_0
putfield sun.java2d.marlin.DStroker.cdy:D
11: .line 513
StackMap locals:
StackMap stack:
return
end local 5 // int outcode
end local 3 // double y0
end local 1 // double x0
end local 0 // sun.java2d.marlin.DStroker this
LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/java2d/marlin/DStroker;
0 12 1 x0 D
0 12 3 y0 D
0 12 5 outcode I
MethodParameters:
Name Flags
x0 final
y0 final
outcode final
public void lineTo(double, double);
descriptor: (DD)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=3
start local 0 // sun.java2d.marlin.DStroker this
start local 1 // double x1
start local 3 // double y1
0: .line 517
aload 0 /* this */
dload 1 /* x1 */
dload 3 /* y1 */
iconst_0
invokevirtual sun.java2d.marlin.DStroker.lineTo:(DDZ)V
1: .line 518
return
end local 3 // double y1
end local 1 // double x1
end local 0 // sun.java2d.marlin.DStroker this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/java2d/marlin/DStroker;
0 2 1 x1 D
0 2 3 y1 D
MethodParameters:
Name Flags
x1 final
y1 final
private void lineTo(double, double, boolean);
descriptor: (DDZ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=22, locals=15, args_size=4
start local 0 // sun.java2d.marlin.DStroker this
start local 1 // double x1
start local 3 // double y1
start local 5 // boolean force
0: .line 523
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cOutCode:I
istore 6 /* outcode0 */
start local 6 // int outcode0
1: .line 524
iload 5 /* force */
ifne 8
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.clipRect:[D
ifnull 8
2: .line 525
dload 1 /* x1 */
dload 3 /* y1 */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.clipRect:[D
invokestatic sun.java2d.marlin.DHelpers.outcode:(DD[D)I
istore 7 /* outcode1 */
start local 7 // int outcode1
3: .line 526
aload 0 /* this */
iload 7 /* outcode1 */
putfield sun.java2d.marlin.DStroker.cOutCode:I
4: .line 529
iload 6 /* outcode0 */
iload 7 /* outcode1 */
iand
ifeq 8
5: .line 530
aload 0 /* this */
dload 1 /* x1 */
dload 3 /* y1 */
iload 6 /* outcode0 */
invokevirtual sun.java2d.marlin.DStroker.moveTo:(DDI)V
6: .line 531
aload 0 /* this */
iconst_1
putfield sun.java2d.marlin.DStroker.opened:Z
7: .line 532
return
end local 7 // int outcode1
8: .line 536
StackMap locals: int
StackMap stack:
dload 1 /* x1 */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cx0:D
dsub
dstore 7 /* dx */
start local 7 // double dx
9: .line 537
dload 3 /* y1 */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cy0:D
dsub
dstore 9 /* dy */
start local 9 // double dy
10: .line 538
dload 7 /* dx */
dconst_0
dcmpl
ifne 12
dload 9 /* dy */
dconst_0
dcmpl
ifne 12
11: .line 539
dconst_1
dstore 7 /* dx */
12: .line 541
StackMap locals: double double
StackMap stack:
dload 7 /* dx */
dload 9 /* dy */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.lineWidth2:D
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.offset0:[D
invokestatic sun.java2d.marlin.DStroker.computeOffset:(DDD[D)V
13: .line 542
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.offset0:[D
iconst_0
daload
dstore 11 /* mx */
start local 11 // double mx
14: .line 543
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.offset0:[D
iconst_1
daload
dstore 13 /* my */
start local 13 // double my
15: .line 545
aload 0 /* this */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cdx:D
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cdy:D
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cx0:D
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cy0:D
dload 7 /* dx */
dload 9 /* dy */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cmx:D
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cmy:D
dload 11 /* mx */
dload 13 /* my */
iload 6 /* outcode0 */
invokevirtual sun.java2d.marlin.DStroker.drawJoin:(DDDDDDDDDDI)V
16: .line 547
aload 0 /* this */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cx0:D
dload 11 /* mx */
dadd
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cy0:D
dload 13 /* my */
dadd
invokevirtual sun.java2d.marlin.DStroker.emitLineTo:(DD)V
17: .line 548
aload 0 /* this */
dload 1 /* x1 */
dload 11 /* mx */
dadd
dload 3 /* y1 */
dload 13 /* my */
dadd
invokevirtual sun.java2d.marlin.DStroker.emitLineTo:(DD)V
18: .line 550
aload 0 /* this */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cx0:D
dload 11 /* mx */
dsub
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cy0:D
dload 13 /* my */
dsub
invokevirtual sun.java2d.marlin.DStroker.emitLineToRev:(DD)V
19: .line 551
aload 0 /* this */
dload 1 /* x1 */
dload 11 /* mx */
dsub
dload 3 /* y1 */
dload 13 /* my */
dsub
invokevirtual sun.java2d.marlin.DStroker.emitLineToRev:(DD)V
20: .line 553
aload 0 /* this */
iconst_1
putfield sun.java2d.marlin.DStroker.prev:I
21: .line 554
aload 0 /* this */
dload 1 /* x1 */
putfield sun.java2d.marlin.DStroker.cx0:D
22: .line 555
aload 0 /* this */
dload 3 /* y1 */
putfield sun.java2d.marlin.DStroker.cy0:D
23: .line 556
aload 0 /* this */
dload 7 /* dx */
putfield sun.java2d.marlin.DStroker.cdx:D
24: .line 557
aload 0 /* this */
dload 9 /* dy */
putfield sun.java2d.marlin.DStroker.cdy:D
25: .line 558
aload 0 /* this */
dload 11 /* mx */
putfield sun.java2d.marlin.DStroker.cmx:D
26: .line 559
aload 0 /* this */
dload 13 /* my */
putfield sun.java2d.marlin.DStroker.cmy:D
27: .line 560
return
end local 13 // double my
end local 11 // double mx
end local 9 // double dy
end local 7 // double dx
end local 6 // int outcode0
end local 5 // boolean force
end local 3 // double y1
end local 1 // double x1
end local 0 // sun.java2d.marlin.DStroker this
LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lsun/java2d/marlin/DStroker;
0 28 1 x1 D
0 28 3 y1 D
0 28 5 force Z
1 28 6 outcode0 I
3 8 7 outcode1 I
9 28 7 dx D
10 28 9 dy D
14 28 11 mx D
15 28 13 my D
MethodParameters:
Name Flags
x1 final
y1 final
force final
public void closePath();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=22, locals=1, args_size=1
start local 0 // sun.java2d.marlin.DStroker this
0: .line 565
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.prev:I
iconst_1
if_icmpeq 14
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.opened:Z
ifne 14
1: .line 566
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.prev:I
iconst_2
if_icmpne 3
2: .line 567
return
3: .line 569
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cx0:D
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cy0:D
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.lineWidth2:D
dsub
invokevirtual sun.java2d.marlin.DStroker.emitMoveTo:(DD)V
4: .line 571
aload 0 /* this */
dconst_1
putfield sun.java2d.marlin.DStroker.sdx:D
5: .line 572
aload 0 /* this */
dconst_0
putfield sun.java2d.marlin.DStroker.sdy:D
6: .line 573
aload 0 /* this */
dconst_1
putfield sun.java2d.marlin.DStroker.cdx:D
7: .line 574
aload 0 /* this */
dconst_0
putfield sun.java2d.marlin.DStroker.cdy:D
8: .line 576
aload 0 /* this */
dconst_0
putfield sun.java2d.marlin.DStroker.smx:D
9: .line 577
aload 0 /* this */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.lineWidth2:D
dneg
putfield sun.java2d.marlin.DStroker.smy:D
10: .line 578
aload 0 /* this */
dconst_0
putfield sun.java2d.marlin.DStroker.cmx:D
11: .line 579
aload 0 /* this */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.lineWidth2:D
dneg
putfield sun.java2d.marlin.DStroker.cmy:D
12: .line 581
aload 0 /* this */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cOutCode:I
invokevirtual sun.java2d.marlin.DStroker.finish:(I)V
13: .line 582
return
14: .line 586
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.sOutCode:I
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cOutCode:I
iand
ifne 23
15: .line 587
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cx0:D
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.sx0:D
dcmpl
ifne 16
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cy0:D
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.sy0:D
dcmpl
ifeq 17
16: .line 588
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.sx0:D
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.sy0:D
iconst_1
invokevirtual sun.java2d.marlin.DStroker.lineTo:(DDZ)V
17: .line 591
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cdx:D
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cdy:D
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cx0:D
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cy0:D
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.sdx:D
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.sdy:D
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cmx:D
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cmy:D
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.smx:D
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.smy:D
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.sOutCode:I
invokevirtual sun.java2d.marlin.DStroker.drawJoin:(DDDDDDDDDDI)V
18: .line 593
aload 0 /* this */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.sx0:D
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.smx:D
dadd
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.sy0:D
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.smy:D
dadd
invokevirtual sun.java2d.marlin.DStroker.emitLineTo:(DD)V
19: .line 595
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.opened:Z
ifeq 22
20: .line 596
aload 0 /* this */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.sx0:D
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.smx:D
dsub
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.sy0:D
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.smy:D
dsub
invokevirtual sun.java2d.marlin.DStroker.emitLineTo:(DD)V
21: .line 597
goto 23
22: .line 598
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.sx0:D
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.smx:D
dsub
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.sy0:D
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.smy:D
dsub
invokevirtual sun.java2d.marlin.DStroker.emitMoveTo:(DD)V
23: .line 602
StackMap locals:
StackMap stack:
aload 0 /* this */
invokevirtual sun.java2d.marlin.DStroker.emitReverse:()V
24: .line 604
aload 0 /* this */
iconst_2
putfield sun.java2d.marlin.DStroker.prev:I
25: .line 606
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.opened:Z
ifeq 28
26: .line 608
aload 0 /* this */
iconst_0
putfield sun.java2d.marlin.DStroker.opened:Z
27: .line 609
goto 29
28: .line 610
StackMap locals:
StackMap stack:
aload 0 /* this */
invokevirtual sun.java2d.marlin.DStroker.emitClose:()V
29: .line 612
StackMap locals:
StackMap stack:
return
end local 0 // sun.java2d.marlin.DStroker this
LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lsun/java2d/marlin/DStroker;
private void emitReverse();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 // sun.java2d.marlin.DStroker this
0: .line 615
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.reverse:Lsun/java2d/marlin/DHelpers$PolyStack;
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.out:Lsun/java2d/marlin/DPathConsumer2D;
invokevirtual sun.java2d.marlin.DHelpers$PolyStack.popAll:(Lsun/java2d/marlin/DPathConsumer2D;)V
1: .line 616
return
end local 0 // sun.java2d.marlin.DStroker this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/java2d/marlin/DStroker;
public void pathDone();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 // sun.java2d.marlin.DStroker this
0: .line 620
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.prev:I
iconst_1
if_icmpne 2
1: .line 621
aload 0 /* this */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cOutCode:I
invokevirtual sun.java2d.marlin.DStroker.finish:(I)V
2: .line 624
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.out:Lsun/java2d/marlin/DPathConsumer2D;
invokeinterface sun.java2d.marlin.DPathConsumer2D.pathDone:()V
3: .line 628
aload 0 /* this */
iconst_2
putfield sun.java2d.marlin.DStroker.prev:I
4: .line 631
aload 0 /* this */
invokevirtual sun.java2d.marlin.DStroker.dispose:()V
5: .line 632
return
end local 0 // sun.java2d.marlin.DStroker this
LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/java2d/marlin/DStroker;
private void finish(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=2, args_size=2
start local 0 // sun.java2d.marlin.DStroker this
start local 1 // int outcode
0: .line 639
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.rdrCtx:Lsun/java2d/marlin/DRendererContext;
getfield sun.java2d.marlin.DRendererContext.closedPath:Z
ifne 19
1: .line 640
iload 1 /* outcode */
ifne 8
2: .line 642
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.capStyle:I
iconst_1
if_icmpne 5
3: .line 643
aload 0 /* this */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cx0:D
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cy0:D
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cmx:D
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cmy:D
invokevirtual sun.java2d.marlin.DStroker.drawRoundCap:(DDDD)V
4: .line 644
goto 8
StackMap locals:
StackMap stack:
5: aload 0 /* this */
getfield sun.java2d.marlin.DStroker.capStyle:I
iconst_2
if_icmpne 8
6: .line 645
aload 0 /* this */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cx0:D
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cmy:D
dsub
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cmx:D
dadd
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cy0:D
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cmx:D
dadd
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cmy:D
dadd
invokevirtual sun.java2d.marlin.DStroker.emitLineTo:(DD)V
7: .line 646
aload 0 /* this */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cx0:D
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cmy:D
dsub
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cmx:D
dsub
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cy0:D
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cmx:D
dadd
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cmy:D
dsub
invokevirtual sun.java2d.marlin.DStroker.emitLineTo:(DD)V
8: .line 649
StackMap locals:
StackMap stack:
aload 0 /* this */
invokevirtual sun.java2d.marlin.DStroker.emitReverse:()V
9: .line 651
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.capStart:Z
ifne 20
10: .line 652
aload 0 /* this */
iconst_1
putfield sun.java2d.marlin.DStroker.capStart:Z
11: .line 654
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.sOutCode:I
ifne 20
12: .line 656
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.capStyle:I
iconst_1
if_icmpne 15
13: .line 657
aload 0 /* this */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.sx0:D
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.sy0:D
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.smx:D
dneg
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.smy:D
dneg
invokevirtual sun.java2d.marlin.DStroker.drawRoundCap:(DDDD)V
14: .line 658
goto 20
StackMap locals:
StackMap stack:
15: aload 0 /* this */
getfield sun.java2d.marlin.DStroker.capStyle:I
iconst_2
if_icmpne 20
16: .line 659
aload 0 /* this */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.sx0:D
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.smy:D
dadd
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.smx:D
dsub
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.sy0:D
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.smx:D
dsub
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.smy:D
dsub
invokevirtual sun.java2d.marlin.DStroker.emitLineTo:(DD)V
17: .line 660
aload 0 /* this */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.sx0:D
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.smy:D
dadd
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.smx:D
dadd
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.sy0:D
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.smx:D
dsub
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.smy:D
dadd
invokevirtual sun.java2d.marlin.DStroker.emitLineTo:(DD)V
18: .line 664
goto 20
19: .line 665
StackMap locals:
StackMap stack:
aload 0 /* this */
invokevirtual sun.java2d.marlin.DStroker.emitReverse:()V
20: .line 667
StackMap locals:
StackMap stack:
aload 0 /* this */
invokevirtual sun.java2d.marlin.DStroker.emitClose:()V
21: .line 668
return
end local 1 // int outcode
end local 0 // sun.java2d.marlin.DStroker this
LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lsun/java2d/marlin/DStroker;
0 22 1 outcode I
MethodParameters:
Name Flags
outcode final
private void emitMoveTo(double, double);
descriptor: (DD)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=3
start local 0 // sun.java2d.marlin.DStroker this
start local 1 // double x0
start local 3 // double y0
0: .line 671
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.out:Lsun/java2d/marlin/DPathConsumer2D;
dload 1 /* x0 */
dload 3 /* y0 */
invokeinterface sun.java2d.marlin.DPathConsumer2D.moveTo:(DD)V
1: .line 672
return
end local 3 // double y0
end local 1 // double x0
end local 0 // sun.java2d.marlin.DStroker this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/java2d/marlin/DStroker;
0 2 1 x0 D
0 2 3 y0 D
MethodParameters:
Name Flags
x0 final
y0 final
private void emitLineTo(double, double);
descriptor: (DD)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=3
start local 0 // sun.java2d.marlin.DStroker this
start local 1 // double x1
start local 3 // double y1
0: .line 675
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.out:Lsun/java2d/marlin/DPathConsumer2D;
dload 1 /* x1 */
dload 3 /* y1 */
invokeinterface sun.java2d.marlin.DPathConsumer2D.lineTo:(DD)V
1: .line 676
return
end local 3 // double y1
end local 1 // double x1
end local 0 // sun.java2d.marlin.DStroker this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/java2d/marlin/DStroker;
0 2 1 x1 D
0 2 3 y1 D
MethodParameters:
Name Flags
x1 final
y1 final
private void emitLineToRev(double, double);
descriptor: (DD)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=3
start local 0 // sun.java2d.marlin.DStroker this
start local 1 // double x1
start local 3 // double y1
0: .line 679
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.reverse:Lsun/java2d/marlin/DHelpers$PolyStack;
dload 1 /* x1 */
dload 3 /* y1 */
invokevirtual sun.java2d.marlin.DHelpers$PolyStack.pushLine:(DD)V
1: .line 680
return
end local 3 // double y1
end local 1 // double x1
end local 0 // sun.java2d.marlin.DStroker this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/java2d/marlin/DStroker;
0 2 1 x1 D
0 2 3 y1 D
MethodParameters:
Name Flags
x1 final
y1 final
private void emitLineTo(double, double, boolean);
descriptor: (DDZ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=4
start local 0 // sun.java2d.marlin.DStroker this
start local 1 // double x1
start local 3 // double y1
start local 5 // boolean rev
0: .line 685
iload 5 /* rev */
ifeq 3
1: .line 686
aload 0 /* this */
dload 1 /* x1 */
dload 3 /* y1 */
invokevirtual sun.java2d.marlin.DStroker.emitLineToRev:(DD)V
2: .line 687
goto 4
3: .line 688
StackMap locals:
StackMap stack:
aload 0 /* this */
dload 1 /* x1 */
dload 3 /* y1 */
invokevirtual sun.java2d.marlin.DStroker.emitLineTo:(DD)V
4: .line 690
StackMap locals:
StackMap stack:
return
end local 5 // boolean rev
end local 3 // double y1
end local 1 // double x1
end local 0 // sun.java2d.marlin.DStroker this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/java2d/marlin/DStroker;
0 5 1 x1 D
0 5 3 y1 D
0 5 5 rev Z
MethodParameters:
Name Flags
x1 final
y1 final
rev final
private void emitQuadTo(double, double, double, double);
descriptor: (DDDD)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=9, args_size=5
start local 0 // sun.java2d.marlin.DStroker this
start local 1 // double x1
start local 3 // double y1
start local 5 // double x2
start local 7 // double y2
0: .line 695
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.out:Lsun/java2d/marlin/DPathConsumer2D;
dload 1 /* x1 */
dload 3 /* y1 */
dload 5 /* x2 */
dload 7 /* y2 */
invokeinterface sun.java2d.marlin.DPathConsumer2D.quadTo:(DDDD)V
1: .line 696
return
end local 7 // double y2
end local 5 // double x2
end local 3 // double y1
end local 1 // double x1
end local 0 // sun.java2d.marlin.DStroker this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/java2d/marlin/DStroker;
0 2 1 x1 D
0 2 3 y1 D
0 2 5 x2 D
0 2 7 y2 D
MethodParameters:
Name Flags
x1 final
y1 final
x2 final
y2 final
private void emitQuadToRev(double, double, double, double);
descriptor: (DDDD)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=9, args_size=5
start local 0 // sun.java2d.marlin.DStroker this
start local 1 // double x0
start local 3 // double y0
start local 5 // double x1
start local 7 // double y1
0: .line 701
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.reverse:Lsun/java2d/marlin/DHelpers$PolyStack;
dload 1 /* x0 */
dload 3 /* y0 */
dload 5 /* x1 */
dload 7 /* y1 */
invokevirtual sun.java2d.marlin.DHelpers$PolyStack.pushQuad:(DDDD)V
1: .line 702
return
end local 7 // double y1
end local 5 // double x1
end local 3 // double y0
end local 1 // double x0
end local 0 // sun.java2d.marlin.DStroker this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/java2d/marlin/DStroker;
0 2 1 x0 D
0 2 3 y0 D
0 2 5 x1 D
0 2 7 y1 D
MethodParameters:
Name Flags
x0 final
y0 final
x1 final
y1 final
private void emitCurveTo(double, double, double, double, double, double);
descriptor: (DDDDDD)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=13, locals=13, args_size=7
start local 0 // sun.java2d.marlin.DStroker this
start local 1 // double x1
start local 3 // double y1
start local 5 // double x2
start local 7 // double y2
start local 9 // double x3
start local 11 // double y3
0: .line 708
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.out:Lsun/java2d/marlin/DPathConsumer2D;
dload 1 /* x1 */
dload 3 /* y1 */
dload 5 /* x2 */
dload 7 /* y2 */
dload 9 /* x3 */
dload 11 /* y3 */
invokeinterface sun.java2d.marlin.DPathConsumer2D.curveTo:(DDDDDD)V
1: .line 709
return
end local 11 // double y3
end local 9 // double x3
end local 7 // double y2
end local 5 // double x2
end local 3 // double y1
end local 1 // double x1
end local 0 // sun.java2d.marlin.DStroker this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/java2d/marlin/DStroker;
0 2 1 x1 D
0 2 3 y1 D
0 2 5 x2 D
0 2 7 y2 D
0 2 9 x3 D
0 2 11 y3 D
MethodParameters:
Name Flags
x1 final
y1 final
x2 final
y2 final
x3 final
y3 final
private void emitCurveToRev(double, double, double, double, double, double);
descriptor: (DDDDDD)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=13, locals=13, args_size=7
start local 0 // sun.java2d.marlin.DStroker this
start local 1 // double x0
start local 3 // double y0
start local 5 // double x1
start local 7 // double y1
start local 9 // double x2
start local 11 // double y2
0: .line 715
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.reverse:Lsun/java2d/marlin/DHelpers$PolyStack;
dload 1 /* x0 */
dload 3 /* y0 */
dload 5 /* x1 */
dload 7 /* y1 */
dload 9 /* x2 */
dload 11 /* y2 */
invokevirtual sun.java2d.marlin.DHelpers$PolyStack.pushCubic:(DDDDDD)V
1: .line 716
return
end local 11 // double y2
end local 9 // double x2
end local 7 // double y1
end local 5 // double x1
end local 3 // double y0
end local 1 // double x0
end local 0 // sun.java2d.marlin.DStroker this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/java2d/marlin/DStroker;
0 2 1 x0 D
0 2 3 y0 D
0 2 5 x1 D
0 2 7 y1 D
0 2 9 x2 D
0 2 11 y2 D
MethodParameters:
Name Flags
x0 final
y0 final
x1 final
y1 final
x2 final
y2 final
private void emitCurveTo(double, double, double, double, double, double, double, double, boolean);
descriptor: (DDDDDDDDZ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=13, locals=18, args_size=10
start local 0 // sun.java2d.marlin.DStroker this
start local 1 // double x0
start local 3 // double y0
start local 5 // double x1
start local 7 // double y1
start local 9 // double x2
start local 11 // double y2
start local 13 // double x3
start local 15 // double y3
start local 17 // boolean rev
0: .line 723
iload 17 /* rev */
ifeq 3
1: .line 724
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.reverse:Lsun/java2d/marlin/DHelpers$PolyStack;
dload 1 /* x0 */
dload 3 /* y0 */
dload 5 /* x1 */
dload 7 /* y1 */
dload 9 /* x2 */
dload 11 /* y2 */
invokevirtual sun.java2d.marlin.DHelpers$PolyStack.pushCubic:(DDDDDD)V
2: .line 725
goto 4
3: .line 726
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.out:Lsun/java2d/marlin/DPathConsumer2D;
dload 5 /* x1 */
dload 7 /* y1 */
dload 9 /* x2 */
dload 11 /* y2 */
dload 13 /* x3 */
dload 15 /* y3 */
invokeinterface sun.java2d.marlin.DPathConsumer2D.curveTo:(DDDDDD)V
4: .line 728
StackMap locals:
StackMap stack:
return
end local 17 // boolean rev
end local 15 // double y3
end local 13 // double x3
end local 11 // double y2
end local 9 // double x2
end local 7 // double y1
end local 5 // double x1
end local 3 // double y0
end local 1 // double x0
end local 0 // sun.java2d.marlin.DStroker this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/java2d/marlin/DStroker;
0 5 1 x0 D
0 5 3 y0 D
0 5 5 x1 D
0 5 7 y1 D
0 5 9 x2 D
0 5 11 y2 D
0 5 13 x3 D
0 5 15 y3 D
0 5 17 rev Z
MethodParameters:
Name Flags
x0 final
y0 final
x1 final
y1 final
x2 final
y2 final
x3 final
y3 final
rev final
private void emitClose();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 // sun.java2d.marlin.DStroker this
0: .line 731
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.out:Lsun/java2d/marlin/DPathConsumer2D;
invokeinterface sun.java2d.marlin.DPathConsumer2D.closePath:()V
1: .line 732
return
end local 0 // sun.java2d.marlin.DStroker this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/java2d/marlin/DStroker;
private void drawJoin(double, double, double, double, double, double, double, double, double, double, int);
descriptor: (DDDDDDDDDDI)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=22, locals=23, args_size=12
start local 0 // sun.java2d.marlin.DStroker this
start local 1 // double pdx
start local 3 // double pdy
start local 5 // double x0
start local 7 // double y0
start local 9 // double dx
start local 11 // double dy
start local 13 // double omx
start local 15 // double omy
start local 17 // double mx
start local 19 // double my
start local 21 // int outcode
0: .line 741
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.prev:I
iconst_1
if_icmpeq 8
1: .line 742
aload 0 /* this */
dload 5 /* x0 */
dload 17 /* mx */
dadd
dload 7 /* y0 */
dload 19 /* my */
dadd
invokevirtual sun.java2d.marlin.DStroker.emitMoveTo:(DD)V
2: .line 743
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.opened:Z
ifne 22
3: .line 744
aload 0 /* this */
dload 9 /* dx */
putfield sun.java2d.marlin.DStroker.sdx:D
4: .line 745
aload 0 /* this */
dload 11 /* dy */
putfield sun.java2d.marlin.DStroker.sdy:D
5: .line 746
aload 0 /* this */
dload 17 /* mx */
putfield sun.java2d.marlin.DStroker.smx:D
6: .line 747
aload 0 /* this */
dload 19 /* my */
putfield sun.java2d.marlin.DStroker.smy:D
7: .line 749
goto 22
8: .line 750
StackMap locals:
StackMap stack:
dload 1 /* pdx */
dload 3 /* pdy */
dload 9 /* dx */
dload 11 /* dy */
invokestatic sun.java2d.marlin.DStroker.isCW:(DDDD)Z
istore 22 /* cw */
start local 22 // boolean cw
9: .line 751
iload 21 /* outcode */
ifne 19
10: .line 752
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.joinStyle:I
ifne 13
11: .line 753
aload 0 /* this */
dload 1 /* pdx */
dload 3 /* pdy */
dload 5 /* x0 */
dload 7 /* y0 */
dload 9 /* dx */
dload 11 /* dy */
dload 13 /* omx */
dload 15 /* omy */
dload 17 /* mx */
dload 19 /* my */
iload 22 /* cw */
invokevirtual sun.java2d.marlin.DStroker.drawMiter:(DDDDDDDDDDZ)V
12: .line 754
goto 19
StackMap locals: int
StackMap stack:
13: aload 0 /* this */
getfield sun.java2d.marlin.DStroker.joinStyle:I
iconst_1
if_icmpne 19
14: .line 755
aload 0 /* this */
dload 5 /* x0 */
dload 7 /* y0 */
15: .line 756
dload 13 /* omx */
dload 15 /* omy */
16: .line 757
dload 17 /* mx */
dload 19 /* my */
iload 22 /* cw */
17: .line 758
ldc 0.0152587890625
18: .line 755
invokevirtual sun.java2d.marlin.DStroker.drawRoundJoin:(DDDDDDZD)V
19: .line 761
StackMap locals:
StackMap stack:
aload 0 /* this */
dload 5 /* x0 */
dload 7 /* y0 */
iload 22 /* cw */
ifeq 20
iconst_0
goto 21
StackMap locals: sun.java2d.marlin.DStroker double double double double double double double double double double int int
StackMap stack: sun.java2d.marlin.DStroker double double
20: iconst_1
StackMap locals: sun.java2d.marlin.DStroker double double double double double double double double double double int int
StackMap stack: sun.java2d.marlin.DStroker double double int
21: invokevirtual sun.java2d.marlin.DStroker.emitLineTo:(DDZ)V
end local 22 // boolean cw
22: .line 763
StackMap locals:
StackMap stack:
aload 0 /* this */
iconst_1
putfield sun.java2d.marlin.DStroker.prev:I
23: .line 764
return
end local 21 // int outcode
end local 19 // double my
end local 17 // double mx
end local 15 // double omy
end local 13 // double omx
end local 11 // double dy
end local 9 // double dx
end local 7 // double y0
end local 5 // double x0
end local 3 // double pdy
end local 1 // double pdx
end local 0 // sun.java2d.marlin.DStroker this
LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lsun/java2d/marlin/DStroker;
0 24 1 pdx D
0 24 3 pdy D
0 24 5 x0 D
0 24 7 y0 D
0 24 9 dx D
0 24 11 dy D
0 24 13 omx D
0 24 15 omy D
0 24 17 mx D
0 24 19 my D
0 24 21 outcode I
9 22 22 cw Z
MethodParameters:
Name Flags
pdx
pdy
x0
y0
dx
dy
omx
omy
mx
my
outcode final
private static boolean within(double, double, double, double, double);
descriptor: (DDDDD)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=10, args_size=5
start local 0 // double x1
start local 2 // double y1
start local 4 // double x2
start local 6 // double y2
start local 8 // double ERR
0: .line 770
getstatic sun.java2d.marlin.DStroker.$assertionsDisabled:Z
ifne 1
dload 8 /* ERR */
dconst_0
dcmpl
ifgt 1
new java.lang.AssertionError
dup
ldc ""
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: .line 773
StackMap locals:
StackMap stack:
dload 0 /* x1 */
dload 4 /* x2 */
dload 8 /* ERR */
invokestatic sun.java2d.marlin.DHelpers.within:(DDD)Z
ifeq 4
2: .line 774
dload 2 /* y1 */
dload 6 /* y2 */
dload 8 /* ERR */
invokestatic sun.java2d.marlin.DHelpers.within:(DDD)Z
ifeq 4
3: .line 773
iconst_1
ireturn
StackMap locals:
StackMap stack:
4: iconst_0
ireturn
end local 8 // double ERR
end local 6 // double y2
end local 4 // double x2
end local 2 // double y1
end local 0 // double x1
LocalVariableTable:
Start End Slot Name Signature
0 5 0 x1 D
0 5 2 y1 D
0 5 4 x2 D
0 5 6 y2 D
0 5 8 ERR D
MethodParameters:
Name Flags
x1 final
y1 final
x2 final
y2 final
ERR final
private void getLineOffsets(double, double, double, double, double[], double[]);
descriptor: (DDDD[D[D)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=15, args_size=7
start local 0 // sun.java2d.marlin.DStroker this
start local 1 // double x1
start local 3 // double y1
start local 5 // double x2
start local 7 // double y2
start local 9 // double[] left
start local 10 // double[] right
0: .line 780
dload 5 /* x2 */
dload 1 /* x1 */
dsub
dload 7 /* y2 */
dload 3 /* y1 */
dsub
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.lineWidth2:D
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.offset0:[D
invokestatic sun.java2d.marlin.DStroker.computeOffset:(DDD[D)V
1: .line 781
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.offset0:[D
iconst_0
daload
dstore 11 /* mx */
start local 11 // double mx
2: .line 782
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.offset0:[D
iconst_1
daload
dstore 13 /* my */
start local 13 // double my
3: .line 783
aload 9 /* left */
iconst_0
dload 1 /* x1 */
dload 11 /* mx */
dadd
dastore
4: .line 784
aload 9 /* left */
iconst_1
dload 3 /* y1 */
dload 13 /* my */
dadd
dastore
5: .line 785
aload 9 /* left */
iconst_2
dload 5 /* x2 */
dload 11 /* mx */
dadd
dastore
6: .line 786
aload 9 /* left */
iconst_3
dload 7 /* y2 */
dload 13 /* my */
dadd
dastore
7: .line 787
aload 10 /* right */
iconst_0
dload 1 /* x1 */
dload 11 /* mx */
dsub
dastore
8: .line 788
aload 10 /* right */
iconst_1
dload 3 /* y1 */
dload 13 /* my */
dsub
dastore
9: .line 789
aload 10 /* right */
iconst_2
dload 5 /* x2 */
dload 11 /* mx */
dsub
dastore
10: .line 790
aload 10 /* right */
iconst_3
dload 7 /* y2 */
dload 13 /* my */
dsub
dastore
11: .line 791
return
end local 13 // double my
end local 11 // double mx
end local 10 // double[] right
end local 9 // double[] left
end local 7 // double y2
end local 5 // double x2
end local 3 // double y1
end local 1 // double x1
end local 0 // sun.java2d.marlin.DStroker this
LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/java2d/marlin/DStroker;
0 12 1 x1 D
0 12 3 y1 D
0 12 5 x2 D
0 12 7 y2 D
0 12 9 left [D
0 12 10 right [D
2 12 11 mx D
3 12 13 my D
MethodParameters:
Name Flags
x1
y1
x2
y2
left
right
private int computeOffsetCubic(double[], int, double[], double[]);
descriptor: ([DI[D[D)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=12, locals=75, args_size=5
start local 0 // sun.java2d.marlin.DStroker this
start local 1 // double[] pts
start local 2 // int off
start local 3 // double[] leftOff
start local 4 // double[] rightOff
0: .line 803
aload 1 /* pts */
iload 2 /* off */
iconst_0
iadd
daload
dstore 5 /* x1 */
start local 5 // double x1
1: aload 1 /* pts */
iload 2 /* off */
iconst_1
iadd
daload
dstore 7 /* y1 */
start local 7 // double y1
2: .line 804
aload 1 /* pts */
iload 2 /* off */
iconst_2
iadd
daload
dstore 9 /* x2 */
start local 9 // double x2
3: aload 1 /* pts */
iload 2 /* off */
iconst_3
iadd
daload
dstore 11 /* y2 */
start local 11 // double y2
4: .line 805
aload 1 /* pts */
iload 2 /* off */
iconst_4
iadd
daload
dstore 13 /* x3 */
start local 13 // double x3
5: aload 1 /* pts */
iload 2 /* off */
iconst_5
iadd
daload
dstore 15 /* y3 */
start local 15 // double y3
6: .line 806
aload 1 /* pts */
iload 2 /* off */
bipush 6
iadd
daload
dstore 17 /* x4 */
start local 17 // double x4
7: aload 1 /* pts */
iload 2 /* off */
bipush 7
iadd
daload
dstore 19 /* y4 */
start local 19 // double y4
8: .line 808
dload 17 /* x4 */
dload 13 /* x3 */
dsub
dstore 21 /* dx4 */
start local 21 // double dx4
9: .line 809
dload 19 /* y4 */
dload 15 /* y3 */
dsub
dstore 23 /* dy4 */
start local 23 // double dy4
10: .line 810
dload 9 /* x2 */
dload 5 /* x1 */
dsub
dstore 25 /* dx1 */
start local 25 // double dx1
11: .line 811
dload 11 /* y2 */
dload 7 /* y1 */
dsub
dstore 27 /* dy1 */
start local 27 // double dy1
12: .line 815
dload 5 /* x1 */
dload 7 /* y1 */
dload 9 /* x2 */
dload 11 /* y2 */
ldc 6.0
dload 11 /* y2 */
invokestatic java.lang.Math.ulp:(D)D
dmul
invokestatic sun.java2d.marlin.DStroker.within:(DDDDD)Z
istore 29 /* p1eqp2 */
start local 29 // boolean p1eqp2
13: .line 816
dload 13 /* x3 */
dload 15 /* y3 */
dload 17 /* x4 */
dload 19 /* y4 */
ldc 6.0
dload 19 /* y4 */
invokestatic java.lang.Math.ulp:(D)D
dmul
invokestatic sun.java2d.marlin.DStroker.within:(DDDDD)Z
istore 30 /* p3eqp4 */
start local 30 // boolean p3eqp4
14: .line 817
iload 29 /* p1eqp2 */
ifeq 17
iload 30 /* p3eqp4 */
ifeq 17
15: .line 818
aload 0 /* this */
dload 5 /* x1 */
dload 7 /* y1 */
dload 17 /* x4 */
dload 19 /* y4 */
aload 3 /* leftOff */
aload 4 /* rightOff */
invokevirtual sun.java2d.marlin.DStroker.getLineOffsets:(DDDD[D[D)V
16: .line 819
iconst_4
ireturn
17: .line 820
StackMap locals: sun.java2d.marlin.DStroker double[] int double[] double[] double double double double double double double double double double double double int int
StackMap stack:
iload 29 /* p1eqp2 */
ifeq 21
18: .line 821
dload 13 /* x3 */
dload 5 /* x1 */
dsub
dstore 25 /* dx1 */
19: .line 822
dload 15 /* y3 */
dload 7 /* y1 */
dsub
dstore 27 /* dy1 */
20: .line 823
goto 24
StackMap locals:
StackMap stack:
21: iload 30 /* p3eqp4 */
ifeq 24
22: .line 824
dload 17 /* x4 */
dload 9 /* x2 */
dsub
dstore 21 /* dx4 */
23: .line 825
dload 19 /* y4 */
dload 11 /* y2 */
dsub
dstore 23 /* dy4 */
24: .line 829
StackMap locals:
StackMap stack:
dload 25 /* dx1 */
dload 21 /* dx4 */
dmul
dload 27 /* dy1 */
dload 23 /* dy4 */
dmul
dadd
dstore 31 /* dotsq */
start local 31 // double dotsq
25: .line 830
dload 31 /* dotsq */
dload 31 /* dotsq */
dmul
dstore 31 /* dotsq */
26: .line 831
dload 25 /* dx1 */
dload 25 /* dx1 */
dmul
dload 27 /* dy1 */
dload 27 /* dy1 */
dmul
dadd
dstore 33 /* l1sq */
start local 33 // double l1sq
27: dload 21 /* dx4 */
dload 21 /* dx4 */
dmul
dload 23 /* dy4 */
dload 23 /* dy4 */
dmul
dadd
dstore 35 /* l4sq */
start local 35 // double l4sq
28: .line 832
dload 31 /* dotsq */
dload 33 /* l1sq */
dload 35 /* l4sq */
dmul
ldc 4.0
dload 31 /* dotsq */
invokestatic java.lang.Math.ulp:(D)D
dmul
invokestatic sun.java2d.marlin.DHelpers.within:(DDD)Z
ifeq 31
29: .line 833
aload 0 /* this */
dload 5 /* x1 */
dload 7 /* y1 */
dload 17 /* x4 */
dload 19 /* y4 */
aload 3 /* leftOff */
aload 4 /* rightOff */
invokevirtual sun.java2d.marlin.DStroker.getLineOffsets:(DDDD[D[D)V
30: .line 834
iconst_4
ireturn
31: .line 884
StackMap locals: double double double
StackMap stack:
dload 5 /* x1 */
ldc 3.0
dload 9 /* x2 */
dload 13 /* x3 */
dadd
dmul
dadd
dload 17 /* x4 */
dadd
ldc 8.0
ddiv
dstore 37 /* x */
start local 37 // double x
32: .line 885
dload 7 /* y1 */
ldc 3.0
dload 11 /* y2 */
dload 15 /* y3 */
dadd
dmul
dadd
dload 19 /* y4 */
dadd
ldc 8.0
ddiv
dstore 39 /* y */
start local 39 // double y
33: .line 888
dload 13 /* x3 */
dload 17 /* x4 */
dadd
dload 5 /* x1 */
dsub
dload 9 /* x2 */
dsub
dstore 41 /* dxm */
start local 41 // double dxm
34: dload 15 /* y3 */
dload 19 /* y4 */
dadd
dload 7 /* y1 */
dsub
dload 11 /* y2 */
dsub
dstore 43 /* dym */
start local 43 // double dym
35: .line 893
dload 25 /* dx1 */
dload 27 /* dy1 */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.lineWidth2:D
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.offset0:[D
invokestatic sun.java2d.marlin.DStroker.computeOffset:(DDD[D)V
36: .line 894
dload 41 /* dxm */
dload 43 /* dym */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.lineWidth2:D
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.offset1:[D
invokestatic sun.java2d.marlin.DStroker.computeOffset:(DDD[D)V
37: .line 895
dload 21 /* dx4 */
dload 23 /* dy4 */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.lineWidth2:D
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.offset2:[D
invokestatic sun.java2d.marlin.DStroker.computeOffset:(DDD[D)V
38: .line 896
dload 5 /* x1 */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.offset0:[D
iconst_0
daload
dadd
dstore 45 /* x1p */
start local 45 // double x1p
39: .line 897
dload 7 /* y1 */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.offset0:[D
iconst_1
daload
dadd
dstore 47 /* y1p */
start local 47 // double y1p
40: .line 898
dload 37 /* x */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.offset1:[D
iconst_0
daload
dadd
dstore 49 /* xi */
start local 49 // double xi
41: .line 899
dload 39 /* y */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.offset1:[D
iconst_1
daload
dadd
dstore 51 /* yi */
start local 51 // double yi
42: .line 900
dload 17 /* x4 */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.offset2:[D
iconst_0
daload
dadd
dstore 53 /* x4p */
start local 53 // double x4p
43: .line 901
dload 19 /* y4 */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.offset2:[D
iconst_1
daload
dadd
dstore 55 /* y4p */
start local 55 // double y4p
44: .line 903
ldc 4.0
ldc 3.0
dload 25 /* dx1 */
dload 23 /* dy4 */
dmul
dload 27 /* dy1 */
dload 21 /* dx4 */
dmul
dsub
dmul
ddiv
dstore 57 /* invdet43 */
start local 57 // double invdet43
45: .line 905
ldc 2.0
dload 49 /* xi */
dmul
dload 45 /* x1p */
dsub
dload 53 /* x4p */
dsub
dstore 59 /* two_pi_m_p1_m_p4x */
start local 59 // double two_pi_m_p1_m_p4x
46: .line 906
ldc 2.0
dload 51 /* yi */
dmul
dload 47 /* y1p */
dsub
dload 55 /* y4p */
dsub
dstore 61 /* two_pi_m_p1_m_p4y */
start local 61 // double two_pi_m_p1_m_p4y
47: .line 907
dload 57 /* invdet43 */
dload 23 /* dy4 */
dload 59 /* two_pi_m_p1_m_p4x */
dmul
dload 21 /* dx4 */
dload 61 /* two_pi_m_p1_m_p4y */
dmul
dsub
dmul
dstore 63 /* c1 */
start local 63 // double c1
48: .line 908
dload 57 /* invdet43 */
dload 25 /* dx1 */
dload 61 /* two_pi_m_p1_m_p4y */
dmul
dload 27 /* dy1 */
dload 59 /* two_pi_m_p1_m_p4x */
dmul
dsub
dmul
dstore 65 /* c2 */
start local 65 // double c2
49: .line 911
dload 45 /* x1p */
dload 63 /* c1 */
dload 25 /* dx1 */
dmul
dadd
dstore 67 /* x2p */
start local 67 // double x2p
50: .line 912
dload 47 /* y1p */
dload 63 /* c1 */
dload 27 /* dy1 */
dmul
dadd
dstore 69 /* y2p */
start local 69 // double y2p
51: .line 913
dload 53 /* x4p */
dload 65 /* c2 */
dload 21 /* dx4 */
dmul
dadd
dstore 71 /* x3p */
start local 71 // double x3p
52: .line 914
dload 55 /* y4p */
dload 65 /* c2 */
dload 23 /* dy4 */
dmul
dadd
dstore 73 /* y3p */
start local 73 // double y3p
53: .line 916
aload 3 /* leftOff */
iconst_0
dload 45 /* x1p */
dastore
aload 3 /* leftOff */
iconst_1
dload 47 /* y1p */
dastore
54: .line 917
aload 3 /* leftOff */
iconst_2
dload 67 /* x2p */
dastore
aload 3 /* leftOff */
iconst_3
dload 69 /* y2p */
dastore
55: .line 918
aload 3 /* leftOff */
iconst_4
dload 71 /* x3p */
dastore
aload 3 /* leftOff */
iconst_5
dload 73 /* y3p */
dastore
56: .line 919
aload 3 /* leftOff */
bipush 6
dload 53 /* x4p */
dastore
aload 3 /* leftOff */
bipush 7
dload 55 /* y4p */
dastore
57: .line 921
dload 5 /* x1 */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.offset0:[D
iconst_0
daload
dsub
dstore 45 /* x1p */
dload 7 /* y1 */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.offset0:[D
iconst_1
daload
dsub
dstore 47 /* y1p */
58: .line 922
dload 49 /* xi */
ldc 2.0
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.offset1:[D
iconst_0
daload
dmul
dsub
dstore 49 /* xi */
dload 51 /* yi */
ldc 2.0
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.offset1:[D
iconst_1
daload
dmul
dsub
dstore 51 /* yi */
59: .line 923
dload 17 /* x4 */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.offset2:[D
iconst_0
daload
dsub
dstore 53 /* x4p */
dload 19 /* y4 */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.offset2:[D
iconst_1
daload
dsub
dstore 55 /* y4p */
60: .line 925
ldc 2.0
dload 49 /* xi */
dmul
dload 45 /* x1p */
dsub
dload 53 /* x4p */
dsub
dstore 59 /* two_pi_m_p1_m_p4x */
61: .line 926
ldc 2.0
dload 51 /* yi */
dmul
dload 47 /* y1p */
dsub
dload 55 /* y4p */
dsub
dstore 61 /* two_pi_m_p1_m_p4y */
62: .line 927
dload 57 /* invdet43 */
dload 23 /* dy4 */
dload 59 /* two_pi_m_p1_m_p4x */
dmul
dload 21 /* dx4 */
dload 61 /* two_pi_m_p1_m_p4y */
dmul
dsub
dmul
dstore 63 /* c1 */
63: .line 928
dload 57 /* invdet43 */
dload 25 /* dx1 */
dload 61 /* two_pi_m_p1_m_p4y */
dmul
dload 27 /* dy1 */
dload 59 /* two_pi_m_p1_m_p4x */
dmul
dsub
dmul
dstore 65 /* c2 */
64: .line 930
dload 45 /* x1p */
dload 63 /* c1 */
dload 25 /* dx1 */
dmul
dadd
dstore 67 /* x2p */
65: .line 931
dload 47 /* y1p */
dload 63 /* c1 */
dload 27 /* dy1 */
dmul
dadd
dstore 69 /* y2p */
66: .line 932
dload 53 /* x4p */
dload 65 /* c2 */
dload 21 /* dx4 */
dmul
dadd
dstore 71 /* x3p */
67: .line 933
dload 55 /* y4p */
dload 65 /* c2 */
dload 23 /* dy4 */
dmul
dadd
dstore 73 /* y3p */
68: .line 935
aload 4 /* rightOff */
iconst_0
dload 45 /* x1p */
dastore
aload 4 /* rightOff */
iconst_1
dload 47 /* y1p */
dastore
69: .line 936
aload 4 /* rightOff */
iconst_2
dload 67 /* x2p */
dastore
aload 4 /* rightOff */
iconst_3
dload 69 /* y2p */
dastore
70: .line 937
aload 4 /* rightOff */
iconst_4
dload 71 /* x3p */
dastore
aload 4 /* rightOff */
iconst_5
dload 73 /* y3p */
dastore
71: .line 938
aload 4 /* rightOff */
bipush 6
dload 53 /* x4p */
dastore
aload 4 /* rightOff */
bipush 7
dload 55 /* y4p */
dastore
72: .line 939
bipush 8
ireturn
end local 73 // double y3p
end local 71 // double x3p
end local 69 // double y2p
end local 67 // double x2p
end local 65 // double c2
end local 63 // double c1
end local 61 // double two_pi_m_p1_m_p4y
end local 59 // double two_pi_m_p1_m_p4x
end local 57 // double invdet43
end local 55 // double y4p
end local 53 // double x4p
end local 51 // double yi
end local 49 // double xi
end local 47 // double y1p
end local 45 // double x1p
end local 43 // double dym
end local 41 // double dxm
end local 39 // double y
end local 37 // double x
end local 35 // double l4sq
end local 33 // double l1sq
end local 31 // double dotsq
end local 30 // boolean p3eqp4
end local 29 // boolean p1eqp2
end local 27 // double dy1
end local 25 // double dx1
end local 23 // double dy4
end local 21 // double dx4
end local 19 // double y4
end local 17 // double x4
end local 15 // double y3
end local 13 // double x3
end local 11 // double y2
end local 9 // double x2
end local 7 // double y1
end local 5 // double x1
end local 4 // double[] rightOff
end local 3 // double[] leftOff
end local 2 // int off
end local 1 // double[] pts
end local 0 // sun.java2d.marlin.DStroker this
LocalVariableTable:
Start End Slot Name Signature
0 73 0 this Lsun/java2d/marlin/DStroker;
0 73 1 pts [D
0 73 2 off I
0 73 3 leftOff [D
0 73 4 rightOff [D
1 73 5 x1 D
2 73 7 y1 D
3 73 9 x2 D
4 73 11 y2 D
5 73 13 x3 D
6 73 15 y3 D
7 73 17 x4 D
8 73 19 y4 D
9 73 21 dx4 D
10 73 23 dy4 D
11 73 25 dx1 D
12 73 27 dy1 D
13 73 29 p1eqp2 Z
14 73 30 p3eqp4 Z
25 73 31 dotsq D
27 73 33 l1sq D
28 73 35 l4sq D
32 73 37 x D
33 73 39 y D
34 73 41 dxm D
35 73 43 dym D
39 73 45 x1p D
40 73 47 y1p D
41 73 49 xi D
42 73 51 yi D
43 73 53 x4p D
44 73 55 y4p D
45 73 57 invdet43 D
46 73 59 two_pi_m_p1_m_p4x D
47 73 61 two_pi_m_p1_m_p4y D
48 73 63 c1 D
49 73 65 c2 D
50 73 67 x2p D
51 73 69 y2p D
52 73 71 x3p D
53 73 73 y3p D
MethodParameters:
Name Flags
pts
off final
leftOff
rightOff
private int computeOffsetQuad(double[], int, double[], double[]);
descriptor: ([DI[D[D)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=18, locals=41, args_size=5
start local 0 // sun.java2d.marlin.DStroker this
start local 1 // double[] pts
start local 2 // int off
start local 3 // double[] leftOff
start local 4 // double[] rightOff
0: .line 948
aload 1 /* pts */
iload 2 /* off */
iconst_0
iadd
daload
dstore 5 /* x1 */
start local 5 // double x1
1: aload 1 /* pts */
iload 2 /* off */
iconst_1
iadd
daload
dstore 7 /* y1 */
start local 7 // double y1
2: .line 949
aload 1 /* pts */
iload 2 /* off */
iconst_2
iadd
daload
dstore 9 /* x2 */
start local 9 // double x2
3: aload 1 /* pts */
iload 2 /* off */
iconst_3
iadd
daload
dstore 11 /* y2 */
start local 11 // double y2
4: .line 950
aload 1 /* pts */
iload 2 /* off */
iconst_4
iadd
daload
dstore 13 /* x3 */
start local 13 // double x3
5: aload 1 /* pts */
iload 2 /* off */
iconst_5
iadd
daload
dstore 15 /* y3 */
start local 15 // double y3
6: .line 952
dload 13 /* x3 */
dload 9 /* x2 */
dsub
dstore 17 /* dx3 */
start local 17 // double dx3
7: .line 953
dload 15 /* y3 */
dload 11 /* y2 */
dsub
dstore 19 /* dy3 */
start local 19 // double dy3
8: .line 954
dload 9 /* x2 */
dload 5 /* x1 */
dsub
dstore 21 /* dx1 */
start local 21 // double dx1
9: .line 955
dload 11 /* y2 */
dload 7 /* y1 */
dsub
dstore 23 /* dy1 */
start local 23 // double dy1
10: .line 967
dload 5 /* x1 */
dload 7 /* y1 */
dload 9 /* x2 */
dload 11 /* y2 */
ldc 6.0
dload 11 /* y2 */
invokestatic java.lang.Math.ulp:(D)D
dmul
invokestatic sun.java2d.marlin.DStroker.within:(DDDDD)Z
istore 25 /* p1eqp2 */
start local 25 // boolean p1eqp2
11: .line 968
dload 9 /* x2 */
dload 11 /* y2 */
dload 13 /* x3 */
dload 15 /* y3 */
ldc 6.0
dload 15 /* y3 */
invokestatic java.lang.Math.ulp:(D)D
dmul
invokestatic sun.java2d.marlin.DStroker.within:(DDDDD)Z
istore 26 /* p2eqp3 */
start local 26 // boolean p2eqp3
12: .line 969
iload 25 /* p1eqp2 */
ifne 13
iload 26 /* p2eqp3 */
ifeq 15
13: .line 970
StackMap locals: sun.java2d.marlin.DStroker double[] int double[] double[] double double double double double double double double double double int int
StackMap stack:
aload 0 /* this */
dload 5 /* x1 */
dload 7 /* y1 */
dload 13 /* x3 */
dload 15 /* y3 */
aload 3 /* leftOff */
aload 4 /* rightOff */
invokevirtual sun.java2d.marlin.DStroker.getLineOffsets:(DDDD[D[D)V
14: .line 971
iconst_4
ireturn
15: .line 975
StackMap locals:
StackMap stack:
dload 21 /* dx1 */
dload 17 /* dx3 */
dmul
dload 23 /* dy1 */
dload 19 /* dy3 */
dmul
dadd
dstore 27 /* dotsq */
start local 27 // double dotsq
16: .line 976
dload 27 /* dotsq */
dload 27 /* dotsq */
dmul
dstore 27 /* dotsq */
17: .line 977
dload 21 /* dx1 */
dload 21 /* dx1 */
dmul
dload 23 /* dy1 */
dload 23 /* dy1 */
dmul
dadd
dstore 29 /* l1sq */
start local 29 // double l1sq
18: dload 17 /* dx3 */
dload 17 /* dx3 */
dmul
dload 19 /* dy3 */
dload 19 /* dy3 */
dmul
dadd
dstore 31 /* l3sq */
start local 31 // double l3sq
19: .line 978
dload 27 /* dotsq */
dload 29 /* l1sq */
dload 31 /* l3sq */
dmul
ldc 4.0
dload 27 /* dotsq */
invokestatic java.lang.Math.ulp:(D)D
dmul
invokestatic sun.java2d.marlin.DHelpers.within:(DDD)Z
ifeq 22
20: .line 979
aload 0 /* this */
dload 5 /* x1 */
dload 7 /* y1 */
dload 13 /* x3 */
dload 15 /* y3 */
aload 3 /* leftOff */
aload 4 /* rightOff */
invokevirtual sun.java2d.marlin.DStroker.getLineOffsets:(DDDD[D[D)V
21: .line 980
iconst_4
ireturn
22: .line 986
StackMap locals: double double double
StackMap stack:
dload 21 /* dx1 */
dload 23 /* dy1 */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.lineWidth2:D
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.offset0:[D
invokestatic sun.java2d.marlin.DStroker.computeOffset:(DDD[D)V
23: .line 987
dload 17 /* dx3 */
dload 19 /* dy3 */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.lineWidth2:D
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.offset1:[D
invokestatic sun.java2d.marlin.DStroker.computeOffset:(DDD[D)V
24: .line 989
dload 5 /* x1 */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.offset0:[D
iconst_0
daload
dadd
dstore 33 /* x1p */
start local 33 // double x1p
25: .line 990
dload 7 /* y1 */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.offset0:[D
iconst_1
daload
dadd
dstore 35 /* y1p */
start local 35 // double y1p
26: .line 991
dload 13 /* x3 */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.offset1:[D
iconst_0
daload
dadd
dstore 37 /* x3p */
start local 37 // double x3p
27: .line 992
dload 15 /* y3 */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.offset1:[D
iconst_1
daload
dadd
dstore 39 /* y3p */
start local 39 // double y3p
28: .line 993
dload 33 /* x1p */
dload 35 /* y1p */
dload 33 /* x1p */
dload 21 /* dx1 */
dadd
dload 35 /* y1p */
dload 23 /* dy1 */
dadd
dload 37 /* x3p */
dload 39 /* y3p */
dload 37 /* x3p */
dload 17 /* dx3 */
dsub
dload 39 /* y3p */
dload 19 /* dy3 */
dsub
aload 3 /* leftOff */
iconst_2
invokestatic sun.java2d.marlin.DStroker.safeComputeMiter:(DDDDDDDD[DI)V
29: .line 994
aload 3 /* leftOff */
iconst_0
dload 33 /* x1p */
dastore
aload 3 /* leftOff */
iconst_1
dload 35 /* y1p */
dastore
30: .line 995
aload 3 /* leftOff */
iconst_4
dload 37 /* x3p */
dastore
aload 3 /* leftOff */
iconst_5
dload 39 /* y3p */
dastore
31: .line 997
dload 5 /* x1 */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.offset0:[D
iconst_0
daload
dsub
dstore 33 /* x1p */
dload 7 /* y1 */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.offset0:[D
iconst_1
daload
dsub
dstore 35 /* y1p */
32: .line 998
dload 13 /* x3 */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.offset1:[D
iconst_0
daload
dsub
dstore 37 /* x3p */
dload 15 /* y3 */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.offset1:[D
iconst_1
daload
dsub
dstore 39 /* y3p */
33: .line 999
dload 33 /* x1p */
dload 35 /* y1p */
dload 33 /* x1p */
dload 21 /* dx1 */
dadd
dload 35 /* y1p */
dload 23 /* dy1 */
dadd
dload 37 /* x3p */
dload 39 /* y3p */
dload 37 /* x3p */
dload 17 /* dx3 */
dsub
dload 39 /* y3p */
dload 19 /* dy3 */
dsub
aload 4 /* rightOff */
iconst_2
invokestatic sun.java2d.marlin.DStroker.safeComputeMiter:(DDDDDDDD[DI)V
34: .line 1000
aload 4 /* rightOff */
iconst_0
dload 33 /* x1p */
dastore
aload 4 /* rightOff */
iconst_1
dload 35 /* y1p */
dastore
35: .line 1001
aload 4 /* rightOff */
iconst_4
dload 37 /* x3p */
dastore
aload 4 /* rightOff */
iconst_5
dload 39 /* y3p */
dastore
36: .line 1002
bipush 6
ireturn
end local 39 // double y3p
end local 37 // double x3p
end local 35 // double y1p
end local 33 // double x1p
end local 31 // double l3sq
end local 29 // double l1sq
end local 27 // double dotsq
end local 26 // boolean p2eqp3
end local 25 // boolean p1eqp2
end local 23 // double dy1
end local 21 // double dx1
end local 19 // double dy3
end local 17 // double dx3
end local 15 // double y3
end local 13 // double x3
end local 11 // double y2
end local 9 // double x2
end local 7 // double y1
end local 5 // double x1
end local 4 // double[] rightOff
end local 3 // double[] leftOff
end local 2 // int off
end local 1 // double[] pts
end local 0 // sun.java2d.marlin.DStroker this
LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Lsun/java2d/marlin/DStroker;
0 37 1 pts [D
0 37 2 off I
0 37 3 leftOff [D
0 37 4 rightOff [D
1 37 5 x1 D
2 37 7 y1 D
3 37 9 x2 D
4 37 11 y2 D
5 37 13 x3 D
6 37 15 y3 D
7 37 17 dx3 D
8 37 19 dy3 D
9 37 21 dx1 D
10 37 23 dy1 D
11 37 25 p1eqp2 Z
12 37 26 p2eqp3 Z
16 37 27 dotsq D
18 37 29 l1sq D
19 37 31 l3sq D
25 37 33 x1p D
26 37 35 y1p D
27 37 37 x3p D
28 37 39 y3p D
MethodParameters:
Name Flags
pts
off final
leftOff
rightOff
private static int findSubdivPoints(sun.java2d.marlin.DCurve, double[], double[], int, double);
descriptor: (Lsun/java2d/marlin/DCurve;[D[DID)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=17, locals=32, args_size=5
start local 0 // sun.java2d.marlin.DCurve c
start local 1 // double[] pts
start local 2 // double[] ts
start local 3 // int type
start local 4 // double w
0: .line 1011
aload 1 /* pts */
iconst_2
daload
aload 1 /* pts */
iconst_0
daload
dsub
dstore 6 /* x12 */
start local 6 // double x12
1: .line 1012
aload 1 /* pts */
iconst_3
daload
aload 1 /* pts */
iconst_1
daload
dsub
dstore 8 /* y12 */
start local 8 // double y12
2: .line 1015
dload 8 /* y12 */
dconst_0
dcmpl
ifeq 19
dload 6 /* x12 */
dconst_0
dcmpl
ifeq 19
3: .line 1019
dload 6 /* x12 */
dload 6 /* x12 */
dmul
dload 8 /* y12 */
dload 8 /* y12 */
dmul
dadd
invokestatic java.lang.Math.sqrt:(D)D
dstore 10 /* hypot */
start local 10 // double hypot
4: .line 1020
dload 6 /* x12 */
dload 10 /* hypot */
ddiv
dstore 12 /* cos */
start local 12 // double cos
5: .line 1021
dload 8 /* y12 */
dload 10 /* hypot */
ddiv
dstore 14 /* sin */
start local 14 // double sin
6: .line 1022
dload 12 /* cos */
aload 1 /* pts */
iconst_0
daload
dmul
dload 14 /* sin */
aload 1 /* pts */
iconst_1
daload
dmul
dadd
dstore 16 /* x1 */
start local 16 // double x1
7: .line 1023
dload 12 /* cos */
aload 1 /* pts */
iconst_1
daload
dmul
dload 14 /* sin */
aload 1 /* pts */
iconst_0
daload
dmul
dsub
dstore 18 /* y1 */
start local 18 // double y1
8: .line 1024
dload 12 /* cos */
aload 1 /* pts */
iconst_2
daload
dmul
dload 14 /* sin */
aload 1 /* pts */
iconst_3
daload
dmul
dadd
dstore 20 /* x2 */
start local 20 // double x2
9: .line 1025
dload 12 /* cos */
aload 1 /* pts */
iconst_3
daload
dmul
dload 14 /* sin */
aload 1 /* pts */
iconst_2
daload
dmul
dsub
dstore 22 /* y2 */
start local 22 // double y2
10: .line 1026
dload 12 /* cos */
aload 1 /* pts */
iconst_4
daload
dmul
dload 14 /* sin */
aload 1 /* pts */
iconst_5
daload
dmul
dadd
dstore 24 /* x3 */
start local 24 // double x3
11: .line 1027
dload 12 /* cos */
aload 1 /* pts */
iconst_5
daload
dmul
dload 14 /* sin */
aload 1 /* pts */
iconst_4
daload
dmul
dsub
dstore 26 /* y3 */
start local 26 // double y3
12: .line 1029
iload 3 /* type */
tableswitch { // 6 - 8
6: 17
7: 18
8: 13
default: 18
}
13: .line 1031
StackMap locals: sun.java2d.marlin.DCurve double[] double[] int double double double double double double double double double double double double
StackMap stack:
dload 12 /* cos */
aload 1 /* pts */
bipush 6
daload
dmul
dload 14 /* sin */
aload 1 /* pts */
bipush 7
daload
dmul
dadd
dstore 28 /* x4 */
start local 28 // double x4
14: .line 1032
dload 12 /* cos */
aload 1 /* pts */
bipush 7
daload
dmul
dload 14 /* sin */
aload 1 /* pts */
bipush 6
daload
dmul
dsub
dstore 30 /* y4 */
start local 30 // double y4
15: .line 1033
aload 0 /* c */
dload 16 /* x1 */
dload 18 /* y1 */
dload 20 /* x2 */
dload 22 /* y2 */
dload 24 /* x3 */
dload 26 /* y3 */
dload 28 /* x4 */
dload 30 /* y4 */
invokevirtual sun.java2d.marlin.DCurve.set:(DDDDDDDD)V
16: .line 1034
goto 20
end local 30 // double y4
end local 28 // double x4
17: .line 1036
StackMap locals:
StackMap stack:
aload 0 /* c */
dload 16 /* x1 */
dload 18 /* y1 */
dload 20 /* x2 */
dload 22 /* y2 */
dload 24 /* x3 */
dload 26 /* y3 */
invokevirtual sun.java2d.marlin.DCurve.set:(DDDDDD)V
end local 26 // double y3
end local 24 // double x3
end local 22 // double y2
end local 20 // double x2
end local 18 // double y1
end local 16 // double x1
end local 14 // double sin
end local 12 // double cos
end local 10 // double hypot
18: .line 1040
StackMap locals: sun.java2d.marlin.DCurve double[] double[] int double double double
StackMap stack:
goto 20
19: .line 1041
StackMap locals:
StackMap stack:
aload 0 /* c */
aload 1 /* pts */
iload 3 /* type */
invokevirtual sun.java2d.marlin.DCurve.set:([DI)V
20: .line 1044
StackMap locals:
StackMap stack:
iconst_0
istore 10 /* ret */
start local 10 // int ret
21: .line 1047
iload 10 /* ret */
aload 0 /* c */
aload 2 /* ts */
iload 10 /* ret */
invokevirtual sun.java2d.marlin.DCurve.dxRoots:([DI)I
iadd
istore 10 /* ret */
22: .line 1048
iload 10 /* ret */
aload 0 /* c */
aload 2 /* ts */
iload 10 /* ret */
invokevirtual sun.java2d.marlin.DCurve.dyRoots:([DI)I
iadd
istore 10 /* ret */
23: .line 1050
iload 3 /* type */
bipush 8
if_icmpne 25
24: .line 1052
iload 10 /* ret */
aload 0 /* c */
aload 2 /* ts */
iload 10 /* ret */
invokevirtual sun.java2d.marlin.DCurve.infPoints:([DI)I
iadd
istore 10 /* ret */
25: .line 1057
StackMap locals: int
StackMap stack:
iload 10 /* ret */
aload 0 /* c */
aload 2 /* ts */
iload 10 /* ret */
dload 4 /* w */
ldc 1.0E-4
invokevirtual sun.java2d.marlin.DCurve.rootsOfROCMinusW:([DIDD)I
iadd
istore 10 /* ret */
26: .line 1059
aload 2 /* ts */
iconst_0
iload 10 /* ret */
ldc 1.0E-4
ldc 0.9999
invokestatic sun.java2d.marlin.DHelpers.filterOutNotInAB:([DIIDD)I
istore 10 /* ret */
27: .line 1060
aload 2 /* ts */
iconst_0
iload 10 /* ret */
invokestatic sun.java2d.marlin.DHelpers.isort:([DII)V
28: .line 1061
iload 10 /* ret */
ireturn
end local 10 // int ret
end local 8 // double y12
end local 6 // double x12
end local 4 // double w
end local 3 // int type
end local 2 // double[] ts
end local 1 // double[] pts
end local 0 // sun.java2d.marlin.DCurve c
LocalVariableTable:
Start End Slot Name Signature
0 29 0 c Lsun/java2d/marlin/DCurve;
0 29 1 pts [D
0 29 2 ts [D
0 29 3 type I
0 29 4 w D
1 29 6 x12 D
2 29 8 y12 D
4 18 10 hypot D
5 18 12 cos D
6 18 14 sin D
7 18 16 x1 D
8 18 18 y1 D
9 18 20 x2 D
10 18 22 y2 D
11 18 24 x3 D
12 18 26 y3 D
14 17 28 x4 D
15 17 30 y4 D
21 29 10 ret I
MethodParameters:
Name Flags
c final
pts
ts
type final
w final
public void curveTo(double, double, double, double, double, double);
descriptor: (DDDDDD)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=22, locals=37, args_size=7
start local 0 // sun.java2d.marlin.DStroker this
start local 1 // double x1
start local 3 // double y1
start local 5 // double x2
start local 7 // double y2
start local 9 // double x3
start local 11 // double y3
0: .line 1069
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cOutCode:I
istore 13 /* outcode0 */
start local 13 // int outcode0
1: .line 1070
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.clipRect:[D
ifnull 11
2: .line 1071
dload 9 /* x3 */
dload 11 /* y3 */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.clipRect:[D
invokestatic sun.java2d.marlin.DHelpers.outcode:(DD[D)I
istore 14 /* outcode3 */
start local 14 // int outcode3
3: .line 1072
aload 0 /* this */
iload 14 /* outcode3 */
putfield sun.java2d.marlin.DStroker.cOutCode:I
4: .line 1074
iload 13 /* outcode0 */
iload 14 /* outcode3 */
iand
ifeq 11
5: .line 1075
dload 1 /* x1 */
dload 3 /* y1 */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.clipRect:[D
invokestatic sun.java2d.marlin.DHelpers.outcode:(DD[D)I
istore 15 /* outcode1 */
start local 15 // int outcode1
6: .line 1076
dload 5 /* x2 */
dload 7 /* y2 */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.clipRect:[D
invokestatic sun.java2d.marlin.DHelpers.outcode:(DD[D)I
istore 16 /* outcode2 */
start local 16 // int outcode2
7: .line 1079
iload 13 /* outcode0 */
iload 15 /* outcode1 */
iand
iload 16 /* outcode2 */
iand
iload 14 /* outcode3 */
iand
ifeq 11
8: .line 1080
aload 0 /* this */
dload 9 /* x3 */
dload 11 /* y3 */
iload 13 /* outcode0 */
invokevirtual sun.java2d.marlin.DStroker.moveTo:(DDI)V
9: .line 1081
aload 0 /* this */
iconst_1
putfield sun.java2d.marlin.DStroker.opened:Z
10: .line 1082
return
end local 16 // int outcode2
end local 15 // int outcode1
end local 14 // int outcode3
11: .line 1087
StackMap locals: int
StackMap stack:
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.middle:[D
astore 14 /* mid */
start local 14 // double[] mid
12: .line 1089
aload 14 /* mid */
iconst_0
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cx0:D
dastore
aload 14 /* mid */
iconst_1
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cy0:D
dastore
13: .line 1090
aload 14 /* mid */
iconst_2
dload 1 /* x1 */
dastore
aload 14 /* mid */
iconst_3
dload 3 /* y1 */
dastore
14: .line 1091
aload 14 /* mid */
iconst_4
dload 5 /* x2 */
dastore
aload 14 /* mid */
iconst_5
dload 7 /* y2 */
dastore
15: .line 1092
aload 14 /* mid */
bipush 6
dload 9 /* x3 */
dastore
aload 14 /* mid */
bipush 7
dload 11 /* y3 */
dastore
16: .line 1095
dload 9 /* x3 */
dstore 15 /* xf */
start local 15 // double xf
17: dload 11 /* y3 */
dstore 17 /* yf */
start local 17 // double yf
18: .line 1096
aload 14 /* mid */
iconst_2
daload
aload 14 /* mid */
iconst_0
daload
dsub
dstore 19 /* dxs */
start local 19 // double dxs
19: .line 1097
aload 14 /* mid */
iconst_3
daload
aload 14 /* mid */
iconst_1
daload
dsub
dstore 21 /* dys */
start local 21 // double dys
20: .line 1098
aload 14 /* mid */
bipush 6
daload
aload 14 /* mid */
iconst_4
daload
dsub
dstore 23 /* dxf */
start local 23 // double dxf
21: .line 1099
aload 14 /* mid */
bipush 7
daload
aload 14 /* mid */
iconst_5
daload
dsub
dstore 25 /* dyf */
start local 25 // double dyf
22: .line 1101
dload 19 /* dxs */
dconst_0
dcmpl
ifne 23
dload 21 /* dys */
dconst_0
dcmpl
ifne 23
iconst_1
goto 24
StackMap locals: sun.java2d.marlin.DStroker double double double double double double int double[] double double double double double double
StackMap stack:
23: iconst_0
StackMap locals:
StackMap stack: int
24: istore 27 /* p1eqp2 */
start local 27 // boolean p1eqp2
25: .line 1102
dload 23 /* dxf */
dconst_0
dcmpl
ifne 26
dload 25 /* dyf */
dconst_0
dcmpl
ifne 26
iconst_1
goto 27
StackMap locals: int
StackMap stack:
26: iconst_0
StackMap locals:
StackMap stack: int
27: istore 28 /* p3eqp4 */
start local 28 // boolean p3eqp4
28: .line 1103
iload 27 /* p1eqp2 */
ifeq 34
29: .line 1104
aload 14 /* mid */
iconst_4
daload
aload 14 /* mid */
iconst_0
daload
dsub
dstore 19 /* dxs */
30: .line 1105
aload 14 /* mid */
iconst_5
daload
aload 14 /* mid */
iconst_1
daload
dsub
dstore 21 /* dys */
31: .line 1106
dload 19 /* dxs */
dconst_0
dcmpl
ifne 34
dload 21 /* dys */
dconst_0
dcmpl
ifne 34
32: .line 1107
aload 14 /* mid */
bipush 6
daload
aload 14 /* mid */
iconst_0
daload
dsub
dstore 19 /* dxs */
33: .line 1108
aload 14 /* mid */
bipush 7
daload
aload 14 /* mid */
iconst_1
daload
dsub
dstore 21 /* dys */
34: .line 1111
StackMap locals: int
StackMap stack:
iload 28 /* p3eqp4 */
ifeq 40
35: .line 1112
aload 14 /* mid */
bipush 6
daload
aload 14 /* mid */
iconst_2
daload
dsub
dstore 23 /* dxf */
36: .line 1113
aload 14 /* mid */
bipush 7
daload
aload 14 /* mid */
iconst_3
daload
dsub
dstore 25 /* dyf */
37: .line 1114
dload 23 /* dxf */
dconst_0
dcmpl
ifne 40
dload 25 /* dyf */
dconst_0
dcmpl
ifne 40
38: .line 1115
aload 14 /* mid */
bipush 6
daload
aload 14 /* mid */
iconst_0
daload
dsub
dstore 23 /* dxf */
39: .line 1116
aload 14 /* mid */
bipush 7
daload
aload 14 /* mid */
iconst_1
daload
dsub
dstore 25 /* dyf */
40: .line 1119
StackMap locals:
StackMap stack:
dload 19 /* dxs */
dconst_0
dcmpl
ifne 45
dload 21 /* dys */
dconst_0
dcmpl
ifne 45
41: .line 1122
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.clipRect:[D
ifnull 43
42: .line 1123
aload 0 /* this */
iload 13 /* outcode0 */
putfield sun.java2d.marlin.DStroker.cOutCode:I
43: .line 1125
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 14 /* mid */
iconst_0
daload
aload 14 /* mid */
iconst_1
daload
invokevirtual sun.java2d.marlin.DStroker.lineTo:(DD)V
44: .line 1126
return
45: .line 1131
StackMap locals:
StackMap stack:
dload 19 /* dxs */
invokestatic java.lang.Math.abs:(D)D
ldc 0.1
dcmpg
ifge 49
dload 21 /* dys */
invokestatic java.lang.Math.abs:(D)D
ldc 0.1
dcmpg
ifge 49
46: .line 1132
dload 19 /* dxs */
dload 19 /* dxs */
dmul
dload 21 /* dys */
dload 21 /* dys */
dmul
dadd
invokestatic java.lang.Math.sqrt:(D)D
dstore 29 /* len */
start local 29 // double len
47: .line 1133
dload 19 /* dxs */
dload 29 /* len */
ddiv
dstore 19 /* dxs */
48: .line 1134
dload 21 /* dys */
dload 29 /* len */
ddiv
dstore 21 /* dys */
end local 29 // double len
49: .line 1136
StackMap locals:
StackMap stack:
dload 23 /* dxf */
invokestatic java.lang.Math.abs:(D)D
ldc 0.1
dcmpg
ifge 53
dload 25 /* dyf */
invokestatic java.lang.Math.abs:(D)D
ldc 0.1
dcmpg
ifge 53
50: .line 1137
dload 23 /* dxf */
dload 23 /* dxf */
dmul
dload 25 /* dyf */
dload 25 /* dyf */
dmul
dadd
invokestatic java.lang.Math.sqrt:(D)D
dstore 29 /* len */
start local 29 // double len
51: .line 1138
dload 23 /* dxf */
dload 29 /* len */
ddiv
dstore 23 /* dxf */
52: .line 1139
dload 25 /* dyf */
dload 29 /* len */
ddiv
dstore 25 /* dyf */
end local 29 // double len
53: .line 1142
StackMap locals:
StackMap stack:
dload 19 /* dxs */
dload 21 /* dys */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.lineWidth2:D
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.offset0:[D
invokestatic sun.java2d.marlin.DStroker.computeOffset:(DDD[D)V
54: .line 1143
aload 0 /* this */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cdx:D
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cdy:D
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cx0:D
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cy0:D
dload 19 /* dxs */
dload 21 /* dys */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cmx:D
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cmy:D
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.offset0:[D
iconst_0
daload
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.offset0:[D
iconst_1
daload
iload 13 /* outcode0 */
invokevirtual sun.java2d.marlin.DStroker.drawJoin:(DDDDDDDDDDI)V
55: .line 1145
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.curve:Lsun/java2d/marlin/DCurve;
aload 14 /* mid */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.subdivTs:[D
bipush 8
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.lineWidth2:D
invokestatic sun.java2d.marlin.DStroker.findSubdivPoints:(Lsun/java2d/marlin/DCurve;[D[DID)I
istore 29 /* nSplits */
start local 29 // int nSplits
56: .line 1147
dconst_0
dstore 30 /* prevT */
start local 30 // double prevT
57: .line 1148
iconst_0
istore 32 /* i */
start local 32 // int i
58: iconst_0
istore 33 /* off */
start local 33 // int off
59: goto 66
60: .line 1149
StackMap locals: sun.java2d.marlin.DStroker double double double double double double int double[] double double double double double double int int int double int int
StackMap stack:
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.subdivTs:[D
iload 32 /* i */
daload
dstore 34 /* t */
start local 34 // double t
61: .line 1150
dload 34 /* t */
dload 30 /* prevT */
dsub
dconst_1
dload 30 /* prevT */
dsub
ddiv
62: .line 1151
aload 14 /* mid */
iload 33 /* off */
aload 14 /* mid */
iload 33 /* off */
aload 14 /* mid */
iload 33 /* off */
bipush 6
iadd
63: .line 1150
invokestatic sun.java2d.marlin.DHelpers.subdivideCubicAt:(D[DI[DI[DI)V
64: .line 1152
dload 34 /* t */
dstore 30 /* prevT */
end local 34 // double t
65: .line 1148
iinc 32 /* i */ 1
iinc 33 /* off */ 6
StackMap locals:
StackMap stack:
66: iload 32 /* i */
iload 29 /* nSplits */
if_icmplt 60
end local 33 // int off
end local 32 // int i
67: .line 1155
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.lp:[D
astore 32 /* l */
start local 32 // double[] l
68: .line 1156
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.rp:[D
astore 33 /* r */
start local 33 // double[] r
69: .line 1158
iconst_0
istore 34 /* kind */
start local 34 // int kind
70: .line 1159
iconst_0
istore 35 /* i */
start local 35 // int i
71: iconst_0
istore 36 /* off */
start local 36 // int off
72: goto 83
73: .line 1160
StackMap locals: sun.java2d.marlin.DStroker double double double double double double int double[] double double double double double double int int int double double[] double[] int int int
StackMap stack:
aload 0 /* this */
aload 14 /* mid */
iload 36 /* off */
aload 32 /* l */
aload 33 /* r */
invokevirtual sun.java2d.marlin.DStroker.computeOffsetCubic:([DI[D[D)I
istore 34 /* kind */
74: .line 1162
aload 0 /* this */
aload 32 /* l */
iconst_0
daload
aload 32 /* l */
iconst_1
daload
invokevirtual sun.java2d.marlin.DStroker.emitLineTo:(DD)V
75: .line 1164
iload 34 /* kind */
tableswitch { // 4 - 8
4: 79
5: 81
6: 81
7: 81
8: 76
default: 81
}
76: .line 1166
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 32 /* l */
iconst_2
daload
aload 32 /* l */
iconst_3
daload
aload 32 /* l */
iconst_4
daload
aload 32 /* l */
iconst_5
daload
aload 32 /* l */
bipush 6
daload
aload 32 /* l */
bipush 7
daload
invokevirtual sun.java2d.marlin.DStroker.emitCurveTo:(DDDDDD)V
77: .line 1167
aload 0 /* this */
aload 33 /* r */
iconst_0
daload
aload 33 /* r */
iconst_1
daload
aload 33 /* r */
iconst_2
daload
aload 33 /* r */
iconst_3
daload
aload 33 /* r */
iconst_4
daload
aload 33 /* r */
iconst_5
daload
invokevirtual sun.java2d.marlin.DStroker.emitCurveToRev:(DDDDDD)V
78: .line 1168
goto 81
79: .line 1170
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 32 /* l */
iconst_2
daload
aload 32 /* l */
iconst_3
daload
invokevirtual sun.java2d.marlin.DStroker.emitLineTo:(DD)V
80: .line 1171
aload 0 /* this */
aload 33 /* r */
iconst_0
daload
aload 33 /* r */
iconst_1
daload
invokevirtual sun.java2d.marlin.DStroker.emitLineToRev:(DD)V
81: .line 1175
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 33 /* r */
iload 34 /* kind */
iconst_2
isub
daload
aload 33 /* r */
iload 34 /* kind */
iconst_1
isub
daload
invokevirtual sun.java2d.marlin.DStroker.emitLineToRev:(DD)V
82: .line 1159
iinc 35 /* i */ 1
iinc 36 /* off */ 6
StackMap locals:
StackMap stack:
83: iload 35 /* i */
iload 29 /* nSplits */
if_icmple 73
end local 36 // int off
end local 35 // int i
84: .line 1178
aload 0 /* this */
iconst_1
putfield sun.java2d.marlin.DStroker.prev:I
85: .line 1179
aload 0 /* this */
dload 15 /* xf */
putfield sun.java2d.marlin.DStroker.cx0:D
86: .line 1180
aload 0 /* this */
dload 17 /* yf */
putfield sun.java2d.marlin.DStroker.cy0:D
87: .line 1181
aload 0 /* this */
dload 23 /* dxf */
putfield sun.java2d.marlin.DStroker.cdx:D
88: .line 1182
aload 0 /* this */
dload 25 /* dyf */
putfield sun.java2d.marlin.DStroker.cdy:D
89: .line 1183
aload 0 /* this */
aload 32 /* l */
iload 34 /* kind */
iconst_2
isub
daload
aload 33 /* r */
iload 34 /* kind */
iconst_2
isub
daload
dsub
ldc 2.0
ddiv
putfield sun.java2d.marlin.DStroker.cmx:D
90: .line 1184
aload 0 /* this */
aload 32 /* l */
iload 34 /* kind */
iconst_1
isub
daload
aload 33 /* r */
iload 34 /* kind */
iconst_1
isub
daload
dsub
ldc 2.0
ddiv
putfield sun.java2d.marlin.DStroker.cmy:D
91: .line 1185
return
end local 34 // int kind
end local 33 // double[] r
end local 32 // double[] l
end local 30 // double prevT
end local 29 // int nSplits
end local 28 // boolean p3eqp4
end local 27 // boolean p1eqp2
end local 25 // double dyf
end local 23 // double dxf
end local 21 // double dys
end local 19 // double dxs
end local 17 // double yf
end local 15 // double xf
end local 14 // double[] mid
end local 13 // int outcode0
end local 11 // double y3
end local 9 // double x3
end local 7 // double y2
end local 5 // double x2
end local 3 // double y1
end local 1 // double x1
end local 0 // sun.java2d.marlin.DStroker this
LocalVariableTable:
Start End Slot Name Signature
0 92 0 this Lsun/java2d/marlin/DStroker;
0 92 1 x1 D
0 92 3 y1 D
0 92 5 x2 D
0 92 7 y2 D
0 92 9 x3 D
0 92 11 y3 D
1 92 13 outcode0 I
3 11 14 outcode3 I
6 11 15 outcode1 I
7 11 16 outcode2 I
12 92 14 mid [D
17 92 15 xf D
18 92 17 yf D
19 92 19 dxs D
20 92 21 dys D
21 92 23 dxf D
22 92 25 dyf D
25 92 27 p1eqp2 Z
28 92 28 p3eqp4 Z
47 49 29 len D
51 53 29 len D
56 92 29 nSplits I
57 92 30 prevT D
58 67 32 i I
59 67 33 off I
61 65 34 t D
68 92 32 l [D
69 92 33 r [D
70 92 34 kind I
71 84 35 i I
72 84 36 off I
MethodParameters:
Name Flags
x1 final
y1 final
x2 final
y2 final
x3 final
y3 final
public void quadTo(double, double, double, double);
descriptor: (DDDD)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=22, locals=31, args_size=5
start local 0 // sun.java2d.marlin.DStroker this
start local 1 // double x1
start local 3 // double y1
start local 5 // double x2
start local 7 // double y2
0: .line 1191
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cOutCode:I
istore 9 /* outcode0 */
start local 9 // int outcode0
1: .line 1192
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.clipRect:[D
ifnull 10
2: .line 1193
dload 5 /* x2 */
dload 7 /* y2 */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.clipRect:[D
invokestatic sun.java2d.marlin.DHelpers.outcode:(DD[D)I
istore 10 /* outcode2 */
start local 10 // int outcode2
3: .line 1194
aload 0 /* this */
iload 10 /* outcode2 */
putfield sun.java2d.marlin.DStroker.cOutCode:I
4: .line 1196
iload 9 /* outcode0 */
iload 10 /* outcode2 */
iand
ifeq 10
5: .line 1197
dload 1 /* x1 */
dload 3 /* y1 */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.clipRect:[D
invokestatic sun.java2d.marlin.DHelpers.outcode:(DD[D)I
istore 11 /* outcode1 */
start local 11 // int outcode1
6: .line 1200
iload 9 /* outcode0 */
iload 11 /* outcode1 */
iand
iload 10 /* outcode2 */
iand
ifeq 10
7: .line 1201
aload 0 /* this */
dload 5 /* x2 */
dload 7 /* y2 */
iload 9 /* outcode0 */
invokevirtual sun.java2d.marlin.DStroker.moveTo:(DDI)V
8: .line 1202
aload 0 /* this */
iconst_1
putfield sun.java2d.marlin.DStroker.opened:Z
9: .line 1203
return
end local 11 // int outcode1
end local 10 // int outcode2
10: .line 1208
StackMap locals: int
StackMap stack:
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.middle:[D
astore 10 /* mid */
start local 10 // double[] mid
11: .line 1210
aload 10 /* mid */
iconst_0
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cx0:D
dastore
aload 10 /* mid */
iconst_1
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cy0:D
dastore
12: .line 1211
aload 10 /* mid */
iconst_2
dload 1 /* x1 */
dastore
aload 10 /* mid */
iconst_3
dload 3 /* y1 */
dastore
13: .line 1212
aload 10 /* mid */
iconst_4
dload 5 /* x2 */
dastore
aload 10 /* mid */
iconst_5
dload 7 /* y2 */
dastore
14: .line 1215
dload 5 /* x2 */
dstore 11 /* xf */
start local 11 // double xf
15: dload 7 /* y2 */
dstore 13 /* yf */
start local 13 // double yf
16: .line 1216
aload 10 /* mid */
iconst_2
daload
aload 10 /* mid */
iconst_0
daload
dsub
dstore 15 /* dxs */
start local 15 // double dxs
17: .line 1217
aload 10 /* mid */
iconst_3
daload
aload 10 /* mid */
iconst_1
daload
dsub
dstore 17 /* dys */
start local 17 // double dys
18: .line 1218
aload 10 /* mid */
iconst_4
daload
aload 10 /* mid */
iconst_2
daload
dsub
dstore 19 /* dxf */
start local 19 // double dxf
19: .line 1219
aload 10 /* mid */
iconst_5
daload
aload 10 /* mid */
iconst_3
daload
dsub
dstore 21 /* dyf */
start local 21 // double dyf
20: .line 1220
dload 15 /* dxs */
dconst_0
dcmpl
ifne 21
dload 17 /* dys */
dconst_0
dcmpl
ifeq 22
StackMap locals: sun.java2d.marlin.DStroker double double double double int double[] double double double double double double
StackMap stack:
21: dload 19 /* dxf */
dconst_0
dcmpl
ifne 24
dload 21 /* dyf */
dconst_0
dcmpl
ifne 24
22: .line 1221
StackMap locals:
StackMap stack:
aload 10 /* mid */
iconst_4
daload
aload 10 /* mid */
iconst_0
daload
dsub
dup2
dstore 19 /* dxf */
dstore 15 /* dxs */
23: .line 1222
aload 10 /* mid */
iconst_5
daload
aload 10 /* mid */
iconst_1
daload
dsub
dup2
dstore 21 /* dyf */
dstore 17 /* dys */
24: .line 1224
StackMap locals:
StackMap stack:
dload 15 /* dxs */
dconst_0
dcmpl
ifne 29
dload 17 /* dys */
dconst_0
dcmpl
ifne 29
25: .line 1227
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.clipRect:[D
ifnull 27
26: .line 1228
aload 0 /* this */
iload 9 /* outcode0 */
putfield sun.java2d.marlin.DStroker.cOutCode:I
27: .line 1230
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 10 /* mid */
iconst_0
daload
aload 10 /* mid */
iconst_1
daload
invokevirtual sun.java2d.marlin.DStroker.lineTo:(DD)V
28: .line 1231
return
29: .line 1235
StackMap locals:
StackMap stack:
dload 15 /* dxs */
invokestatic java.lang.Math.abs:(D)D
ldc 0.1
dcmpg
ifge 33
dload 17 /* dys */
invokestatic java.lang.Math.abs:(D)D
ldc 0.1
dcmpg
ifge 33
30: .line 1236
dload 15 /* dxs */
dload 15 /* dxs */
dmul
dload 17 /* dys */
dload 17 /* dys */
dmul
dadd
invokestatic java.lang.Math.sqrt:(D)D
dstore 23 /* len */
start local 23 // double len
31: .line 1237
dload 15 /* dxs */
dload 23 /* len */
ddiv
dstore 15 /* dxs */
32: .line 1238
dload 17 /* dys */
dload 23 /* len */
ddiv
dstore 17 /* dys */
end local 23 // double len
33: .line 1240
StackMap locals:
StackMap stack:
dload 19 /* dxf */
invokestatic java.lang.Math.abs:(D)D
ldc 0.1
dcmpg
ifge 37
dload 21 /* dyf */
invokestatic java.lang.Math.abs:(D)D
ldc 0.1
dcmpg
ifge 37
34: .line 1241
dload 19 /* dxf */
dload 19 /* dxf */
dmul
dload 21 /* dyf */
dload 21 /* dyf */
dmul
dadd
invokestatic java.lang.Math.sqrt:(D)D
dstore 23 /* len */
start local 23 // double len
35: .line 1242
dload 19 /* dxf */
dload 23 /* len */
ddiv
dstore 19 /* dxf */
36: .line 1243
dload 21 /* dyf */
dload 23 /* len */
ddiv
dstore 21 /* dyf */
end local 23 // double len
37: .line 1246
StackMap locals:
StackMap stack:
dload 15 /* dxs */
dload 17 /* dys */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.lineWidth2:D
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.offset0:[D
invokestatic sun.java2d.marlin.DStroker.computeOffset:(DDD[D)V
38: .line 1247
aload 0 /* this */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cdx:D
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cdy:D
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cx0:D
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cy0:D
dload 15 /* dxs */
dload 17 /* dys */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cmx:D
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.cmy:D
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.offset0:[D
iconst_0
daload
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.offset0:[D
iconst_1
daload
iload 9 /* outcode0 */
invokevirtual sun.java2d.marlin.DStroker.drawJoin:(DDDDDDDDDDI)V
39: .line 1249
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.curve:Lsun/java2d/marlin/DCurve;
aload 10 /* mid */
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.subdivTs:[D
bipush 6
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.lineWidth2:D
invokestatic sun.java2d.marlin.DStroker.findSubdivPoints:(Lsun/java2d/marlin/DCurve;[D[DID)I
istore 23 /* nSplits */
start local 23 // int nSplits
40: .line 1251
dconst_0
dstore 24 /* prevt */
start local 24 // double prevt
41: .line 1252
iconst_0
istore 26 /* i */
start local 26 // int i
42: iconst_0
istore 27 /* off */
start local 27 // int off
43: goto 50
44: .line 1253
StackMap locals: sun.java2d.marlin.DStroker double double double double int double[] double double double double double double int double int int
StackMap stack:
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.subdivTs:[D
iload 26 /* i */
daload
dstore 28 /* t */
start local 28 // double t
45: .line 1254
dload 28 /* t */
dload 24 /* prevt */
dsub
dconst_1
dload 24 /* prevt */
dsub
ddiv
46: .line 1255
aload 10 /* mid */
iload 27 /* off */
aload 10 /* mid */
iload 27 /* off */
aload 10 /* mid */
iload 27 /* off */
iconst_4
iadd
47: .line 1254
invokestatic sun.java2d.marlin.DHelpers.subdivideQuadAt:(D[DI[DI[DI)V
48: .line 1256
dload 28 /* t */
dstore 24 /* prevt */
end local 28 // double t
49: .line 1252
iinc 26 /* i */ 1
iinc 27 /* off */ 4
StackMap locals:
StackMap stack:
50: iload 26 /* i */
iload 23 /* nSplits */
if_icmplt 44
end local 27 // int off
end local 26 // int i
51: .line 1259
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.lp:[D
astore 26 /* l */
start local 26 // double[] l
52: .line 1260
aload 0 /* this */
getfield sun.java2d.marlin.DStroker.rp:[D
astore 27 /* r */
start local 27 // double[] r
53: .line 1262
iconst_0
istore 28 /* kind */
start local 28 // int kind
54: .line 1263
iconst_0
istore 29 /* i */
start local 29 // int i
55: iconst_0
istore 30 /* off */
start local 30 // int off
56: goto 67
57: .line 1264
StackMap locals: sun.java2d.marlin.DStroker double double double double int double[] double double double double double double int double double[] double[] int int int
StackMap stack:
aload 0 /* this */
aload 10 /* mid */
iload 30 /* off */
aload 26 /* l */
aload 27 /* r */
invokevirtual sun.java2d.marlin.DStroker.computeOffsetQuad:([DI[D[D)I
istore 28 /* kind */
58: .line 1266
aload 0 /* this */
aload 26 /* l */
iconst_0
daload
aload 26 /* l */
iconst_1
daload
invokevirtual sun.java2d.marlin.DStroker.emitLineTo:(DD)V
59: .line 1268
iload 28 /* kind */
tableswitch { // 4 - 6
4: 63
5: 65
6: 60
default: 65
}
60: .line 1270
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 26 /* l */
iconst_2
daload
aload 26 /* l */
iconst_3
daload
aload 26 /* l */
iconst_4
daload
aload 26 /* l */
iconst_5
daload
invokevirtual sun.java2d.marlin.DStroker.emitQuadTo:(DDDD)V
61: .line 1271
aload 0 /* this */
aload 27 /* r */
iconst_0
daload
aload 27 /* r */
iconst_1
daload
aload 27 /* r */
iconst_2
daload
aload 27 /* r */
iconst_3
daload
invokevirtual sun.java2d.marlin.DStroker.emitQuadToRev:(DDDD)V
62: .line 1272
goto 65
63: .line 1274
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 26 /* l */
iconst_2
daload
aload 26 /* l */
iconst_3
daload
invokevirtual sun.java2d.marlin.DStroker.emitLineTo:(DD)V
64: .line 1275
aload 0 /* this */
aload 27 /* r */
iconst_0
daload
aload 27 /* r */
iconst_1
daload
invokevirtual sun.java2d.marlin.DStroker.emitLineToRev:(DD)V
65: .line 1279
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 27 /* r */
iload 28 /* kind */
iconst_2
isub
daload
aload 27 /* r */
iload 28 /* kind */
iconst_1
isub
daload
invokevirtual sun.java2d.marlin.DStroker.emitLineToRev:(DD)V
66: .line 1263
iinc 29 /* i */ 1
iinc 30 /* off */ 4
StackMap locals:
StackMap stack:
67: iload 29 /* i */
iload 23 /* nSplits */
if_icmple 57
end local 30 // int off
end local 29 // int i
68: .line 1282
aload 0 /* this */
iconst_1
putfield sun.java2d.marlin.DStroker.prev:I
69: .line 1283
aload 0 /* this */
dload 11 /* xf */
putfield sun.java2d.marlin.DStroker.cx0:D
70: .line 1284
aload 0 /* this */
dload 13 /* yf */
putfield sun.java2d.marlin.DStroker.cy0:D
71: .line 1285
aload 0 /* this */
dload 19 /* dxf */
putfield sun.java2d.marlin.DStroker.cdx:D
72: .line 1286
aload 0 /* this */
dload 21 /* dyf */
putfield sun.java2d.marlin.DStroker.cdy:D
73: .line 1287
aload 0 /* this */
aload 26 /* l */
iload 28 /* kind */
iconst_2
isub
daload
aload 27 /* r */
iload 28 /* kind */
iconst_2
isub
daload
dsub
ldc 2.0
ddiv
putfield sun.java2d.marlin.DStroker.cmx:D
74: .line 1288
aload 0 /* this */
aload 26 /* l */
iload 28 /* kind */
iconst_1
isub
daload
aload 27 /* r */
iload 28 /* kind */
iconst_1
isub
daload
dsub
ldc 2.0
ddiv
putfield sun.java2d.marlin.DStroker.cmy:D
75: .line 1289
return
end local 28 // int kind
end local 27 // double[] r
end local 26 // double[] l
end local 24 // double prevt
end local 23 // int nSplits
end local 21 // double dyf
end local 19 // double dxf
end local 17 // double dys
end local 15 // double dxs
end local 13 // double yf
end local 11 // double xf
end local 10 // double[] mid
end local 9 // int outcode0
end local 7 // double y2
end local 5 // double x2
end local 3 // double y1
end local 1 // double x1
end local 0 // sun.java2d.marlin.DStroker this
LocalVariableTable:
Start End Slot Name Signature
0 76 0 this Lsun/java2d/marlin/DStroker;
0 76 1 x1 D
0 76 3 y1 D
0 76 5 x2 D
0 76 7 y2 D
1 76 9 outcode0 I
3 10 10 outcode2 I
6 10 11 outcode1 I
11 76 10 mid [D
15 76 11 xf D
16 76 13 yf D
17 76 15 dxs D
18 76 17 dys D
19 76 19 dxf D
20 76 21 dyf D
31 33 23 len D
35 37 23 len D
40 76 23 nSplits I
41 76 24 prevt D
42 51 26 i I
43 51 27 off I
45 49 28 t D
52 76 26 l [D
53 76 27 r [D
54 76 28 kind I
55 68 29 i I
56 68 30 off I
MethodParameters:
Name Flags
x1 final
y1 final
x2 final
y2 final
public long getNativeConsumer();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 // sun.java2d.marlin.DStroker this
0: .line 1292
new java.lang.InternalError
dup
ldc "Stroker doesn't use a native consumer"
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
end local 0 // sun.java2d.marlin.DStroker this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/java2d/marlin/DStroker;
}
SourceFile: "DStroker.java"
InnerClasses:
final PolyStack = sun.java2d.marlin.DHelpers$PolyStack of sun.java2d.marlin.DHelpers