public class sun.misc.FormattedFloatingDecimal
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.misc.FormattedFloatingDecimal
super_class: java.lang.Object
{
boolean isExceptional;
descriptor: Z
flags: (0x0000)
boolean isNegative;
descriptor: Z
flags: (0x0000)
int decExponent;
descriptor: I
flags: (0x0000)
int decExponentRounded;
descriptor: I
flags: (0x0000)
char[] digits;
descriptor: [C
flags: (0x0000)
int nDigits;
descriptor: I
flags: (0x0000)
int bigIntExp;
descriptor: I
flags: (0x0000)
int bigIntNBits;
descriptor: I
flags: (0x0000)
boolean mustSetRoundDir;
descriptor: Z
flags: (0x0000)
boolean fromHex;
descriptor: Z
flags: (0x0000)
int roundDir;
descriptor: I
flags: (0x0000)
int precision;
descriptor: I
flags: (0x0000)
private sun.misc.FormattedFloatingDecimal$Form form;
descriptor: Lsun/misc/FormattedFloatingDecimal$Form;
flags: (0x0002) ACC_PRIVATE
static final long signMask;
descriptor: J
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: -9223372036854775808
static final long expMask;
descriptor: J
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 9218868437227405312
static final long fractMask;
descriptor: J
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 4503599627370495
static final int expShift;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 52
static final int expBias;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1023
static final long fractHOB;
descriptor: J
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 4503599627370496
static final long expOne;
descriptor: J
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 4607182418800017408
static final int maxSmallBinExp;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 62
static final int minSmallBinExp;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: -21
static final int maxDecimalDigits;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 15
static final int maxDecimalExponent;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 308
static final int minDecimalExponent;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: -324
static final int bigDecimalExponent;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 324
static final long highbyte;
descriptor: J
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: -72057594037927936
static final long highbit;
descriptor: J
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: -9223372036854775808
static final long lowbytes;
descriptor: J
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 72057594037927935
static final int singleSignMask;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: -2147483648
static final int singleExpMask;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 2139095040
static final int singleFractMask;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 8388607
static final int singleExpShift;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 23
static final int singleFractHOB;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 8388608
static final int singleExpBias;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 127
static final int singleMaxDecimalDigits;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 7
static final int singleMaxDecimalExponent;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 38
static final int singleMinDecimalExponent;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: -45
static final int intDecimalDigits;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 9
private static sun.misc.FDBigInt[] b5p;
descriptor: [Lsun/misc/FDBigInt;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.lang.ThreadLocal perThreadBuffer;
descriptor: Ljava/lang/ThreadLocal;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static final double[] small10pow;
descriptor: [D
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final float[] singleSmall10pow;
descriptor: [F
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final double[] big10pow;
descriptor: [D
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final double[] tiny10pow;
descriptor: [D
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int maxSmallTen;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int singleMaxSmallTen;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int[] small5pow;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long[] long5pow;
descriptor: [J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int[] n5bits;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final char[] infinity;
descriptor: [C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final char[] notANumber;
descriptor: [C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final char[] zero;
descriptor: [C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$sun$misc$FormattedFloatingDecimal$Form;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=0, args_size=0
0: ldc Lsun/misc/FormattedFloatingDecimal;
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.misc.FormattedFloatingDecimal.$assertionsDisabled:Z
3: new sun.misc.FormattedFloatingDecimal$1
dup
invokespecial sun.misc.FormattedFloatingDecimal$1.<init>:()V
putstatic sun.misc.FormattedFloatingDecimal.perThreadBuffer:Ljava/lang/ThreadLocal;
4: bipush 23
newarray 7
dup
iconst_0
5: dconst_1
dastore
dup
iconst_1
6: ldc 10.0
dastore
dup
iconst_2
ldc 100.0
dastore
dup
iconst_3
ldc 1000.0
dastore
dup
iconst_4
ldc 10000.0
dastore
dup
iconst_5
ldc 100000.0
dastore
dup
bipush 6
7: ldc 1000000.0
dastore
dup
bipush 7
ldc 1.0E7
dastore
dup
bipush 8
ldc 1.0E8
dastore
dup
bipush 9
ldc 1.0E9
dastore
dup
bipush 10
ldc 1.0E10
dastore
dup
bipush 11
8: ldc 1.0E11
dastore
dup
bipush 12
ldc 1.0E12
dastore
dup
bipush 13
ldc 1.0E13
dastore
dup
bipush 14
ldc 1.0E14
dastore
dup
bipush 15
ldc 1.0E15
dastore
dup
bipush 16
9: ldc 1.0E16
dastore
dup
bipush 17
ldc 1.0E17
dastore
dup
bipush 18
ldc 1.0E18
dastore
dup
bipush 19
ldc 1.0E19
dastore
dup
bipush 20
ldc 1.0E20
dastore
dup
bipush 21
10: ldc 1.0E21
dastore
dup
bipush 22
ldc 1.0E22
dastore
11: putstatic sun.misc.FormattedFloatingDecimal.small10pow:[D
12: bipush 11
newarray 6
dup
iconst_0
13: fconst_1
fastore
dup
iconst_1
14: ldc 10.0
fastore
dup
iconst_2
ldc 100.0
fastore
dup
iconst_3
ldc 1000.0
fastore
dup
iconst_4
ldc 10000.0
fastore
dup
iconst_5
ldc 100000.0
fastore
dup
bipush 6
15: ldc 1000000.0
fastore
dup
bipush 7
ldc 1.0E7
fastore
dup
bipush 8
ldc 1.0E8
fastore
dup
bipush 9
ldc 1.0E9
fastore
dup
bipush 10
ldc 1.0E10
fastore
16: putstatic sun.misc.FormattedFloatingDecimal.singleSmall10pow:[F
17: iconst_5
newarray 7
dup
iconst_0
18: ldc 1.0E16
dastore
dup
iconst_1
ldc 1.0E32
dastore
dup
iconst_2
ldc 1.0E64
dastore
dup
iconst_3
ldc 1.0E128
dastore
dup
iconst_4
ldc 1.0E256
dastore
19: putstatic sun.misc.FormattedFloatingDecimal.big10pow:[D
20: iconst_5
newarray 7
dup
iconst_0
21: ldc 1.0E-16
dastore
dup
iconst_1
ldc 1.0E-32
dastore
dup
iconst_2
ldc 1.0E-64
dastore
dup
iconst_3
ldc 1.0E-128
dastore
dup
iconst_4
ldc 1.0E-256
dastore
22: putstatic sun.misc.FormattedFloatingDecimal.tiny10pow:[D
23: getstatic sun.misc.FormattedFloatingDecimal.small10pow:[D
arraylength
iconst_1
isub
putstatic sun.misc.FormattedFloatingDecimal.maxSmallTen:I
24: getstatic sun.misc.FormattedFloatingDecimal.singleSmall10pow:[F
arraylength
iconst_1
isub
putstatic sun.misc.FormattedFloatingDecimal.singleMaxSmallTen:I
25: bipush 14
newarray 10
dup
iconst_0
26: iconst_1
iastore
dup
iconst_1
27: iconst_5
iastore
dup
iconst_2
28: bipush 25
iastore
dup
iconst_3
29: bipush 125
iastore
dup
iconst_4
30: sipush 625
iastore
dup
iconst_5
31: sipush 3125
iastore
dup
bipush 6
32: sipush 15625
iastore
dup
bipush 7
33: ldc 78125
iastore
dup
bipush 8
34: ldc 390625
iastore
dup
bipush 9
35: ldc 1953125
iastore
dup
bipush 10
36: ldc 9765625
iastore
dup
bipush 11
37: ldc 48828125
iastore
dup
bipush 12
38: ldc 244140625
iastore
dup
bipush 13
39: ldc 1220703125
iastore
40: putstatic sun.misc.FormattedFloatingDecimal.small5pow:[I
41: bipush 27
newarray 11
dup
iconst_0
42: lconst_1
lastore
dup
iconst_1
43: ldc 5
lastore
dup
iconst_2
44: ldc 25
lastore
dup
iconst_3
45: ldc 125
lastore
dup
iconst_4
46: ldc 625
lastore
dup
iconst_5
47: ldc 3125
lastore
dup
bipush 6
48: ldc 15625
lastore
dup
bipush 7
49: ldc 78125
lastore
dup
bipush 8
50: ldc 390625
lastore
dup
bipush 9
51: ldc 1953125
lastore
dup
bipush 10
52: ldc 9765625
lastore
dup
bipush 11
53: ldc 48828125
lastore
dup
bipush 12
54: ldc 244140625
lastore
dup
bipush 13
55: ldc 1220703125
lastore
dup
bipush 14
56: ldc 6103515625
lastore
dup
bipush 15
57: ldc 30517578125
lastore
dup
bipush 16
58: ldc 152587890625
lastore
dup
bipush 17
59: ldc 762939453125
lastore
dup
bipush 18
60: ldc 3814697265625
lastore
dup
bipush 19
61: ldc 19073486328125
lastore
dup
bipush 20
62: ldc 95367431640625
lastore
dup
bipush 21
63: ldc 476837158203125
lastore
dup
bipush 22
64: ldc 2384185791015625
lastore
dup
bipush 23
65: ldc 11920928955078125
lastore
dup
bipush 24
66: ldc 59604644775390625
lastore
dup
bipush 25
67: ldc 298023223876953125
lastore
dup
bipush 26
68: ldc 1490116119384765625
lastore
69: putstatic sun.misc.FormattedFloatingDecimal.long5pow:[J
70: bipush 27
newarray 10
dup
iconst_1
71: iconst_3
iastore
dup
iconst_2
72: iconst_5
iastore
dup
iconst_3
73: bipush 7
iastore
dup
iconst_4
74: bipush 10
iastore
dup
iconst_5
75: bipush 12
iastore
dup
bipush 6
76: bipush 14
iastore
dup
bipush 7
77: bipush 17
iastore
dup
bipush 8
78: bipush 19
iastore
dup
bipush 9
79: bipush 21
iastore
dup
bipush 10
80: bipush 24
iastore
dup
bipush 11
81: bipush 26
iastore
dup
bipush 12
82: bipush 28
iastore
dup
bipush 13
83: bipush 31
iastore
dup
bipush 14
84: bipush 33
iastore
dup
bipush 15
85: bipush 35
iastore
dup
bipush 16
86: bipush 38
iastore
dup
bipush 17
87: bipush 40
iastore
dup
bipush 18
88: bipush 42
iastore
dup
bipush 19
89: bipush 45
iastore
dup
bipush 20
90: bipush 47
iastore
dup
bipush 21
91: bipush 49
iastore
dup
bipush 22
92: bipush 52
iastore
dup
bipush 23
93: bipush 54
iastore
dup
bipush 24
94: bipush 56
iastore
dup
bipush 25
95: bipush 59
iastore
dup
bipush 26
96: bipush 61
iastore
97: putstatic sun.misc.FormattedFloatingDecimal.n5bits:[I
98: bipush 8
newarray 5
dup
iconst_0
bipush 73
castore
dup
iconst_1
bipush 110
castore
dup
iconst_2
bipush 102
castore
dup
iconst_3
bipush 105
castore
dup
iconst_4
bipush 110
castore
dup
iconst_5
bipush 105
castore
dup
bipush 6
bipush 116
castore
dup
bipush 7
bipush 121
castore
putstatic sun.misc.FormattedFloatingDecimal.infinity:[C
99: iconst_3
newarray 5
dup
iconst_0
bipush 78
castore
dup
iconst_1
bipush 97
castore
dup
iconst_2
bipush 78
castore
putstatic sun.misc.FormattedFloatingDecimal.notANumber:[C
100: bipush 8
newarray 5
dup
iconst_0
bipush 48
castore
dup
iconst_1
bipush 48
castore
dup
iconst_2
bipush 48
castore
dup
iconst_3
bipush 48
castore
dup
iconst_4
bipush 48
castore
dup
iconst_5
bipush 48
castore
dup
bipush 6
bipush 48
castore
dup
bipush 7
bipush 48
castore
putstatic sun.misc.FormattedFloatingDecimal.zero:[C
return
LocalVariableTable:
Start End Slot Name Signature
private void <init>(boolean, int, char[], int, boolean, int, sun.misc.FormattedFloatingDecimal$Form);
descriptor: (ZI[CIZILsun/misc/FormattedFloatingDecimal$Form;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=8, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield sun.misc.FormattedFloatingDecimal.mustSetRoundDir:Z
2: aload 0
iconst_0
putfield sun.misc.FormattedFloatingDecimal.fromHex:Z
3: aload 0
iconst_0
putfield sun.misc.FormattedFloatingDecimal.roundDir:I
4: aload 0
iload 1
putfield sun.misc.FormattedFloatingDecimal.isNegative:Z
5: aload 0
iload 5
putfield sun.misc.FormattedFloatingDecimal.isExceptional:Z
6: aload 0
iload 2
putfield sun.misc.FormattedFloatingDecimal.decExponent:I
7: aload 0
aload 3
putfield sun.misc.FormattedFloatingDecimal.digits:[C
8: aload 0
iload 4
putfield sun.misc.FormattedFloatingDecimal.nDigits:I
9: aload 0
iload 6
putfield sun.misc.FormattedFloatingDecimal.precision:I
10: aload 0
aload 7
putfield sun.misc.FormattedFloatingDecimal.form:Lsun/misc/FormattedFloatingDecimal$Form;
11: return
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 12 0 this Lsun/misc/FormattedFloatingDecimal;
0 12 1 negSign Z
0 12 2 decExponent I
0 12 3 digits [C
0 12 4 n I
0 12 5 e Z
0 12 6 precision I
0 12 7 form Lsun/misc/FormattedFloatingDecimal$Form;
MethodParameters:
Name Flags
negSign
decExponent
digits
n
e
precision
form
private static int countBits(long);
descriptor: (J)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: lload 0
lconst_0
lcmp
ifne 2
iconst_0
ireturn
1: StackMap locals:
StackMap stack:
lload 0
bipush 8
lshl
lstore 0
2: StackMap locals:
StackMap stack:
lload 0
ldc -72057594037927936
land
lconst_0
lcmp
ifeq 1
3: goto 5
4: StackMap locals:
StackMap stack:
lload 0
iconst_1
lshl
lstore 0
5: StackMap locals:
StackMap stack:
lload 0
lconst_0
lcmp
ifgt 4
6: iconst_0
istore 2
start local 2 7: goto 10
8: StackMap locals: int
StackMap stack:
lload 0
bipush 8
lshl
lstore 0
9: iinc 2 8
10: StackMap locals:
StackMap stack:
lload 0
ldc 72057594037927935
land
lconst_0
lcmp
ifne 8
11: goto 14
12: StackMap locals:
StackMap stack:
lload 0
iconst_1
lshl
lstore 0
13: iinc 2 1
14: StackMap locals:
StackMap stack:
lload 0
lconst_0
lcmp
ifne 12
15: iload 2
ireturn
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 v J
7 16 2 n I
MethodParameters:
Name Flags
v
private static synchronized sun.misc.FDBigInt big5pow(int);
descriptor: (I)Lsun/misc/FDBigInt;
flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=6, locals=5, args_size=1
start local 0 0: getstatic sun.misc.FormattedFloatingDecimal.$assertionsDisabled:Z
ifne 1
iload 0
ifge 1
new java.lang.AssertionError
dup
iload 0
invokespecial java.lang.AssertionError.<init>:(I)V
athrow
1: StackMap locals:
StackMap stack:
getstatic sun.misc.FormattedFloatingDecimal.b5p:[Lsun/misc/FDBigInt;
ifnonnull 4
2: iload 0
iconst_1
iadd
anewarray sun.misc.FDBigInt
putstatic sun.misc.FormattedFloatingDecimal.b5p:[Lsun/misc/FDBigInt;
3: goto 8
StackMap locals:
StackMap stack:
4: getstatic sun.misc.FormattedFloatingDecimal.b5p:[Lsun/misc/FDBigInt;
arraylength
iload 0
if_icmpgt 8
5: iload 0
iconst_1
iadd
anewarray sun.misc.FDBigInt
astore 1
start local 1 6: getstatic sun.misc.FormattedFloatingDecimal.b5p:[Lsun/misc/FDBigInt;
iconst_0
aload 1
iconst_0
getstatic sun.misc.FormattedFloatingDecimal.b5p:[Lsun/misc/FDBigInt;
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
7: aload 1
putstatic sun.misc.FormattedFloatingDecimal.b5p:[Lsun/misc/FDBigInt;
end local 1 8: StackMap locals:
StackMap stack:
getstatic sun.misc.FormattedFloatingDecimal.b5p:[Lsun/misc/FDBigInt;
iload 0
aaload
ifnull 10
9: getstatic sun.misc.FormattedFloatingDecimal.b5p:[Lsun/misc/FDBigInt;
iload 0
aaload
areturn
10: StackMap locals:
StackMap stack:
iload 0
getstatic sun.misc.FormattedFloatingDecimal.small5pow:[I
arraylength
if_icmpge 12
11: getstatic sun.misc.FormattedFloatingDecimal.b5p:[Lsun/misc/FDBigInt;
iload 0
new sun.misc.FDBigInt
dup
getstatic sun.misc.FormattedFloatingDecimal.small5pow:[I
iload 0
iaload
invokespecial sun.misc.FDBigInt.<init>:(I)V
dup_x2
aastore
areturn
12: StackMap locals:
StackMap stack:
iload 0
getstatic sun.misc.FormattedFloatingDecimal.long5pow:[J
arraylength
if_icmpge 14
13: getstatic sun.misc.FormattedFloatingDecimal.b5p:[Lsun/misc/FDBigInt;
iload 0
new sun.misc.FDBigInt
dup
getstatic sun.misc.FormattedFloatingDecimal.long5pow:[J
iload 0
laload
invokespecial sun.misc.FDBigInt.<init>:(J)V
dup_x2
aastore
areturn
14: StackMap locals:
StackMap stack:
iload 0
iconst_1
ishr
istore 1
start local 1 15: iload 0
iload 1
isub
istore 2
start local 2 16: getstatic sun.misc.FormattedFloatingDecimal.b5p:[Lsun/misc/FDBigInt;
iload 1
aaload
astore 3
start local 3 17: aload 3
ifnonnull 19
18: iload 1
invokestatic sun.misc.FormattedFloatingDecimal.big5pow:(I)Lsun/misc/FDBigInt;
astore 3
19: StackMap locals: int int sun.misc.FDBigInt
StackMap stack:
iload 2
getstatic sun.misc.FormattedFloatingDecimal.small5pow:[I
arraylength
if_icmpge 21
20: getstatic sun.misc.FormattedFloatingDecimal.b5p:[Lsun/misc/FDBigInt;
iload 0
aload 3
getstatic sun.misc.FormattedFloatingDecimal.small5pow:[I
iload 2
iaload
invokevirtual sun.misc.FDBigInt.mult:(I)Lsun/misc/FDBigInt;
dup_x2
aastore
areturn
21: StackMap locals:
StackMap stack:
getstatic sun.misc.FormattedFloatingDecimal.b5p:[Lsun/misc/FDBigInt;
iload 2
aaload
astore 4
start local 4 22: aload 4
ifnonnull 24
23: iload 2
invokestatic sun.misc.FormattedFloatingDecimal.big5pow:(I)Lsun/misc/FDBigInt;
astore 4
24: StackMap locals: sun.misc.FDBigInt
StackMap stack:
getstatic sun.misc.FormattedFloatingDecimal.b5p:[Lsun/misc/FDBigInt;
iload 0
aload 3
aload 4
invokevirtual sun.misc.FDBigInt.mult:(Lsun/misc/FDBigInt;)Lsun/misc/FDBigInt;
dup_x2
aastore
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 p I
6 8 1 t [Lsun/misc/FDBigInt;
15 25 1 q I
16 25 2 r I
17 25 3 bigq Lsun/misc/FDBigInt;
22 25 4 bigr Lsun/misc/FDBigInt;
MethodParameters:
Name Flags
p
private static sun.misc.FDBigInt multPow52(sun.misc.FDBigInt, int, int);
descriptor: (Lsun/misc/FDBigInt;II)Lsun/misc/FDBigInt;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 1
ifeq 5
1: iload 1
getstatic sun.misc.FormattedFloatingDecimal.small5pow:[I
arraylength
if_icmpge 4
2: aload 0
getstatic sun.misc.FormattedFloatingDecimal.small5pow:[I
iload 1
iaload
invokevirtual sun.misc.FDBigInt.mult:(I)Lsun/misc/FDBigInt;
astore 0
3: goto 5
4: StackMap locals:
StackMap stack:
aload 0
iload 1
invokestatic sun.misc.FormattedFloatingDecimal.big5pow:(I)Lsun/misc/FDBigInt;
invokevirtual sun.misc.FDBigInt.mult:(Lsun/misc/FDBigInt;)Lsun/misc/FDBigInt;
astore 0
5: StackMap locals:
StackMap stack:
iload 2
ifeq 7
6: aload 0
iload 2
invokevirtual sun.misc.FDBigInt.lshiftMe:(I)V
7: StackMap locals:
StackMap stack:
aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 v Lsun/misc/FDBigInt;
0 8 1 p5 I
0 8 2 p2 I
MethodParameters:
Name Flags
v
p5
p2
private static sun.misc.FDBigInt constructPow52(int, int);
descriptor: (II)Lsun/misc/FDBigInt;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: new sun.misc.FDBigInt
dup
iload 0
invokestatic sun.misc.FormattedFloatingDecimal.big5pow:(I)Lsun/misc/FDBigInt;
invokespecial sun.misc.FDBigInt.<init>:(Lsun/misc/FDBigInt;)V
astore 2
start local 2 1: iload 1
ifeq 3
2: aload 2
iload 1
invokevirtual sun.misc.FDBigInt.lshiftMe:(I)V
3: StackMap locals: sun.misc.FDBigInt
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 p5 I
0 4 1 p2 I
1 4 2 v Lsun/misc/FDBigInt;
MethodParameters:
Name Flags
p5
p2
private sun.misc.FDBigInt doubleToBigInt(double);
descriptor: (D)Lsun/misc/FDBigInt;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=2
start local 0 start local 1 0: dload 1
invokestatic java.lang.Double.doubleToLongBits:(D)J
ldc 9223372036854775807
land
lstore 3
start local 3 1: lload 3
bipush 52
lushr
l2i
istore 5
start local 5 2: lload 3
ldc 4503599627370495
land
lstore 3
3: iload 5
ifle 6
4: lload 3
ldc 4503599627370496
lor
lstore 3
5: goto 12
6: StackMap locals: long int
StackMap stack:
getstatic sun.misc.FormattedFloatingDecimal.$assertionsDisabled:Z
ifne 7
lload 3
lconst_0
lcmp
ifne 7
new java.lang.AssertionError
dup
lload 3
invokespecial java.lang.AssertionError.<init>:(J)V
athrow
7: StackMap locals:
StackMap stack:
iinc 5 1
8: goto 11
9: StackMap locals:
StackMap stack:
lload 3
iconst_1
lshl
lstore 3
10: iinc 5 -1
11: StackMap locals:
StackMap stack:
lload 3
ldc 4503599627370496
land
lconst_0
lcmp
ifeq 9
12: StackMap locals:
StackMap stack:
iinc 5 -1023
13: lload 3
invokestatic sun.misc.FormattedFloatingDecimal.countBits:(J)I
istore 6
start local 6 14: bipush 53
iload 6
isub
istore 7
start local 7 15: lload 3
iload 7
lushr
lstore 3
16: aload 0
iload 5
iconst_1
iadd
iload 6
isub
putfield sun.misc.FormattedFloatingDecimal.bigIntExp:I
17: aload 0
iload 6
putfield sun.misc.FormattedFloatingDecimal.bigIntNBits:I
18: new sun.misc.FDBigInt
dup
lload 3
invokespecial sun.misc.FDBigInt.<init>:(J)V
areturn
end local 7 end local 6 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lsun/misc/FormattedFloatingDecimal;
0 19 1 dval D
1 19 3 lbits J
2 19 5 binexp I
14 19 6 nbits I
15 19 7 lowOrderZeros I
MethodParameters:
Name Flags
dval
private static double ulp(double, boolean);
descriptor: (DZ)D
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=8, args_size=2
start local 0 start local 2 0: dload 0
invokestatic java.lang.Double.doubleToLongBits:(D)J
ldc 9223372036854775807
land
lstore 3
start local 3 1: lload 3
bipush 52
lushr
l2i
istore 5
start local 5 2: iload 2
ifeq 4
iload 5
bipush 52
if_icmplt 4
lload 3
ldc 4503599627370495
land
lconst_0
lcmp
ifne 4
3: iinc 5 -1
4: StackMap locals: long int
StackMap stack:
iload 5
bipush 52
if_icmple 7
5: iload 5
bipush 52
isub
i2l
bipush 52
lshl
invokestatic java.lang.Double.longBitsToDouble:(J)D
dstore 6
start local 6 6: goto 11
end local 6 StackMap locals:
StackMap stack:
7: iload 5
ifne 10
8: ldc 4.9E-324
dstore 6
start local 6 9: goto 11
end local 6 10: StackMap locals:
StackMap stack:
lconst_1
iload 5
iconst_1
isub
lshl
invokestatic java.lang.Double.longBitsToDouble:(J)D
dstore 6
start local 6 11: StackMap locals: double
StackMap stack:
iload 2
ifeq 12
dload 6
dneg
dstore 6
12: StackMap locals:
StackMap stack:
dload 6
dreturn
end local 6 end local 5 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 dval D
0 13 2 subtracting Z
1 13 3 lbits J
2 13 5 binexp I
6 7 6 ulpval D
9 10 6 ulpval D
11 13 6 ulpval D
MethodParameters:
Name Flags
dval
subtracting
float stickyRound(double);
descriptor: (D)F
flags: (0x0000)
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: dload 1
invokestatic java.lang.Double.doubleToLongBits:(D)J
lstore 3
start local 3 1: lload 3
ldc 9218868437227405312
land
lstore 5
start local 5 2: lload 5
lconst_0
lcmp
ifeq 3
lload 5
ldc 9218868437227405312
lcmp
ifne 4
3: StackMap locals: long long
StackMap stack:
dload 1
d2f
freturn
4: StackMap locals:
StackMap stack:
lload 3
aload 0
getfield sun.misc.FormattedFloatingDecimal.roundDir:I
i2l
ladd
lstore 3
5: lload 3
invokestatic java.lang.Double.longBitsToDouble:(J)D
d2f
freturn
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/misc/FormattedFloatingDecimal;
0 6 1 dval D
1 6 3 lbits J
2 6 5 binexp J
MethodParameters:
Name Flags
dval
private void developLongDigits(int, long, long);
descriptor: (IJJ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=15, args_size=4
start local 0 start local 1 start local 2 start local 4 0: iconst_0
istore 10
start local 10 1: goto 4
2: StackMap locals: sun.misc.FormattedFloatingDecimal int long long top top top top int
StackMap stack:
lload 4
ldc 10
ldiv
lstore 4
3: iinc 10 1
StackMap locals:
StackMap stack:
4: lload 4
ldc 10
lcmp
ifge 2
5: iload 10
ifeq 12
6: getstatic sun.misc.FormattedFloatingDecimal.long5pow:[J
iload 10
laload
iload 10
lshl
lstore 11
start local 11 7: lload 2
lload 11
lrem
lstore 13
start local 13 8: lload 2
lload 11
ldiv
lstore 2
9: iload 1
iload 10
iadd
istore 1
10: lload 13
lload 11
iconst_1
lshr
lcmp
iflt 12
11: lload 2
lconst_1
ladd
lstore 2
end local 13 end local 11 12: StackMap locals:
StackMap stack:
lload 2
ldc 2147483647
lcmp
ifgt 33
13: getstatic sun.misc.FormattedFloatingDecimal.$assertionsDisabled:Z
ifne 14
lload 2
lconst_0
lcmp
ifgt 14
new java.lang.AssertionError
dup
lload 2
invokespecial java.lang.AssertionError.<init>:(J)V
athrow
14: StackMap locals:
StackMap stack:
lload 2
l2i
istore 11
start local 11 15: bipush 10
istore 7
start local 7 16: getstatic sun.misc.FormattedFloatingDecimal.perThreadBuffer:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast char[]
astore 6
start local 6 17: iload 7
iconst_1
isub
istore 8
start local 8 18: iload 11
bipush 10
irem
istore 9
start local 9 19: iload 11
bipush 10
idiv
istore 11
20: goto 24
21: StackMap locals: sun.misc.FormattedFloatingDecimal int long long char[] int int int int int
StackMap stack:
iinc 1 1
22: iload 11
bipush 10
irem
istore 9
23: iload 11
bipush 10
idiv
istore 11
24: StackMap locals:
StackMap stack:
iload 9
ifeq 21
25: goto 30
26: StackMap locals:
StackMap stack:
aload 6
iload 8
iinc 8 -1
iload 9
bipush 48
iadd
i2c
castore
27: iinc 1 1
28: iload 11
bipush 10
irem
istore 9
29: iload 11
bipush 10
idiv
istore 11
30: StackMap locals:
StackMap stack:
iload 11
ifne 26
31: aload 6
iload 8
iload 9
bipush 48
iadd
i2c
castore
end local 11 32: goto 50
end local 9 end local 8 end local 7 end local 6 33: StackMap locals: sun.misc.FormattedFloatingDecimal int long long top top top top int
StackMap stack:
bipush 20
istore 7
start local 7 34: getstatic sun.misc.FormattedFloatingDecimal.perThreadBuffer:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast char[]
astore 6
start local 6 35: iload 7
iconst_1
isub
istore 8
start local 8 36: lload 2
ldc 10
lrem
l2i
istore 9
start local 9 37: lload 2
ldc 10
ldiv
lstore 2
38: goto 42
39: StackMap locals: sun.misc.FormattedFloatingDecimal int long long char[] int int int int
StackMap stack:
iinc 1 1
40: lload 2
ldc 10
lrem
l2i
istore 9
41: lload 2
ldc 10
ldiv
lstore 2
42: StackMap locals:
StackMap stack:
iload 9
ifeq 39
43: goto 48
44: StackMap locals:
StackMap stack:
aload 6
iload 8
iinc 8 -1
iload 9
bipush 48
iadd
i2c
castore
45: iinc 1 1
46: lload 2
ldc 10
lrem
l2i
istore 9
47: lload 2
ldc 10
ldiv
lstore 2
48: StackMap locals:
StackMap stack:
lload 2
lconst_0
lcmp
ifne 44
49: aload 6
iload 8
iload 9
bipush 48
iadd
i2c
castore
50: StackMap locals:
StackMap stack:
iload 7
iload 8
isub
istore 7
51: iload 7
newarray 5
astore 11
start local 11 52: aload 6
iload 8
aload 11
iconst_0
iload 7
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
53: aload 0
aload 11
putfield sun.misc.FormattedFloatingDecimal.digits:[C
54: aload 0
iload 1
iconst_1
iadd
putfield sun.misc.FormattedFloatingDecimal.decExponent:I
55: aload 0
iload 7
putfield sun.misc.FormattedFloatingDecimal.nDigits:I
56: return
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 57 0 this Lsun/misc/FormattedFloatingDecimal;
0 57 1 decExponent I
0 57 2 lvalue J
0 57 4 insignificant J
17 33 6 digits [C
35 57 6 digits [C
16 33 7 ndigits I
34 57 7 ndigits I
18 33 8 digitno I
36 57 8 digitno I
19 33 9 c I
37 57 9 c I
1 57 10 i I
7 12 11 pow10 J
8 12 13 residue J
15 32 11 ivalue I
52 57 11 result [C
MethodParameters:
Name Flags
decExponent
lvalue
insignificant
private void roundup();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
getfield sun.misc.FormattedFloatingDecimal.digits:[C
aload 0
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
iconst_1
isub
dup
istore 1
start local 1 1: caload
istore 2
start local 2 2: iload 2
bipush 57
if_icmpne 11
3: goto 6
4: StackMap locals: int int
StackMap stack:
aload 0
getfield sun.misc.FormattedFloatingDecimal.digits:[C
iload 1
bipush 48
castore
5: aload 0
getfield sun.misc.FormattedFloatingDecimal.digits:[C
iinc 1 -1
iload 1
caload
istore 2
6: StackMap locals:
StackMap stack:
iload 2
bipush 57
if_icmpne 7
iload 1
ifgt 4
7: StackMap locals:
StackMap stack:
iload 2
bipush 57
if_icmpne 11
8: aload 0
dup
getfield sun.misc.FormattedFloatingDecimal.decExponent:I
iconst_1
iadd
putfield sun.misc.FormattedFloatingDecimal.decExponent:I
9: aload 0
getfield sun.misc.FormattedFloatingDecimal.digits:[C
iconst_0
bipush 49
castore
10: return
11: StackMap locals:
StackMap stack:
aload 0
getfield sun.misc.FormattedFloatingDecimal.digits:[C
iload 1
iload 2
iconst_1
iadd
i2c
castore
12: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lsun/misc/FormattedFloatingDecimal;
1 13 1 i I
2 13 2 q I
private int checkExponent(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: iload 1
aload 0
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
if_icmpge 1
iload 1
ifge 2
1: StackMap locals:
StackMap stack:
aload 0
getfield sun.misc.FormattedFloatingDecimal.decExponent:I
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 3: goto 7
4: StackMap locals: int
StackMap stack:
aload 0
getfield sun.misc.FormattedFloatingDecimal.digits:[C
iload 2
caload
bipush 57
if_icmpeq 6
5: aload 0
getfield sun.misc.FormattedFloatingDecimal.decExponent:I
ireturn
6: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
7: iload 2
iload 1
if_icmplt 4
end local 2 8: aload 0
getfield sun.misc.FormattedFloatingDecimal.decExponent:I
aload 0
getfield sun.misc.FormattedFloatingDecimal.digits:[C
iload 1
caload
bipush 53
if_icmplt 9
iconst_1
goto 10
StackMap locals: sun.misc.FormattedFloatingDecimal int
StackMap stack: int
9: iconst_0
StackMap locals: sun.misc.FormattedFloatingDecimal int
StackMap stack: int int
10: iadd
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/misc/FormattedFloatingDecimal;
0 11 1 length I
3 8 2 i I
MethodParameters:
Name Flags
length
private char[] applyPrecision(int);
descriptor: (I)[C
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
newarray 5
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 4
StackMap locals: char[] int
StackMap stack:
3: aload 2
iload 3
bipush 48
castore
iinc 3 1
StackMap locals:
StackMap stack:
4: iload 3
aload 2
arraylength
if_icmplt 3
end local 3 5: iload 1
aload 0
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
if_icmpge 6
iload 1
ifge 8
6: StackMap locals:
StackMap stack:
aload 0
getfield sun.misc.FormattedFloatingDecimal.digits:[C
iconst_0
aload 2
iconst_0
aload 0
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
7: aload 2
areturn
8: StackMap locals:
StackMap stack:
iload 1
ifne 12
9: aload 0
getfield sun.misc.FormattedFloatingDecimal.digits:[C
iconst_0
caload
bipush 53
if_icmplt 11
10: aload 2
iconst_0
bipush 49
castore
11: StackMap locals:
StackMap stack:
aload 2
areturn
12: StackMap locals:
StackMap stack:
iload 1
istore 3
start local 3 13: aload 0
getfield sun.misc.FormattedFloatingDecimal.digits:[C
iload 3
caload
istore 4
start local 4 14: iload 4
bipush 53
if_icmplt 26
iload 3
ifle 26
15: aload 0
getfield sun.misc.FormattedFloatingDecimal.digits:[C
iinc 3 -1
iload 3
caload
istore 4
16: iload 4
bipush 57
if_icmpne 23
17: goto 19
18: StackMap locals: int int
StackMap stack:
aload 0
getfield sun.misc.FormattedFloatingDecimal.digits:[C
iinc 3 -1
iload 3
caload
istore 4
19: StackMap locals:
StackMap stack:
iload 4
bipush 57
if_icmpne 20
iload 3
ifgt 18
20: StackMap locals:
StackMap stack:
iload 4
bipush 57
if_icmpne 23
21: aload 2
iconst_0
bipush 49
castore
22: aload 2
areturn
23: StackMap locals:
StackMap stack:
aload 2
iload 3
iload 4
iconst_1
iadd
i2c
castore
24: goto 26
25: StackMap locals:
StackMap stack:
aload 2
iload 3
aload 0
getfield sun.misc.FormattedFloatingDecimal.digits:[C
iload 3
caload
castore
26: StackMap locals:
StackMap stack:
iinc 3 -1
iload 3
ifge 25
27: aload 2
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lsun/misc/FormattedFloatingDecimal;
0 28 1 length I
1 28 2 result [C
2 5 3 i I
13 28 3 i I
14 28 4 q I
MethodParameters:
Name Flags
length
public void <init>(double);
descriptor: (D)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
dload 1
ldc 2147483647
getstatic sun.misc.FormattedFloatingDecimal$Form.COMPATIBLE:Lsun/misc/FormattedFloatingDecimal$Form;
invokespecial sun.misc.FormattedFloatingDecimal.<init>:(DILsun/misc/FormattedFloatingDecimal$Form;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/misc/FormattedFloatingDecimal;
0 2 1 d D
MethodParameters:
Name Flags
d
public void <init>(double, int, sun.misc.FormattedFloatingDecimal$Form);
descriptor: (DILsun/misc/FormattedFloatingDecimal$Form;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=11, args_size=4
start local 0 start local 1 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield sun.misc.FormattedFloatingDecimal.mustSetRoundDir:Z
2: aload 0
iconst_0
putfield sun.misc.FormattedFloatingDecimal.fromHex:Z
3: aload 0
iconst_0
putfield sun.misc.FormattedFloatingDecimal.roundDir:I
4: dload 1
invokestatic java.lang.Double.doubleToLongBits:(D)J
lstore 5
start local 5 5: aload 0
iload 3
putfield sun.misc.FormattedFloatingDecimal.precision:I
6: aload 0
aload 4
putfield sun.misc.FormattedFloatingDecimal.form:Lsun/misc/FormattedFloatingDecimal$Form;
7: lload 5
ldc -9223372036854775808
land
lconst_0
lcmp
ifeq 11
8: aload 0
iconst_1
putfield sun.misc.FormattedFloatingDecimal.isNegative:Z
9: lload 5
ldc -9223372036854775808
lxor
lstore 5
10: goto 12
11: StackMap locals: sun.misc.FormattedFloatingDecimal double int sun.misc.FormattedFloatingDecimal$Form long
StackMap stack:
aload 0
iconst_0
putfield sun.misc.FormattedFloatingDecimal.isNegative:Z
12: StackMap locals:
StackMap stack:
lload 5
ldc 9218868437227405312
land
bipush 52
lshr
l2i
istore 9
start local 9 13: lload 5
ldc 4503599627370495
land
lstore 7
start local 7 14: iload 9
sipush 2047
if_icmpne 23
15: aload 0
iconst_1
putfield sun.misc.FormattedFloatingDecimal.isExceptional:Z
16: lload 7
lconst_0
lcmp
ifne 19
17: aload 0
getstatic sun.misc.FormattedFloatingDecimal.infinity:[C
putfield sun.misc.FormattedFloatingDecimal.digits:[C
18: goto 21
19: StackMap locals: long int
StackMap stack:
aload 0
getstatic sun.misc.FormattedFloatingDecimal.notANumber:[C
putfield sun.misc.FormattedFloatingDecimal.digits:[C
20: aload 0
iconst_0
putfield sun.misc.FormattedFloatingDecimal.isNegative:Z
21: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.misc.FormattedFloatingDecimal.digits:[C
arraylength
putfield sun.misc.FormattedFloatingDecimal.nDigits:I
22: return
23: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield sun.misc.FormattedFloatingDecimal.isExceptional:Z
24: iload 9
ifne 36
25: lload 7
lconst_0
lcmp
ifne 32
26: aload 0
iconst_0
putfield sun.misc.FormattedFloatingDecimal.decExponent:I
27: aload 0
getstatic sun.misc.FormattedFloatingDecimal.zero:[C
putfield sun.misc.FormattedFloatingDecimal.digits:[C
28: aload 0
iconst_1
putfield sun.misc.FormattedFloatingDecimal.nDigits:I
29: return
30: StackMap locals:
StackMap stack:
lload 7
iconst_1
lshl
lstore 7
31: iinc 9 -1
32: StackMap locals:
StackMap stack:
lload 7
ldc 4503599627370496
land
lconst_0
lcmp
ifeq 30
33: bipush 52
iload 9
iadd
iconst_1
iadd
istore 10
start local 10 34: iinc 9 1
35: goto 38
end local 10 36: StackMap locals:
StackMap stack:
lload 7
ldc 4503599627370496
lor
lstore 7
37: bipush 53
istore 10
start local 10 38: StackMap locals: int
StackMap stack:
iinc 9 -1023
39: aload 0
iload 9
lload 7
iload 10
invokevirtual sun.misc.FormattedFloatingDecimal.dtoa:(IJI)V
40: return
end local 10 end local 9 end local 7 end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 41 0 this Lsun/misc/FormattedFloatingDecimal;
0 41 1 d D
0 41 3 precision I
0 41 4 form Lsun/misc/FormattedFloatingDecimal$Form;
5 41 5 dBits J
14 41 7 fractBits J
13 41 9 binExp I
34 36 10 nSignificantBits I
38 41 10 nSignificantBits I
MethodParameters:
Name Flags
d
precision
form
public void <init>(float);
descriptor: (F)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
fload 1
ldc 2147483647
getstatic sun.misc.FormattedFloatingDecimal$Form.COMPATIBLE:Lsun/misc/FormattedFloatingDecimal$Form;
invokespecial sun.misc.FormattedFloatingDecimal.<init>:(FILsun/misc/FormattedFloatingDecimal$Form;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/misc/FormattedFloatingDecimal;
0 2 1 f F
MethodParameters:
Name Flags
f
public void <init>(float, int, sun.misc.FormattedFloatingDecimal$Form);
descriptor: (FILsun/misc/FormattedFloatingDecimal$Form;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield sun.misc.FormattedFloatingDecimal.mustSetRoundDir:Z
2: aload 0
iconst_0
putfield sun.misc.FormattedFloatingDecimal.fromHex:Z
3: aload 0
iconst_0
putfield sun.misc.FormattedFloatingDecimal.roundDir:I
4: fload 1
invokestatic java.lang.Float.floatToIntBits:(F)I
istore 4
start local 4 5: aload 0
iload 2
putfield sun.misc.FormattedFloatingDecimal.precision:I
6: aload 0
aload 3
putfield sun.misc.FormattedFloatingDecimal.form:Lsun/misc/FormattedFloatingDecimal$Form;
7: iload 4
ldc -2147483648
iand
ifeq 11
8: aload 0
iconst_1
putfield sun.misc.FormattedFloatingDecimal.isNegative:Z
9: iload 4
ldc -2147483648
ixor
istore 4
10: goto 12
11: StackMap locals: sun.misc.FormattedFloatingDecimal float int sun.misc.FormattedFloatingDecimal$Form int
StackMap stack:
aload 0
iconst_0
putfield sun.misc.FormattedFloatingDecimal.isNegative:Z
12: StackMap locals:
StackMap stack:
iload 4
ldc 2139095040
iand
bipush 23
ishr
istore 6
start local 6 13: iload 4
ldc 8388607
iand
istore 5
start local 5 14: iload 6
sipush 255
if_icmpne 23
15: aload 0
iconst_1
putfield sun.misc.FormattedFloatingDecimal.isExceptional:Z
16: iload 5
i2l
lconst_0
lcmp
ifne 19
17: aload 0
getstatic sun.misc.FormattedFloatingDecimal.infinity:[C
putfield sun.misc.FormattedFloatingDecimal.digits:[C
18: goto 21
19: StackMap locals: int int
StackMap stack:
aload 0
getstatic sun.misc.FormattedFloatingDecimal.notANumber:[C
putfield sun.misc.FormattedFloatingDecimal.digits:[C
20: aload 0
iconst_0
putfield sun.misc.FormattedFloatingDecimal.isNegative:Z
21: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.misc.FormattedFloatingDecimal.digits:[C
arraylength
putfield sun.misc.FormattedFloatingDecimal.nDigits:I
22: return
23: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield sun.misc.FormattedFloatingDecimal.isExceptional:Z
24: iload 6
ifne 36
25: iload 5
ifne 32
26: aload 0
iconst_0
putfield sun.misc.FormattedFloatingDecimal.decExponent:I
27: aload 0
getstatic sun.misc.FormattedFloatingDecimal.zero:[C
putfield sun.misc.FormattedFloatingDecimal.digits:[C
28: aload 0
iconst_1
putfield sun.misc.FormattedFloatingDecimal.nDigits:I
29: return
30: StackMap locals:
StackMap stack:
iload 5
iconst_1
ishl
istore 5
31: iinc 6 -1
32: StackMap locals:
StackMap stack:
iload 5
ldc 8388608
iand
ifeq 30
33: bipush 23
iload 6
iadd
iconst_1
iadd
istore 7
start local 7 34: iinc 6 1
35: goto 38
end local 7 36: StackMap locals:
StackMap stack:
iload 5
ldc 8388608
ior
istore 5
37: bipush 24
istore 7
start local 7 38: StackMap locals: int
StackMap stack:
iinc 6 -127
39: aload 0
iload 6
iload 5
i2l
bipush 29
lshl
iload 7
invokevirtual sun.misc.FormattedFloatingDecimal.dtoa:(IJI)V
40: return
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 41 0 this Lsun/misc/FormattedFloatingDecimal;
0 41 1 f F
0 41 2 precision I
0 41 3 form Lsun/misc/FormattedFloatingDecimal$Form;
5 41 4 fBits I
14 41 5 fractBits I
13 41 6 binExp I
34 36 7 nSignificantBits I
38 41 7 nSignificantBits I
MethodParameters:
Name Flags
f
precision
form
private void dtoa(int, long, int);
descriptor: (IJI)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=37, args_size=4
start local 0 start local 1 start local 2 start local 4 0: lload 2
invokestatic sun.misc.FormattedFloatingDecimal.countBits:(J)I
istore 5
start local 5 1: iconst_0
iload 5
iload 1
isub
iconst_1
isub
invokestatic java.lang.Math.max:(II)I
istore 6
start local 6 2: iload 1
bipush 62
if_icmpgt 15
iload 1
bipush -21
if_icmplt 15
3: iload 6
getstatic sun.misc.FormattedFloatingDecimal.long5pow:[J
arraylength
if_icmpge 15
iload 5
getstatic sun.misc.FormattedFloatingDecimal.n5bits:[I
iload 6
iaload
iadd
bipush 64
if_icmpge 15
4: iload 6
ifne 15
5: iload 1
iload 4
if_icmple 8
6: lconst_1
iload 1
iload 4
isub
iconst_1
isub
lshl
lstore 8
start local 8 7: goto 9
end local 8 8: StackMap locals: int int
StackMap stack:
lconst_0
lstore 8
start local 8 9: StackMap locals: sun.misc.FormattedFloatingDecimal int long int int int top long
StackMap stack:
iload 1
bipush 52
if_icmplt 12
10: lload 2
iload 1
bipush 52
isub
lshl
lstore 2
11: goto 13
12: StackMap locals:
StackMap stack:
lload 2
bipush 52
iload 1
isub
lushr
lstore 2
13: StackMap locals:
StackMap stack:
aload 0
iconst_0
lload 2
lload 8
invokevirtual sun.misc.FormattedFloatingDecimal.developLongDigits:(IJJ)V
14: return
end local 8 15: StackMap locals: sun.misc.FormattedFloatingDecimal int long int int int
StackMap stack:
ldc 4607182418800017408
lload 2
ldc -4503599627370497
land
lor
16: invokestatic java.lang.Double.longBitsToDouble:(J)D
dstore 8
start local 8 17: dload 8
ldc 1.5
dsub
ldc 0.289529654
dmul
ldc 0.176091259
dadd
iload 1
i2d
ldc 0.301029995663981
dmul
dadd
18: invokestatic java.lang.Math.floor:(D)D
d2i
istore 7
start local 7 19: iconst_0
iload 7
ineg
invokestatic java.lang.Math.max:(II)I
istore 11
start local 11 20: iload 11
iload 6
iadd
iload 1
iadd
istore 10
start local 10 21: iconst_0
iload 7
invokestatic java.lang.Math.max:(II)I
istore 13
start local 13 22: iload 13
iload 6
iadd
istore 12
start local 12 23: iload 11
istore 15
start local 15 24: iload 10
iload 4
isub
istore 14
start local 14 25: lload 2
bipush 53
iload 5
isub
lushr
lstore 2
26: iload 10
iload 5
iconst_1
isub
isub
istore 10
27: iload 10
iload 12
invokestatic java.lang.Math.min:(II)I
istore 21
start local 21 28: iload 10
iload 21
isub
istore 10
29: iload 12
iload 21
isub
istore 12
30: iload 14
iload 21
isub
istore 14
31: iload 5
iconst_1
if_icmpne 33
32: iinc 14 -1
33: StackMap locals: sun.misc.FormattedFloatingDecimal int long int int int int double int int int int int int top top top top top int
StackMap stack:
iload 14
ifge 37
34: iload 10
iload 14
isub
istore 10
35: iload 12
iload 14
isub
istore 12
36: iconst_0
istore 14
37: StackMap locals:
StackMap stack:
aload 0
bipush 18
newarray 5
dup_x1
putfield sun.misc.FormattedFloatingDecimal.digits:[C
astore 22
start local 22 38: iconst_0
istore 23
start local 23 39: iload 5
iload 10
iadd
iload 11
getstatic sun.misc.FormattedFloatingDecimal.n5bits:[I
arraylength
if_icmpge 40
getstatic sun.misc.FormattedFloatingDecimal.n5bits:[I
iload 11
iaload
goto 41
StackMap locals: sun.misc.FormattedFloatingDecimal int long int int int int double int int int int int int top top top top top int char[] int
StackMap stack: int
40: iload 11
iconst_3
imul
StackMap locals: sun.misc.FormattedFloatingDecimal int long int int int int double int int int int int int top top top top top int char[] int
StackMap stack: int int
41: iadd
istore 16
start local 16 42: iload 12
iconst_1
iadd
iload 13
iconst_1
iadd
getstatic sun.misc.FormattedFloatingDecimal.n5bits:[I
arraylength
if_icmpge 43
getstatic sun.misc.FormattedFloatingDecimal.n5bits:[I
iload 13
iconst_1
iadd
iaload
goto 44
StackMap locals: sun.misc.FormattedFloatingDecimal int long int int int int double int int int int int int int top top top top int char[] int
StackMap stack: int
43: iload 13
iconst_1
iadd
iconst_3
imul
StackMap locals: sun.misc.FormattedFloatingDecimal int long int int int int double int int int int int int int top top top top int char[] int
StackMap stack: int int
44: iadd
istore 17
start local 17 45: iload 16
bipush 64
if_icmpge 127
iload 17
bipush 64
if_icmpge 127
46: iload 16
bipush 32
if_icmpge 87
iload 17
bipush 32
if_icmpge 87
47: lload 2
l2i
getstatic sun.misc.FormattedFloatingDecimal.small5pow:[I
iload 11
iaload
imul
iload 10
ishl
istore 29
start local 29 48: getstatic sun.misc.FormattedFloatingDecimal.small5pow:[I
iload 13
iaload
iload 12
ishl
istore 30
start local 30 49: getstatic sun.misc.FormattedFloatingDecimal.small5pow:[I
iload 15
iaload
iload 14
ishl
istore 31
start local 31 50: iload 30
bipush 10
imul
istore 32
start local 32 51: iconst_0
istore 23
52: iload 29
iload 30
idiv
istore 28
start local 28 53: bipush 10
iload 29
iload 30
irem
imul
istore 29
54: iload 31
bipush 10
imul
istore 31
55: iload 29
iload 31
if_icmpge 56
iconst_1
goto 57
StackMap locals: sun.misc.FormattedFloatingDecimal int long int int int int double int int int int int int int int top top top int char[] int top top top top int int int int int
StackMap stack:
56: iconst_0
StackMap locals:
StackMap stack: int
57: istore 24
start local 24 58: iload 29
iload 31
iadd
iload 32
if_icmple 59
iconst_1
goto 60
StackMap locals: sun.misc.FormattedFloatingDecimal int long int int int int double int int int int int int int int top top top int char[] int int top top top int int int int int
StackMap stack:
59: iconst_0
StackMap locals:
StackMap stack: int
60: istore 25
start local 25 61: getstatic sun.misc.FormattedFloatingDecimal.$assertionsDisabled:Z
ifne 62
iload 28
bipush 10
if_icmplt 62
new java.lang.AssertionError
dup
iload 28
invokespecial java.lang.AssertionError.<init>:(I)V
athrow
62: StackMap locals: sun.misc.FormattedFloatingDecimal int long int int int int double int int int int int int int int top top top int char[] int int int top top int int int int int
StackMap stack:
iload 28
ifne 65
iload 25
ifne 65
63: iinc 7 -1
64: goto 66
65: StackMap locals:
StackMap stack:
aload 22
iload 23
iinc 23 1
bipush 48
iload 28
iadd
i2c
castore
66: StackMap locals:
StackMap stack:
aload 0
getfield sun.misc.FormattedFloatingDecimal.form:Lsun/misc/FormattedFloatingDecimal$Form;
getstatic sun.misc.FormattedFloatingDecimal$Form.COMPATIBLE:Lsun/misc/FormattedFloatingDecimal$Form;
if_acmpne 67
bipush -3
iload 7
if_icmpge 67
iload 7
bipush 8
if_icmplt 84
67: StackMap locals:
StackMap stack:
iconst_0
dup
istore 24
istore 25
68: goto 84
69: StackMap locals:
StackMap stack:
iload 29
iload 30
idiv
istore 28
70: bipush 10
iload 29
iload 30
irem
imul
istore 29
71: iload 31
bipush 10
imul
istore 31
72: getstatic sun.misc.FormattedFloatingDecimal.$assertionsDisabled:Z
ifne 73
iload 28
bipush 10
if_icmplt 73
new java.lang.AssertionError
dup
iload 28
invokespecial java.lang.AssertionError.<init>:(I)V
athrow
73: StackMap locals:
StackMap stack:
iload 31
i2l
lconst_0
lcmp
ifle 81
74: iload 29
iload 31
if_icmpge 75
iconst_1
goto 76
StackMap locals:
StackMap stack:
75: iconst_0
StackMap locals:
StackMap stack: int
76: istore 24
77: iload 29
iload 31
iadd
iload 32
if_icmple 78
iconst_1
goto 79
StackMap locals:
StackMap stack:
78: iconst_0
StackMap locals:
StackMap stack: int
79: istore 25
80: goto 83
81: StackMap locals:
StackMap stack:
iconst_1
istore 24
82: iconst_1
istore 25
83: StackMap locals:
StackMap stack:
aload 22
iload 23
iinc 23 1
bipush 48
iload 28
iadd
i2c
castore
84: StackMap locals:
StackMap stack:
iload 24
ifne 85
iload 25
ifeq 69
85: StackMap locals:
StackMap stack:
iload 29
iconst_1
ishl
iload 32
isub
i2l
lstore 26
end local 32 end local 31 end local 30 end local 29 start local 26 86: goto 167
end local 28 end local 26 end local 25 end local 24 87: StackMap locals: sun.misc.FormattedFloatingDecimal int long int int int int double int int int int int int int int top top top int char[] int
StackMap stack:
lload 2
getstatic sun.misc.FormattedFloatingDecimal.long5pow:[J
iload 11
laload
lmul
iload 10
lshl
lstore 29
start local 29 88: getstatic sun.misc.FormattedFloatingDecimal.long5pow:[J
iload 13
laload
iload 12
lshl
lstore 31
start local 31 89: getstatic sun.misc.FormattedFloatingDecimal.long5pow:[J
iload 15
laload
iload 14
lshl
lstore 33
start local 33 90: lload 31
ldc 10
lmul
lstore 35
start local 35 91: iconst_0
istore 23
92: lload 29
lload 31
ldiv
l2i
istore 28
start local 28 93: ldc 10
lload 29
lload 31
lrem
lmul
lstore 29
94: lload 33
ldc 10
lmul
lstore 33
95: lload 29
lload 33
lcmp
ifge 96
iconst_1
goto 97
StackMap locals: sun.misc.FormattedFloatingDecimal int long int int int int double int int int int int int int int top top top int char[] int top top top top int long long long long
StackMap stack:
96: iconst_0
StackMap locals:
StackMap stack: int
97: istore 24
start local 24 98: lload 29
lload 33
ladd
lload 35
lcmp
ifle 99
iconst_1
goto 100
StackMap locals: sun.misc.FormattedFloatingDecimal int long int int int int double int int int int int int int int top top top int char[] int int top top top int long long long long
StackMap stack:
99: iconst_0
StackMap locals:
StackMap stack: int
100: istore 25
start local 25 101: getstatic sun.misc.FormattedFloatingDecimal.$assertionsDisabled:Z
ifne 102
iload 28
bipush 10
if_icmplt 102
new java.lang.AssertionError
dup
iload 28
invokespecial java.lang.AssertionError.<init>:(I)V
athrow
102: StackMap locals: sun.misc.FormattedFloatingDecimal int long int int int int double int int int int int int int int top top top int char[] int int int top top int long long long long
StackMap stack:
iload 28
ifne 105
iload 25
ifne 105
103: iinc 7 -1
104: goto 106
105: StackMap locals:
StackMap stack:
aload 22
iload 23
iinc 23 1
bipush 48
iload 28
iadd
i2c
castore
106: StackMap locals:
StackMap stack:
aload 0
getfield sun.misc.FormattedFloatingDecimal.form:Lsun/misc/FormattedFloatingDecimal$Form;
getstatic sun.misc.FormattedFloatingDecimal$Form.COMPATIBLE:Lsun/misc/FormattedFloatingDecimal$Form;
if_acmpne 107
bipush -3
iload 7
if_icmpge 107
iload 7
bipush 8
if_icmplt 124
107: StackMap locals:
StackMap stack:
iconst_0
dup
istore 24
istore 25
108: goto 124
109: StackMap locals:
StackMap stack:
lload 29
lload 31
ldiv
l2i
istore 28
110: ldc 10
lload 29
lload 31
lrem
lmul
lstore 29
111: lload 33
ldc 10
lmul
lstore 33
112: getstatic sun.misc.FormattedFloatingDecimal.$assertionsDisabled:Z
ifne 113
iload 28
bipush 10
if_icmplt 113
new java.lang.AssertionError
dup
iload 28
invokespecial java.lang.AssertionError.<init>:(I)V
athrow
113: StackMap locals:
StackMap stack:
lload 33
lconst_0
lcmp
ifle 121
114: lload 29
lload 33
lcmp
ifge 115
iconst_1
goto 116
StackMap locals:
StackMap stack:
115: iconst_0
StackMap locals:
StackMap stack: int
116: istore 24
117: lload 29
lload 33
ladd
lload 35
lcmp
ifle 118
iconst_1
goto 119
StackMap locals:
StackMap stack:
118: iconst_0
StackMap locals:
StackMap stack: int
119: istore 25
120: goto 123
121: StackMap locals:
StackMap stack:
iconst_1
istore 24
122: iconst_1
istore 25
123: StackMap locals:
StackMap stack:
aload 22
iload 23
iinc 23 1
bipush 48
iload 28
iadd
i2c
castore
124: StackMap locals:
StackMap stack:
iload 24
ifne 125
iload 25
ifeq 109
125: StackMap locals:
StackMap stack:
lload 29
iconst_1
lshl
lload 35
lsub
lstore 26
end local 35 end local 33 end local 31 end local 29 start local 26 126: goto 167
end local 28 end local 26 end local 25 end local 24 127: StackMap locals: sun.misc.FormattedFloatingDecimal int long int int int int double int int int int int int int int top top top int char[] int
StackMap stack:
new sun.misc.FDBigInt
dup
lload 2
invokespecial sun.misc.FDBigInt.<init>:(J)V
iload 11
iload 10
invokestatic sun.misc.FormattedFloatingDecimal.multPow52:(Lsun/misc/FDBigInt;II)Lsun/misc/FDBigInt;
astore 19
start local 19 128: iload 13
iload 12
invokestatic sun.misc.FormattedFloatingDecimal.constructPow52:(II)Lsun/misc/FDBigInt;
astore 18
start local 18 129: iload 15
iload 14
invokestatic sun.misc.FormattedFloatingDecimal.constructPow52:(II)Lsun/misc/FDBigInt;
astore 20
start local 20 130: aload 19
aload 18
invokevirtual sun.misc.FDBigInt.normalizeMe:()I
dup
istore 30
start local 30 131: invokevirtual sun.misc.FDBigInt.lshiftMe:(I)V
132: aload 20
iload 30
invokevirtual sun.misc.FDBigInt.lshiftMe:(I)V
133: aload 18
bipush 10
invokevirtual sun.misc.FDBigInt.mult:(I)Lsun/misc/FDBigInt;
astore 29
start local 29 134: iconst_0
istore 23
135: aload 19
aload 18
invokevirtual sun.misc.FDBigInt.quoRemIteration:(Lsun/misc/FDBigInt;)I
istore 28
start local 28 136: aload 20
bipush 10
invokevirtual sun.misc.FDBigInt.mult:(I)Lsun/misc/FDBigInt;
astore 20
137: aload 19
aload 20
invokevirtual sun.misc.FDBigInt.cmp:(Lsun/misc/FDBigInt;)I
ifge 138
iconst_1
goto 139
StackMap locals: sun.misc.FormattedFloatingDecimal int long int int int int double int int int int int int int int sun.misc.FDBigInt sun.misc.FDBigInt sun.misc.FDBigInt int char[] int top top top top int sun.misc.FDBigInt int
StackMap stack:
138: iconst_0
StackMap locals:
StackMap stack: int
139: istore 24
start local 24 140: aload 19
aload 20
invokevirtual sun.misc.FDBigInt.add:(Lsun/misc/FDBigInt;)Lsun/misc/FDBigInt;
aload 29
invokevirtual sun.misc.FDBigInt.cmp:(Lsun/misc/FDBigInt;)I
ifle 141
iconst_1
goto 142
StackMap locals: sun.misc.FormattedFloatingDecimal int long int int int int double int int int int int int int int sun.misc.FDBigInt sun.misc.FDBigInt sun.misc.FDBigInt int char[] int int top top top int sun.misc.FDBigInt int
StackMap stack:
141: iconst_0
StackMap locals:
StackMap stack: int
142: istore 25
start local 25 143: getstatic sun.misc.FormattedFloatingDecimal.$assertionsDisabled:Z
ifne 144
iload 28
bipush 10
if_icmplt 144
new java.lang.AssertionError
dup
iload 28
invokespecial java.lang.AssertionError.<init>:(I)V
athrow
144: StackMap locals: sun.misc.FormattedFloatingDecimal int long int int int int double int int int int int int int int sun.misc.FDBigInt sun.misc.FDBigInt sun.misc.FDBigInt int char[] int int int top top int sun.misc.FDBigInt int
StackMap stack:
iload 28
ifne 147
iload 25
ifne 147
145: iinc 7 -1
146: goto 148
147: StackMap locals:
StackMap stack:
aload 22
iload 23
iinc 23 1
bipush 48
iload 28
iadd
i2c
castore
148: StackMap locals:
StackMap stack:
aload 0
getfield sun.misc.FormattedFloatingDecimal.form:Lsun/misc/FormattedFloatingDecimal$Form;
getstatic sun.misc.FormattedFloatingDecimal$Form.COMPATIBLE:Lsun/misc/FormattedFloatingDecimal$Form;
if_acmpne 149
bipush -3
iload 7
if_icmpge 149
iload 7
bipush 8
if_icmplt 161
149: StackMap locals:
StackMap stack:
iconst_0
dup
istore 24
istore 25
150: goto 161
151: StackMap locals:
StackMap stack:
aload 19
aload 18
invokevirtual sun.misc.FDBigInt.quoRemIteration:(Lsun/misc/FDBigInt;)I
istore 28
152: aload 20
bipush 10
invokevirtual sun.misc.FDBigInt.mult:(I)Lsun/misc/FDBigInt;
astore 20
153: getstatic sun.misc.FormattedFloatingDecimal.$assertionsDisabled:Z
ifne 154
iload 28
bipush 10
if_icmplt 154
new java.lang.AssertionError
dup
iload 28
invokespecial java.lang.AssertionError.<init>:(I)V
athrow
154: StackMap locals:
StackMap stack:
aload 19
aload 20
invokevirtual sun.misc.FDBigInt.cmp:(Lsun/misc/FDBigInt;)I
ifge 155
iconst_1
goto 156
StackMap locals:
StackMap stack:
155: iconst_0
StackMap locals:
StackMap stack: int
156: istore 24
157: aload 19
aload 20
invokevirtual sun.misc.FDBigInt.add:(Lsun/misc/FDBigInt;)Lsun/misc/FDBigInt;
aload 29
invokevirtual sun.misc.FDBigInt.cmp:(Lsun/misc/FDBigInt;)I
ifle 158
iconst_1
goto 159
StackMap locals:
StackMap stack:
158: iconst_0
StackMap locals:
StackMap stack: int
159: istore 25
160: aload 22
iload 23
iinc 23 1
bipush 48
iload 28
iadd
i2c
castore
161: StackMap locals:
StackMap stack:
iload 24
ifne 162
iload 25
ifeq 151
162: StackMap locals:
StackMap stack:
iload 25
ifeq 166
iload 24
ifeq 166
163: aload 19
iconst_1
invokevirtual sun.misc.FDBigInt.lshiftMe:(I)V
164: aload 19
aload 29
invokevirtual sun.misc.FDBigInt.cmp:(Lsun/misc/FDBigInt;)I
i2l
lstore 26
start local 26 165: goto 167
end local 26 166: StackMap locals:
StackMap stack:
lconst_0
lstore 26
end local 30 end local 29 end local 20 end local 19 end local 18 start local 26 167: StackMap locals: sun.misc.FormattedFloatingDecimal int long int int int int double int int int int int int int int top top top int char[] int int int long int
StackMap stack:
aload 0
iload 7
iconst_1
iadd
putfield sun.misc.FormattedFloatingDecimal.decExponent:I
168: aload 0
aload 22
putfield sun.misc.FormattedFloatingDecimal.digits:[C
169: aload 0
iload 23
putfield sun.misc.FormattedFloatingDecimal.nDigits:I
170: iload 25
ifeq 179
171: iload 24
ifeq 178
172: lload 26
lconst_0
lcmp
ifne 175
173: aload 22
aload 0
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
iconst_1
isub
caload
iconst_1
iand
ifeq 179
aload 0
invokevirtual sun.misc.FormattedFloatingDecimal.roundup:()V
174: goto 179
StackMap locals:
StackMap stack:
175: lload 26
lconst_0
lcmp
ifle 179
176: aload 0
invokevirtual sun.misc.FormattedFloatingDecimal.roundup:()V
177: goto 179
178: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.misc.FormattedFloatingDecimal.roundup:()V
179: StackMap locals:
StackMap stack:
return
end local 28 end local 26 end local 25 end local 24 end local 23 end local 22 end local 21 end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 8 end local 7 end local 6 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 180 0 this Lsun/misc/FormattedFloatingDecimal;
0 180 1 binExp I
0 180 2 fractBits J
0 180 4 nSignificantBits I
1 180 5 nFractBits I
2 180 6 nTinyBits I
19 180 7 decExp I
7 8 8 halfULP J
9 15 8 halfULP J
17 180 8 d2 D
21 180 10 B2 I
20 180 11 B5 I
23 180 12 S2 I
22 180 13 S5 I
25 180 14 M2 I
24 180 15 M5 I
42 180 16 Bbits I
45 180 17 tenSbits I
129 167 18 Sval Lsun/misc/FDBigInt;
128 167 19 Bval Lsun/misc/FDBigInt;
130 167 20 Mval Lsun/misc/FDBigInt;
28 180 21 common2factor I
38 180 22 digits [C
39 180 23 ndigit I
58 87 24 low Z
98 127 24 low Z
140 180 24 low Z
61 87 25 high Z
101 127 25 high Z
143 180 25 high Z
86 87 26 lowDigitDifference J
126 127 26 lowDigitDifference J
165 166 26 lowDigitDifference J
167 180 26 lowDigitDifference J
53 87 28 q I
93 127 28 q I
136 180 28 q I
48 86 29 b I
49 86 30 s I
50 86 31 m I
51 86 32 tens I
88 126 29 b J
89 126 31 s J
90 126 33 m J
91 126 35 tens J
134 167 29 tenSval Lsun/misc/FDBigInt;
131 167 30 shiftBias I
MethodParameters:
Name Flags
binExp
fractBits
nSignificantBits
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: new java.lang.StringBuffer
dup
aload 0
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
bipush 8
iadd
invokespecial java.lang.StringBuffer.<init>:(I)V
astore 1
start local 1 1: aload 0
getfield sun.misc.FormattedFloatingDecimal.isNegative:Z
ifeq 2
aload 1
bipush 45
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
2: StackMap locals: java.lang.StringBuffer
StackMap stack:
aload 0
getfield sun.misc.FormattedFloatingDecimal.isExceptional:Z
ifeq 5
3: aload 1
aload 0
getfield sun.misc.FormattedFloatingDecimal.digits:[C
iconst_0
aload 0
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
invokevirtual java.lang.StringBuffer.append:([CII)Ljava/lang/StringBuffer;
pop
4: goto 9
5: StackMap locals:
StackMap stack:
aload 1
ldc "0."
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
6: aload 1
aload 0
getfield sun.misc.FormattedFloatingDecimal.digits:[C
iconst_0
aload 0
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
invokevirtual java.lang.StringBuffer.append:([CII)Ljava/lang/StringBuffer;
pop
7: aload 1
bipush 101
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
8: aload 1
aload 0
getfield sun.misc.FormattedFloatingDecimal.decExponent:I
invokevirtual java.lang.StringBuffer.append:(I)Ljava/lang/StringBuffer;
pop
9: StackMap locals:
StackMap stack:
new java.lang.String
dup
aload 1
invokespecial java.lang.String.<init>:(Ljava/lang/StringBuffer;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/misc/FormattedFloatingDecimal;
1 10 1 result Ljava/lang/StringBuffer;
public int getExponent();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.misc.FormattedFloatingDecimal.decExponent:I
iconst_1
isub
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/misc/FormattedFloatingDecimal;
public int getExponentRounded();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.misc.FormattedFloatingDecimal.decExponentRounded:I
iconst_1
isub
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/misc/FormattedFloatingDecimal;
public int getChars(char[]);
descriptor: ([C)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=2
start local 0 start local 1 0: getstatic sun.misc.FormattedFloatingDecimal.$assertionsDisabled:Z
ifne 1
aload 0
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
bipush 19
if_icmple 1
new java.lang.AssertionError
dup
aload 0
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
invokespecial java.lang.AssertionError.<init>:(I)V
athrow
1: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 2: aload 0
getfield sun.misc.FormattedFloatingDecimal.isNegative:Z
ifeq 3
aload 1
iconst_0
bipush 45
castore
iconst_1
istore 2
3: StackMap locals: int
StackMap stack:
aload 0
getfield sun.misc.FormattedFloatingDecimal.isExceptional:Z
ifeq 7
4: aload 0
getfield sun.misc.FormattedFloatingDecimal.digits:[C
iconst_0
aload 1
iload 2
aload 0
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
5: iload 2
aload 0
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
iadd
istore 2
6: goto 117
7: StackMap locals:
StackMap stack:
aload 0
getfield sun.misc.FormattedFloatingDecimal.digits:[C
astore 3
start local 3 8: aload 0
getfield sun.misc.FormattedFloatingDecimal.decExponent:I
istore 4
start local 4 9: invokestatic sun.misc.FormattedFloatingDecimal.$SWITCH_TABLE$sun$misc$FormattedFloatingDecimal$Form:()[I
aload 0
getfield sun.misc.FormattedFloatingDecimal.form:Lsun/misc/FormattedFloatingDecimal$Form;
invokevirtual sun.misc.FormattedFloatingDecimal$Form.ordinal:()I
iaload
tableswitch { // 1 - 4
1: 14
2: 10
3: 11
4: 17
default: 26
}
10: StackMap locals: char[] int
StackMap stack:
goto 27
11: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.misc.FormattedFloatingDecimal.decExponent:I
aload 0
getfield sun.misc.FormattedFloatingDecimal.precision:I
iadd
invokevirtual sun.misc.FormattedFloatingDecimal.checkExponent:(I)I
istore 4
12: aload 0
aload 0
getfield sun.misc.FormattedFloatingDecimal.decExponent:I
aload 0
getfield sun.misc.FormattedFloatingDecimal.precision:I
iadd
invokevirtual sun.misc.FormattedFloatingDecimal.applyPrecision:(I)[C
astore 3
13: goto 27
14: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.misc.FormattedFloatingDecimal.precision:I
iconst_1
iadd
invokevirtual sun.misc.FormattedFloatingDecimal.checkExponent:(I)I
istore 4
15: aload 0
aload 0
getfield sun.misc.FormattedFloatingDecimal.precision:I
iconst_1
iadd
invokevirtual sun.misc.FormattedFloatingDecimal.applyPrecision:(I)[C
astore 3
16: goto 27
17: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.misc.FormattedFloatingDecimal.precision:I
invokevirtual sun.misc.FormattedFloatingDecimal.checkExponent:(I)I
istore 4
18: aload 0
aload 0
getfield sun.misc.FormattedFloatingDecimal.precision:I
invokevirtual sun.misc.FormattedFloatingDecimal.applyPrecision:(I)[C
astore 3
19: iload 4
iconst_1
isub
bipush -4
if_icmplt 20
iload 4
iconst_1
isub
aload 0
getfield sun.misc.FormattedFloatingDecimal.precision:I
if_icmplt 23
20: StackMap locals:
StackMap stack:
aload 0
getstatic sun.misc.FormattedFloatingDecimal$Form.SCIENTIFIC:Lsun/misc/FormattedFloatingDecimal$Form;
putfield sun.misc.FormattedFloatingDecimal.form:Lsun/misc/FormattedFloatingDecimal$Form;
21: aload 0
dup
getfield sun.misc.FormattedFloatingDecimal.precision:I
iconst_1
isub
putfield sun.misc.FormattedFloatingDecimal.precision:I
22: goto 27
23: StackMap locals:
StackMap stack:
aload 0
getstatic sun.misc.FormattedFloatingDecimal$Form.DECIMAL_FLOAT:Lsun/misc/FormattedFloatingDecimal$Form;
putfield sun.misc.FormattedFloatingDecimal.form:Lsun/misc/FormattedFloatingDecimal$Form;
24: aload 0
dup
getfield sun.misc.FormattedFloatingDecimal.precision:I
iload 4
isub
putfield sun.misc.FormattedFloatingDecimal.precision:I
25: goto 27
26: StackMap locals:
StackMap stack:
getstatic sun.misc.FormattedFloatingDecimal.$assertionsDisabled:Z
ifne 27
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
27: StackMap locals:
StackMap stack:
aload 0
iload 4
putfield sun.misc.FormattedFloatingDecimal.decExponentRounded:I
28: iload 4
ifle 60
29: aload 0
getfield sun.misc.FormattedFloatingDecimal.form:Lsun/misc/FormattedFloatingDecimal$Form;
getstatic sun.misc.FormattedFloatingDecimal$Form.COMPATIBLE:Lsun/misc/FormattedFloatingDecimal$Form;
if_acmpne 30
iload 4
bipush 8
if_icmplt 31
30: StackMap locals:
StackMap stack:
aload 0
getfield sun.misc.FormattedFloatingDecimal.form:Lsun/misc/FormattedFloatingDecimal$Form;
getstatic sun.misc.FormattedFloatingDecimal$Form.DECIMAL_FLOAT:Lsun/misc/FormattedFloatingDecimal$Form;
if_acmpne 60
31: StackMap locals:
StackMap stack:
aload 0
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
iload 4
invokestatic java.lang.Math.min:(II)I
istore 5
start local 5 32: aload 3
iconst_0
aload 1
iload 2
iload 5
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
33: iload 2
iload 5
iadd
istore 2
34: iload 5
iload 4
if_icmpge 45
35: iload 4
iload 5
isub
istore 5
36: iconst_0
istore 6
start local 6 37: goto 40
38: StackMap locals: int int
StackMap stack:
aload 1
iload 2
iinc 2 1
bipush 48
castore
39: iinc 6 1
StackMap locals:
StackMap stack:
40: iload 6
iload 5
if_icmplt 38
end local 6 41: aload 0
getfield sun.misc.FormattedFloatingDecimal.form:Lsun/misc/FormattedFloatingDecimal$Form;
getstatic sun.misc.FormattedFloatingDecimal$Form.COMPATIBLE:Lsun/misc/FormattedFloatingDecimal$Form;
if_acmpne 117
42: aload 1
iload 2
iinc 2 1
bipush 46
castore
43: aload 1
iload 2
iinc 2 1
bipush 48
castore
44: goto 117
45: StackMap locals:
StackMap stack:
aload 0
getfield sun.misc.FormattedFloatingDecimal.form:Lsun/misc/FormattedFloatingDecimal$Form;
getstatic sun.misc.FormattedFloatingDecimal$Form.COMPATIBLE:Lsun/misc/FormattedFloatingDecimal$Form;
if_acmpne 54
46: aload 1
iload 2
iinc 2 1
bipush 46
castore
47: iload 5
aload 0
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
if_icmpge 52
48: aload 0
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
iload 5
isub
aload 0
getfield sun.misc.FormattedFloatingDecimal.precision:I
invokestatic java.lang.Math.min:(II)I
istore 6
start local 6 49: aload 3
iload 5
aload 1
iload 2
iload 6
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
50: iload 2
iload 6
iadd
istore 2
end local 6 51: goto 117
52: StackMap locals:
StackMap stack:
aload 1
iload 2
iinc 2 1
bipush 48
castore
53: goto 117
54: StackMap locals:
StackMap stack:
aload 0
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
iload 5
isub
aload 0
getfield sun.misc.FormattedFloatingDecimal.precision:I
invokestatic java.lang.Math.min:(II)I
istore 6
start local 6 55: iload 6
ifle 117
56: aload 1
iload 2
iinc 2 1
bipush 46
castore
57: aload 3
iload 5
aload 1
iload 2
iload 6
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
58: iload 2
iload 6
iadd
istore 2
end local 6 end local 5 59: goto 117
StackMap locals:
StackMap stack:
60: iload 4
ifgt 80
61: aload 0
getfield sun.misc.FormattedFloatingDecimal.form:Lsun/misc/FormattedFloatingDecimal$Form;
getstatic sun.misc.FormattedFloatingDecimal$Form.COMPATIBLE:Lsun/misc/FormattedFloatingDecimal$Form;
if_acmpne 62
iload 4
bipush -3
if_icmpgt 63
62: StackMap locals:
StackMap stack:
aload 0
getfield sun.misc.FormattedFloatingDecimal.form:Lsun/misc/FormattedFloatingDecimal$Form;
getstatic sun.misc.FormattedFloatingDecimal$Form.DECIMAL_FLOAT:Lsun/misc/FormattedFloatingDecimal$Form;
if_acmpne 80
63: StackMap locals:
StackMap stack:
aload 1
iload 2
iinc 2 1
bipush 48
castore
64: iload 4
ifeq 73
65: iload 4
ineg
aload 0
getfield sun.misc.FormattedFloatingDecimal.precision:I
invokestatic java.lang.Math.min:(II)I
istore 5
start local 5 66: iload 5
ifle 73
67: aload 1
iload 2
iinc 2 1
bipush 46
castore
68: iconst_0
istore 6
start local 6 69: goto 72
70: StackMap locals: int int
StackMap stack:
aload 1
iload 2
iinc 2 1
bipush 48
castore
71: iinc 6 1
StackMap locals:
StackMap stack:
72: iload 6
iload 5
if_icmplt 70
end local 6 end local 5 73: StackMap locals:
StackMap stack:
aload 3
arraylength
aload 0
getfield sun.misc.FormattedFloatingDecimal.precision:I
iload 4
iadd
invokestatic java.lang.Math.min:(II)I
istore 5
start local 5 74: iload 5
ifle 117
75: iload 2
iconst_1
if_icmpne 77
76: aload 1
iload 2
iinc 2 1
bipush 46
castore
77: StackMap locals: int
StackMap stack:
aload 3
iconst_0
aload 1
iload 2
iload 5
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
78: iload 2
iload 5
iadd
istore 2
end local 5 79: goto 117
80: StackMap locals:
StackMap stack:
aload 1
iload 2
iinc 2 1
aload 3
iconst_0
caload
castore
81: aload 0
getfield sun.misc.FormattedFloatingDecimal.form:Lsun/misc/FormattedFloatingDecimal$Form;
getstatic sun.misc.FormattedFloatingDecimal$Form.COMPATIBLE:Lsun/misc/FormattedFloatingDecimal$Form;
if_acmpne 90
82: aload 1
iload 2
iinc 2 1
bipush 46
castore
83: aload 0
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
iconst_1
if_icmple 87
84: aload 3
iconst_1
aload 1
iload 2
aload 0
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
iconst_1
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
85: iload 2
aload 0
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
iconst_1
isub
iadd
istore 2
86: goto 88
87: StackMap locals:
StackMap stack:
aload 1
iload 2
iinc 2 1
bipush 48
castore
88: StackMap locals:
StackMap stack:
aload 1
iload 2
iinc 2 1
bipush 69
castore
89: goto 97
90: StackMap locals:
StackMap stack:
aload 0
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
iconst_1
if_icmple 96
91: aload 0
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
iconst_1
isub
aload 0
getfield sun.misc.FormattedFloatingDecimal.precision:I
invokestatic java.lang.Math.min:(II)I
istore 5
start local 5 92: iload 5
ifle 96
93: aload 1
iload 2
iinc 2 1
bipush 46
castore
94: aload 3
iconst_1
aload 1
iload 2
iload 5
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
95: iload 2
iload 5
iadd
istore 2
end local 5 96: StackMap locals:
StackMap stack:
aload 1
iload 2
iinc 2 1
bipush 101
castore
97: StackMap locals:
StackMap stack:
iload 4
ifgt 101
98: aload 1
iload 2
iinc 2 1
bipush 45
castore
99: iload 4
ineg
iconst_1
iadd
istore 5
start local 5 100: goto 104
end local 5 101: StackMap locals:
StackMap stack:
aload 0
getfield sun.misc.FormattedFloatingDecimal.form:Lsun/misc/FormattedFloatingDecimal$Form;
getstatic sun.misc.FormattedFloatingDecimal$Form.COMPATIBLE:Lsun/misc/FormattedFloatingDecimal$Form;
if_acmpeq 103
102: aload 1
iload 2
iinc 2 1
bipush 43
castore
103: StackMap locals:
StackMap stack:
iload 4
iconst_1
isub
istore 5
start local 5 104: StackMap locals: int
StackMap stack:
iload 5
bipush 9
if_icmpgt 109
105: aload 0
getfield sun.misc.FormattedFloatingDecimal.form:Lsun/misc/FormattedFloatingDecimal$Form;
getstatic sun.misc.FormattedFloatingDecimal$Form.COMPATIBLE:Lsun/misc/FormattedFloatingDecimal$Form;
if_acmpeq 107
106: aload 1
iload 2
iinc 2 1
bipush 48
castore
107: StackMap locals:
StackMap stack:
aload 1
iload 2
iinc 2 1
iload 5
bipush 48
iadd
i2c
castore
108: goto 117
StackMap locals:
StackMap stack:
109: iload 5
bipush 99
if_icmpgt 113
110: aload 1
iload 2
iinc 2 1
iload 5
bipush 10
idiv
bipush 48
iadd
i2c
castore
111: aload 1
iload 2
iinc 2 1
iload 5
bipush 10
irem
bipush 48
iadd
i2c
castore
112: goto 117
113: StackMap locals:
StackMap stack:
aload 1
iload 2
iinc 2 1
iload 5
bipush 100
idiv
bipush 48
iadd
i2c
castore
114: iload 5
bipush 100
irem
istore 5
115: aload 1
iload 2
iinc 2 1
iload 5
bipush 10
idiv
bipush 48
iadd
i2c
castore
116: aload 1
iload 2
iinc 2 1
iload 5
bipush 10
irem
bipush 48
iadd
i2c
castore
end local 5 end local 4 end local 3 117: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 118 0 this Lsun/misc/FormattedFloatingDecimal;
0 118 1 result [C
2 118 2 i I
8 117 3 digits [C
9 117 4 exp I
32 59 5 charLength I
37 41 6 nz I
49 51 6 t I
55 59 6 t I
66 73 5 t I
69 73 6 nz I
74 79 5 t I
92 96 5 t I
100 101 5 e I
104 117 5 e I
MethodParameters:
Name Flags
result
public strict double doubleValue();
descriptor: ()D
flags: (0x0801) ACC_PUBLIC, ACC_STRICT
Code:
stack=7, locals=27, args_size=1
start local 0 0: aload 0
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
bipush 16
invokestatic java.lang.Math.min:(II)I
istore 1
start local 1 1: aload 0
getfield sun.misc.FormattedFloatingDecimal.digits:[C
getstatic sun.misc.FormattedFloatingDecimal.infinity:[C
if_acmpeq 2
aload 0
getfield sun.misc.FormattedFloatingDecimal.digits:[C
getstatic sun.misc.FormattedFloatingDecimal.notANumber:[C
if_acmpne 7
2: StackMap locals: int
StackMap stack:
aload 0
getfield sun.misc.FormattedFloatingDecimal.digits:[C
getstatic sun.misc.FormattedFloatingDecimal.notANumber:[C
if_acmpne 4
3: ldc NaN
dreturn
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.misc.FormattedFloatingDecimal.isNegative:Z
ifeq 5
ldc -Infinity
goto 6
StackMap locals:
StackMap stack:
5: ldc Infinity
StackMap locals:
StackMap stack: double
6: dreturn
7: StackMap locals:
StackMap stack:
aload 0
getfield sun.misc.FormattedFloatingDecimal.mustSetRoundDir:Z
ifeq 9
8: aload 0
iconst_0
putfield sun.misc.FormattedFloatingDecimal.roundDir:I
9: StackMap locals:
StackMap stack:
aload 0
getfield sun.misc.FormattedFloatingDecimal.digits:[C
iconst_0
caload
bipush 48
isub
istore 10
start local 10 10: iload 1
bipush 9
invokestatic java.lang.Math.min:(II)I
istore 11
start local 11 11: iconst_1
istore 12
start local 12 12: goto 15
13: StackMap locals: sun.misc.FormattedFloatingDecimal int top top top top top top top top int int int
StackMap stack:
iload 10
bipush 10
imul
aload 0
getfield sun.misc.FormattedFloatingDecimal.digits:[C
iload 12
caload
iadd
bipush 48
isub
istore 10
14: iinc 12 1
StackMap locals:
StackMap stack:
15: iload 12
iload 11
if_icmplt 13
end local 12 16: iload 10
i2l
lstore 2
start local 2 17: iload 11
istore 12
start local 12 18: goto 21
19: StackMap locals: sun.misc.FormattedFloatingDecimal int long top top top top top top int int int
StackMap stack:
lload 2
ldc 10
lmul
aload 0
getfield sun.misc.FormattedFloatingDecimal.digits:[C
iload 12
caload
bipush 48
isub
i2l
ladd
lstore 2
20: iinc 12 1
StackMap locals:
StackMap stack:
21: iload 12
iload 1
if_icmplt 19
end local 12 22: lload 2
l2d
dstore 4
start local 4 23: aload 0
getfield sun.misc.FormattedFloatingDecimal.decExponent:I
iload 1
isub
istore 12
start local 12 24: aload 0
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
bipush 15
if_icmpgt 65
25: iload 12
ifeq 26
dload 4
dconst_0
dcmpl
ifne 29
26: StackMap locals: sun.misc.FormattedFloatingDecimal int long double top top top top int int int
StackMap stack:
aload 0
getfield sun.misc.FormattedFloatingDecimal.isNegative:Z
ifeq 27
dload 4
dneg
goto 28
StackMap locals:
StackMap stack:
27: dload 4
StackMap locals:
StackMap stack: double
28: dreturn
29: StackMap locals:
StackMap stack:
iload 12
iflt 54
30: iload 12
getstatic sun.misc.FormattedFloatingDecimal.maxSmallTen:I
if_icmpgt 41
31: dload 4
getstatic sun.misc.FormattedFloatingDecimal.small10pow:[D
iload 12
daload
dmul
dstore 6
start local 6 32: aload 0
getfield sun.misc.FormattedFloatingDecimal.mustSetRoundDir:Z
ifeq 38
33: dload 6
getstatic sun.misc.FormattedFloatingDecimal.small10pow:[D
iload 12
daload
ddiv
dstore 8
start local 8 34: aload 0
dload 8
dload 4
dcmpl
ifne 35
iconst_0
goto 37
35: StackMap locals: sun.misc.FormattedFloatingDecimal int long double double double int int int
StackMap stack: sun.misc.FormattedFloatingDecimal
dload 8
dload 4
dcmpg
ifge 36
iconst_1
goto 37
36: StackMap locals:
StackMap stack: sun.misc.FormattedFloatingDecimal
iconst_m1
37: StackMap locals: sun.misc.FormattedFloatingDecimal int long double double double int int int
StackMap stack: sun.misc.FormattedFloatingDecimal int
putfield sun.misc.FormattedFloatingDecimal.roundDir:I
end local 8 38: StackMap locals: sun.misc.FormattedFloatingDecimal int long double double top top int int int
StackMap stack:
aload 0
getfield sun.misc.FormattedFloatingDecimal.isNegative:Z
ifeq 39
dload 6
dneg
goto 40
StackMap locals:
StackMap stack:
39: dload 6
StackMap locals:
StackMap stack: double
40: dreturn
end local 6 41: StackMap locals: sun.misc.FormattedFloatingDecimal int long double top top top top int int int
StackMap stack:
bipush 15
iload 1
isub
istore 13
start local 13 42: iload 12
getstatic sun.misc.FormattedFloatingDecimal.maxSmallTen:I
iload 13
iadd
if_icmpgt 65
43: dload 4
getstatic sun.misc.FormattedFloatingDecimal.small10pow:[D
iload 13
daload
dmul
dstore 4
44: dload 4
getstatic sun.misc.FormattedFloatingDecimal.small10pow:[D
iload 12
iload 13
isub
daload
dmul
dstore 6
start local 6 45: aload 0
getfield sun.misc.FormattedFloatingDecimal.mustSetRoundDir:Z
ifeq 51
46: dload 6
getstatic sun.misc.FormattedFloatingDecimal.small10pow:[D
iload 12
iload 13
isub
daload
ddiv
dstore 8
start local 8 47: aload 0
dload 8
dload 4
dcmpl
ifne 48
iconst_0
goto 50
48: StackMap locals: sun.misc.FormattedFloatingDecimal int long double double double int int int int
StackMap stack: sun.misc.FormattedFloatingDecimal
dload 8
dload 4
dcmpg
ifge 49
iconst_1
goto 50
49: StackMap locals:
StackMap stack: sun.misc.FormattedFloatingDecimal
iconst_m1
50: StackMap locals: sun.misc.FormattedFloatingDecimal int long double double double int int int int
StackMap stack: sun.misc.FormattedFloatingDecimal int
putfield sun.misc.FormattedFloatingDecimal.roundDir:I
end local 8 51: StackMap locals: sun.misc.FormattedFloatingDecimal int long double double top top int int int int
StackMap stack:
aload 0
getfield sun.misc.FormattedFloatingDecimal.isNegative:Z
ifeq 52
dload 6
dneg
goto 53
StackMap locals:
StackMap stack:
52: dload 6
StackMap locals:
StackMap stack: double
53: dreturn
end local 13 end local 6 54: StackMap locals: sun.misc.FormattedFloatingDecimal int long double top top top top int int int
StackMap stack:
iload 12
getstatic sun.misc.FormattedFloatingDecimal.maxSmallTen:I
ineg
if_icmplt 65
55: dload 4
getstatic sun.misc.FormattedFloatingDecimal.small10pow:[D
iload 12
ineg
daload
ddiv
dstore 6
start local 6 56: dload 6
getstatic sun.misc.FormattedFloatingDecimal.small10pow:[D
iload 12
ineg
daload
dmul
dstore 8
start local 8 57: aload 0
getfield sun.misc.FormattedFloatingDecimal.mustSetRoundDir:Z
ifeq 62
58: aload 0
dload 8
dload 4
dcmpl
ifne 59
iconst_0
goto 61
59: StackMap locals: sun.misc.FormattedFloatingDecimal int long double double double int int int
StackMap stack: sun.misc.FormattedFloatingDecimal
dload 8
dload 4
dcmpg
ifge 60
iconst_1
goto 61
60: StackMap locals:
StackMap stack: sun.misc.FormattedFloatingDecimal
iconst_m1
61: StackMap locals: sun.misc.FormattedFloatingDecimal int long double double double int int int
StackMap stack: sun.misc.FormattedFloatingDecimal int
putfield sun.misc.FormattedFloatingDecimal.roundDir:I
62: StackMap locals:
StackMap stack:
aload 0
getfield sun.misc.FormattedFloatingDecimal.isNegative:Z
ifeq 63
dload 6
dneg
goto 64
StackMap locals:
StackMap stack:
63: dload 6
StackMap locals:
StackMap stack: double
64: dreturn
end local 8 end local 6 65: StackMap locals: sun.misc.FormattedFloatingDecimal int long double top top top top int int int
StackMap stack:
iload 12
ifle 90
66: aload 0
getfield sun.misc.FormattedFloatingDecimal.decExponent:I
sipush 309
if_icmple 70
67: aload 0
getfield sun.misc.FormattedFloatingDecimal.isNegative:Z
ifeq 68
ldc -Infinity
goto 69
StackMap locals:
StackMap stack:
68: ldc Infinity
StackMap locals:
StackMap stack: double
69: dreturn
70: StackMap locals:
StackMap stack:
iload 12
bipush 15
iand
ifeq 72
71: dload 4
getstatic sun.misc.FormattedFloatingDecimal.small10pow:[D
iload 12
bipush 15
iand
daload
dmul
dstore 4
72: StackMap locals:
StackMap stack:
iload 12
iconst_4
ishr
dup
istore 12
ifeq 115
73: iconst_0
istore 13
start local 13 74: goto 78
75: StackMap locals: int
StackMap stack:
iload 12
iconst_1
iand
ifeq 77
76: dload 4
getstatic sun.misc.FormattedFloatingDecimal.big10pow:[D
iload 13
daload
dmul
dstore 4
77: StackMap locals:
StackMap stack:
iinc 13 1
iload 12
iconst_1
ishr
istore 12
StackMap locals:
StackMap stack:
78: iload 12
iconst_1
if_icmpgt 75
79: dload 4
getstatic sun.misc.FormattedFloatingDecimal.big10pow:[D
iload 13
daload
dmul
dstore 14
start local 14 80: dload 14
invokestatic java.lang.Double.isInfinite:(D)Z
ifeq 88
81: dload 4
ldc 2.0
ddiv
dstore 14
82: dload 14
getstatic sun.misc.FormattedFloatingDecimal.big10pow:[D
iload 13
daload
dmul
dstore 14
83: dload 14
invokestatic java.lang.Double.isInfinite:(D)Z
ifeq 87
84: aload 0
getfield sun.misc.FormattedFloatingDecimal.isNegative:Z
ifeq 85
ldc -Infinity
goto 86
StackMap locals: double
StackMap stack:
85: ldc Infinity
StackMap locals:
StackMap stack: double
86: dreturn
87: StackMap locals:
StackMap stack:
ldc 1.7976931348623157E308
dstore 14
88: StackMap locals:
StackMap stack:
dload 14
dstore 4
end local 14 end local 13 89: goto 115
StackMap locals:
StackMap stack:
90: iload 12
ifge 115
91: iload 12
ineg
istore 12
92: aload 0
getfield sun.misc.FormattedFloatingDecimal.decExponent:I
sipush -325
if_icmpge 96
93: aload 0
getfield sun.misc.FormattedFloatingDecimal.isNegative:Z
ifeq 94
ldc -0.0
goto 95
StackMap locals:
StackMap stack:
94: dconst_0
StackMap locals:
StackMap stack: double
95: dreturn
96: StackMap locals:
StackMap stack:
iload 12
bipush 15
iand
ifeq 98
97: dload 4
getstatic sun.misc.FormattedFloatingDecimal.small10pow:[D
iload 12
bipush 15
iand
daload
ddiv
dstore 4
98: StackMap locals:
StackMap stack:
iload 12
iconst_4
ishr
dup
istore 12
ifeq 115
99: iconst_0
istore 13
start local 13 100: goto 104
101: StackMap locals: int
StackMap stack:
iload 12
iconst_1
iand
ifeq 103
102: dload 4
getstatic sun.misc.FormattedFloatingDecimal.tiny10pow:[D
iload 13
daload
dmul
dstore 4
103: StackMap locals:
StackMap stack:
iinc 13 1
iload 12
iconst_1
ishr
istore 12
StackMap locals:
StackMap stack:
104: iload 12
iconst_1
if_icmpgt 101
105: dload 4
getstatic sun.misc.FormattedFloatingDecimal.tiny10pow:[D
iload 13
daload
dmul
dstore 14
start local 14 106: dload 14
dconst_0
dcmpl
ifne 114
107: dload 4
ldc 2.0
dmul
dstore 14
108: dload 14
getstatic sun.misc.FormattedFloatingDecimal.tiny10pow:[D
iload 13
daload
dmul
dstore 14
109: dload 14
dconst_0
dcmpl
ifne 113
110: aload 0
getfield sun.misc.FormattedFloatingDecimal.isNegative:Z
ifeq 111
ldc -0.0
goto 112
StackMap locals: double
StackMap stack:
111: dconst_0
StackMap locals:
StackMap stack: double
112: dreturn
113: StackMap locals:
StackMap stack:
ldc 4.9E-324
dstore 14
114: StackMap locals:
StackMap stack:
dload 14
dstore 4
end local 14 end local 13 115: StackMap locals:
StackMap stack:
new sun.misc.FDBigInt
dup
lload 2
aload 0
getfield sun.misc.FormattedFloatingDecimal.digits:[C
iload 1
aload 0
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
invokespecial sun.misc.FDBigInt.<init>:(J[CII)V
astore 13
start local 13 116: aload 0
getfield sun.misc.FormattedFloatingDecimal.decExponent:I
aload 0
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
isub
istore 12
117: StackMap locals: sun.misc.FDBigInt
StackMap stack:
aload 0
dload 4
invokevirtual sun.misc.FormattedFloatingDecimal.doubleToBigInt:(D)Lsun/misc/FDBigInt;
astore 14
start local 14 118: iload 12
iflt 124
119: iconst_0
dup
istore 16
start local 16 120: istore 15
start local 15 121: iload 12
dup
istore 18
start local 18 122: istore 17
start local 17 123: goto 128
end local 18 end local 17 end local 16 end local 15 124: StackMap locals: sun.misc.FDBigInt
StackMap stack:
iload 12
ineg
dup
istore 16
start local 16 125: istore 15
start local 15 126: iconst_0
dup
istore 18
start local 18 127: istore 17
start local 17 128: StackMap locals: sun.misc.FormattedFloatingDecimal int long double top top top top int int int sun.misc.FDBigInt sun.misc.FDBigInt int int int int
StackMap stack:
aload 0
getfield sun.misc.FormattedFloatingDecimal.bigIntExp:I
iflt 131
129: iload 15
aload 0
getfield sun.misc.FormattedFloatingDecimal.bigIntExp:I
iadd
istore 15
130: goto 132
131: StackMap locals:
StackMap stack:
iload 17
aload 0
getfield sun.misc.FormattedFloatingDecimal.bigIntExp:I
isub
istore 17
132: StackMap locals:
StackMap stack:
iload 15
istore 19
start local 19 133: aload 0
getfield sun.misc.FormattedFloatingDecimal.bigIntExp:I
aload 0
getfield sun.misc.FormattedFloatingDecimal.bigIntNBits:I
iadd
sipush -1022
if_icmpgt 136
134: aload 0
getfield sun.misc.FormattedFloatingDecimal.bigIntExp:I
sipush 1023
iadd
bipush 52
iadd
istore 20
start local 20 135: goto 137
end local 20 136: StackMap locals: int
StackMap stack:
bipush 54
aload 0
getfield sun.misc.FormattedFloatingDecimal.bigIntNBits:I
isub
istore 20
start local 20 137: StackMap locals: int
StackMap stack:
iload 15
iload 20
iadd
istore 15
138: iload 17
iload 20
iadd
istore 17
139: iload 15
iload 17
iload 19
invokestatic java.lang.Math.min:(II)I
invokestatic java.lang.Math.min:(II)I
istore 21
start local 21 140: iload 15
iload 21
isub
istore 15
141: iload 17
iload 21
isub
istore 17
142: iload 19
iload 21
isub
istore 19
143: aload 14
iload 16
iload 15
invokestatic sun.misc.FormattedFloatingDecimal.multPow52:(Lsun/misc/FDBigInt;II)Lsun/misc/FDBigInt;
astore 14
144: new sun.misc.FDBigInt
dup
aload 13
invokespecial sun.misc.FDBigInt.<init>:(Lsun/misc/FDBigInt;)V
iload 18
iload 17
invokestatic sun.misc.FormattedFloatingDecimal.multPow52:(Lsun/misc/FDBigInt;II)Lsun/misc/FDBigInt;
astore 22
start local 22 145: aload 14
aload 22
invokevirtual sun.misc.FDBigInt.cmp:(Lsun/misc/FDBigInt;)I
dup
istore 24
start local 24 146: ifle 155
147: iconst_1
istore 25
start local 25 148: aload 14
aload 22
invokevirtual sun.misc.FDBigInt.sub:(Lsun/misc/FDBigInt;)Lsun/misc/FDBigInt;
astore 23
start local 23 149: aload 0
getfield sun.misc.FormattedFloatingDecimal.bigIntNBits:I
iconst_1
if_icmpne 158
aload 0
getfield sun.misc.FormattedFloatingDecimal.bigIntExp:I
sipush -1023
if_icmple 158
150: iinc 19 -1
151: iload 19
ifge 158
152: iconst_0
istore 19
153: aload 23
iconst_1
invokevirtual sun.misc.FDBigInt.lshiftMe:(I)V
154: goto 158
end local 25 end local 23 StackMap locals: sun.misc.FormattedFloatingDecimal int long double top top top top int int int sun.misc.FDBigInt sun.misc.FDBigInt int int int int int int int sun.misc.FDBigInt top int
StackMap stack:
155: iload 24
ifge 174
156: iconst_0
istore 25
start local 25 157: aload 22
aload 14
invokevirtual sun.misc.FDBigInt.sub:(Lsun/misc/FDBigInt;)Lsun/misc/FDBigInt;
astore 23
start local 23 158: StackMap locals: sun.misc.FormattedFloatingDecimal int long double top top top top int int int sun.misc.FDBigInt sun.misc.FDBigInt int int int int int int int sun.misc.FDBigInt sun.misc.FDBigInt int int
StackMap stack:
iload 16
iload 19
invokestatic sun.misc.FormattedFloatingDecimal.constructPow52:(II)Lsun/misc/FDBigInt;
astore 26
start local 26 159: aload 23
aload 26
invokevirtual sun.misc.FDBigInt.cmp:(Lsun/misc/FDBigInt;)I
dup
istore 24
ifge 165
160: aload 0
getfield sun.misc.FormattedFloatingDecimal.mustSetRoundDir:Z
ifeq 174
161: aload 0
iload 25
ifeq 162
iconst_m1
goto 163
StackMap locals: sun.misc.FormattedFloatingDecimal int long double top top top top int int int sun.misc.FDBigInt sun.misc.FDBigInt int int int int int int int sun.misc.FDBigInt sun.misc.FDBigInt int int sun.misc.FDBigInt
StackMap stack: sun.misc.FormattedFloatingDecimal
162: iconst_1
StackMap locals: sun.misc.FormattedFloatingDecimal int long double top top top top int int int sun.misc.FDBigInt sun.misc.FDBigInt int int int int int int int sun.misc.FDBigInt sun.misc.FDBigInt int int sun.misc.FDBigInt
StackMap stack: sun.misc.FormattedFloatingDecimal int
163: putfield sun.misc.FormattedFloatingDecimal.roundDir:I
164: goto 174
165: StackMap locals:
StackMap stack:
iload 24
ifne 172
166: dload 4
ldc 0.5
dload 4
iload 25
invokestatic sun.misc.FormattedFloatingDecimal.ulp:(DZ)D
dmul
dadd
dstore 4
167: aload 0
getfield sun.misc.FormattedFloatingDecimal.mustSetRoundDir:Z
ifeq 174
168: aload 0
iload 25
ifeq 169
iconst_m1
goto 170
StackMap locals:
StackMap stack: sun.misc.FormattedFloatingDecimal
169: iconst_1
StackMap locals: sun.misc.FormattedFloatingDecimal int long double top top top top int int int sun.misc.FDBigInt sun.misc.FDBigInt int int int int int int int sun.misc.FDBigInt sun.misc.FDBigInt int int sun.misc.FDBigInt
StackMap stack: sun.misc.FormattedFloatingDecimal int
170: putfield sun.misc.FormattedFloatingDecimal.roundDir:I
171: goto 174
172: StackMap locals:
StackMap stack:
dload 4
dload 4
iload 25
invokestatic sun.misc.FormattedFloatingDecimal.ulp:(DZ)D
dadd
dstore 4
173: dload 4
dconst_0
dcmpl
ifeq 174
dload 4
ldc Infinity
dcmpl
ifne 117
end local 26 end local 25 end local 24 end local 23 end local 22 end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 174: StackMap locals: sun.misc.FormattedFloatingDecimal int long double top top top top int int int sun.misc.FDBigInt
StackMap stack:
aload 0
getfield sun.misc.FormattedFloatingDecimal.isNegative:Z
ifeq 175
dload 4
dneg
goto 176
StackMap locals:
StackMap stack:
175: dload 4
StackMap locals:
StackMap stack: double
176: dreturn
end local 13 end local 12 end local 11 end local 10 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 177 0 this Lsun/misc/FormattedFloatingDecimal;
1 177 1 kDigits I
17 177 2 lValue J
23 177 4 dValue D
32 41 6 rValue D
45 54 6 rValue D
56 65 6 rValue D
34 38 8 tValue D
47 51 8 tValue D
57 65 8 tValue D
10 177 10 iValue I
11 177 11 iDigits I
12 16 12 i I
18 22 12 i I
24 177 12 exp I
42 54 13 slop I
74 89 13 j I
80 89 14 t D
100 115 13 j I
106 115 14 t D
116 177 13 bigD0 Lsun/misc/FDBigInt;
118 174 14 bigB Lsun/misc/FDBigInt;
121 124 15 B2 I
126 174 15 B2 I
120 124 16 B5 I
125 174 16 B5 I
123 124 17 D2 I
128 174 17 D2 I
122 124 18 D5 I
127 174 18 D5 I
133 174 19 Ulp2 I
135 136 20 hulpbias I
137 174 20 hulpbias I
140 174 21 common2 I
145 174 22 bigD Lsun/misc/FDBigInt;
149 155 23 diff Lsun/misc/FDBigInt;
158 174 23 diff Lsun/misc/FDBigInt;
146 174 24 cmpResult I
148 155 25 overvalue Z
157 174 25 overvalue Z
159 174 26 halfUlp Lsun/misc/FDBigInt;
public strict float floatValue();
descriptor: ()F
flags: (0x0801) ACC_PUBLIC, ACC_STRICT
Code:
stack=4, locals=9, args_size=1
start local 0 0: aload 0
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
bipush 8
invokestatic java.lang.Math.min:(II)I
istore 1
start local 1 1: aload 0
getfield sun.misc.FormattedFloatingDecimal.digits:[C
getstatic sun.misc.FormattedFloatingDecimal.infinity:[C
if_acmpeq 2
aload 0
getfield sun.misc.FormattedFloatingDecimal.digits:[C
getstatic sun.misc.FormattedFloatingDecimal.notANumber:[C
if_acmpne 7
2: StackMap locals: int
StackMap stack:
aload 0
getfield sun.misc.FormattedFloatingDecimal.digits:[C
getstatic sun.misc.FormattedFloatingDecimal.notANumber:[C
if_acmpne 4
3: ldc NaN
freturn
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.misc.FormattedFloatingDecimal.isNegative:Z
ifeq 5
ldc -Infinity
goto 6
StackMap locals:
StackMap stack:
5: ldc Infinity
StackMap locals:
StackMap stack: float
6: freturn
7: StackMap locals:
StackMap stack:
aload 0
getfield sun.misc.FormattedFloatingDecimal.digits:[C
iconst_0
caload
bipush 48
isub
istore 2
start local 2 8: iconst_1
istore 4
start local 4 9: goto 12
10: StackMap locals: sun.misc.FormattedFloatingDecimal int int top int
StackMap stack:
iload 2
bipush 10
imul
aload 0
getfield sun.misc.FormattedFloatingDecimal.digits:[C
iload 4
caload
iadd
bipush 48
isub
istore 2
11: iinc 4 1
StackMap locals:
StackMap stack:
12: iload 4
iload 1
if_icmplt 10
end local 4 13: iload 2
i2f
fstore 3
start local 3 14: aload 0
getfield sun.misc.FormattedFloatingDecimal.decExponent:I
iload 1
isub
istore 4
start local 4 15: aload 0
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
bipush 7
if_icmpgt 38
16: iload 4
ifeq 17
fload 3
fconst_0
fcmpl
ifne 20
17: StackMap locals: sun.misc.FormattedFloatingDecimal int int float int
StackMap stack:
aload 0
getfield sun.misc.FormattedFloatingDecimal.isNegative:Z
ifeq 18
fload 3
fneg
goto 19
StackMap locals:
StackMap stack:
18: fload 3
StackMap locals:
StackMap stack: float
19: freturn
20: StackMap locals:
StackMap stack:
iload 4
iflt 33
21: iload 4
getstatic sun.misc.FormattedFloatingDecimal.singleMaxSmallTen:I
if_icmpgt 26
22: fload 3
getstatic sun.misc.FormattedFloatingDecimal.singleSmall10pow:[F
iload 4
faload
fmul
fstore 3
23: aload 0
getfield sun.misc.FormattedFloatingDecimal.isNegative:Z
ifeq 24
fload 3
fneg
goto 25
StackMap locals:
StackMap stack:
24: fload 3
StackMap locals:
StackMap stack: float
25: freturn
26: StackMap locals:
StackMap stack:
bipush 7
iload 1
isub
istore 5
start local 5 27: iload 4
getstatic sun.misc.FormattedFloatingDecimal.singleMaxSmallTen:I
iload 5
iadd
if_icmpgt 52
28: fload 3
getstatic sun.misc.FormattedFloatingDecimal.singleSmall10pow:[F
iload 5
faload
fmul
fstore 3
29: fload 3
getstatic sun.misc.FormattedFloatingDecimal.singleSmall10pow:[F
iload 4
iload 5
isub
faload
fmul
fstore 3
30: aload 0
getfield sun.misc.FormattedFloatingDecimal.isNegative:Z
ifeq 31
fload 3
fneg
goto 32
StackMap locals: int
StackMap stack:
31: fload 3
StackMap locals:
StackMap stack: float
32: freturn
end local 5 33: StackMap locals:
StackMap stack:
iload 4
getstatic sun.misc.FormattedFloatingDecimal.singleMaxSmallTen:I
ineg
if_icmplt 52
34: fload 3
getstatic sun.misc.FormattedFloatingDecimal.singleSmall10pow:[F
iload 4
ineg
faload
fdiv
fstore 3
35: aload 0
getfield sun.misc.FormattedFloatingDecimal.isNegative:Z
ifeq 36
fload 3
fneg
goto 37
StackMap locals:
StackMap stack:
36: fload 3
StackMap locals:
StackMap stack: float
37: freturn
38: StackMap locals:
StackMap stack:
aload 0
getfield sun.misc.FormattedFloatingDecimal.decExponent:I
aload 0
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
if_icmplt 52
aload 0
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
aload 0
getfield sun.misc.FormattedFloatingDecimal.decExponent:I
iadd
bipush 15
if_icmpgt 52
39: iload 2
i2l
lstore 5
start local 5 40: iload 1
istore 7
start local 7 41: goto 44
42: StackMap locals: long int
StackMap stack:
lload 5
ldc 10
lmul
aload 0
getfield sun.misc.FormattedFloatingDecimal.digits:[C
iload 7
caload
bipush 48
isub
i2l
ladd
lstore 5
43: iinc 7 1
StackMap locals:
StackMap stack:
44: iload 7
aload 0
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
if_icmplt 42
end local 7 45: lload 5
l2d
dstore 7
start local 7 46: aload 0
getfield sun.misc.FormattedFloatingDecimal.decExponent:I
aload 0
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
isub
istore 4
47: dload 7
getstatic sun.misc.FormattedFloatingDecimal.small10pow:[D
iload 4
daload
dmul
dstore 7
48: dload 7
d2f
fstore 3
49: aload 0
getfield sun.misc.FormattedFloatingDecimal.isNegative:Z
ifeq 50
fload 3
fneg
goto 51
StackMap locals: sun.misc.FormattedFloatingDecimal int int float int long double
StackMap stack:
50: fload 3
StackMap locals:
StackMap stack: float
51: freturn
end local 7 end local 5 52: StackMap locals:
StackMap stack:
aload 0
getfield sun.misc.FormattedFloatingDecimal.decExponent:I
bipush 39
if_icmple 56
53: aload 0
getfield sun.misc.FormattedFloatingDecimal.isNegative:Z
ifeq 54
ldc -Infinity
goto 55
StackMap locals:
StackMap stack:
54: ldc Infinity
StackMap locals:
StackMap stack: float
55: freturn
56: StackMap locals:
StackMap stack:
aload 0
getfield sun.misc.FormattedFloatingDecimal.decExponent:I
bipush -46
if_icmpge 60
57: aload 0
getfield sun.misc.FormattedFloatingDecimal.isNegative:Z
ifeq 58
ldc -0.0
goto 59
StackMap locals:
StackMap stack:
58: fconst_0
StackMap locals:
StackMap stack: float
59: freturn
60: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.misc.FormattedFloatingDecimal.fromHex:Z
ifeq 61
iconst_0
goto 62
StackMap locals:
StackMap stack: sun.misc.FormattedFloatingDecimal
61: iconst_1
StackMap locals: sun.misc.FormattedFloatingDecimal int int float int
StackMap stack: sun.misc.FormattedFloatingDecimal int
62: putfield sun.misc.FormattedFloatingDecimal.mustSetRoundDir:Z
63: aload 0
invokevirtual sun.misc.FormattedFloatingDecimal.doubleValue:()D
dstore 5
start local 5 64: aload 0
dload 5
invokevirtual sun.misc.FormattedFloatingDecimal.stickyRound:(D)F
freturn
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 65 0 this Lsun/misc/FormattedFloatingDecimal;
1 65 1 kDigits I
8 65 2 iValue I
14 65 3 fValue F
9 13 4 i I
15 65 4 exp I
27 33 5 slop I
40 52 5 lValue J
41 45 7 i I
46 52 7 dValue D
64 65 5 dValue D
static int[] $SWITCH_TABLE$sun$misc$FormattedFloatingDecimal$Form();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic sun.misc.FormattedFloatingDecimal.$SWITCH_TABLE$sun$misc$FormattedFloatingDecimal$Form:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic sun.misc.FormattedFloatingDecimal$Form.values:()[Lsun/misc/FormattedFloatingDecimal$Form;
arraylength
newarray 10
astore 0
2: aload 0
getstatic sun.misc.FormattedFloatingDecimal$Form.COMPATIBLE:Lsun/misc/FormattedFloatingDecimal$Form;
invokevirtual sun.misc.FormattedFloatingDecimal$Form.ordinal:()I
iconst_2
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic sun.misc.FormattedFloatingDecimal$Form.DECIMAL_FLOAT:Lsun/misc/FormattedFloatingDecimal$Form;
invokevirtual sun.misc.FormattedFloatingDecimal$Form.ordinal:()I
iconst_3
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic sun.misc.FormattedFloatingDecimal$Form.GENERAL:Lsun/misc/FormattedFloatingDecimal$Form;
invokevirtual sun.misc.FormattedFloatingDecimal$Form.ordinal:()I
iconst_4
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic sun.misc.FormattedFloatingDecimal$Form.SCIENTIFIC:Lsun/misc/FormattedFloatingDecimal$Form;
invokevirtual sun.misc.FormattedFloatingDecimal$Form.ordinal:()I
iconst_1
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
dup
putstatic sun.misc.FormattedFloatingDecimal.$SWITCH_TABLE$sun$misc$FormattedFloatingDecimal$Form:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
}
SourceFile: "FormattedFloatingDecimal.java"
NestMembers:
sun.misc.FormattedFloatingDecimal$1 sun.misc.FormattedFloatingDecimal$Form
InnerClasses:
sun.misc.FormattedFloatingDecimal$1
public final Form = sun.misc.FormattedFloatingDecimal$Form of sun.misc.FormattedFloatingDecimal