final class sun.java2d.marlin.Curve
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.java2d.marlin.Curve
super_class: java.lang.Object
{
float ax;
descriptor: F
flags: (0x0000)
float ay;
descriptor: F
flags: (0x0000)
float bx;
descriptor: F
flags: (0x0000)
float by;
descriptor: F
flags: (0x0000)
float cx;
descriptor: F
flags: (0x0000)
float cy;
descriptor: F
flags: (0x0000)
float dx;
descriptor: F
flags: (0x0000)
float dy;
descriptor: F
flags: (0x0000)
float dax;
descriptor: F
flags: (0x0000)
float day;
descriptor: F
flags: (0x0000)
float dbx;
descriptor: F
flags: (0x0000)
float dby;
descriptor: F
flags: (0x0000)
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=1, locals=0, args_size=0
0: .line 28
ldc Lsun/java2d/marlin/Curve;
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.Curve.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 // sun.java2d.marlin.Curve this
0: .line 33
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 34
return
end local 0 // sun.java2d.marlin.Curve this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/java2d/marlin/Curve;
void set(float[], int);
descriptor: ([FI)V
flags: (0x0000)
Code:
stack=10, locals=3, args_size=3
start local 0 // sun.java2d.marlin.Curve this
start local 1 // float[] points
start local 2 // int type
0: .line 37
iload 2 /* type */
tableswitch { // 6 - 8
6: 7
7: 12
8: 1
default: 12
}
1: .line 39
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 1 /* points */
iconst_0
faload
aload 1 /* points */
iconst_1
faload
2: .line 40
aload 1 /* points */
iconst_2
faload
aload 1 /* points */
iconst_3
faload
3: .line 41
aload 1 /* points */
iconst_4
faload
aload 1 /* points */
iconst_5
faload
4: .line 42
aload 1 /* points */
bipush 6
faload
aload 1 /* points */
bipush 7
faload
5: .line 39
invokevirtual sun.java2d.marlin.Curve.set:(FFFFFFFF)V
6: .line 43
return
7: .line 45
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 1 /* points */
iconst_0
faload
aload 1 /* points */
iconst_1
faload
8: .line 46
aload 1 /* points */
iconst_2
faload
aload 1 /* points */
iconst_3
faload
9: .line 47
aload 1 /* points */
iconst_4
faload
aload 1 /* points */
iconst_5
faload
10: .line 45
invokevirtual sun.java2d.marlin.Curve.set:(FFFFFF)V
11: .line 48
return
12: .line 50
StackMap locals:
StackMap stack:
new java.lang.InternalError
dup
ldc "Curves can only be cubic or quadratic"
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
end local 2 // int type
end local 1 // float[] points
end local 0 // sun.java2d.marlin.Curve this
LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lsun/java2d/marlin/Curve;
0 13 1 points [F
0 13 2 type I
MethodParameters:
Name Flags
points
type
void set(float, float, float, float, float, float, float, float);
descriptor: (FFFFFFFF)V
flags: (0x0000)
Code:
stack=3, locals=13, args_size=9
start local 0 // sun.java2d.marlin.Curve this
start local 1 // float x1
start local 2 // float y1
start local 3 // float x2
start local 4 // float y2
start local 5 // float x3
start local 6 // float y3
start local 7 // float x4
start local 8 // float y4
0: .line 59
ldc 3.0
fload 5 /* x3 */
fload 3 /* x2 */
fsub
fmul
fstore 9 /* dx32 */
start local 9 // float dx32
1: .line 60
ldc 3.0
fload 6 /* y3 */
fload 4 /* y2 */
fsub
fmul
fstore 10 /* dy32 */
start local 10 // float dy32
2: .line 61
ldc 3.0
fload 3 /* x2 */
fload 1 /* x1 */
fsub
fmul
fstore 11 /* dx21 */
start local 11 // float dx21
3: .line 62
ldc 3.0
fload 4 /* y2 */
fload 2 /* y1 */
fsub
fmul
fstore 12 /* dy21 */
start local 12 // float dy21
4: .line 63
aload 0 /* this */
fload 7 /* x4 */
fload 1 /* x1 */
fsub
fload 9 /* dx32 */
fsub
putfield sun.java2d.marlin.Curve.ax:F
5: .line 64
aload 0 /* this */
fload 8 /* y4 */
fload 2 /* y1 */
fsub
fload 10 /* dy32 */
fsub
putfield sun.java2d.marlin.Curve.ay:F
6: .line 65
aload 0 /* this */
fload 9 /* dx32 */
fload 11 /* dx21 */
fsub
putfield sun.java2d.marlin.Curve.bx:F
7: .line 66
aload 0 /* this */
fload 10 /* dy32 */
fload 12 /* dy21 */
fsub
putfield sun.java2d.marlin.Curve.by:F
8: .line 67
aload 0 /* this */
fload 11 /* dx21 */
putfield sun.java2d.marlin.Curve.cx:F
9: .line 68
aload 0 /* this */
fload 12 /* dy21 */
putfield sun.java2d.marlin.Curve.cy:F
10: .line 69
aload 0 /* this */
fload 1 /* x1 */
putfield sun.java2d.marlin.Curve.dx:F
11: .line 70
aload 0 /* this */
fload 2 /* y1 */
putfield sun.java2d.marlin.Curve.dy:F
12: .line 71
aload 0 /* this */
ldc 3.0
aload 0 /* this */
getfield sun.java2d.marlin.Curve.ax:F
fmul
putfield sun.java2d.marlin.Curve.dax:F
aload 0 /* this */
ldc 3.0
aload 0 /* this */
getfield sun.java2d.marlin.Curve.ay:F
fmul
putfield sun.java2d.marlin.Curve.day:F
13: .line 72
aload 0 /* this */
fconst_2
aload 0 /* this */
getfield sun.java2d.marlin.Curve.bx:F
fmul
putfield sun.java2d.marlin.Curve.dbx:F
aload 0 /* this */
fconst_2
aload 0 /* this */
getfield sun.java2d.marlin.Curve.by:F
fmul
putfield sun.java2d.marlin.Curve.dby:F
14: .line 73
return
end local 12 // float dy21
end local 11 // float dx21
end local 10 // float dy32
end local 9 // float dx32
end local 8 // float y4
end local 7 // float x4
end local 6 // float y3
end local 5 // float x3
end local 4 // float y2
end local 3 // float x2
end local 2 // float y1
end local 1 // float x1
end local 0 // sun.java2d.marlin.Curve this
LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lsun/java2d/marlin/Curve;
0 15 1 x1 F
0 15 2 y1 F
0 15 3 x2 F
0 15 4 y2 F
0 15 5 x3 F
0 15 6 y3 F
0 15 7 x4 F
0 15 8 y4 F
1 15 9 dx32 F
2 15 10 dy32 F
3 15 11 dx21 F
4 15 12 dy21 F
MethodParameters:
Name Flags
x1
y1
x2
y2
x3
y3
x4
y4
void set(float, float, float, float, float, float);
descriptor: (FFFFFF)V
flags: (0x0000)
Code:
stack=3, locals=9, args_size=7
start local 0 // sun.java2d.marlin.Curve this
start local 1 // float x1
start local 2 // float y1
start local 3 // float x2
start local 4 // float y2
start local 5 // float x3
start local 6 // float y3
0: .line 79
fload 3 /* x2 */
fload 1 /* x1 */
fsub
fstore 7 /* dx21 */
start local 7 // float dx21
1: .line 80
fload 4 /* y2 */
fload 2 /* y1 */
fsub
fstore 8 /* dy21 */
start local 8 // float dy21
2: .line 81
aload 0 /* this */
fconst_0
putfield sun.java2d.marlin.Curve.ax:F
aload 0 /* this */
fconst_0
putfield sun.java2d.marlin.Curve.ay:F
3: .line 82
aload 0 /* this */
fload 5 /* x3 */
fload 3 /* x2 */
fsub
fload 7 /* dx21 */
fsub
putfield sun.java2d.marlin.Curve.bx:F
4: .line 83
aload 0 /* this */
fload 6 /* y3 */
fload 4 /* y2 */
fsub
fload 8 /* dy21 */
fsub
putfield sun.java2d.marlin.Curve.by:F
5: .line 84
aload 0 /* this */
fconst_2
fload 7 /* dx21 */
fmul
putfield sun.java2d.marlin.Curve.cx:F
6: .line 85
aload 0 /* this */
fconst_2
fload 8 /* dy21 */
fmul
putfield sun.java2d.marlin.Curve.cy:F
7: .line 86
aload 0 /* this */
fload 1 /* x1 */
putfield sun.java2d.marlin.Curve.dx:F
8: .line 87
aload 0 /* this */
fload 2 /* y1 */
putfield sun.java2d.marlin.Curve.dy:F
9: .line 88
aload 0 /* this */
fconst_0
putfield sun.java2d.marlin.Curve.dax:F
aload 0 /* this */
fconst_0
putfield sun.java2d.marlin.Curve.day:F
10: .line 89
aload 0 /* this */
fconst_2
aload 0 /* this */
getfield sun.java2d.marlin.Curve.bx:F
fmul
putfield sun.java2d.marlin.Curve.dbx:F
aload 0 /* this */
fconst_2
aload 0 /* this */
getfield sun.java2d.marlin.Curve.by:F
fmul
putfield sun.java2d.marlin.Curve.dby:F
11: .line 90
return
end local 8 // float dy21
end local 7 // float dx21
end local 6 // float y3
end local 5 // float x3
end local 4 // float y2
end local 3 // float x2
end local 2 // float y1
end local 1 // float x1
end local 0 // sun.java2d.marlin.Curve this
LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/java2d/marlin/Curve;
0 12 1 x1 F
0 12 2 y1 F
0 12 3 x2 F
0 12 4 y2 F
0 12 5 x3 F
0 12 6 y3 F
1 12 7 dx21 F
2 12 8 dy21 F
MethodParameters:
Name Flags
x1
y1
x2
y2
x3
y3
float xat(float);
descriptor: (F)F
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 // sun.java2d.marlin.Curve this
start local 1 // float t
0: .line 93
fload 1 /* t */
fload 1 /* t */
fload 1 /* t */
aload 0 /* this */
getfield sun.java2d.marlin.Curve.ax:F
fmul
aload 0 /* this */
getfield sun.java2d.marlin.Curve.bx:F
fadd
fmul
aload 0 /* this */
getfield sun.java2d.marlin.Curve.cx:F
fadd
fmul
aload 0 /* this */
getfield sun.java2d.marlin.Curve.dx:F
fadd
freturn
end local 1 // float t
end local 0 // sun.java2d.marlin.Curve this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/java2d/marlin/Curve;
0 1 1 t F
MethodParameters:
Name Flags
t
float yat(float);
descriptor: (F)F
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 // sun.java2d.marlin.Curve this
start local 1 // float t
0: .line 96
fload 1 /* t */
fload 1 /* t */
fload 1 /* t */
aload 0 /* this */
getfield sun.java2d.marlin.Curve.ay:F
fmul
aload 0 /* this */
getfield sun.java2d.marlin.Curve.by:F
fadd
fmul
aload 0 /* this */
getfield sun.java2d.marlin.Curve.cy:F
fadd
fmul
aload 0 /* this */
getfield sun.java2d.marlin.Curve.dy:F
fadd
freturn
end local 1 // float t
end local 0 // sun.java2d.marlin.Curve this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/java2d/marlin/Curve;
0 1 1 t F
MethodParameters:
Name Flags
t
float dxat(float);
descriptor: (F)F
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 // sun.java2d.marlin.Curve this
start local 1 // float t
0: .line 100
fload 1 /* t */
fload 1 /* t */
aload 0 /* this */
getfield sun.java2d.marlin.Curve.dax:F
fmul
aload 0 /* this */
getfield sun.java2d.marlin.Curve.dbx:F
fadd
fmul
aload 0 /* this */
getfield sun.java2d.marlin.Curve.cx:F
fadd
freturn
end local 1 // float t
end local 0 // sun.java2d.marlin.Curve this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/java2d/marlin/Curve;
0 1 1 t F
MethodParameters:
Name Flags
t
float dyat(float);
descriptor: (F)F
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 // sun.java2d.marlin.Curve this
start local 1 // float t
0: .line 104
fload 1 /* t */
fload 1 /* t */
aload 0 /* this */
getfield sun.java2d.marlin.Curve.day:F
fmul
aload 0 /* this */
getfield sun.java2d.marlin.Curve.dby:F
fadd
fmul
aload 0 /* this */
getfield sun.java2d.marlin.Curve.cy:F
fadd
freturn
end local 1 // float t
end local 0 // sun.java2d.marlin.Curve this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/java2d/marlin/Curve;
0 1 1 t F
MethodParameters:
Name Flags
t
int dxRoots(float[], int);
descriptor: ([FI)I
flags: (0x0000)
Code:
stack=5, locals=3, args_size=3
start local 0 // sun.java2d.marlin.Curve this
start local 1 // float[] roots
start local 2 // int off
0: .line 108
aload 0 /* this */
getfield sun.java2d.marlin.Curve.dax:F
aload 0 /* this */
getfield sun.java2d.marlin.Curve.dbx:F
aload 0 /* this */
getfield sun.java2d.marlin.Curve.cx:F
aload 1 /* roots */
iload 2 /* off */
invokestatic sun.java2d.marlin.Helpers.quadraticRoots:(FFF[FI)I
ireturn
end local 2 // int off
end local 1 // float[] roots
end local 0 // sun.java2d.marlin.Curve this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/java2d/marlin/Curve;
0 1 1 roots [F
0 1 2 off I
MethodParameters:
Name Flags
roots
off
int dyRoots(float[], int);
descriptor: ([FI)I
flags: (0x0000)
Code:
stack=5, locals=3, args_size=3
start local 0 // sun.java2d.marlin.Curve this
start local 1 // float[] roots
start local 2 // int off
0: .line 112
aload 0 /* this */
getfield sun.java2d.marlin.Curve.day:F
aload 0 /* this */
getfield sun.java2d.marlin.Curve.dby:F
aload 0 /* this */
getfield sun.java2d.marlin.Curve.cy:F
aload 1 /* roots */
iload 2 /* off */
invokestatic sun.java2d.marlin.Helpers.quadraticRoots:(FFF[FI)I
ireturn
end local 2 // int off
end local 1 // float[] roots
end local 0 // sun.java2d.marlin.Curve this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/java2d/marlin/Curve;
0 1 1 roots [F
0 1 2 off I
MethodParameters:
Name Flags
roots
off
int infPoints(float[], int);
descriptor: ([FI)I
flags: (0x0000)
Code:
stack=5, locals=6, args_size=3
start local 0 // sun.java2d.marlin.Curve this
start local 1 // float[] pts
start local 2 // int off
0: .line 119
aload 0 /* this */
getfield sun.java2d.marlin.Curve.dax:F
aload 0 /* this */
getfield sun.java2d.marlin.Curve.dby:F
fmul
aload 0 /* this */
getfield sun.java2d.marlin.Curve.dbx:F
aload 0 /* this */
getfield sun.java2d.marlin.Curve.day:F
fmul
fsub
fstore 3 /* a */
start local 3 // float a
1: .line 120
fconst_2
aload 0 /* this */
getfield sun.java2d.marlin.Curve.cy:F
aload 0 /* this */
getfield sun.java2d.marlin.Curve.dax:F
fmul
aload 0 /* this */
getfield sun.java2d.marlin.Curve.day:F
aload 0 /* this */
getfield sun.java2d.marlin.Curve.cx:F
fmul
fsub
fmul
fstore 4 /* b */
start local 4 // float b
2: .line 121
aload 0 /* this */
getfield sun.java2d.marlin.Curve.cy:F
aload 0 /* this */
getfield sun.java2d.marlin.Curve.dbx:F
fmul
aload 0 /* this */
getfield sun.java2d.marlin.Curve.cx:F
aload 0 /* this */
getfield sun.java2d.marlin.Curve.dby:F
fmul
fsub
fstore 5 /* c */
start local 5 // float c
3: .line 123
fload 3 /* a */
fload 4 /* b */
fload 5 /* c */
aload 1 /* pts */
iload 2 /* off */
invokestatic sun.java2d.marlin.Helpers.quadraticRoots:(FFF[FI)I
ireturn
end local 5 // float c
end local 4 // float b
end local 3 // float a
end local 2 // int off
end local 1 // float[] pts
end local 0 // sun.java2d.marlin.Curve this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/java2d/marlin/Curve;
0 4 1 pts [F
0 4 2 off I
1 4 3 a F
2 4 4 b F
3 4 5 c F
MethodParameters:
Name Flags
pts
off
private int perpendiculardfddf(float[], int);
descriptor: ([FI)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=7, args_size=3
start local 0 // sun.java2d.marlin.Curve this
start local 1 // float[] pts
start local 2 // int off
0: .line 130
getstatic sun.java2d.marlin.Curve.$assertionsDisabled:Z
ifne 1
aload 1 /* pts */
arraylength
iload 2 /* off */
iconst_4
iadd
if_icmpge 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: .line 135
StackMap locals:
StackMap stack:
fconst_2
aload 0 /* this */
getfield sun.java2d.marlin.Curve.dax:F
aload 0 /* this */
getfield sun.java2d.marlin.Curve.dax:F
fmul
aload 0 /* this */
getfield sun.java2d.marlin.Curve.day:F
aload 0 /* this */
getfield sun.java2d.marlin.Curve.day:F
fmul
fadd
fmul
fstore 3 /* a */
start local 3 // float a
2: .line 136
ldc 3.0
aload 0 /* this */
getfield sun.java2d.marlin.Curve.dax:F
aload 0 /* this */
getfield sun.java2d.marlin.Curve.dbx:F
fmul
aload 0 /* this */
getfield sun.java2d.marlin.Curve.day:F
aload 0 /* this */
getfield sun.java2d.marlin.Curve.dby:F
fmul
fadd
fmul
fstore 4 /* b */
start local 4 // float b
3: .line 137
fconst_2
aload 0 /* this */
getfield sun.java2d.marlin.Curve.dax:F
aload 0 /* this */
getfield sun.java2d.marlin.Curve.cx:F
fmul
aload 0 /* this */
getfield sun.java2d.marlin.Curve.day:F
aload 0 /* this */
getfield sun.java2d.marlin.Curve.cy:F
fmul
fadd
fmul
aload 0 /* this */
getfield sun.java2d.marlin.Curve.dbx:F
aload 0 /* this */
getfield sun.java2d.marlin.Curve.dbx:F
fmul
fadd
aload 0 /* this */
getfield sun.java2d.marlin.Curve.dby:F
aload 0 /* this */
getfield sun.java2d.marlin.Curve.dby:F
fmul
fadd
fstore 5 /* c */
start local 5 // float c
4: .line 138
aload 0 /* this */
getfield sun.java2d.marlin.Curve.dbx:F
aload 0 /* this */
getfield sun.java2d.marlin.Curve.cx:F
fmul
aload 0 /* this */
getfield sun.java2d.marlin.Curve.dby:F
aload 0 /* this */
getfield sun.java2d.marlin.Curve.cy:F
fmul
fadd
fstore 6 /* d */
start local 6 // float d
5: .line 139
fload 3 /* a */
fload 4 /* b */
fload 5 /* c */
fload 6 /* d */
aload 1 /* pts */
iload 2 /* off */
fconst_0
fconst_1
invokestatic sun.java2d.marlin.Helpers.cubicRootsInAB:(FFFF[FIFF)I
ireturn
end local 6 // float d
end local 5 // float c
end local 4 // float b
end local 3 // float a
end local 2 // int off
end local 1 // float[] pts
end local 0 // sun.java2d.marlin.Curve this
LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/java2d/marlin/Curve;
0 6 1 pts [F
0 6 2 off I
2 6 3 a F
3 6 4 b F
4 6 5 c F
5 6 6 d F
MethodParameters:
Name Flags
pts
off
int rootsOfROCMinusW(float[], int, float, float);
descriptor: ([FIFF)I
flags: (0x0000)
Code:
stack=7, locals=12, args_size=5
start local 0 // sun.java2d.marlin.Curve this
start local 1 // float[] roots
start local 2 // int off
start local 3 // float w
start local 4 // float err
0: .line 157
getstatic sun.java2d.marlin.Curve.$assertionsDisabled:Z
ifne 2
iload 2 /* off */
bipush 6
if_icmpgt 1
aload 1 /* roots */
arraylength
bipush 10
if_icmpge 2
StackMap locals:
StackMap stack:
1: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: .line 158
StackMap locals:
StackMap stack:
iload 2 /* off */
istore 5 /* ret */
start local 5 // int ret
3: .line 159
aload 0 /* this */
aload 1 /* roots */
iload 2 /* off */
invokevirtual sun.java2d.marlin.Curve.perpendiculardfddf:([FI)I
istore 6 /* numPerpdfddf */
start local 6 // int numPerpdfddf
4: .line 160
fconst_0
fstore 7 /* t0 */
start local 7 // float t0
5: aload 0 /* this */
fload 7 /* t0 */
invokevirtual sun.java2d.marlin.Curve.ROCsq:(F)F
fload 3 /* w */
fload 3 /* w */
fmul
fsub
fstore 8 /* ft0 */
start local 8 // float ft0
6: .line 161
aload 1 /* roots */
iload 2 /* off */
iload 6 /* numPerpdfddf */
iadd
fconst_1
fastore
7: .line 162
iinc 6 /* numPerpdfddf */ 1
8: .line 163
iload 2 /* off */
istore 9 /* i */
start local 9 // int i
9: goto 20
10: .line 164
StackMap locals: sun.java2d.marlin.Curve float[] int float float int int float float int
StackMap stack:
aload 1 /* roots */
iload 9 /* i */
faload
fstore 10 /* t1 */
start local 10 // float t1
11: aload 0 /* this */
fload 10 /* t1 */
invokevirtual sun.java2d.marlin.Curve.ROCsq:(F)F
fload 3 /* w */
fload 3 /* w */
fmul
fsub
fstore 11 /* ft1 */
start local 11 // float ft1
12: .line 165
fload 8 /* ft0 */
fconst_0
fcmpl
ifne 15
13: .line 166
aload 1 /* roots */
iload 5 /* ret */
iinc 5 /* ret */ 1
fload 7 /* t0 */
fastore
14: .line 167
goto 17
StackMap locals: float float
StackMap stack:
15: fload 11 /* ft1 */
fload 8 /* ft0 */
fmul
fconst_0
fcmpg
ifge 17
16: .line 170
aload 1 /* roots */
iload 5 /* ret */
iinc 5 /* ret */ 1
aload 0 /* this */
fload 7 /* t0 */
fload 10 /* t1 */
fload 3 /* w */
fload 3 /* w */
fmul
fload 4 /* err */
invokevirtual sun.java2d.marlin.Curve.falsePositionROCsqMinusX:(FFFF)F
fastore
17: .line 172
StackMap locals:
StackMap stack:
fload 10 /* t1 */
fstore 7 /* t0 */
18: .line 173
fload 11 /* ft1 */
fstore 8 /* ft0 */
end local 11 // float ft1
end local 10 // float t1
19: .line 163
iinc 9 /* i */ 1
StackMap locals:
StackMap stack:
20: iload 9 /* i */
iload 2 /* off */
iload 6 /* numPerpdfddf */
iadd
if_icmplt 10
end local 9 // int i
21: .line 176
iload 5 /* ret */
iload 2 /* off */
isub
ireturn
end local 8 // float ft0
end local 7 // float t0
end local 6 // int numPerpdfddf
end local 5 // int ret
end local 4 // float err
end local 3 // float w
end local 2 // int off
end local 1 // float[] roots
end local 0 // sun.java2d.marlin.Curve this
LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lsun/java2d/marlin/Curve;
0 22 1 roots [F
0 22 2 off I
0 22 3 w F
0 22 4 err F
3 22 5 ret I
4 22 6 numPerpdfddf I
5 22 7 t0 F
6 22 8 ft0 F
9 21 9 i I
11 19 10 t1 F
12 19 11 ft1 F
MethodParameters:
Name Flags
roots
off
w final
err final
private static float eliminateInf(float);
descriptor: (F)F
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 // float x
0: .line 180
fload 0 /* x */
ldc Infinity
fcmpl
ifne 1
ldc 3.4028235E38
goto 3
1: .line 181
StackMap locals:
StackMap stack:
fload 0 /* x */
ldc -Infinity
fcmpl
ifne 2
ldc 1.4E-45
goto 3
StackMap locals:
StackMap stack:
2: fload 0 /* x */
3: .line 180
StackMap locals:
StackMap stack: float
freturn
end local 0 // float x
LocalVariableTable:
Start End Slot Name Signature
0 4 0 x F
MethodParameters:
Name Flags
x
private float falsePositionROCsqMinusX(float, float, float, float);
descriptor: (FFFF)F
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=13, args_size=5
start local 0 // sun.java2d.marlin.Curve this
start local 1 // float x0
start local 2 // float x1
start local 3 // float x
start local 4 // float err
0: .line 195
iconst_0
istore 5 /* side */
start local 5 // int side
1: .line 196
fload 2 /* x1 */
fstore 6 /* t */
start local 6 // float t
2: aload 0 /* this */
fload 6 /* t */
invokevirtual sun.java2d.marlin.Curve.ROCsq:(F)F
fload 3 /* x */
fsub
invokestatic sun.java2d.marlin.Curve.eliminateInf:(F)F
fstore 7 /* ft */
start local 7 // float ft
3: .line 197
fload 1 /* x0 */
fstore 8 /* s */
start local 8 // float s
4: aload 0 /* this */
fload 8 /* s */
invokevirtual sun.java2d.marlin.Curve.ROCsq:(F)F
fload 3 /* x */
fsub
invokestatic sun.java2d.marlin.Curve.eliminateInf:(F)F
fstore 9 /* fs */
start local 9 // float fs
5: .line 198
fload 8 /* s */
fstore 10 /* r */
start local 10 // float r
6: .line 199
iconst_0
istore 12 /* i */
start local 12 // int i
7: goto 26
8: .line 200
StackMap locals: sun.java2d.marlin.Curve float float float float int float float float float float top int
StackMap stack:
fload 9 /* fs */
fload 6 /* t */
fmul
fload 7 /* ft */
fload 8 /* s */
fmul
fsub
fload 9 /* fs */
fload 7 /* ft */
fsub
fdiv
fstore 10 /* r */
9: .line 201
aload 0 /* this */
fload 10 /* r */
invokevirtual sun.java2d.marlin.Curve.ROCsq:(F)F
fload 3 /* x */
fsub
fstore 11 /* fr */
start local 11 // float fr
10: .line 202
fload 11 /* fr */
fload 7 /* ft */
invokestatic sun.java2d.marlin.Curve.sameSign:(FF)Z
ifeq 18
11: .line 203
fload 11 /* fr */
fstore 7 /* ft */
fload 10 /* r */
fstore 6 /* t */
12: .line 204
iload 5 /* side */
ifge 16
13: .line 205
fload 9 /* fs */
iconst_1
iload 5 /* side */
ineg
ishl
i2f
fdiv
fstore 9 /* fs */
14: .line 206
iinc 5 /* side */ -1
15: .line 207
goto 25
16: .line 208
StackMap locals: sun.java2d.marlin.Curve float float float float int float float float float float float int
StackMap stack:
iconst_m1
istore 5 /* side */
17: .line 210
goto 25
StackMap locals:
StackMap stack:
18: fload 11 /* fr */
fload 9 /* fs */
fmul
fconst_0
fcmpl
ifle 27
19: .line 211
fload 11 /* fr */
fstore 9 /* fs */
fload 10 /* r */
fstore 8 /* s */
20: .line 212
iload 5 /* side */
ifle 24
21: .line 213
fload 7 /* ft */
iconst_1
iload 5 /* side */
ishl
i2f
fdiv
fstore 7 /* ft */
22: .line 214
iinc 5 /* side */ 1
23: .line 215
goto 25
24: .line 216
StackMap locals:
StackMap stack:
iconst_1
istore 5 /* side */
25: .line 199
StackMap locals:
StackMap stack:
iinc 12 /* i */ 1
end local 11 // float fr
StackMap locals: sun.java2d.marlin.Curve float float float float int float float float float float top int
StackMap stack:
26: iload 12 /* i */
bipush 100
if_icmpge 27
fload 6 /* t */
fload 8 /* s */
fsub
invokestatic java.lang.Math.abs:(F)F
fload 4 /* err */
fload 6 /* t */
fload 8 /* s */
fadd
invokestatic java.lang.Math.abs:(F)F
fmul
fcmpl
ifgt 8
end local 12 // int i
27: .line 222
StackMap locals: sun.java2d.marlin.Curve float float float float int float float float float float
StackMap stack:
fload 10 /* r */
freturn
end local 10 // float r
end local 9 // float fs
end local 8 // float s
end local 7 // float ft
end local 6 // float t
end local 5 // int side
end local 4 // float err
end local 3 // float x
end local 2 // float x1
end local 1 // float x0
end local 0 // sun.java2d.marlin.Curve this
LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lsun/java2d/marlin/Curve;
0 28 1 x0 F
0 28 2 x1 F
0 28 3 x F
0 28 4 err F
1 28 5 side I
2 28 6 t F
3 28 7 ft F
4 28 8 s F
5 28 9 fs F
6 28 10 r F
10 26 11 fr F
7 27 12 i I
MethodParameters:
Name Flags
x0
x1
x final
err final
private static boolean sameSign(float, float);
descriptor: (FF)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 // float x
start local 1 // float y
0: .line 227
fload 0 /* x */
fconst_0
fcmpg
ifge 1
fload 1 /* y */
fconst_0
fcmpg
iflt 3
StackMap locals:
StackMap stack:
1: fload 0 /* x */
fconst_0
fcmpl
ifle 2
fload 1 /* y */
fconst_0
fcmpl
ifgt 3
StackMap locals:
StackMap stack:
2: iconst_0
ireturn
StackMap locals:
StackMap stack:
3: iconst_1
ireturn
end local 1 // float y
end local 0 // float x
LocalVariableTable:
Start End Slot Name Signature
0 4 0 x F
0 4 1 y F
MethodParameters:
Name Flags
x
y
private float ROCsq(float);
descriptor: (F)F
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=2
start local 0 // sun.java2d.marlin.Curve this
start local 1 // float t
0: .line 234
fload 1 /* t */
fload 1 /* t */
aload 0 /* this */
getfield sun.java2d.marlin.Curve.dax:F
fmul
aload 0 /* this */
getfield sun.java2d.marlin.Curve.dbx:F
fadd
fmul
aload 0 /* this */
getfield sun.java2d.marlin.Curve.cx:F
fadd
fstore 2 /* dx */
start local 2 // float dx
1: .line 235
fload 1 /* t */
fload 1 /* t */
aload 0 /* this */
getfield sun.java2d.marlin.Curve.day:F
fmul
aload 0 /* this */
getfield sun.java2d.marlin.Curve.dby:F
fadd
fmul
aload 0 /* this */
getfield sun.java2d.marlin.Curve.cy:F
fadd
fstore 3 /* dy */
start local 3 // float dy
2: .line 236
fconst_2
aload 0 /* this */
getfield sun.java2d.marlin.Curve.dax:F
fmul
fload 1 /* t */
fmul
aload 0 /* this */
getfield sun.java2d.marlin.Curve.dbx:F
fadd
fstore 4 /* ddx */
start local 4 // float ddx
3: .line 237
fconst_2
aload 0 /* this */
getfield sun.java2d.marlin.Curve.day:F
fmul
fload 1 /* t */
fmul
aload 0 /* this */
getfield sun.java2d.marlin.Curve.dby:F
fadd
fstore 5 /* ddy */
start local 5 // float ddy
4: .line 238
fload 2 /* dx */
fload 2 /* dx */
fmul
fload 3 /* dy */
fload 3 /* dy */
fmul
fadd
fstore 6 /* dx2dy2 */
start local 6 // float dx2dy2
5: .line 239
fload 4 /* ddx */
fload 4 /* ddx */
fmul
fload 5 /* ddy */
fload 5 /* ddy */
fmul
fadd
fstore 7 /* ddx2ddy2 */
start local 7 // float ddx2ddy2
6: .line 240
fload 4 /* ddx */
fload 2 /* dx */
fmul
fload 5 /* ddy */
fload 3 /* dy */
fmul
fadd
fstore 8 /* ddxdxddydy */
start local 8 // float ddxdxddydy
7: .line 241
fload 6 /* dx2dy2 */
fload 6 /* dx2dy2 */
fload 6 /* dx2dy2 */
fmul
fload 6 /* dx2dy2 */
fload 7 /* ddx2ddy2 */
fmul
fload 8 /* ddxdxddydy */
fload 8 /* ddxdxddydy */
fmul
fsub
fdiv
fmul
freturn
end local 8 // float ddxdxddydy
end local 7 // float ddx2ddy2
end local 6 // float dx2dy2
end local 5 // float ddy
end local 4 // float ddx
end local 3 // float dy
end local 2 // float dx
end local 1 // float t
end local 0 // sun.java2d.marlin.Curve this
LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/java2d/marlin/Curve;
0 8 1 t F
1 8 2 dx F
2 8 3 dy F
3 8 4 ddx F
4 8 5 ddy F
5 8 6 dx2dy2 F
6 8 7 ddx2ddy2 F
7 8 8 ddxdxddydy F
MethodParameters:
Name Flags
t final
}
SourceFile: "Curve.java"