final class sun.java2d.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.java2d.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer
super_class: java.lang.Object
{
private static final int MAX_N_CURVES;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 11
private double lw2;
descriptor: D
flags: (0x0002) ACC_PRIVATE
int nbSplits;
descriptor: I
flags: (0x0000)
final double[] middle;
descriptor: [D
flags: (0x0010) ACC_FINAL
private final double[] subdivTs;
descriptor: [D
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final sun.java2d.marlin.Curve curve;
descriptor: Lsun/java2d/marlin/Curve;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(sun.java2d.marlin.RendererContext);
descriptor: (Lsun/java2d/marlin/RendererContext;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
bipush 68
newarray 7
putfield sun.java2d.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer.middle:[D
2: aload 0
bipush 10
newarray 7
putfield sun.java2d.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer.subdivTs:[D
3: aload 0
aload 1
getfield sun.java2d.marlin.RendererContext.curve:Lsun/java2d/marlin/Curve;
putfield sun.java2d.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer.curve:Lsun/java2d/marlin/Curve;
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/java2d/marlin/TransformingPathConsumer2D$CurveBasicMonotonizer;
0 5 1 rdrCtx Lsun/java2d/marlin/RendererContext;
MethodParameters:
Name Flags
rdrCtx final
void init(double);
descriptor: (D)V
flags: (0x0000)
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
dload 1
dload 1
dmul
ldc 4.0
ddiv
putfield sun.java2d.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer.lw2:D
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/java2d/marlin/TransformingPathConsumer2D$CurveBasicMonotonizer;
0 2 1 lineWidth D
MethodParameters:
Name Flags
lineWidth final
sun.java2d.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer curve(double, double, double, double, double, double, double, double);
descriptor: (DDDDDDDD)Lsun/java2d/marlin/TransformingPathConsumer2D$CurveBasicMonotonizer;
flags: (0x0000)
Code:
stack=8, locals=26, args_size=9
start local 0 start local 1 start local 3 start local 5 start local 7 start local 9 start local 11 start local 13 start local 15 0: aload 0
getfield sun.java2d.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer.middle:[D
astore 17
start local 17 1: aload 17
iconst_0
dload 1
dastore
aload 17
iconst_1
dload 3
dastore
2: aload 17
iconst_2
dload 5
dastore
aload 17
iconst_3
dload 7
dastore
3: aload 17
iconst_4
dload 9
dastore
aload 17
iconst_5
dload 11
dastore
4: aload 17
bipush 6
dload 13
dastore
aload 17
bipush 7
dload 15
dastore
5: aload 0
getfield sun.java2d.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer.subdivTs:[D
astore 18
start local 18 6: aload 0
getfield sun.java2d.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer.curve:Lsun/java2d/marlin/Curve;
aload 17
aload 18
bipush 8
aload 0
getfield sun.java2d.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer.lw2:D
invokestatic sun.java2d.marlin.Helpers.findSubdivPoints:(Lsun/java2d/marlin/Curve;[D[DID)I
istore 19
start local 19 7: dconst_0
dstore 20
start local 20 8: iconst_0
istore 22
start local 22 9: iconst_0
istore 23
start local 23 10: goto 17
11: StackMap locals: sun.java2d.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer double double double double double double double double double[] double[] int double int int
StackMap stack:
aload 18
iload 22
daload
dstore 24
start local 24 12: dload 24
dload 20
dsub
dconst_1
dload 20
dsub
ddiv
13: aload 17
iload 23
aload 17
iload 23
iload 23
bipush 6
iadd
14: invokestatic sun.java2d.marlin.Helpers.subdivideCubicAt:(D[DI[DII)V
15: dload 24
dstore 20
end local 24 16: iinc 22 1
iinc 23 6
StackMap locals:
StackMap stack:
17: iload 22
iload 19
if_icmplt 11
end local 23 end local 22 18: aload 0
iload 19
putfield sun.java2d.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer.nbSplits:I
19: aload 0
areturn
end local 20 end local 19 end local 18 end local 17 end local 15 end local 13 end local 11 end local 9 end local 7 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lsun/java2d/marlin/TransformingPathConsumer2D$CurveBasicMonotonizer;
0 20 1 x0 D
0 20 3 y0 D
0 20 5 x1 D
0 20 7 y1 D
0 20 9 x2 D
0 20 11 y2 D
0 20 13 x3 D
0 20 15 y3 D
1 20 17 mid [D
6 20 18 subTs [D
7 20 19 nSplits I
8 20 20 prevT D
9 18 22 i I
10 18 23 off I
12 16 24 t D
MethodParameters:
Name Flags
x0 final
y0 final
x1 final
y1 final
x2 final
y2 final
x3 final
y3 final
sun.java2d.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer quad(double, double, double, double, double, double);
descriptor: (DDDDDD)Lsun/java2d/marlin/TransformingPathConsumer2D$CurveBasicMonotonizer;
flags: (0x0000)
Code:
stack=8, locals=22, args_size=7
start local 0 start local 1 start local 3 start local 5 start local 7 start local 9 start local 11 0: aload 0
getfield sun.java2d.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer.middle:[D
astore 13
start local 13 1: aload 13
iconst_0
dload 1
dastore
aload 13
iconst_1
dload 3
dastore
2: aload 13
iconst_2
dload 5
dastore
aload 13
iconst_3
dload 7
dastore
3: aload 13
iconst_4
dload 9
dastore
aload 13
iconst_5
dload 11
dastore
4: aload 0
getfield sun.java2d.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer.subdivTs:[D
astore 14
start local 14 5: aload 0
getfield sun.java2d.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer.curve:Lsun/java2d/marlin/Curve;
aload 13
aload 14
bipush 6
aload 0
getfield sun.java2d.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer.lw2:D
invokestatic sun.java2d.marlin.Helpers.findSubdivPoints:(Lsun/java2d/marlin/Curve;[D[DID)I
istore 15
start local 15 6: dconst_0
dstore 16
start local 16 7: iconst_0
istore 18
start local 18 8: iconst_0
istore 19
start local 19 9: goto 16
10: StackMap locals: sun.java2d.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer double double double double double double double[] double[] int double int int
StackMap stack:
aload 14
iload 18
daload
dstore 20
start local 20 11: dload 20
dload 16
dsub
dconst_1
dload 16
dsub
ddiv
12: aload 13
iload 19
aload 13
iload 19
iload 19
iconst_4
iadd
13: invokestatic sun.java2d.marlin.Helpers.subdivideQuadAt:(D[DI[DII)V
14: dload 20
dstore 16
end local 20 15: iinc 18 1
iinc 19 4
StackMap locals:
StackMap stack:
16: iload 18
iload 15
if_icmplt 10
end local 19 end local 18 17: aload 0
iload 15
putfield sun.java2d.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer.nbSplits:I
18: aload 0
areturn
end local 16 end local 15 end local 14 end local 13 end local 11 end local 9 end local 7 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lsun/java2d/marlin/TransformingPathConsumer2D$CurveBasicMonotonizer;
0 19 1 x0 D
0 19 3 y0 D
0 19 5 x1 D
0 19 7 y1 D
0 19 9 x2 D
0 19 11 y2 D
1 19 13 mid [D
5 19 14 subTs [D
6 19 15 nSplits I
7 19 16 prevt D
8 17 18 i I
9 17 19 off I
11 15 20 t D
MethodParameters:
Name Flags
x0 final
y0 final
x1 final
y1 final
x2 final
y2 final
}
SourceFile: "TransformingPathConsumer2D.java"
NestHost: sun.java2d.marlin.TransformingPathConsumer2D
InnerClasses:
final CurveBasicMonotonizer = sun.java2d.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer of sun.java2d.marlin.TransformingPathConsumer2D