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 float lw2;
descriptor: F
flags: (0x0002) ACC_PRIVATE
int nbSplits;
descriptor: I
flags: (0x0000)
final float[] middle;
descriptor: [F
flags: (0x0010) ACC_FINAL
private final float[] subdivTs;
descriptor: [F
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 6
putfield sun.java2d.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer.middle:[F
2: aload 0
bipush 10
newarray 6
putfield sun.java2d.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer.subdivTs:[F
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(float);
descriptor: (F)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
fload 1
fload 1
fmul
ldc 4.0
fdiv
putfield sun.java2d.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer.lw2:F
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 F
MethodParameters:
Name Flags
lineWidth final
sun.java2d.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer curve(float, float, float, float, float, float, float, float);
descriptor: (FFFFFFFF)Lsun/java2d/marlin/TransformingPathConsumer2D$CurveBasicMonotonizer;
flags: (0x0000)
Code:
stack=7, locals=16, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: aload 0
getfield sun.java2d.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer.middle:[F
astore 9
start local 9 1: aload 9
iconst_0
fload 1
fastore
aload 9
iconst_1
fload 2
fastore
2: aload 9
iconst_2
fload 3
fastore
aload 9
iconst_3
fload 4
fastore
3: aload 9
iconst_4
fload 5
fastore
aload 9
iconst_5
fload 6
fastore
4: aload 9
bipush 6
fload 7
fastore
aload 9
bipush 7
fload 8
fastore
5: aload 0
getfield sun.java2d.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer.subdivTs:[F
astore 10
start local 10 6: aload 0
getfield sun.java2d.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer.curve:Lsun/java2d/marlin/Curve;
aload 9
aload 10
bipush 8
aload 0
getfield sun.java2d.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer.lw2:F
invokestatic sun.java2d.marlin.Helpers.findSubdivPoints:(Lsun/java2d/marlin/Curve;[F[FIF)I
istore 11
start local 11 7: fconst_0
fstore 12
start local 12 8: iconst_0
istore 13
start local 13 9: iconst_0
istore 14
start local 14 10: goto 17
11: StackMap locals: sun.java2d.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer float float float float float float float float float[] float[] int float int int
StackMap stack:
aload 10
iload 13
faload
fstore 15
start local 15 12: fload 15
fload 12
fsub
fconst_1
fload 12
fsub
fdiv
13: aload 9
iload 14
aload 9
iload 14
iload 14
bipush 6
iadd
14: invokestatic sun.java2d.marlin.Helpers.subdivideCubicAt:(F[FI[FII)V
15: fload 15
fstore 12
end local 15 16: iinc 13 1
iinc 14 6
StackMap locals:
StackMap stack:
17: iload 13
iload 11
if_icmplt 11
end local 14 end local 13 18: aload 0
iload 11
putfield sun.java2d.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer.nbSplits:I
19: aload 0
areturn
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lsun/java2d/marlin/TransformingPathConsumer2D$CurveBasicMonotonizer;
0 20 1 x0 F
0 20 2 y0 F
0 20 3 x1 F
0 20 4 y1 F
0 20 5 x2 F
0 20 6 y2 F
0 20 7 x3 F
0 20 8 y3 F
1 20 9 mid [F
6 20 10 subTs [F
7 20 11 nSplits I
8 20 12 prevT F
9 18 13 i I
10 18 14 off I
12 16 15 t F
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(float, float, float, float, float, float);
descriptor: (FFFFFF)Lsun/java2d/marlin/TransformingPathConsumer2D$CurveBasicMonotonizer;
flags: (0x0000)
Code:
stack=7, locals=14, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
getfield sun.java2d.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer.middle:[F
astore 7
start local 7 1: aload 7
iconst_0
fload 1
fastore
aload 7
iconst_1
fload 2
fastore
2: aload 7
iconst_2
fload 3
fastore
aload 7
iconst_3
fload 4
fastore
3: aload 7
iconst_4
fload 5
fastore
aload 7
iconst_5
fload 6
fastore
4: aload 0
getfield sun.java2d.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer.subdivTs:[F
astore 8
start local 8 5: aload 0
getfield sun.java2d.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer.curve:Lsun/java2d/marlin/Curve;
aload 7
aload 8
bipush 6
aload 0
getfield sun.java2d.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer.lw2:F
invokestatic sun.java2d.marlin.Helpers.findSubdivPoints:(Lsun/java2d/marlin/Curve;[F[FIF)I
istore 9
start local 9 6: fconst_0
fstore 10
start local 10 7: iconst_0
istore 11
start local 11 8: iconst_0
istore 12
start local 12 9: goto 16
10: StackMap locals: sun.java2d.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer float float float float float float float[] float[] int float int int
StackMap stack:
aload 8
iload 11
faload
fstore 13
start local 13 11: fload 13
fload 10
fsub
fconst_1
fload 10
fsub
fdiv
12: aload 7
iload 12
aload 7
iload 12
iload 12
iconst_4
iadd
13: invokestatic sun.java2d.marlin.Helpers.subdivideQuadAt:(F[FI[FII)V
14: fload 13
fstore 10
end local 13 15: iinc 11 1
iinc 12 4
StackMap locals:
StackMap stack:
16: iload 11
iload 9
if_icmplt 10
end local 12 end local 11 17: aload 0
iload 9
putfield sun.java2d.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer.nbSplits:I
18: aload 0
areturn
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lsun/java2d/marlin/TransformingPathConsumer2D$CurveBasicMonotonizer;
0 19 1 x0 F
0 19 2 y0 F
0 19 3 x1 F
0 19 4 y1 F
0 19 5 x2 F
0 19 6 y2 F
1 19 7 mid [F
5 19 8 subTs [F
6 19 9 nSplits I
7 19 10 prevt F
8 17 11 i I
9 17 12 off I
11 15 13 t F
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