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
private static java.util.regex.Pattern hexFloatPattern;
descriptor: Ljava/util/regex/Pattern;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
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: .line 33
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: .line 1154
new sun.misc.FormattedFloatingDecimal$1
dup
invokespecial sun.misc.FormattedFloatingDecimal$1.<init>:()V
putstatic sun.misc.FormattedFloatingDecimal.perThreadBuffer:Ljava/lang/ThreadLocal;
4: .line 1933
bipush 23
newarray 7
dup
iconst_0
5: .line 1934
dconst_1
dastore
dup
iconst_1
6: .line 1935
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: .line 1936
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: .line 1937
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: .line 1938
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: .line 1939
ldc 1.0E21
dastore
dup
bipush 22
ldc 1.0E22
dastore
11: .line 1933
putstatic sun.misc.FormattedFloatingDecimal.small10pow:[D
12: .line 1942
bipush 11
newarray 6
dup
iconst_0
13: .line 1943
fconst_1
fastore
dup
iconst_1
14: .line 1944
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: .line 1945
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: .line 1942
putstatic sun.misc.FormattedFloatingDecimal.singleSmall10pow:[F
17: .line 1948
iconst_5
newarray 7
dup
iconst_0
18: .line 1949
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: .line 1948
putstatic sun.misc.FormattedFloatingDecimal.big10pow:[D
20: .line 1950
iconst_5
newarray 7
dup
iconst_0
21: .line 1951
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: .line 1950
putstatic sun.misc.FormattedFloatingDecimal.tiny10pow:[D
23: .line 1953
getstatic sun.misc.FormattedFloatingDecimal.small10pow:[D
arraylength
iconst_1
isub
putstatic sun.misc.FormattedFloatingDecimal.maxSmallTen:I
24: .line 1954
getstatic sun.misc.FormattedFloatingDecimal.singleSmall10pow:[F
arraylength
iconst_1
isub
putstatic sun.misc.FormattedFloatingDecimal.singleMaxSmallTen:I
25: .line 1956
bipush 14
newarray 10
dup
iconst_0
26: .line 1957
iconst_1
iastore
dup
iconst_1
27: .line 1958
iconst_5
iastore
dup
iconst_2
28: .line 1959
bipush 25
iastore
dup
iconst_3
29: .line 1960
bipush 125
iastore
dup
iconst_4
30: .line 1961
sipush 625
iastore
dup
iconst_5
31: .line 1962
sipush 3125
iastore
dup
bipush 6
32: .line 1963
sipush 15625
iastore
dup
bipush 7
33: .line 1964
ldc 78125
iastore
dup
bipush 8
34: .line 1965
ldc 390625
iastore
dup
bipush 9
35: .line 1966
ldc 1953125
iastore
dup
bipush 10
36: .line 1967
ldc 9765625
iastore
dup
bipush 11
37: .line 1968
ldc 48828125
iastore
dup
bipush 12
38: .line 1969
ldc 244140625
iastore
dup
bipush 13
39: .line 1970
ldc 1220703125
iastore
40: .line 1956
putstatic sun.misc.FormattedFloatingDecimal.small5pow:[I
41: .line 1974
bipush 27
newarray 11
dup
iconst_0
42: .line 1975
lconst_1
lastore
dup
iconst_1
43: .line 1976
ldc 5
lastore
dup
iconst_2
44: .line 1977
ldc 25
lastore
dup
iconst_3
45: .line 1978
ldc 125
lastore
dup
iconst_4
46: .line 1979
ldc 625
lastore
dup
iconst_5
47: .line 1980
ldc 3125
lastore
dup
bipush 6
48: .line 1981
ldc 15625
lastore
dup
bipush 7
49: .line 1982
ldc 78125
lastore
dup
bipush 8
50: .line 1983
ldc 390625
lastore
dup
bipush 9
51: .line 1984
ldc 1953125
lastore
dup
bipush 10
52: .line 1985
ldc 9765625
lastore
dup
bipush 11
53: .line 1986
ldc 48828125
lastore
dup
bipush 12
54: .line 1987
ldc 244140625
lastore
dup
bipush 13
55: .line 1988
ldc 1220703125
lastore
dup
bipush 14
56: .line 1989
ldc 6103515625
lastore
dup
bipush 15
57: .line 1990
ldc 30517578125
lastore
dup
bipush 16
58: .line 1991
ldc 152587890625
lastore
dup
bipush 17
59: .line 1992
ldc 762939453125
lastore
dup
bipush 18
60: .line 1993
ldc 3814697265625
lastore
dup
bipush 19
61: .line 1994
ldc 19073486328125
lastore
dup
bipush 20
62: .line 1995
ldc 95367431640625
lastore
dup
bipush 21
63: .line 1996
ldc 476837158203125
lastore
dup
bipush 22
64: .line 1997
ldc 2384185791015625
lastore
dup
bipush 23
65: .line 1998
ldc 11920928955078125
lastore
dup
bipush 24
66: .line 1999
ldc 59604644775390625
lastore
dup
bipush 25
67: .line 2000
ldc 298023223876953125
lastore
dup
bipush 26
68: .line 2001
ldc 1490116119384765625
lastore
69: .line 1974
putstatic sun.misc.FormattedFloatingDecimal.long5pow:[J
70: .line 2005
bipush 27
newarray 10
dup
iconst_1
71: .line 2007
iconst_3
iastore
dup
iconst_2
72: .line 2008
iconst_5
iastore
dup
iconst_3
73: .line 2009
bipush 7
iastore
dup
iconst_4
74: .line 2010
bipush 10
iastore
dup
iconst_5
75: .line 2011
bipush 12
iastore
dup
bipush 6
76: .line 2012
bipush 14
iastore
dup
bipush 7
77: .line 2013
bipush 17
iastore
dup
bipush 8
78: .line 2014
bipush 19
iastore
dup
bipush 9
79: .line 2015
bipush 21
iastore
dup
bipush 10
80: .line 2016
bipush 24
iastore
dup
bipush 11
81: .line 2017
bipush 26
iastore
dup
bipush 12
82: .line 2018
bipush 28
iastore
dup
bipush 13
83: .line 2019
bipush 31
iastore
dup
bipush 14
84: .line 2020
bipush 33
iastore
dup
bipush 15
85: .line 2021
bipush 35
iastore
dup
bipush 16
86: .line 2022
bipush 38
iastore
dup
bipush 17
87: .line 2023
bipush 40
iastore
dup
bipush 18
88: .line 2024
bipush 42
iastore
dup
bipush 19
89: .line 2025
bipush 45
iastore
dup
bipush 20
90: .line 2026
bipush 47
iastore
dup
bipush 21
91: .line 2027
bipush 49
iastore
dup
bipush 22
92: .line 2028
bipush 52
iastore
dup
bipush 23
93: .line 2029
bipush 54
iastore
dup
bipush 24
94: .line 2030
bipush 56
iastore
dup
bipush 25
95: .line 2031
bipush 59
iastore
dup
bipush 26
96: .line 2032
bipush 61
iastore
97: .line 2005
putstatic sun.misc.FormattedFloatingDecimal.n5bits:[I
98: .line 2035
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: .line 2036
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: .line 2037
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
101: .line 2046
ldc "([-+])?0[xX](((\\p{XDigit}+)\\.?)|((\\p{XDigit}*)\\.(\\p{XDigit}+)))[pP]([-+])?(\\p{Digit}+)[fFdD]?"
102: .line 2044
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
putstatic sun.misc.FormattedFloatingDecimal.hexFloatPattern:Ljava/util/regex/Pattern;
103: .line 2047
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 // sun.misc.FormattedFloatingDecimal this
start local 1 // boolean negSign
start local 2 // int decExponent
start local 3 // char[] digits
start local 4 // int n
start local 5 // boolean e
start local 6 // int precision
start local 7 // sun.misc.FormattedFloatingDecimal$Form form
0: .line 51
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 42
aload 0 /* this */
iconst_0
putfield sun.misc.FormattedFloatingDecimal.mustSetRoundDir:Z
2: .line 43
aload 0 /* this */
iconst_0
putfield sun.misc.FormattedFloatingDecimal.fromHex:Z
3: .line 44
aload 0 /* this */
iconst_0
putfield sun.misc.FormattedFloatingDecimal.roundDir:I
4: .line 53
aload 0 /* this */
iload 1 /* negSign */
putfield sun.misc.FormattedFloatingDecimal.isNegative:Z
5: .line 54
aload 0 /* this */
iload 5 /* e */
putfield sun.misc.FormattedFloatingDecimal.isExceptional:Z
6: .line 55
aload 0 /* this */
iload 2 /* decExponent */
putfield sun.misc.FormattedFloatingDecimal.decExponent:I
7: .line 56
aload 0 /* this */
aload 3 /* digits */
putfield sun.misc.FormattedFloatingDecimal.digits:[C
8: .line 57
aload 0 /* this */
iload 4 /* n */
putfield sun.misc.FormattedFloatingDecimal.nDigits:I
9: .line 58
aload 0 /* this */
iload 6 /* precision */
putfield sun.misc.FormattedFloatingDecimal.precision:I
10: .line 59
aload 0 /* this */
aload 7 /* form */
putfield sun.misc.FormattedFloatingDecimal.form:Lsun/misc/FormattedFloatingDecimal$Form;
11: .line 60
return
end local 7 // sun.misc.FormattedFloatingDecimal$Form form
end local 6 // int precision
end local 5 // boolean e
end local 4 // int n
end local 3 // char[] digits
end local 2 // int decExponent
end local 1 // boolean negSign
end local 0 // sun.misc.FormattedFloatingDecimal this
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 // long v
0: .line 109
lload 0 /* v */
lconst_0
lcmp
ifne 2
iconst_0
ireturn
1: .line 112
StackMap locals:
StackMap stack:
lload 0 /* v */
bipush 8
lshl
lstore 0 /* v */
2: .line 111
StackMap locals:
StackMap stack:
lload 0 /* v */
ldc -72057594037927936
land
lconst_0
lcmp
ifeq 1
3: .line 114
goto 5
4: .line 115
StackMap locals:
StackMap stack:
lload 0 /* v */
iconst_1
lshl
lstore 0 /* v */
5: .line 114
StackMap locals:
StackMap stack:
lload 0 /* v */
lconst_0
lcmp
ifgt 4
6: .line 118
iconst_0
istore 2 /* n */
start local 2 // int n
7: .line 119
goto 10
8: .line 120
StackMap locals: int
StackMap stack:
lload 0 /* v */
bipush 8
lshl
lstore 0 /* v */
9: .line 121
iinc 2 /* n */ 8
10: .line 119
StackMap locals:
StackMap stack:
lload 0 /* v */
ldc 72057594037927935
land
lconst_0
lcmp
ifne 8
11: .line 123
goto 14
12: .line 124
StackMap locals:
StackMap stack:
lload 0 /* v */
iconst_1
lshl
lstore 0 /* v */
13: .line 125
iinc 2 /* n */ 1
14: .line 123
StackMap locals:
StackMap stack:
lload 0 /* v */
lconst_0
lcmp
ifne 12
15: .line 127
iload 2 /* n */
ireturn
end local 2 // int n
end local 0 // long v
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 // int p
0: .line 137
getstatic sun.misc.FormattedFloatingDecimal.$assertionsDisabled:Z
ifne 1
iload 0 /* p */
ifge 1
new java.lang.AssertionError
dup
iload 0 /* p */
invokespecial java.lang.AssertionError.<init>:(I)V
athrow
1: .line 138
StackMap locals:
StackMap stack:
getstatic sun.misc.FormattedFloatingDecimal.b5p:[Lsun/misc/FDBigInt;
ifnonnull 4
2: .line 139
iload 0 /* p */
iconst_1
iadd
anewarray sun.misc.FDBigInt
putstatic sun.misc.FormattedFloatingDecimal.b5p:[Lsun/misc/FDBigInt;
3: .line 140
goto 8
StackMap locals:
StackMap stack:
4: getstatic sun.misc.FormattedFloatingDecimal.b5p:[Lsun/misc/FDBigInt;
arraylength
iload 0 /* p */
if_icmpgt 8
5: .line 141
iload 0 /* p */
iconst_1
iadd
anewarray sun.misc.FDBigInt
astore 1 /* t */
start local 1 // sun.misc.FDBigInt[] t
6: .line 142
getstatic sun.misc.FormattedFloatingDecimal.b5p:[Lsun/misc/FDBigInt;
iconst_0
aload 1 /* t */
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: .line 143
aload 1 /* t */
putstatic sun.misc.FormattedFloatingDecimal.b5p:[Lsun/misc/FDBigInt;
end local 1 // sun.misc.FDBigInt[] t
8: .line 145
StackMap locals:
StackMap stack:
getstatic sun.misc.FormattedFloatingDecimal.b5p:[Lsun/misc/FDBigInt;
iload 0 /* p */
aaload
ifnull 10
9: .line 146
getstatic sun.misc.FormattedFloatingDecimal.b5p:[Lsun/misc/FDBigInt;
iload 0 /* p */
aaload
areturn
10: .line 147
StackMap locals:
StackMap stack:
iload 0 /* p */
getstatic sun.misc.FormattedFloatingDecimal.small5pow:[I
arraylength
if_icmpge 12
11: .line 148
getstatic sun.misc.FormattedFloatingDecimal.b5p:[Lsun/misc/FDBigInt;
iload 0 /* p */
new sun.misc.FDBigInt
dup
getstatic sun.misc.FormattedFloatingDecimal.small5pow:[I
iload 0 /* p */
iaload
invokespecial sun.misc.FDBigInt.<init>:(I)V
dup_x2
aastore
areturn
12: .line 149
StackMap locals:
StackMap stack:
iload 0 /* p */
getstatic sun.misc.FormattedFloatingDecimal.long5pow:[J
arraylength
if_icmpge 14
13: .line 150
getstatic sun.misc.FormattedFloatingDecimal.b5p:[Lsun/misc/FDBigInt;
iload 0 /* p */
new sun.misc.FDBigInt
dup
getstatic sun.misc.FormattedFloatingDecimal.long5pow:[J
iload 0 /* p */
laload
invokespecial sun.misc.FDBigInt.<init>:(J)V
dup_x2
aastore
areturn
14: .line 159
StackMap locals:
StackMap stack:
iload 0 /* p */
iconst_1
ishr
istore 1 /* q */
start local 1 // int q
15: .line 160
iload 0 /* p */
iload 1 /* q */
isub
istore 2 /* r */
start local 2 // int r
16: .line 161
getstatic sun.misc.FormattedFloatingDecimal.b5p:[Lsun/misc/FDBigInt;
iload 1 /* q */
aaload
astore 3 /* bigq */
start local 3 // sun.misc.FDBigInt bigq
17: .line 162
aload 3 /* bigq */
ifnonnull 19
18: .line 163
iload 1 /* q */
invokestatic sun.misc.FormattedFloatingDecimal.big5pow:(I)Lsun/misc/FDBigInt;
astore 3 /* bigq */
19: .line 164
StackMap locals: int int sun.misc.FDBigInt
StackMap stack:
iload 2 /* r */
getstatic sun.misc.FormattedFloatingDecimal.small5pow:[I
arraylength
if_icmpge 21
20: .line 165
getstatic sun.misc.FormattedFloatingDecimal.b5p:[Lsun/misc/FDBigInt;
iload 0 /* p */
aload 3 /* bigq */
getstatic sun.misc.FormattedFloatingDecimal.small5pow:[I
iload 2 /* r */
iaload
invokevirtual sun.misc.FDBigInt.mult:(I)Lsun/misc/FDBigInt;
dup_x2
aastore
areturn
21: .line 167
StackMap locals:
StackMap stack:
getstatic sun.misc.FormattedFloatingDecimal.b5p:[Lsun/misc/FDBigInt;
iload 2 /* r */
aaload
astore 4 /* bigr */
start local 4 // sun.misc.FDBigInt bigr
22: .line 168
aload 4 /* bigr */
ifnonnull 24
23: .line 169
iload 2 /* r */
invokestatic sun.misc.FormattedFloatingDecimal.big5pow:(I)Lsun/misc/FDBigInt;
astore 4 /* bigr */
24: .line 170
StackMap locals: sun.misc.FDBigInt
StackMap stack:
getstatic sun.misc.FormattedFloatingDecimal.b5p:[Lsun/misc/FDBigInt;
iload 0 /* p */
aload 3 /* bigq */
aload 4 /* bigr */
invokevirtual sun.misc.FDBigInt.mult:(Lsun/misc/FDBigInt;)Lsun/misc/FDBigInt;
dup_x2
aastore
areturn
end local 4 // sun.misc.FDBigInt bigr
end local 3 // sun.misc.FDBigInt bigq
end local 2 // int r
end local 1 // int q
end local 0 // int p
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 // sun.misc.FDBigInt v
start local 1 // int p5
start local 2 // int p2
0: .line 180
iload 1 /* p5 */
ifeq 5
1: .line 181
iload 1 /* p5 */
getstatic sun.misc.FormattedFloatingDecimal.small5pow:[I
arraylength
if_icmpge 4
2: .line 182
aload 0 /* v */
getstatic sun.misc.FormattedFloatingDecimal.small5pow:[I
iload 1 /* p5 */
iaload
invokevirtual sun.misc.FDBigInt.mult:(I)Lsun/misc/FDBigInt;
astore 0 /* v */
3: .line 183
goto 5
4: .line 184
StackMap locals:
StackMap stack:
aload 0 /* v */
iload 1 /* p5 */
invokestatic sun.misc.FormattedFloatingDecimal.big5pow:(I)Lsun/misc/FDBigInt;
invokevirtual sun.misc.FDBigInt.mult:(Lsun/misc/FDBigInt;)Lsun/misc/FDBigInt;
astore 0 /* v */
5: .line 187
StackMap locals:
StackMap stack:
iload 2 /* p2 */
ifeq 7
6: .line 188
aload 0 /* v */
iload 2 /* p2 */
invokevirtual sun.misc.FDBigInt.lshiftMe:(I)V
7: .line 190
StackMap locals:
StackMap stack:
aload 0 /* v */
areturn
end local 2 // int p2
end local 1 // int p5
end local 0 // sun.misc.FDBigInt v
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 // int p5
start local 1 // int p2
0: .line 198
new sun.misc.FDBigInt
dup
iload 0 /* p5 */
invokestatic sun.misc.FormattedFloatingDecimal.big5pow:(I)Lsun/misc/FDBigInt;
invokespecial sun.misc.FDBigInt.<init>:(Lsun/misc/FDBigInt;)V
astore 2 /* v */
start local 2 // sun.misc.FDBigInt v
1: .line 199
iload 1 /* p2 */
ifeq 3
2: .line 200
aload 2 /* v */
iload 1 /* p2 */
invokevirtual sun.misc.FDBigInt.lshiftMe:(I)V
3: .line 202
StackMap locals: sun.misc.FDBigInt
StackMap stack:
aload 2 /* v */
areturn
end local 2 // sun.misc.FDBigInt v
end local 1 // int p2
end local 0 // int p5
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 // sun.misc.FormattedFloatingDecimal this
start local 1 // double dval
0: .line 217
dload 1 /* dval */
invokestatic java.lang.Double.doubleToLongBits:(D)J
ldc 9223372036854775807
land
lstore 3 /* lbits */
start local 3 // long lbits
1: .line 218
lload 3 /* lbits */
bipush 52
lushr
l2i
istore 5 /* binexp */
start local 5 // int binexp
2: .line 219
lload 3 /* lbits */
ldc 4503599627370495
land
lstore 3 /* lbits */
3: .line 220
iload 5 /* binexp */
ifle 6
4: .line 221
lload 3 /* lbits */
ldc 4503599627370496
lor
lstore 3 /* lbits */
5: .line 222
goto 12
6: .line 223
StackMap locals: long int
StackMap stack:
getstatic sun.misc.FormattedFloatingDecimal.$assertionsDisabled:Z
ifne 7
lload 3 /* lbits */
lconst_0
lcmp
ifne 7
new java.lang.AssertionError
dup
lload 3 /* lbits */
invokespecial java.lang.AssertionError.<init>:(J)V
athrow
7: .line 224
StackMap locals:
StackMap stack:
iinc 5 /* binexp */ 1
8: .line 225
goto 11
9: .line 226
StackMap locals:
StackMap stack:
lload 3 /* lbits */
iconst_1
lshl
lstore 3 /* lbits */
10: .line 227
iinc 5 /* binexp */ -1
11: .line 225
StackMap locals:
StackMap stack:
lload 3 /* lbits */
ldc 4503599627370496
land
lconst_0
lcmp
ifeq 9
12: .line 230
StackMap locals:
StackMap stack:
iinc 5 /* binexp */ -1023
13: .line 231
lload 3 /* lbits */
invokestatic sun.misc.FormattedFloatingDecimal.countBits:(J)I
istore 6 /* nbits */
start local 6 // int nbits
14: .line 236
bipush 53
iload 6 /* nbits */
isub
istore 7 /* lowOrderZeros */
start local 7 // int lowOrderZeros
15: .line 237
lload 3 /* lbits */
iload 7 /* lowOrderZeros */
lushr
lstore 3 /* lbits */
16: .line 239
aload 0 /* this */
iload 5 /* binexp */
iconst_1
iadd
iload 6 /* nbits */
isub
putfield sun.misc.FormattedFloatingDecimal.bigIntExp:I
17: .line 240
aload 0 /* this */
iload 6 /* nbits */
putfield sun.misc.FormattedFloatingDecimal.bigIntNBits:I
18: .line 241
new sun.misc.FDBigInt
dup
lload 3 /* lbits */
invokespecial sun.misc.FDBigInt.<init>:(J)V
areturn
end local 7 // int lowOrderZeros
end local 6 // int nbits
end local 5 // int binexp
end local 3 // long lbits
end local 1 // double dval
end local 0 // sun.misc.FormattedFloatingDecimal this
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 // double dval
start local 2 // boolean subtracting
0: .line 252
dload 0 /* dval */
invokestatic java.lang.Double.doubleToLongBits:(D)J
ldc 9223372036854775807
land
lstore 3 /* lbits */
start local 3 // long lbits
1: .line 253
lload 3 /* lbits */
bipush 52
lushr
l2i
istore 5 /* binexp */
start local 5 // int binexp
2: .line 255
iload 2 /* subtracting */
ifeq 4
iload 5 /* binexp */
bipush 52
if_icmplt 4
lload 3 /* lbits */
ldc 4503599627370495
land
lconst_0
lcmp
ifne 4
3: .line 258
iinc 5 /* binexp */ -1
4: .line 260
StackMap locals: long int
StackMap stack:
iload 5 /* binexp */
bipush 52
if_icmple 7
5: .line 261
iload 5 /* binexp */
bipush 52
isub
i2l
bipush 52
lshl
invokestatic java.lang.Double.longBitsToDouble:(J)D
dstore 6 /* ulpval */
start local 6 // double ulpval
6: .line 262
goto 11
end local 6 // double ulpval
StackMap locals:
StackMap stack:
7: iload 5 /* binexp */
ifne 10
8: .line 263
ldc 4.9E-324
dstore 6 /* ulpval */
start local 6 // double ulpval
9: .line 264
goto 11
end local 6 // double ulpval
10: .line 265
StackMap locals:
StackMap stack:
lconst_1
iload 5 /* binexp */
iconst_1
isub
lshl
invokestatic java.lang.Double.longBitsToDouble:(J)D
dstore 6 /* ulpval */
start local 6 // double ulpval
11: .line 267
StackMap locals: double
StackMap stack:
iload 2 /* subtracting */
ifeq 12
dload 6 /* ulpval */
dneg
dstore 6 /* ulpval */
12: .line 269
StackMap locals:
StackMap stack:
dload 6 /* ulpval */
dreturn
end local 6 // double ulpval
end local 5 // int binexp
end local 3 // long lbits
end local 2 // boolean subtracting
end local 0 // double dval
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 // sun.misc.FormattedFloatingDecimal this
start local 1 // double dval
0: .line 283
dload 1 /* dval */
invokestatic java.lang.Double.doubleToLongBits:(D)J
lstore 3 /* lbits */
start local 3 // long lbits
1: .line 284
lload 3 /* lbits */
ldc 9218868437227405312
land
lstore 5 /* binexp */
start local 5 // long binexp
2: .line 285
lload 5 /* binexp */
lconst_0
lcmp
ifeq 3
lload 5 /* binexp */
ldc 9218868437227405312
lcmp
ifne 4
3: .line 288
StackMap locals: long long
StackMap stack:
dload 1 /* dval */
d2f
freturn
4: .line 290
StackMap locals:
StackMap stack:
lload 3 /* lbits */
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.roundDir:I
i2l
ladd
lstore 3 /* lbits */
5: .line 291
lload 3 /* lbits */
invokestatic java.lang.Double.longBitsToDouble:(J)D
d2f
freturn
end local 5 // long binexp
end local 3 // long lbits
end local 1 // double dval
end local 0 // sun.misc.FormattedFloatingDecimal this
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 // sun.misc.FormattedFloatingDecimal this
start local 1 // int decExponent
start local 2 // long lvalue
start local 4 // long insignificant
0: .line 320
iconst_0
istore 10 /* i */
start local 10 // int i
1: goto 4
2: .line 321
StackMap locals: sun.misc.FormattedFloatingDecimal int long long top top top top int
StackMap stack:
lload 4 /* insignificant */
ldc 10
ldiv
lstore 4 /* insignificant */
3: .line 320
iinc 10 /* i */ 1
StackMap locals:
StackMap stack:
4: lload 4 /* insignificant */
ldc 10
lcmp
ifge 2
5: .line 322
iload 10 /* i */
ifeq 12
6: .line 323
getstatic sun.misc.FormattedFloatingDecimal.long5pow:[J
iload 10 /* i */
laload
iload 10 /* i */
lshl
lstore 11 /* pow10 */
start local 11 // long pow10
7: .line 324
lload 2 /* lvalue */
lload 11 /* pow10 */
lrem
lstore 13 /* residue */
start local 13 // long residue
8: .line 325
lload 2 /* lvalue */
lload 11 /* pow10 */
ldiv
lstore 2 /* lvalue */
9: .line 326
iload 1 /* decExponent */
iload 10 /* i */
iadd
istore 1 /* decExponent */
10: .line 327
lload 13 /* residue */
lload 11 /* pow10 */
iconst_1
lshr
lcmp
iflt 12
11: .line 329
lload 2 /* lvalue */
lconst_1
ladd
lstore 2 /* lvalue */
end local 13 // long residue
end local 11 // long pow10
12: .line 332
StackMap locals:
StackMap stack:
lload 2 /* lvalue */
ldc 2147483647
lcmp
ifgt 33
13: .line 333
getstatic sun.misc.FormattedFloatingDecimal.$assertionsDisabled:Z
ifne 14
lload 2 /* lvalue */
lconst_0
lcmp
ifgt 14
new java.lang.AssertionError
dup
lload 2 /* lvalue */
invokespecial java.lang.AssertionError.<init>:(J)V
athrow
14: .line 336
StackMap locals:
StackMap stack:
lload 2 /* lvalue */
l2i
istore 11 /* ivalue */
start local 11 // int ivalue
15: .line 337
bipush 10
istore 7 /* ndigits */
start local 7 // int ndigits
16: .line 338
getstatic sun.misc.FormattedFloatingDecimal.perThreadBuffer:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast char[]
astore 6 /* digits */
start local 6 // char[] digits
17: .line 339
iload 7 /* ndigits */
iconst_1
isub
istore 8 /* digitno */
start local 8 // int digitno
18: .line 340
iload 11 /* ivalue */
bipush 10
irem
istore 9 /* c */
start local 9 // int c
19: .line 341
iload 11 /* ivalue */
bipush 10
idiv
istore 11 /* ivalue */
20: .line 342
goto 24
21: .line 343
StackMap locals: sun.misc.FormattedFloatingDecimal int long long char[] int int int int int
StackMap stack:
iinc 1 /* decExponent */ 1
22: .line 344
iload 11 /* ivalue */
bipush 10
irem
istore 9 /* c */
23: .line 345
iload 11 /* ivalue */
bipush 10
idiv
istore 11 /* ivalue */
24: .line 342
StackMap locals:
StackMap stack:
iload 9 /* c */
ifeq 21
25: .line 347
goto 30
26: .line 348
StackMap locals:
StackMap stack:
aload 6 /* digits */
iload 8 /* digitno */
iinc 8 /* digitno */ -1
iload 9 /* c */
bipush 48
iadd
i2c
castore
27: .line 349
iinc 1 /* decExponent */ 1
28: .line 350
iload 11 /* ivalue */
bipush 10
irem
istore 9 /* c */
29: .line 351
iload 11 /* ivalue */
bipush 10
idiv
istore 11 /* ivalue */
30: .line 347
StackMap locals:
StackMap stack:
iload 11 /* ivalue */
ifne 26
31: .line 353
aload 6 /* digits */
iload 8 /* digitno */
iload 9 /* c */
bipush 48
iadd
i2c
castore
end local 11 // int ivalue
32: .line 354
goto 50
end local 9 // int c
end local 8 // int digitno
end local 7 // int ndigits
end local 6 // char[] digits
33: .line 357
StackMap locals: sun.misc.FormattedFloatingDecimal int long long top top top top int
StackMap stack:
bipush 20
istore 7 /* ndigits */
start local 7 // int ndigits
34: .line 358
getstatic sun.misc.FormattedFloatingDecimal.perThreadBuffer:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast char[]
astore 6 /* digits */
start local 6 // char[] digits
35: .line 359
iload 7 /* ndigits */
iconst_1
isub
istore 8 /* digitno */
start local 8 // int digitno
36: .line 360
lload 2 /* lvalue */
ldc 10
lrem
l2i
istore 9 /* c */
start local 9 // int c
37: .line 361
lload 2 /* lvalue */
ldc 10
ldiv
lstore 2 /* lvalue */
38: .line 362
goto 42
39: .line 363
StackMap locals: sun.misc.FormattedFloatingDecimal int long long char[] int int int int
StackMap stack:
iinc 1 /* decExponent */ 1
40: .line 364
lload 2 /* lvalue */
ldc 10
lrem
l2i
istore 9 /* c */
41: .line 365
lload 2 /* lvalue */
ldc 10
ldiv
lstore 2 /* lvalue */
42: .line 362
StackMap locals:
StackMap stack:
iload 9 /* c */
ifeq 39
43: .line 367
goto 48
44: .line 368
StackMap locals:
StackMap stack:
aload 6 /* digits */
iload 8 /* digitno */
iinc 8 /* digitno */ -1
iload 9 /* c */
bipush 48
iadd
i2c
castore
45: .line 369
iinc 1 /* decExponent */ 1
46: .line 370
lload 2 /* lvalue */
ldc 10
lrem
l2i
istore 9 /* c */
47: .line 371
lload 2 /* lvalue */
ldc 10
ldiv
lstore 2 /* lvalue */
48: .line 367
StackMap locals:
StackMap stack:
lload 2 /* lvalue */
lconst_0
lcmp
ifne 44
49: .line 373
aload 6 /* digits */
iload 8 /* digitno */
iload 9 /* c */
bipush 48
iadd
i2c
castore
50: .line 376
StackMap locals:
StackMap stack:
iload 7 /* ndigits */
iload 8 /* digitno */
isub
istore 7 /* ndigits */
51: .line 377
iload 7 /* ndigits */
newarray 5
astore 11 /* result */
start local 11 // char[] result
52: .line 378
aload 6 /* digits */
iload 8 /* digitno */
aload 11 /* result */
iconst_0
iload 7 /* ndigits */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
53: .line 379
aload 0 /* this */
aload 11 /* result */
putfield sun.misc.FormattedFloatingDecimal.digits:[C
54: .line 380
aload 0 /* this */
iload 1 /* decExponent */
iconst_1
iadd
putfield sun.misc.FormattedFloatingDecimal.decExponent:I
55: .line 381
aload 0 /* this */
iload 7 /* ndigits */
putfield sun.misc.FormattedFloatingDecimal.nDigits:I
56: .line 382
return
end local 11 // char[] result
end local 10 // int i
end local 9 // int c
end local 8 // int digitno
end local 7 // int ndigits
end local 6 // char[] digits
end local 4 // long insignificant
end local 2 // long lvalue
end local 1 // int decExponent
end local 0 // sun.misc.FormattedFloatingDecimal this
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 // sun.misc.FormattedFloatingDecimal this
0: .line 394
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.digits:[C
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
iconst_1
isub
dup
istore 1 /* i */
start local 1 // int i
1: caload
istore 2 /* q */
start local 2 // int q
2: .line 395
iload 2 /* q */
bipush 57
if_icmpne 11
3: .line 396
goto 6
4: .line 397
StackMap locals: int int
StackMap stack:
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.digits:[C
iload 1 /* i */
bipush 48
castore
5: .line 398
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.digits:[C
iinc 1 /* i */ -1
iload 1 /* i */
caload
istore 2 /* q */
6: .line 396
StackMap locals:
StackMap stack:
iload 2 /* q */
bipush 57
if_icmpne 7
iload 1 /* i */
ifgt 4
7: .line 400
StackMap locals:
StackMap stack:
iload 2 /* q */
bipush 57
if_icmpne 11
8: .line 402
aload 0 /* this */
dup
getfield sun.misc.FormattedFloatingDecimal.decExponent:I
iconst_1
iadd
putfield sun.misc.FormattedFloatingDecimal.decExponent:I
9: .line 403
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.digits:[C
iconst_0
bipush 49
castore
10: .line 404
return
11: .line 408
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.digits:[C
iload 1 /* i */
iload 2 /* q */
iconst_1
iadd
i2c
castore
12: .line 409
return
end local 2 // int q
end local 1 // int i
end local 0 // sun.misc.FormattedFloatingDecimal this
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 // sun.misc.FormattedFloatingDecimal this
start local 1 // int length
0: .line 413
iload 1 /* length */
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
if_icmpge 1
iload 1 /* length */
ifge 2
1: .line 414
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.decExponent:I
ireturn
2: .line 416
StackMap locals:
StackMap stack:
iconst_0
istore 2 /* i */
start local 2 // int i
3: goto 7
4: .line 417
StackMap locals: int
StackMap stack:
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.digits:[C
iload 2 /* i */
caload
bipush 57
if_icmpeq 6
5: .line 419
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.decExponent:I
ireturn
6: .line 416
StackMap locals:
StackMap stack:
iinc 2 /* i */ 1
StackMap locals:
StackMap stack:
7: iload 2 /* i */
iload 1 /* length */
if_icmplt 4
end local 2 // int i
8: .line 420
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.decExponent:I
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.digits:[C
iload 1 /* length */
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 // int length
end local 0 // sun.misc.FormattedFloatingDecimal this
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 // sun.misc.FormattedFloatingDecimal this
start local 1 // int length
0: .line 426
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
newarray 5
astore 2 /* result */
start local 2 // char[] result
1: .line 427
iconst_0
istore 3 /* i */
start local 3 // int i
2: goto 4
StackMap locals: char[] int
StackMap stack:
3: aload 2 /* result */
iload 3 /* i */
bipush 48
castore
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
4: iload 3 /* i */
aload 2 /* result */
arraylength
if_icmplt 3
end local 3 // int i
5: .line 429
iload 1 /* length */
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
if_icmpge 6
iload 1 /* length */
ifge 8
6: .line 431
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.digits:[C
iconst_0
aload 2 /* result */
iconst_0
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
7: .line 432
aload 2 /* result */
areturn
8: .line 434
StackMap locals:
StackMap stack:
iload 1 /* length */
ifne 12
9: .line 437
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.digits:[C
iconst_0
caload
bipush 53
if_icmplt 11
10: .line 438
aload 2 /* result */
iconst_0
bipush 49
castore
11: .line 440
StackMap locals:
StackMap stack:
aload 2 /* result */
areturn
12: .line 443
StackMap locals:
StackMap stack:
iload 1 /* length */
istore 3 /* i */
start local 3 // int i
13: .line 444
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.digits:[C
iload 3 /* i */
caload
istore 4 /* q */
start local 4 // int q
14: .line 445
iload 4 /* q */
bipush 53
if_icmplt 26
iload 3 /* i */
ifle 26
15: .line 446
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.digits:[C
iinc 3 /* i */ -1
iload 3 /* i */
caload
istore 4 /* q */
16: .line 447
iload 4 /* q */
bipush 57
if_icmpne 23
17: .line 448
goto 19
18: .line 449
StackMap locals: int int
StackMap stack:
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.digits:[C
iinc 3 /* i */ -1
iload 3 /* i */
caload
istore 4 /* q */
19: .line 448
StackMap locals:
StackMap stack:
iload 4 /* q */
bipush 57
if_icmpne 20
iload 3 /* i */
ifgt 18
20: .line 451
StackMap locals:
StackMap stack:
iload 4 /* q */
bipush 57
if_icmpne 23
21: .line 453
aload 2 /* result */
iconst_0
bipush 49
castore
22: .line 454
aload 2 /* result */
areturn
23: .line 457
StackMap locals:
StackMap stack:
aload 2 /* result */
iload 3 /* i */
iload 4 /* q */
iconst_1
iadd
i2c
castore
24: .line 459
goto 26
25: .line 460
StackMap locals:
StackMap stack:
aload 2 /* result */
iload 3 /* i */
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.digits:[C
iload 3 /* i */
caload
castore
26: .line 459
StackMap locals:
StackMap stack:
iinc 3 /* i */ -1
iload 3 /* i */
ifge 25
27: .line 462
aload 2 /* result */
areturn
end local 4 // int q
end local 3 // int i
end local 2 // char[] result
end local 1 // int length
end local 0 // sun.misc.FormattedFloatingDecimal this
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 // sun.misc.FormattedFloatingDecimal this
start local 1 // double d
0: .line 470
aload 0 /* this */
dload 1 /* d */
ldc 2147483647
getstatic sun.misc.FormattedFloatingDecimal$Form.COMPATIBLE:Lsun/misc/FormattedFloatingDecimal$Form;
invokespecial sun.misc.FormattedFloatingDecimal.<init>:(DILsun/misc/FormattedFloatingDecimal$Form;)V
1: .line 471
return
end local 1 // double d
end local 0 // sun.misc.FormattedFloatingDecimal this
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 // sun.misc.FormattedFloatingDecimal this
start local 1 // double d
start local 3 // int precision
start local 4 // sun.misc.FormattedFloatingDecimal$Form form
0: .line 473
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 42
aload 0 /* this */
iconst_0
putfield sun.misc.FormattedFloatingDecimal.mustSetRoundDir:Z
2: .line 43
aload 0 /* this */
iconst_0
putfield sun.misc.FormattedFloatingDecimal.fromHex:Z
3: .line 44
aload 0 /* this */
iconst_0
putfield sun.misc.FormattedFloatingDecimal.roundDir:I
4: .line 475
dload 1 /* d */
invokestatic java.lang.Double.doubleToLongBits:(D)J
lstore 5 /* dBits */
start local 5 // long dBits
5: .line 480
aload 0 /* this */
iload 3 /* precision */
putfield sun.misc.FormattedFloatingDecimal.precision:I
6: .line 481
aload 0 /* this */
aload 4 /* form */
putfield sun.misc.FormattedFloatingDecimal.form:Lsun/misc/FormattedFloatingDecimal$Form;
7: .line 484
lload 5 /* dBits */
ldc -9223372036854775808
land
lconst_0
lcmp
ifeq 11
8: .line 485
aload 0 /* this */
iconst_1
putfield sun.misc.FormattedFloatingDecimal.isNegative:Z
9: .line 486
lload 5 /* dBits */
ldc -9223372036854775808
lxor
lstore 5 /* dBits */
10: .line 487
goto 12
11: .line 488
StackMap locals: sun.misc.FormattedFloatingDecimal double int sun.misc.FormattedFloatingDecimal$Form long
StackMap stack:
aload 0 /* this */
iconst_0
putfield sun.misc.FormattedFloatingDecimal.isNegative:Z
12: .line 492
StackMap locals:
StackMap stack:
lload 5 /* dBits */
ldc 9218868437227405312
land
bipush 52
lshr
l2i
istore 9 /* binExp */
start local 9 // int binExp
13: .line 493
lload 5 /* dBits */
ldc 4503599627370495
land
lstore 7 /* fractBits */
start local 7 // long fractBits
14: .line 494
iload 9 /* binExp */
sipush 2047
if_icmpne 23
15: .line 495
aload 0 /* this */
iconst_1
putfield sun.misc.FormattedFloatingDecimal.isExceptional:Z
16: .line 496
lload 7 /* fractBits */
lconst_0
lcmp
ifne 19
17: .line 497
aload 0 /* this */
getstatic sun.misc.FormattedFloatingDecimal.infinity:[C
putfield sun.misc.FormattedFloatingDecimal.digits:[C
18: .line 498
goto 21
19: .line 499
StackMap locals: long int
StackMap stack:
aload 0 /* this */
getstatic sun.misc.FormattedFloatingDecimal.notANumber:[C
putfield sun.misc.FormattedFloatingDecimal.digits:[C
20: .line 500
aload 0 /* this */
iconst_0
putfield sun.misc.FormattedFloatingDecimal.isNegative:Z
21: .line 502
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.digits:[C
arraylength
putfield sun.misc.FormattedFloatingDecimal.nDigits:I
22: .line 503
return
23: .line 505
StackMap locals:
StackMap stack:
aload 0 /* this */
iconst_0
putfield sun.misc.FormattedFloatingDecimal.isExceptional:Z
24: .line 510
iload 9 /* binExp */
ifne 36
25: .line 511
lload 7 /* fractBits */
lconst_0
lcmp
ifne 32
26: .line 513
aload 0 /* this */
iconst_0
putfield sun.misc.FormattedFloatingDecimal.decExponent:I
27: .line 514
aload 0 /* this */
getstatic sun.misc.FormattedFloatingDecimal.zero:[C
putfield sun.misc.FormattedFloatingDecimal.digits:[C
28: .line 515
aload 0 /* this */
iconst_1
putfield sun.misc.FormattedFloatingDecimal.nDigits:I
29: .line 516
return
30: .line 519
StackMap locals:
StackMap stack:
lload 7 /* fractBits */
iconst_1
lshl
lstore 7 /* fractBits */
31: .line 520
iinc 9 /* binExp */ -1
32: .line 518
StackMap locals:
StackMap stack:
lload 7 /* fractBits */
ldc 4503599627370496
land
lconst_0
lcmp
ifeq 30
33: .line 522
bipush 52
iload 9 /* binExp */
iadd
iconst_1
iadd
istore 10 /* nSignificantBits */
start local 10 // int nSignificantBits
34: .line 523
iinc 9 /* binExp */ 1
35: .line 524
goto 38
end local 10 // int nSignificantBits
36: .line 525
StackMap locals:
StackMap stack:
lload 7 /* fractBits */
ldc 4503599627370496
lor
lstore 7 /* fractBits */
37: .line 526
bipush 53
istore 10 /* nSignificantBits */
start local 10 // int nSignificantBits
38: .line 528
StackMap locals: int
StackMap stack:
iinc 9 /* binExp */ -1023
39: .line 530
aload 0 /* this */
iload 9 /* binExp */
lload 7 /* fractBits */
iload 10 /* nSignificantBits */
invokevirtual sun.misc.FormattedFloatingDecimal.dtoa:(IJI)V
40: .line 531
return
end local 10 // int nSignificantBits
end local 9 // int binExp
end local 7 // long fractBits
end local 5 // long dBits
end local 4 // sun.misc.FormattedFloatingDecimal$Form form
end local 3 // int precision
end local 1 // double d
end local 0 // sun.misc.FormattedFloatingDecimal this
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 // sun.misc.FormattedFloatingDecimal this
start local 1 // float f
0: .line 538
aload 0 /* this */
fload 1 /* f */
ldc 2147483647
getstatic sun.misc.FormattedFloatingDecimal$Form.COMPATIBLE:Lsun/misc/FormattedFloatingDecimal$Form;
invokespecial sun.misc.FormattedFloatingDecimal.<init>:(FILsun/misc/FormattedFloatingDecimal$Form;)V
1: .line 539
return
end local 1 // float f
end local 0 // sun.misc.FormattedFloatingDecimal this
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 // sun.misc.FormattedFloatingDecimal this
start local 1 // float f
start local 2 // int precision
start local 3 // sun.misc.FormattedFloatingDecimal$Form form
0: .line 540
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 42
aload 0 /* this */
iconst_0
putfield sun.misc.FormattedFloatingDecimal.mustSetRoundDir:Z
2: .line 43
aload 0 /* this */
iconst_0
putfield sun.misc.FormattedFloatingDecimal.fromHex:Z
3: .line 44
aload 0 /* this */
iconst_0
putfield sun.misc.FormattedFloatingDecimal.roundDir:I
4: .line 542
fload 1 /* f */
invokestatic java.lang.Float.floatToIntBits:(F)I
istore 4 /* fBits */
start local 4 // int fBits
5: .line 547
aload 0 /* this */
iload 2 /* precision */
putfield sun.misc.FormattedFloatingDecimal.precision:I
6: .line 548
aload 0 /* this */
aload 3 /* form */
putfield sun.misc.FormattedFloatingDecimal.form:Lsun/misc/FormattedFloatingDecimal$Form;
7: .line 551
iload 4 /* fBits */
ldc -2147483648
iand
ifeq 11
8: .line 552
aload 0 /* this */
iconst_1
putfield sun.misc.FormattedFloatingDecimal.isNegative:Z
9: .line 553
iload 4 /* fBits */
ldc -2147483648
ixor
istore 4 /* fBits */
10: .line 554
goto 12
11: .line 555
StackMap locals: sun.misc.FormattedFloatingDecimal float int sun.misc.FormattedFloatingDecimal$Form int
StackMap stack:
aload 0 /* this */
iconst_0
putfield sun.misc.FormattedFloatingDecimal.isNegative:Z
12: .line 559
StackMap locals:
StackMap stack:
iload 4 /* fBits */
ldc 2139095040
iand
bipush 23
ishr
istore 6 /* binExp */
start local 6 // int binExp
13: .line 560
iload 4 /* fBits */
ldc 8388607
iand
istore 5 /* fractBits */
start local 5 // int fractBits
14: .line 561
iload 6 /* binExp */
sipush 255
if_icmpne 23
15: .line 562
aload 0 /* this */
iconst_1
putfield sun.misc.FormattedFloatingDecimal.isExceptional:Z
16: .line 563
iload 5 /* fractBits */
i2l
lconst_0
lcmp
ifne 19
17: .line 564
aload 0 /* this */
getstatic sun.misc.FormattedFloatingDecimal.infinity:[C
putfield sun.misc.FormattedFloatingDecimal.digits:[C
18: .line 565
goto 21
19: .line 566
StackMap locals: int int
StackMap stack:
aload 0 /* this */
getstatic sun.misc.FormattedFloatingDecimal.notANumber:[C
putfield sun.misc.FormattedFloatingDecimal.digits:[C
20: .line 567
aload 0 /* this */
iconst_0
putfield sun.misc.FormattedFloatingDecimal.isNegative:Z
21: .line 569
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.digits:[C
arraylength
putfield sun.misc.FormattedFloatingDecimal.nDigits:I
22: .line 570
return
23: .line 572
StackMap locals:
StackMap stack:
aload 0 /* this */
iconst_0
putfield sun.misc.FormattedFloatingDecimal.isExceptional:Z
24: .line 577
iload 6 /* binExp */
ifne 36
25: .line 578
iload 5 /* fractBits */
ifne 32
26: .line 580
aload 0 /* this */
iconst_0
putfield sun.misc.FormattedFloatingDecimal.decExponent:I
27: .line 581
aload 0 /* this */
getstatic sun.misc.FormattedFloatingDecimal.zero:[C
putfield sun.misc.FormattedFloatingDecimal.digits:[C
28: .line 582
aload 0 /* this */
iconst_1
putfield sun.misc.FormattedFloatingDecimal.nDigits:I
29: .line 583
return
30: .line 586
StackMap locals:
StackMap stack:
iload 5 /* fractBits */
iconst_1
ishl
istore 5 /* fractBits */
31: .line 587
iinc 6 /* binExp */ -1
32: .line 585
StackMap locals:
StackMap stack:
iload 5 /* fractBits */
ldc 8388608
iand
ifeq 30
33: .line 589
bipush 23
iload 6 /* binExp */
iadd
iconst_1
iadd
istore 7 /* nSignificantBits */
start local 7 // int nSignificantBits
34: .line 590
iinc 6 /* binExp */ 1
35: .line 591
goto 38
end local 7 // int nSignificantBits
36: .line 592
StackMap locals:
StackMap stack:
iload 5 /* fractBits */
ldc 8388608
ior
istore 5 /* fractBits */
37: .line 593
bipush 24
istore 7 /* nSignificantBits */
start local 7 // int nSignificantBits
38: .line 595
StackMap locals: int
StackMap stack:
iinc 6 /* binExp */ -127
39: .line 597
aload 0 /* this */
iload 6 /* binExp */
iload 5 /* fractBits */
i2l
bipush 29
lshl
iload 7 /* nSignificantBits */
invokevirtual sun.misc.FormattedFloatingDecimal.dtoa:(IJI)V
40: .line 598
return
end local 7 // int nSignificantBits
end local 6 // int binExp
end local 5 // int fractBits
end local 4 // int fBits
end local 3 // sun.misc.FormattedFloatingDecimal$Form form
end local 2 // int precision
end local 1 // float f
end local 0 // sun.misc.FormattedFloatingDecimal this
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 // sun.misc.FormattedFloatingDecimal this
start local 1 // int binExp
start local 2 // long fractBits
start local 4 // int nSignificantBits
0: .line 610
lload 2 /* fractBits */
invokestatic sun.misc.FormattedFloatingDecimal.countBits:(J)I
istore 5 /* nFractBits */
start local 5 // int nFractBits
1: .line 611
iconst_0
iload 5 /* nFractBits */
iload 1 /* binExp */
isub
iconst_1
isub
invokestatic java.lang.Math.max:(II)I
istore 6 /* nTinyBits */
start local 6 // int nTinyBits
2: .line 612
iload 1 /* binExp */
bipush 62
if_icmpgt 15
iload 1 /* binExp */
bipush -21
if_icmplt 15
3: .line 616
iload 6 /* nTinyBits */
getstatic sun.misc.FormattedFloatingDecimal.long5pow:[J
arraylength
if_icmpge 15
iload 5 /* nFractBits */
getstatic sun.misc.FormattedFloatingDecimal.n5bits:[I
iload 6 /* nTinyBits */
iaload
iadd
bipush 64
if_icmpge 15
4: .line 633
iload 6 /* nTinyBits */
ifne 15
5: .line 634
iload 1 /* binExp */
iload 4 /* nSignificantBits */
if_icmple 8
6: .line 635
lconst_1
iload 1 /* binExp */
iload 4 /* nSignificantBits */
isub
iconst_1
isub
lshl
lstore 8 /* halfULP */
start local 8 // long halfULP
7: .line 636
goto 9
end local 8 // long halfULP
8: .line 637
StackMap locals: int int
StackMap stack:
lconst_0
lstore 8 /* halfULP */
start local 8 // long halfULP
9: .line 639
StackMap locals: sun.misc.FormattedFloatingDecimal int long int int int top long
StackMap stack:
iload 1 /* binExp */
bipush 52
if_icmplt 12
10: .line 640
lload 2 /* fractBits */
iload 1 /* binExp */
bipush 52
isub
lshl
lstore 2 /* fractBits */
11: .line 641
goto 13
12: .line 642
StackMap locals:
StackMap stack:
lload 2 /* fractBits */
bipush 52
iload 1 /* binExp */
isub
lushr
lstore 2 /* fractBits */
13: .line 644
StackMap locals:
StackMap stack:
aload 0 /* this */
iconst_0
lload 2 /* fractBits */
lload 8 /* halfULP */
invokevirtual sun.misc.FormattedFloatingDecimal.developLongDigits:(IJJ)V
14: .line 645
return
end local 8 // long halfULP
15: .line 697
StackMap locals: sun.misc.FormattedFloatingDecimal int long int int int
StackMap stack:
ldc 4607182418800017408
lload 2 /* fractBits */
ldc -4503599627370497
land
lor
16: .line 696
invokestatic java.lang.Double.longBitsToDouble:(J)D
dstore 8 /* d2 */
start local 8 // double d2
17: .line 699
dload 8 /* d2 */
ldc 1.5
dsub
ldc 0.289529654
dmul
ldc 0.176091259
dadd
iload 1 /* binExp */
i2d
ldc 0.301029995663981
dmul
dadd
18: .line 698
invokestatic java.lang.Math.floor:(D)D
d2i
istore 7 /* decExp */
start local 7 // int decExp
19: .line 707
iconst_0
iload 7 /* decExp */
ineg
invokestatic java.lang.Math.max:(II)I
istore 11 /* B5 */
start local 11 // int B5
20: .line 708
iload 11 /* B5 */
iload 6 /* nTinyBits */
iadd
iload 1 /* binExp */
iadd
istore 10 /* B2 */
start local 10 // int B2
21: .line 710
iconst_0
iload 7 /* decExp */
invokestatic java.lang.Math.max:(II)I
istore 13 /* S5 */
start local 13 // int S5
22: .line 711
iload 13 /* S5 */
iload 6 /* nTinyBits */
iadd
istore 12 /* S2 */
start local 12 // int S2
23: .line 713
iload 11 /* B5 */
istore 15 /* M5 */
start local 15 // int M5
24: .line 714
iload 10 /* B2 */
iload 4 /* nSignificantBits */
isub
istore 14 /* M2 */
start local 14 // int M2
25: .line 724
lload 2 /* fractBits */
bipush 53
iload 5 /* nFractBits */
isub
lushr
lstore 2 /* fractBits */
26: .line 725
iload 10 /* B2 */
iload 5 /* nFractBits */
iconst_1
isub
isub
istore 10 /* B2 */
27: .line 726
iload 10 /* B2 */
iload 12 /* S2 */
invokestatic java.lang.Math.min:(II)I
istore 21 /* common2factor */
start local 21 // int common2factor
28: .line 727
iload 10 /* B2 */
iload 21 /* common2factor */
isub
istore 10 /* B2 */
29: .line 728
iload 12 /* S2 */
iload 21 /* common2factor */
isub
istore 12 /* S2 */
30: .line 729
iload 14 /* M2 */
iload 21 /* common2factor */
isub
istore 14 /* M2 */
31: .line 737
iload 5 /* nFractBits */
iconst_1
if_icmpne 33
32: .line 738
iinc 14 /* M2 */ -1
33: .line 740
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 /* M2 */
ifge 37
34: .line 744
iload 10 /* B2 */
iload 14 /* M2 */
isub
istore 10 /* B2 */
35: .line 745
iload 12 /* S2 */
iload 14 /* M2 */
isub
istore 12 /* S2 */
36: .line 746
iconst_0
istore 14 /* M2 */
37: .line 756
StackMap locals:
StackMap stack:
aload 0 /* this */
bipush 18
newarray 5
dup_x1
putfield sun.misc.FormattedFloatingDecimal.digits:[C
astore 22 /* digits */
start local 22 // char[] digits
38: .line 757
iconst_0
istore 23 /* ndigit */
start local 23 // int ndigit
39: .line 777
iload 5 /* nFractBits */
iload 10 /* B2 */
iadd
iload 11 /* B5 */
getstatic sun.misc.FormattedFloatingDecimal.n5bits:[I
arraylength
if_icmpge 40
getstatic sun.misc.FormattedFloatingDecimal.n5bits:[I
iload 11 /* B5 */
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 /* B5 */
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 /* Bbits */
start local 16 // int Bbits
42: .line 778
iload 12 /* S2 */
iconst_1
iadd
iload 13 /* S5 */
iconst_1
iadd
getstatic sun.misc.FormattedFloatingDecimal.n5bits:[I
arraylength
if_icmpge 43
getstatic sun.misc.FormattedFloatingDecimal.n5bits:[I
iload 13 /* S5 */
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 /* S5 */
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 /* tenSbits */
start local 17 // int tenSbits
45: .line 779
iload 16 /* Bbits */
bipush 64
if_icmpge 127
iload 17 /* tenSbits */
bipush 64
if_icmpge 127
46: .line 780
iload 16 /* Bbits */
bipush 32
if_icmpge 87
iload 17 /* tenSbits */
bipush 32
if_icmpge 87
47: .line 782
lload 2 /* fractBits */
l2i
getstatic sun.misc.FormattedFloatingDecimal.small5pow:[I
iload 11 /* B5 */
iaload
imul
iload 10 /* B2 */
ishl
istore 29 /* b */
start local 29 // int b
48: .line 783
getstatic sun.misc.FormattedFloatingDecimal.small5pow:[I
iload 13 /* S5 */
iaload
iload 12 /* S2 */
ishl
istore 30 /* s */
start local 30 // int s
49: .line 784
getstatic sun.misc.FormattedFloatingDecimal.small5pow:[I
iload 15 /* M5 */
iaload
iload 14 /* M2 */
ishl
istore 31 /* m */
start local 31 // int m
50: .line 785
iload 30 /* s */
bipush 10
imul
istore 32 /* tens */
start local 32 // int tens
51: .line 791
iconst_0
istore 23 /* ndigit */
52: .line 792
iload 29 /* b */
iload 30 /* s */
idiv
istore 28 /* q */
start local 28 // int q
53: .line 793
bipush 10
iload 29 /* b */
iload 30 /* s */
irem
imul
istore 29 /* b */
54: .line 794
iload 31 /* m */
bipush 10
imul
istore 31 /* m */
55: .line 795
iload 29 /* b */
iload 31 /* m */
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 /* low */
start local 24 // boolean low
58: .line 796
iload 29 /* b */
iload 31 /* m */
iadd
iload 32 /* tens */
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 /* high */
start local 25 // boolean high
61: .line 797
getstatic sun.misc.FormattedFloatingDecimal.$assertionsDisabled:Z
ifne 62
iload 28 /* q */
bipush 10
if_icmplt 62
new java.lang.AssertionError
dup
iload 28 /* q */
invokespecial java.lang.AssertionError.<init>:(I)V
athrow
62: .line 798
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 /* q */
ifne 65
iload 25 /* high */
ifne 65
63: .line 800
iinc 7 /* decExp */ -1
64: .line 801
goto 66
65: .line 802
StackMap locals:
StackMap stack:
aload 22 /* digits */
iload 23 /* ndigit */
iinc 23 /* ndigit */ 1
bipush 48
iload 28 /* q */
iadd
i2c
castore
66: .line 810
StackMap locals:
StackMap stack:
aload 0 /* this */
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 /* decExp */
if_icmpge 67
iload 7 /* decExp */
bipush 8
if_icmplt 84
67: .line 811
StackMap locals:
StackMap stack:
iconst_0
dup
istore 24 /* low */
istore 25 /* high */
68: .line 813
goto 84
69: .line 814
StackMap locals:
StackMap stack:
iload 29 /* b */
iload 30 /* s */
idiv
istore 28 /* q */
70: .line 815
bipush 10
iload 29 /* b */
iload 30 /* s */
irem
imul
istore 29 /* b */
71: .line 816
iload 31 /* m */
bipush 10
imul
istore 31 /* m */
72: .line 817
getstatic sun.misc.FormattedFloatingDecimal.$assertionsDisabled:Z
ifne 73
iload 28 /* q */
bipush 10
if_icmplt 73
new java.lang.AssertionError
dup
iload 28 /* q */
invokespecial java.lang.AssertionError.<init>:(I)V
athrow
73: .line 818
StackMap locals:
StackMap stack:
iload 31 /* m */
i2l
lconst_0
lcmp
ifle 81
74: .line 819
iload 29 /* b */
iload 31 /* m */
if_icmpge 75
iconst_1
goto 76
StackMap locals:
StackMap stack:
75: iconst_0
StackMap locals:
StackMap stack: int
76: istore 24 /* low */
77: .line 820
iload 29 /* b */
iload 31 /* m */
iadd
iload 32 /* tens */
if_icmple 78
iconst_1
goto 79
StackMap locals:
StackMap stack:
78: iconst_0
StackMap locals:
StackMap stack: int
79: istore 25 /* high */
80: .line 821
goto 83
81: .line 827
StackMap locals:
StackMap stack:
iconst_1
istore 24 /* low */
82: .line 828
iconst_1
istore 25 /* high */
83: .line 830
StackMap locals:
StackMap stack:
aload 22 /* digits */
iload 23 /* ndigit */
iinc 23 /* ndigit */ 1
bipush 48
iload 28 /* q */
iadd
i2c
castore
84: .line 813
StackMap locals:
StackMap stack:
iload 24 /* low */
ifne 85
iload 25 /* high */
ifeq 69
85: .line 832
StackMap locals:
StackMap stack:
iload 29 /* b */
iconst_1
ishl
iload 32 /* tens */
isub
i2l
lstore 26 /* lowDigitDifference */
end local 32 // int tens
end local 31 // int m
end local 30 // int s
end local 29 // int b
start local 26 // long lowDigitDifference
86: .line 833
goto 167
end local 28 // int q
end local 26 // long lowDigitDifference
end local 25 // boolean high
end local 24 // boolean low
87: .line 835
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 /* fractBits */
getstatic sun.misc.FormattedFloatingDecimal.long5pow:[J
iload 11 /* B5 */
laload
lmul
iload 10 /* B2 */
lshl
lstore 29 /* b */
start local 29 // long b
88: .line 836
getstatic sun.misc.FormattedFloatingDecimal.long5pow:[J
iload 13 /* S5 */
laload
iload 12 /* S2 */
lshl
lstore 31 /* s */
start local 31 // long s
89: .line 837
getstatic sun.misc.FormattedFloatingDecimal.long5pow:[J
iload 15 /* M5 */
laload
iload 14 /* M2 */
lshl
lstore 33 /* m */
start local 33 // long m
90: .line 838
lload 31 /* s */
ldc 10
lmul
lstore 35 /* tens */
start local 35 // long tens
91: .line 844
iconst_0
istore 23 /* ndigit */
92: .line 845
lload 29 /* b */
lload 31 /* s */
ldiv
l2i
istore 28 /* q */
start local 28 // int q
93: .line 846
ldc 10
lload 29 /* b */
lload 31 /* s */
lrem
lmul
lstore 29 /* b */
94: .line 847
lload 33 /* m */
ldc 10
lmul
lstore 33 /* m */
95: .line 848
lload 29 /* b */
lload 33 /* m */
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 /* low */
start local 24 // boolean low
98: .line 849
lload 29 /* b */
lload 33 /* m */
ladd
lload 35 /* tens */
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 /* high */
start local 25 // boolean high
101: .line 850
getstatic sun.misc.FormattedFloatingDecimal.$assertionsDisabled:Z
ifne 102
iload 28 /* q */
bipush 10
if_icmplt 102
new java.lang.AssertionError
dup
iload 28 /* q */
invokespecial java.lang.AssertionError.<init>:(I)V
athrow
102: .line 851
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 /* q */
ifne 105
iload 25 /* high */
ifne 105
103: .line 853
iinc 7 /* decExp */ -1
104: .line 854
goto 106
105: .line 855
StackMap locals:
StackMap stack:
aload 22 /* digits */
iload 23 /* ndigit */
iinc 23 /* ndigit */ 1
bipush 48
iload 28 /* q */
iadd
i2c
castore
106: .line 863
StackMap locals:
StackMap stack:
aload 0 /* this */
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 /* decExp */
if_icmpge 107
iload 7 /* decExp */
bipush 8
if_icmplt 124
107: .line 864
StackMap locals:
StackMap stack:
iconst_0
dup
istore 24 /* low */
istore 25 /* high */
108: .line 866
goto 124
109: .line 867
StackMap locals:
StackMap stack:
lload 29 /* b */
lload 31 /* s */
ldiv
l2i
istore 28 /* q */
110: .line 868
ldc 10
lload 29 /* b */
lload 31 /* s */
lrem
lmul
lstore 29 /* b */
111: .line 869
lload 33 /* m */
ldc 10
lmul
lstore 33 /* m */
112: .line 870
getstatic sun.misc.FormattedFloatingDecimal.$assertionsDisabled:Z
ifne 113
iload 28 /* q */
bipush 10
if_icmplt 113
new java.lang.AssertionError
dup
iload 28 /* q */
invokespecial java.lang.AssertionError.<init>:(I)V
athrow
113: .line 871
StackMap locals:
StackMap stack:
lload 33 /* m */
lconst_0
lcmp
ifle 121
114: .line 872
lload 29 /* b */
lload 33 /* m */
lcmp
ifge 115
iconst_1
goto 116
StackMap locals:
StackMap stack:
115: iconst_0
StackMap locals:
StackMap stack: int
116: istore 24 /* low */
117: .line 873
lload 29 /* b */
lload 33 /* m */
ladd
lload 35 /* tens */
lcmp
ifle 118
iconst_1
goto 119
StackMap locals:
StackMap stack:
118: iconst_0
StackMap locals:
StackMap stack: int
119: istore 25 /* high */
120: .line 874
goto 123
121: .line 880
StackMap locals:
StackMap stack:
iconst_1
istore 24 /* low */
122: .line 881
iconst_1
istore 25 /* high */
123: .line 883
StackMap locals:
StackMap stack:
aload 22 /* digits */
iload 23 /* ndigit */
iinc 23 /* ndigit */ 1
bipush 48
iload 28 /* q */
iadd
i2c
castore
124: .line 866
StackMap locals:
StackMap stack:
iload 24 /* low */
ifne 125
iload 25 /* high */
ifeq 109
125: .line 885
StackMap locals:
StackMap stack:
lload 29 /* b */
iconst_1
lshl
lload 35 /* tens */
lsub
lstore 26 /* lowDigitDifference */
end local 35 // long tens
end local 33 // long m
end local 31 // long s
end local 29 // long b
start local 26 // long lowDigitDifference
126: .line 887
goto 167
end local 28 // int q
end local 26 // long lowDigitDifference
end local 25 // boolean high
end local 24 // boolean low
127: .line 895
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 /* fractBits */
invokespecial sun.misc.FDBigInt.<init>:(J)V
iload 11 /* B5 */
iload 10 /* B2 */
invokestatic sun.misc.FormattedFloatingDecimal.multPow52:(Lsun/misc/FDBigInt;II)Lsun/misc/FDBigInt;
astore 19 /* Bval */
start local 19 // sun.misc.FDBigInt Bval
128: .line 896
iload 13 /* S5 */
iload 12 /* S2 */
invokestatic sun.misc.FormattedFloatingDecimal.constructPow52:(II)Lsun/misc/FDBigInt;
astore 18 /* Sval */
start local 18 // sun.misc.FDBigInt Sval
129: .line 897
iload 15 /* M5 */
iload 14 /* M2 */
invokestatic sun.misc.FormattedFloatingDecimal.constructPow52:(II)Lsun/misc/FDBigInt;
astore 20 /* Mval */
start local 20 // sun.misc.FDBigInt Mval
130: .line 901
aload 19 /* Bval */
aload 18 /* Sval */
invokevirtual sun.misc.FDBigInt.normalizeMe:()I
dup
istore 30 /* shiftBias */
start local 30 // int shiftBias
131: invokevirtual sun.misc.FDBigInt.lshiftMe:(I)V
132: .line 902
aload 20 /* Mval */
iload 30 /* shiftBias */
invokevirtual sun.misc.FDBigInt.lshiftMe:(I)V
133: .line 903
aload 18 /* Sval */
bipush 10
invokevirtual sun.misc.FDBigInt.mult:(I)Lsun/misc/FDBigInt;
astore 29 /* tenSval */
start local 29 // sun.misc.FDBigInt tenSval
134: .line 909
iconst_0
istore 23 /* ndigit */
135: .line 910
aload 19 /* Bval */
aload 18 /* Sval */
invokevirtual sun.misc.FDBigInt.quoRemIteration:(Lsun/misc/FDBigInt;)I
istore 28 /* q */
start local 28 // int q
136: .line 911
aload 20 /* Mval */
bipush 10
invokevirtual sun.misc.FDBigInt.mult:(I)Lsun/misc/FDBigInt;
astore 20 /* Mval */
137: .line 912
aload 19 /* Bval */
aload 20 /* Mval */
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 /* low */
start local 24 // boolean low
140: .line 913
aload 19 /* Bval */
aload 20 /* Mval */
invokevirtual sun.misc.FDBigInt.add:(Lsun/misc/FDBigInt;)Lsun/misc/FDBigInt;
aload 29 /* tenSval */
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 /* high */
start local 25 // boolean high
143: .line 914
getstatic sun.misc.FormattedFloatingDecimal.$assertionsDisabled:Z
ifne 144
iload 28 /* q */
bipush 10
if_icmplt 144
new java.lang.AssertionError
dup
iload 28 /* q */
invokespecial java.lang.AssertionError.<init>:(I)V
athrow
144: .line 915
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 /* q */
ifne 147
iload 25 /* high */
ifne 147
145: .line 917
iinc 7 /* decExp */ -1
146: .line 918
goto 148
147: .line 919
StackMap locals:
StackMap stack:
aload 22 /* digits */
iload 23 /* ndigit */
iinc 23 /* ndigit */ 1
bipush 48
iload 28 /* q */
iadd
i2c
castore
148: .line 927
StackMap locals:
StackMap stack:
aload 0 /* this */
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 /* decExp */
if_icmpge 149
iload 7 /* decExp */
bipush 8
if_icmplt 161
149: .line 928
StackMap locals:
StackMap stack:
iconst_0
dup
istore 24 /* low */
istore 25 /* high */
150: .line 930
goto 161
151: .line 931
StackMap locals:
StackMap stack:
aload 19 /* Bval */
aload 18 /* Sval */
invokevirtual sun.misc.FDBigInt.quoRemIteration:(Lsun/misc/FDBigInt;)I
istore 28 /* q */
152: .line 932
aload 20 /* Mval */
bipush 10
invokevirtual sun.misc.FDBigInt.mult:(I)Lsun/misc/FDBigInt;
astore 20 /* Mval */
153: .line 933
getstatic sun.misc.FormattedFloatingDecimal.$assertionsDisabled:Z
ifne 154
iload 28 /* q */
bipush 10
if_icmplt 154
new java.lang.AssertionError
dup
iload 28 /* q */
invokespecial java.lang.AssertionError.<init>:(I)V
athrow
154: .line 934
StackMap locals:
StackMap stack:
aload 19 /* Bval */
aload 20 /* Mval */
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 /* low */
157: .line 935
aload 19 /* Bval */
aload 20 /* Mval */
invokevirtual sun.misc.FDBigInt.add:(Lsun/misc/FDBigInt;)Lsun/misc/FDBigInt;
aload 29 /* tenSval */
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 /* high */
160: .line 936
aload 22 /* digits */
iload 23 /* ndigit */
iinc 23 /* ndigit */ 1
bipush 48
iload 28 /* q */
iadd
i2c
castore
161: .line 930
StackMap locals:
StackMap stack:
iload 24 /* low */
ifne 162
iload 25 /* high */
ifeq 151
162: .line 938
StackMap locals:
StackMap stack:
iload 25 /* high */
ifeq 166
iload 24 /* low */
ifeq 166
163: .line 939
aload 19 /* Bval */
iconst_1
invokevirtual sun.misc.FDBigInt.lshiftMe:(I)V
164: .line 940
aload 19 /* Bval */
aload 29 /* tenSval */
invokevirtual sun.misc.FDBigInt.cmp:(Lsun/misc/FDBigInt;)I
i2l
lstore 26 /* lowDigitDifference */
start local 26 // long lowDigitDifference
165: .line 941
goto 167
end local 26 // long lowDigitDifference
166: .line 942
StackMap locals:
StackMap stack:
lconst_0
lstore 26 /* lowDigitDifference */
end local 30 // int shiftBias
end local 29 // sun.misc.FDBigInt tenSval
end local 20 // sun.misc.FDBigInt Mval
end local 19 // sun.misc.FDBigInt Bval
end local 18 // sun.misc.FDBigInt Sval
start local 26 // long lowDigitDifference
167: .line 944
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 /* this */
iload 7 /* decExp */
iconst_1
iadd
putfield sun.misc.FormattedFloatingDecimal.decExponent:I
168: .line 945
aload 0 /* this */
aload 22 /* digits */
putfield sun.misc.FormattedFloatingDecimal.digits:[C
169: .line 946
aload 0 /* this */
iload 23 /* ndigit */
putfield sun.misc.FormattedFloatingDecimal.nDigits:I
170: .line 950
iload 25 /* high */
ifeq 179
171: .line 951
iload 24 /* low */
ifeq 178
172: .line 952
lload 26 /* lowDigitDifference */
lconst_0
lcmp
ifne 175
173: .line 955
aload 22 /* digits */
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
iconst_1
isub
caload
iconst_1
iand
ifeq 179
aload 0 /* this */
invokevirtual sun.misc.FormattedFloatingDecimal.roundup:()V
174: .line 956
goto 179
StackMap locals:
StackMap stack:
175: lload 26 /* lowDigitDifference */
lconst_0
lcmp
ifle 179
176: .line 957
aload 0 /* this */
invokevirtual sun.misc.FormattedFloatingDecimal.roundup:()V
177: .line 959
goto 179
178: .line 960
StackMap locals:
StackMap stack:
aload 0 /* this */
invokevirtual sun.misc.FormattedFloatingDecimal.roundup:()V
179: .line 963
StackMap locals:
StackMap stack:
return
end local 28 // int q
end local 26 // long lowDigitDifference
end local 25 // boolean high
end local 24 // boolean low
end local 23 // int ndigit
end local 22 // char[] digits
end local 21 // int common2factor
end local 17 // int tenSbits
end local 16 // int Bbits
end local 15 // int M5
end local 14 // int M2
end local 13 // int S5
end local 12 // int S2
end local 11 // int B5
end local 10 // int B2
end local 8 // double d2
end local 7 // int decExp
end local 6 // int nTinyBits
end local 5 // int nFractBits
end local 4 // int nSignificantBits
end local 2 // long fractBits
end local 1 // int binExp
end local 0 // sun.misc.FormattedFloatingDecimal this
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 // sun.misc.FormattedFloatingDecimal this
0: .line 968
new java.lang.StringBuffer
dup
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
bipush 8
iadd
invokespecial java.lang.StringBuffer.<init>:(I)V
astore 1 /* result */
start local 1 // java.lang.StringBuffer result
1: .line 969
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.isNegative:Z
ifeq 2
aload 1 /* result */
bipush 45
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
2: .line 970
StackMap locals: java.lang.StringBuffer
StackMap stack:
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.isExceptional:Z
ifeq 5
3: .line 971
aload 1 /* result */
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.digits:[C
iconst_0
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
invokevirtual java.lang.StringBuffer.append:([CII)Ljava/lang/StringBuffer;
pop
4: .line 972
goto 9
5: .line 973
StackMap locals:
StackMap stack:
aload 1 /* result */
ldc "0."
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
6: .line 974
aload 1 /* result */
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.digits:[C
iconst_0
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
invokevirtual java.lang.StringBuffer.append:([CII)Ljava/lang/StringBuffer;
pop
7: .line 975
aload 1 /* result */
bipush 101
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
8: .line 976
aload 1 /* result */
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.decExponent:I
invokevirtual java.lang.StringBuffer.append:(I)Ljava/lang/StringBuffer;
pop
9: .line 978
StackMap locals:
StackMap stack:
new java.lang.String
dup
aload 1 /* result */
invokespecial java.lang.String.<init>:(Ljava/lang/StringBuffer;)V
areturn
end local 1 // java.lang.StringBuffer result
end local 0 // sun.misc.FormattedFloatingDecimal this
LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/misc/FormattedFloatingDecimal;
1 10 1 result Ljava/lang/StringBuffer;
public java.lang.String toJavaFormatString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=1
start local 0 // sun.misc.FormattedFloatingDecimal this
0: .line 985
getstatic sun.misc.FormattedFloatingDecimal.perThreadBuffer:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast char[]
astore 1 /* result */
start local 1 // char[] result
1: .line 986
aload 0 /* this */
aload 1 /* result */
invokevirtual sun.misc.FormattedFloatingDecimal.getChars:([C)I
istore 2 /* i */
start local 2 // int i
2: .line 987
new java.lang.String
dup
aload 1 /* result */
iconst_0
iload 2 /* i */
invokespecial java.lang.String.<init>:([CII)V
areturn
end local 2 // int i
end local 1 // char[] result
end local 0 // sun.misc.FormattedFloatingDecimal this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/misc/FormattedFloatingDecimal;
1 3 1 result [C
2 3 2 i I
public int getExponent();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 // sun.misc.FormattedFloatingDecimal this
0: .line 992
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.decExponent:I
iconst_1
isub
ireturn
end local 0 // sun.misc.FormattedFloatingDecimal this
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 // sun.misc.FormattedFloatingDecimal this
0: .line 997
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.decExponentRounded:I
iconst_1
isub
ireturn
end local 0 // sun.misc.FormattedFloatingDecimal this
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 // sun.misc.FormattedFloatingDecimal this
start local 1 // char[] result
0: .line 1001
getstatic sun.misc.FormattedFloatingDecimal.$assertionsDisabled:Z
ifne 1
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
bipush 19
if_icmple 1
new java.lang.AssertionError
dup
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
invokespecial java.lang.AssertionError.<init>:(I)V
athrow
1: .line 1002
StackMap locals:
StackMap stack:
iconst_0
istore 2 /* i */
start local 2 // int i
2: .line 1003
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.isNegative:Z
ifeq 3
aload 1 /* result */
iconst_0
bipush 45
castore
iconst_1
istore 2 /* i */
3: .line 1004
StackMap locals: int
StackMap stack:
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.isExceptional:Z
ifeq 7
4: .line 1005
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.digits:[C
iconst_0
aload 1 /* result */
iload 2 /* i */
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
5: .line 1006
iload 2 /* i */
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
iadd
istore 2 /* i */
6: .line 1007
goto 117
7: .line 1008
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.digits:[C
astore 3 /* digits */
start local 3 // char[] digits
8: .line 1009
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.decExponent:I
istore 4 /* exp */
start local 4 // int exp
9: .line 1010
invokestatic sun.misc.FormattedFloatingDecimal.$SWITCH_TABLE$sun$misc$FormattedFloatingDecimal$Form:()[I
aload 0 /* this */
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: .line 1012
StackMap locals: char[] int
StackMap stack:
goto 27
11: .line 1014
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.decExponent:I
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.precision:I
iadd
invokevirtual sun.misc.FormattedFloatingDecimal.checkExponent:(I)I
istore 4 /* exp */
12: .line 1015
aload 0 /* this */
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.decExponent:I
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.precision:I
iadd
invokevirtual sun.misc.FormattedFloatingDecimal.applyPrecision:(I)[C
astore 3 /* digits */
13: .line 1016
goto 27
14: .line 1018
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.precision:I
iconst_1
iadd
invokevirtual sun.misc.FormattedFloatingDecimal.checkExponent:(I)I
istore 4 /* exp */
15: .line 1019
aload 0 /* this */
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.precision:I
iconst_1
iadd
invokevirtual sun.misc.FormattedFloatingDecimal.applyPrecision:(I)[C
astore 3 /* digits */
16: .line 1020
goto 27
17: .line 1022
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.precision:I
invokevirtual sun.misc.FormattedFloatingDecimal.checkExponent:(I)I
istore 4 /* exp */
18: .line 1023
aload 0 /* this */
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.precision:I
invokevirtual sun.misc.FormattedFloatingDecimal.applyPrecision:(I)[C
astore 3 /* digits */
19: .line 1026
iload 4 /* exp */
iconst_1
isub
bipush -4
if_icmplt 20
iload 4 /* exp */
iconst_1
isub
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.precision:I
if_icmplt 23
20: .line 1027
StackMap locals:
StackMap stack:
aload 0 /* this */
getstatic sun.misc.FormattedFloatingDecimal$Form.SCIENTIFIC:Lsun/misc/FormattedFloatingDecimal$Form;
putfield sun.misc.FormattedFloatingDecimal.form:Lsun/misc/FormattedFloatingDecimal$Form;
21: .line 1028
aload 0 /* this */
dup
getfield sun.misc.FormattedFloatingDecimal.precision:I
iconst_1
isub
putfield sun.misc.FormattedFloatingDecimal.precision:I
22: .line 1029
goto 27
23: .line 1030
StackMap locals:
StackMap stack:
aload 0 /* this */
getstatic sun.misc.FormattedFloatingDecimal$Form.DECIMAL_FLOAT:Lsun/misc/FormattedFloatingDecimal$Form;
putfield sun.misc.FormattedFloatingDecimal.form:Lsun/misc/FormattedFloatingDecimal$Form;
24: .line 1031
aload 0 /* this */
dup
getfield sun.misc.FormattedFloatingDecimal.precision:I
iload 4 /* exp */
isub
putfield sun.misc.FormattedFloatingDecimal.precision:I
25: .line 1033
goto 27
26: .line 1035
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: .line 1037
StackMap locals:
StackMap stack:
aload 0 /* this */
iload 4 /* exp */
putfield sun.misc.FormattedFloatingDecimal.decExponentRounded:I
28: .line 1039
iload 4 /* exp */
ifle 60
29: .line 1040
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.form:Lsun/misc/FormattedFloatingDecimal$Form;
getstatic sun.misc.FormattedFloatingDecimal$Form.COMPATIBLE:Lsun/misc/FormattedFloatingDecimal$Form;
if_acmpne 30
iload 4 /* exp */
bipush 8
if_icmplt 31
30: .line 1041
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.form:Lsun/misc/FormattedFloatingDecimal$Form;
getstatic sun.misc.FormattedFloatingDecimal$Form.DECIMAL_FLOAT:Lsun/misc/FormattedFloatingDecimal$Form;
if_acmpne 60
31: .line 1044
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
iload 4 /* exp */
invokestatic java.lang.Math.min:(II)I
istore 5 /* charLength */
start local 5 // int charLength
32: .line 1045
aload 3 /* digits */
iconst_0
aload 1 /* result */
iload 2 /* i */
iload 5 /* charLength */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
33: .line 1046
iload 2 /* i */
iload 5 /* charLength */
iadd
istore 2 /* i */
34: .line 1047
iload 5 /* charLength */
iload 4 /* exp */
if_icmpge 45
35: .line 1048
iload 4 /* exp */
iload 5 /* charLength */
isub
istore 5 /* charLength */
36: .line 1049
iconst_0
istore 6 /* nz */
start local 6 // int nz
37: goto 40
38: .line 1050
StackMap locals: int int
StackMap stack:
aload 1 /* result */
iload 2 /* i */
iinc 2 /* i */ 1
bipush 48
castore
39: .line 1049
iinc 6 /* nz */ 1
StackMap locals:
StackMap stack:
40: iload 6 /* nz */
iload 5 /* charLength */
if_icmplt 38
end local 6 // int nz
41: .line 1054
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.form:Lsun/misc/FormattedFloatingDecimal$Form;
getstatic sun.misc.FormattedFloatingDecimal$Form.COMPATIBLE:Lsun/misc/FormattedFloatingDecimal$Form;
if_acmpne 117
42: .line 1055
aload 1 /* result */
iload 2 /* i */
iinc 2 /* i */ 1
bipush 46
castore
43: .line 1056
aload 1 /* result */
iload 2 /* i */
iinc 2 /* i */ 1
bipush 48
castore
44: .line 1058
goto 117
45: .line 1062
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.form:Lsun/misc/FormattedFloatingDecimal$Form;
getstatic sun.misc.FormattedFloatingDecimal$Form.COMPATIBLE:Lsun/misc/FormattedFloatingDecimal$Form;
if_acmpne 54
46: .line 1063
aload 1 /* result */
iload 2 /* i */
iinc 2 /* i */ 1
bipush 46
castore
47: .line 1064
iload 5 /* charLength */
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
if_icmpge 52
48: .line 1065
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
iload 5 /* charLength */
isub
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.precision:I
invokestatic java.lang.Math.min:(II)I
istore 6 /* t */
start local 6 // int t
49: .line 1066
aload 3 /* digits */
iload 5 /* charLength */
aload 1 /* result */
iload 2 /* i */
iload 6 /* t */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
50: .line 1067
iload 2 /* i */
iload 6 /* t */
iadd
istore 2 /* i */
end local 6 // int t
51: .line 1068
goto 117
52: .line 1069
StackMap locals:
StackMap stack:
aload 1 /* result */
iload 2 /* i */
iinc 2 /* i */ 1
bipush 48
castore
53: .line 1071
goto 117
54: .line 1072
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
iload 5 /* charLength */
isub
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.precision:I
invokestatic java.lang.Math.min:(II)I
istore 6 /* t */
start local 6 // int t
55: .line 1073
iload 6 /* t */
ifle 117
56: .line 1074
aload 1 /* result */
iload 2 /* i */
iinc 2 /* i */ 1
bipush 46
castore
57: .line 1075
aload 3 /* digits */
iload 5 /* charLength */
aload 1 /* result */
iload 2 /* i */
iload 6 /* t */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
58: .line 1076
iload 2 /* i */
iload 6 /* t */
iadd
istore 2 /* i */
end local 6 // int t
end local 5 // int charLength
59: .line 1080
goto 117
StackMap locals:
StackMap stack:
60: iload 4 /* exp */
ifgt 80
61: .line 1081
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.form:Lsun/misc/FormattedFloatingDecimal$Form;
getstatic sun.misc.FormattedFloatingDecimal$Form.COMPATIBLE:Lsun/misc/FormattedFloatingDecimal$Form;
if_acmpne 62
iload 4 /* exp */
bipush -3
if_icmpgt 63
62: .line 1082
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.form:Lsun/misc/FormattedFloatingDecimal$Form;
getstatic sun.misc.FormattedFloatingDecimal$Form.DECIMAL_FLOAT:Lsun/misc/FormattedFloatingDecimal$Form;
if_acmpne 80
63: .line 1085
StackMap locals:
StackMap stack:
aload 1 /* result */
iload 2 /* i */
iinc 2 /* i */ 1
bipush 48
castore
64: .line 1086
iload 4 /* exp */
ifeq 73
65: .line 1088
iload 4 /* exp */
ineg
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.precision:I
invokestatic java.lang.Math.min:(II)I
istore 5 /* t */
start local 5 // int t
66: .line 1089
iload 5 /* t */
ifle 73
67: .line 1090
aload 1 /* result */
iload 2 /* i */
iinc 2 /* i */ 1
bipush 46
castore
68: .line 1091
iconst_0
istore 6 /* nz */
start local 6 // int nz
69: goto 72
70: .line 1092
StackMap locals: int int
StackMap stack:
aload 1 /* result */
iload 2 /* i */
iinc 2 /* i */ 1
bipush 48
castore
71: .line 1091
iinc 6 /* nz */ 1
StackMap locals:
StackMap stack:
72: iload 6 /* nz */
iload 5 /* t */
if_icmplt 70
end local 6 // int nz
end local 5 // int t
73: .line 1095
StackMap locals:
StackMap stack:
aload 3 /* digits */
arraylength
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.precision:I
iload 4 /* exp */
iadd
invokestatic java.lang.Math.min:(II)I
istore 5 /* t */
start local 5 // int t
74: .line 1096
iload 5 /* t */
ifle 117
75: .line 1097
iload 2 /* i */
iconst_1
if_icmpne 77
76: .line 1098
aload 1 /* result */
iload 2 /* i */
iinc 2 /* i */ 1
bipush 46
castore
77: .line 1100
StackMap locals: int
StackMap stack:
aload 3 /* digits */
iconst_0
aload 1 /* result */
iload 2 /* i */
iload 5 /* t */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
78: .line 1101
iload 2 /* i */
iload 5 /* t */
iadd
istore 2 /* i */
end local 5 // int t
79: .line 1103
goto 117
80: .line 1104
StackMap locals:
StackMap stack:
aload 1 /* result */
iload 2 /* i */
iinc 2 /* i */ 1
aload 3 /* digits */
iconst_0
caload
castore
81: .line 1105
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.form:Lsun/misc/FormattedFloatingDecimal$Form;
getstatic sun.misc.FormattedFloatingDecimal$Form.COMPATIBLE:Lsun/misc/FormattedFloatingDecimal$Form;
if_acmpne 90
82: .line 1106
aload 1 /* result */
iload 2 /* i */
iinc 2 /* i */ 1
bipush 46
castore
83: .line 1107
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
iconst_1
if_icmple 87
84: .line 1108
aload 3 /* digits */
iconst_1
aload 1 /* result */
iload 2 /* i */
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
iconst_1
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
85: .line 1109
iload 2 /* i */
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
iconst_1
isub
iadd
istore 2 /* i */
86: .line 1110
goto 88
87: .line 1111
StackMap locals:
StackMap stack:
aload 1 /* result */
iload 2 /* i */
iinc 2 /* i */ 1
bipush 48
castore
88: .line 1113
StackMap locals:
StackMap stack:
aload 1 /* result */
iload 2 /* i */
iinc 2 /* i */ 1
bipush 69
castore
89: .line 1114
goto 97
90: .line 1115
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
iconst_1
if_icmple 96
91: .line 1116
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
iconst_1
isub
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.precision:I
invokestatic java.lang.Math.min:(II)I
istore 5 /* t */
start local 5 // int t
92: .line 1117
iload 5 /* t */
ifle 96
93: .line 1118
aload 1 /* result */
iload 2 /* i */
iinc 2 /* i */ 1
bipush 46
castore
94: .line 1119
aload 3 /* digits */
iconst_1
aload 1 /* result */
iload 2 /* i */
iload 5 /* t */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
95: .line 1120
iload 2 /* i */
iload 5 /* t */
iadd
istore 2 /* i */
end local 5 // int t
96: .line 1123
StackMap locals:
StackMap stack:
aload 1 /* result */
iload 2 /* i */
iinc 2 /* i */ 1
bipush 101
castore
97: .line 1126
StackMap locals:
StackMap stack:
iload 4 /* exp */
ifgt 101
98: .line 1127
aload 1 /* result */
iload 2 /* i */
iinc 2 /* i */ 1
bipush 45
castore
99: .line 1128
iload 4 /* exp */
ineg
iconst_1
iadd
istore 5 /* e */
start local 5 // int e
100: .line 1129
goto 104
end local 5 // int e
101: .line 1130
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.form:Lsun/misc/FormattedFloatingDecimal$Form;
getstatic sun.misc.FormattedFloatingDecimal$Form.COMPATIBLE:Lsun/misc/FormattedFloatingDecimal$Form;
if_acmpeq 103
102: .line 1131
aload 1 /* result */
iload 2 /* i */
iinc 2 /* i */ 1
bipush 43
castore
103: .line 1132
StackMap locals:
StackMap stack:
iload 4 /* exp */
iconst_1
isub
istore 5 /* e */
start local 5 // int e
104: .line 1135
StackMap locals: int
StackMap stack:
iload 5 /* e */
bipush 9
if_icmpgt 109
105: .line 1136
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.form:Lsun/misc/FormattedFloatingDecimal$Form;
getstatic sun.misc.FormattedFloatingDecimal$Form.COMPATIBLE:Lsun/misc/FormattedFloatingDecimal$Form;
if_acmpeq 107
106: .line 1137
aload 1 /* result */
iload 2 /* i */
iinc 2 /* i */ 1
bipush 48
castore
107: .line 1138
StackMap locals:
StackMap stack:
aload 1 /* result */
iload 2 /* i */
iinc 2 /* i */ 1
iload 5 /* e */
bipush 48
iadd
i2c
castore
108: .line 1139
goto 117
StackMap locals:
StackMap stack:
109: iload 5 /* e */
bipush 99
if_icmpgt 113
110: .line 1140
aload 1 /* result */
iload 2 /* i */
iinc 2 /* i */ 1
iload 5 /* e */
bipush 10
idiv
bipush 48
iadd
i2c
castore
111: .line 1141
aload 1 /* result */
iload 2 /* i */
iinc 2 /* i */ 1
iload 5 /* e */
bipush 10
irem
bipush 48
iadd
i2c
castore
112: .line 1142
goto 117
113: .line 1143
StackMap locals:
StackMap stack:
aload 1 /* result */
iload 2 /* i */
iinc 2 /* i */ 1
iload 5 /* e */
bipush 100
idiv
bipush 48
iadd
i2c
castore
114: .line 1144
iload 5 /* e */
bipush 100
irem
istore 5 /* e */
115: .line 1145
aload 1 /* result */
iload 2 /* i */
iinc 2 /* i */ 1
iload 5 /* e */
bipush 10
idiv
bipush 48
iadd
i2c
castore
116: .line 1146
aload 1 /* result */
iload 2 /* i */
iinc 2 /* i */ 1
iload 5 /* e */
bipush 10
irem
bipush 48
iadd
i2c
castore
end local 5 // int e
end local 4 // int exp
end local 3 // char[] digits
117: .line 1150
StackMap locals:
StackMap stack:
iload 2 /* i */
ireturn
end local 2 // int i
end local 1 // char[] result
end local 0 // sun.misc.FormattedFloatingDecimal this
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 void appendTo(java.lang.Appendable);
descriptor: (Ljava/lang/Appendable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 // sun.misc.FormattedFloatingDecimal this
start local 1 // java.lang.Appendable buf
0: .line 1164
getstatic sun.misc.FormattedFloatingDecimal.perThreadBuffer:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast char[]
astore 2 /* result */
start local 2 // char[] result
1: .line 1165
aload 0 /* this */
aload 2 /* result */
invokevirtual sun.misc.FormattedFloatingDecimal.getChars:([C)I
istore 3 /* i */
start local 3 // int i
2: .line 1166
aload 1 /* buf */
instanceof java.lang.StringBuilder
ifeq 4
3: .line 1167
aload 1 /* buf */
checkcast java.lang.StringBuilder
aload 2 /* result */
iconst_0
iload 3 /* i */
invokevirtual java.lang.StringBuilder.append:([CII)Ljava/lang/StringBuilder;
pop
goto 7
4: .line 1168
StackMap locals: char[] int
StackMap stack:
aload 1 /* buf */
instanceof java.lang.StringBuffer
ifeq 6
5: .line 1169
aload 1 /* buf */
checkcast java.lang.StringBuffer
aload 2 /* result */
iconst_0
iload 3 /* i */
invokevirtual java.lang.StringBuffer.append:([CII)Ljava/lang/StringBuffer;
pop
goto 7
6: .line 1171
StackMap locals:
StackMap stack:
getstatic sun.misc.FormattedFloatingDecimal.$assertionsDisabled:Z
ifne 7
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
7: .line 1172
StackMap locals:
StackMap stack:
return
end local 3 // int i
end local 2 // char[] result
end local 1 // java.lang.Appendable buf
end local 0 // sun.misc.FormattedFloatingDecimal this
LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/misc/FormattedFloatingDecimal;
0 8 1 buf Ljava/lang/Appendable;
1 8 2 result [C
2 8 3 i I
MethodParameters:
Name Flags
buf
public static sun.misc.FormattedFloatingDecimal readJavaFormatString(java.lang.String);
descriptor: (Ljava/lang/String;)Lsun/misc/FormattedFloatingDecimal;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=9, locals=19, args_size=1
start local 0 // java.lang.String in
0: .line 1176
iconst_0
istore 1 /* isNegative */
start local 1 // boolean isNegative
1: .line 1177
iconst_0
istore 2 /* signSeen */
start local 2 // boolean signSeen
2: .line 1183
aload 0 /* in */
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 0 /* in */
3: .line 1185
aload 0 /* in */
invokevirtual java.lang.String.length:()I
istore 5 /* l */
start local 5 // int l
4: .line 1186
iload 5 /* l */
ifne 5
new java.lang.NumberFormatException
dup
ldc "empty String"
invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
athrow
5: .line 1187
StackMap locals: java.lang.String int int top top int
StackMap stack:
iconst_0
istore 6 /* i */
start local 6 // int i
6: .line 1188
aload 0 /* in */
iload 6 /* i */
invokevirtual java.lang.String.charAt:(I)C
dup
istore 4 /* c */
start local 4 // char c
7: tableswitch { // 43 - 45
43: 9
44: 11
45: 8
default: 11
}
8: .line 1190
StackMap locals: java.lang.String int int top int int int
StackMap stack:
iconst_1
istore 1 /* isNegative */
9: .line 1193
StackMap locals:
StackMap stack:
iinc 6 /* i */ 1
10: .line 1194
iconst_1
istore 2 /* signSeen */
11: .line 1198
StackMap locals:
StackMap stack:
aload 0 /* in */
iload 6 /* i */
invokevirtual java.lang.String.charAt:(I)C
istore 4 /* c */
12: .line 1199
iload 4 /* c */
bipush 78
if_icmpeq 13
iload 4 /* c */
bipush 73
if_icmpne 32
13: .line 1200
StackMap locals:
StackMap stack:
iconst_0
istore 7 /* potentialNaN */
start local 7 // boolean potentialNaN
14: .line 1201
aconst_null
astore 8 /* targetChars */
start local 8 // char[] targetChars
15: .line 1203
iload 4 /* c */
bipush 78
if_icmpne 19
16: .line 1204
getstatic sun.misc.FormattedFloatingDecimal.notANumber:[C
astore 8 /* targetChars */
17: .line 1205
iconst_1
istore 7 /* potentialNaN */
18: .line 1206
goto 20
19: .line 1207
StackMap locals: int char[]
StackMap stack:
getstatic sun.misc.FormattedFloatingDecimal.infinity:[C
astore 8 /* targetChars */
20: .line 1211
StackMap locals:
StackMap stack:
iconst_0
istore 9 /* j */
start local 9 // int j
21: .line 1212
goto 24
22: .line 1213
StackMap locals: int
StackMap stack:
aload 0 /* in */
iload 6 /* i */
invokevirtual java.lang.String.charAt:(I)C
aload 8 /* targetChars */
iload 9 /* j */
caload
if_icmpne 111
23: .line 1214
iinc 6 /* i */ 1
iinc 9 /* j */ 1
24: .line 1212
StackMap locals:
StackMap stack:
iload 6 /* i */
iload 5 /* l */
if_icmpge 25
iload 9 /* j */
aload 8 /* targetChars */
arraylength
if_icmplt 22
25: .line 1224
StackMap locals:
StackMap stack:
iload 9 /* j */
aload 8 /* targetChars */
arraylength
if_icmpne 111
iload 6 /* i */
iload 5 /* l */
if_icmpne 111
26: .line 1225
iload 7 /* potentialNaN */
ifeq 27
new sun.misc.FormattedFloatingDecimal
dup
ldc NaN
invokespecial sun.misc.FormattedFloatingDecimal.<init>:(D)V
goto 31
27: .line 1226
StackMap locals:
StackMap stack:
new sun.misc.FormattedFloatingDecimal
dup
iload 1 /* isNegative */
ifeq 29
28: .line 1227
ldc -Infinity
goto 30
29: .line 1228
StackMap locals: java.lang.String int int top int int int int char[] int
StackMap stack: new 27 new 27
ldc Infinity
30: .line 1226
StackMap locals: java.lang.String int int top int int int int char[] int
StackMap stack: new 27 new 27 double
invokespecial sun.misc.FormattedFloatingDecimal.<init>:(D)V
31: .line 1225
StackMap locals:
StackMap stack: sun.misc.FormattedFloatingDecimal
areturn
end local 9 // int j
end local 8 // char[] targetChars
end local 7 // boolean potentialNaN
32: .line 1234
StackMap locals:
StackMap stack:
iload 4 /* c */
bipush 48
if_icmpne 38
33: .line 1235
iload 5 /* l */
iload 6 /* i */
iconst_1
iadd
if_icmple 38
34: .line 1236
aload 0 /* in */
iload 6 /* i */
iconst_1
iadd
invokevirtual java.lang.String.charAt:(I)C
istore 7 /* ch */
start local 7 // char ch
35: .line 1237
iload 7 /* ch */
bipush 120
if_icmpeq 36
iload 7 /* ch */
bipush 88
if_icmpne 38
36: .line 1238
StackMap locals: int
StackMap stack:
aload 0 /* in */
invokestatic sun.misc.FormattedFloatingDecimal.parseHexString:(Ljava/lang/String;)Lsun/misc/FormattedFloatingDecimal;
37: areturn
end local 7 // char ch
38: .line 1242
StackMap locals:
StackMap stack:
iload 5 /* l */
newarray 5
astore 7 /* digits */
start local 7 // char[] digits
39: .line 1243
iconst_0
istore 8 /* nDigits */
start local 8 // int nDigits
40: .line 1244
iconst_0
istore 9 /* decSeen */
start local 9 // boolean decSeen
41: .line 1245
iconst_0
istore 10 /* decPt */
start local 10 // int decPt
42: .line 1246
iconst_0
istore 11 /* nLeadZero */
start local 11 // int nLeadZero
43: .line 1247
iconst_0
istore 12 /* nTrailZero */
start local 12 // int nTrailZero
44: .line 1249
goto 66
45: .line 1250
StackMap locals: java.lang.String int int top int int int char[] int int int int int
StackMap stack:
aload 0 /* in */
iload 6 /* i */
invokevirtual java.lang.String.charAt:(I)C
dup
istore 4 /* c */
tableswitch { // 46 - 57
46: 57
47: 64
48: 46
49: 51
50: 51
51: 51
52: 51
53: 51
54: 51
55: 51
56: 51
57: 51
default: 64
}
46: .line 1252
StackMap locals:
StackMap stack:
iload 8 /* nDigits */
ifle 49
47: .line 1253
iinc 12 /* nTrailZero */ 1
48: .line 1254
goto 65
49: .line 1255
StackMap locals:
StackMap stack:
iinc 11 /* nLeadZero */ 1
50: .line 1257
goto 65
51: .line 1267
StackMap locals:
StackMap stack:
goto 54
52: .line 1268
StackMap locals:
StackMap stack:
aload 7 /* digits */
iload 8 /* nDigits */
iinc 8 /* nDigits */ 1
bipush 48
castore
53: .line 1269
iinc 12 /* nTrailZero */ -1
54: .line 1267
StackMap locals:
StackMap stack:
iload 12 /* nTrailZero */
ifgt 52
55: .line 1271
aload 7 /* digits */
iload 8 /* nDigits */
iinc 8 /* nDigits */ 1
iload 4 /* c */
castore
56: .line 1272
goto 65
57: .line 1274
StackMap locals:
StackMap stack:
iload 9 /* decSeen */
ifeq 59
58: .line 1276
new java.lang.NumberFormatException
dup
ldc "multiple points"
invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
athrow
59: .line 1278
StackMap locals:
StackMap stack:
iload 6 /* i */
istore 10 /* decPt */
60: .line 1279
iload 2 /* signSeen */
ifeq 62
61: .line 1280
iinc 10 /* decPt */ -1
62: .line 1282
StackMap locals:
StackMap stack:
iconst_1
istore 9 /* decSeen */
63: .line 1283
goto 65
64: .line 1285
StackMap locals:
StackMap stack:
goto 67
65: .line 1287
StackMap locals:
StackMap stack:
iinc 6 /* i */ 1
66: .line 1249
StackMap locals:
StackMap stack:
iload 6 /* i */
iload 5 /* l */
if_icmplt 45
67: .line 1308
StackMap locals:
StackMap stack:
iload 8 /* nDigits */
ifne 72
68: .line 1309
getstatic sun.misc.FormattedFloatingDecimal.zero:[C
astore 7 /* digits */
69: .line 1310
iconst_1
istore 8 /* nDigits */
70: .line 1311
iload 11 /* nLeadZero */
ifne 72
71: .line 1315
goto 111
72: .line 1324
StackMap locals:
StackMap stack:
iload 9 /* decSeen */
ifeq 75
73: .line 1325
iload 10 /* decPt */
iload 11 /* nLeadZero */
isub
istore 3 /* decExp */
start local 3 // int decExp
74: .line 1326
goto 76
end local 3 // int decExp
75: .line 1327
StackMap locals:
StackMap stack:
iload 8 /* nDigits */
iload 12 /* nTrailZero */
iadd
istore 3 /* decExp */
start local 3 // int decExp
76: .line 1333
StackMap locals: java.lang.String int int int int int int char[] int int int int int
StackMap stack:
iload 6 /* i */
iload 5 /* l */
if_icmpge 101
aload 0 /* in */
iload 6 /* i */
invokevirtual java.lang.String.charAt:(I)C
dup
istore 4 /* c */
bipush 101
if_icmpeq 77
iload 4 /* c */
bipush 69
if_icmpne 101
77: .line 1334
StackMap locals:
StackMap stack:
iconst_1
istore 13 /* expSign */
start local 13 // int expSign
78: .line 1335
iconst_0
istore 14 /* expVal */
start local 14 // int expVal
79: .line 1336
ldc 214748364
istore 15 /* reallyBig */
start local 15 // int reallyBig
80: .line 1337
iconst_0
istore 16 /* expOverflow */
start local 16 // boolean expOverflow
81: .line 1338
aload 0 /* in */
iinc 6 /* i */ 1
iload 6 /* i */
invokevirtual java.lang.String.charAt:(I)C
tableswitch { // 43 - 45
43: 83
44: 84
45: 82
default: 84
}
82: .line 1340
StackMap locals: java.lang.String int int int int int int char[] int int int int int int int int int
StackMap stack:
iconst_m1
istore 13 /* expSign */
83: .line 1343
StackMap locals:
StackMap stack:
iinc 6 /* i */ 1
84: .line 1345
StackMap locals:
StackMap stack:
iload 6 /* i */
istore 17 /* expAt */
start local 17 // int expAt
85: .line 1347
goto 93
86: .line 1348
StackMap locals: int
StackMap stack:
iload 14 /* expVal */
iload 15 /* reallyBig */
if_icmplt 88
87: .line 1351
iconst_1
istore 16 /* expOverflow */
88: .line 1353
StackMap locals:
StackMap stack:
aload 0 /* in */
iload 6 /* i */
iinc 6 /* i */ 1
invokevirtual java.lang.String.charAt:(I)C
dup
istore 4 /* c */
tableswitch { // 48 - 57
48: 89
49: 89
50: 89
51: 89
52: 89
53: 89
54: 89
55: 89
56: 89
57: 89
default: 91
}
89: .line 1364
StackMap locals:
StackMap stack:
iload 14 /* expVal */
bipush 10
imul
iload 4 /* c */
bipush 48
isub
iadd
istore 14 /* expVal */
90: .line 1365
goto 93
91: .line 1367
StackMap locals:
StackMap stack:
iinc 6 /* i */ -1
92: .line 1368
goto 94
93: .line 1347
StackMap locals:
StackMap stack:
iload 6 /* i */
iload 5 /* l */
if_icmplt 86
94: .line 1371
StackMap locals:
StackMap stack:
sipush 324
iload 8 /* nDigits */
iadd
iload 12 /* nTrailZero */
iadd
istore 18 /* expLimit */
start local 18 // int expLimit
95: .line 1372
iload 16 /* expOverflow */
ifne 96
iload 14 /* expVal */
iload 18 /* expLimit */
if_icmple 98
96: .line 1385
StackMap locals: int
StackMap stack:
iload 13 /* expSign */
iload 18 /* expLimit */
imul
istore 3 /* decExp */
97: .line 1386
goto 99
98: .line 1389
StackMap locals:
StackMap stack:
iload 3 /* decExp */
iload 13 /* expSign */
iload 14 /* expVal */
imul
iadd
istore 3 /* decExp */
99: .line 1398
StackMap locals:
StackMap stack:
iload 6 /* i */
iload 17 /* expAt */
if_icmpne 101
100: .line 1399
goto 111
end local 18 // int expLimit
end local 17 // int expAt
end local 16 // boolean expOverflow
end local 15 // int reallyBig
end local 14 // int expVal
end local 13 // int expSign
101: .line 1405
StackMap locals: java.lang.String int int int int int int char[] int int int int int
StackMap stack:
iload 6 /* i */
iload 5 /* l */
if_icmpge 108
102: .line 1406
iload 6 /* i */
iload 5 /* l */
iconst_1
isub
if_icmpne 111
103: .line 1407
aload 0 /* in */
iload 6 /* i */
invokevirtual java.lang.String.charAt:(I)C
bipush 102
if_icmpeq 108
104: .line 1408
aload 0 /* in */
iload 6 /* i */
invokevirtual java.lang.String.charAt:(I)C
bipush 70
if_icmpeq 108
105: .line 1409
aload 0 /* in */
iload 6 /* i */
invokevirtual java.lang.String.charAt:(I)C
bipush 100
if_icmpeq 108
106: .line 1410
aload 0 /* in */
iload 6 /* i */
invokevirtual java.lang.String.charAt:(I)C
bipush 68
if_icmpeq 108
107: .line 1411
goto 111
108: .line 1414
StackMap locals:
StackMap stack:
new sun.misc.FormattedFloatingDecimal
dup
iload 1 /* isNegative */
iload 3 /* decExp */
aload 7 /* digits */
iload 8 /* nDigits */
iconst_0
ldc 2147483647
getstatic sun.misc.FormattedFloatingDecimal$Form.COMPATIBLE:Lsun/misc/FormattedFloatingDecimal$Form;
invokespecial sun.misc.FormattedFloatingDecimal.<init>:(ZI[CIZILsun/misc/FormattedFloatingDecimal$Form;)V
109: areturn
end local 12 // int nTrailZero
end local 11 // int nLeadZero
end local 10 // int decPt
end local 9 // boolean decSeen
end local 8 // int nDigits
end local 7 // char[] digits
end local 6 // int i
end local 5 // int l
end local 4 // char c
end local 3 // int decExp
110: .line 1415
StackMap locals: java.lang.String int int
StackMap stack: java.lang.StringIndexOutOfBoundsException
pop
111: .line 1416
StackMap locals:
StackMap stack:
new java.lang.NumberFormatException
dup
new java.lang.StringBuilder
dup
ldc "For input string: \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0 /* in */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
athrow
end local 2 // boolean signSeen
end local 1 // boolean isNegative
end local 0 // java.lang.String in
LocalVariableTable:
Start End Slot Name Signature
0 112 0 in Ljava/lang/String;
1 112 1 isNegative Z
2 112 2 signSeen Z
74 75 3 decExp I
76 110 3 decExp I
7 110 4 c C
4 110 5 l I
6 110 6 i I
14 32 7 potentialNaN Z
15 32 8 targetChars [C
21 32 9 j I
35 38 7 ch C
39 110 7 digits [C
40 110 8 nDigits I
41 110 9 decSeen Z
42 110 10 decPt I
43 110 11 nLeadZero I
44 110 12 nTrailZero I
78 101 13 expSign I
79 101 14 expVal I
80 101 15 reallyBig I
81 101 16 expOverflow Z
85 101 17 expAt I
95 101 18 expLimit I
Exception table:
from to target type
2 31 110 Class java.lang.StringIndexOutOfBoundsException
32 37 110 Class java.lang.StringIndexOutOfBoundsException
38 71 110 Class java.lang.StringIndexOutOfBoundsException
72 100 110 Class java.lang.StringIndexOutOfBoundsException
101 107 110 Class java.lang.StringIndexOutOfBoundsException
108 109 110 Class java.lang.StringIndexOutOfBoundsException
Exceptions:
throws java.lang.NumberFormatException
MethodParameters:
Name Flags
in
public double doubleValue();
descriptor: ()D
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=27, args_size=1
start local 0 // sun.misc.FormattedFloatingDecimal this
0: .line 1430
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
bipush 16
invokestatic java.lang.Math.min:(II)I
istore 1 /* kDigits */
start local 1 // int kDigits
1: .line 1436
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.digits:[C
getstatic sun.misc.FormattedFloatingDecimal.infinity:[C
if_acmpeq 2
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.digits:[C
getstatic sun.misc.FormattedFloatingDecimal.notANumber:[C
if_acmpne 7
2: .line 1437
StackMap locals: int
StackMap stack:
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.digits:[C
getstatic sun.misc.FormattedFloatingDecimal.notANumber:[C
if_acmpne 4
3: .line 1438
ldc NaN
dreturn
4: .line 1440
StackMap locals:
StackMap stack:
aload 0 /* this */
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: .line 1443
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.mustSetRoundDir:Z
ifeq 9
8: .line 1444
aload 0 /* this */
iconst_0
putfield sun.misc.FormattedFloatingDecimal.roundDir:I
9: .line 1450
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.digits:[C
iconst_0
caload
bipush 48
isub
istore 10 /* iValue */
start local 10 // int iValue
10: .line 1451
iload 1 /* kDigits */
bipush 9
invokestatic java.lang.Math.min:(II)I
istore 11 /* iDigits */
start local 11 // int iDigits
11: .line 1452
iconst_1
istore 12 /* i */
start local 12 // int i
12: goto 15
13: .line 1453
StackMap locals: sun.misc.FormattedFloatingDecimal int top top top top top top top top int int int
StackMap stack:
iload 10 /* iValue */
bipush 10
imul
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.digits:[C
iload 12 /* i */
caload
iadd
bipush 48
isub
istore 10 /* iValue */
14: .line 1452
iinc 12 /* i */ 1
StackMap locals:
StackMap stack:
15: iload 12 /* i */
iload 11 /* iDigits */
if_icmplt 13
end local 12 // int i
16: .line 1455
iload 10 /* iValue */
i2l
lstore 2 /* lValue */
start local 2 // long lValue
17: .line 1456
iload 11 /* iDigits */
istore 12 /* i */
start local 12 // int i
18: goto 21
19: .line 1457
StackMap locals: sun.misc.FormattedFloatingDecimal int long top top top top top top int int int
StackMap stack:
lload 2 /* lValue */
ldc 10
lmul
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.digits:[C
iload 12 /* i */
caload
bipush 48
isub
i2l
ladd
lstore 2 /* lValue */
20: .line 1456
iinc 12 /* i */ 1
StackMap locals:
StackMap stack:
21: iload 12 /* i */
iload 1 /* kDigits */
if_icmplt 19
end local 12 // int i
22: .line 1459
lload 2 /* lValue */
l2d
dstore 4 /* dValue */
start local 4 // double dValue
23: .line 1460
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.decExponent:I
iload 1 /* kDigits */
isub
istore 12 /* exp */
start local 12 // int exp
24: .line 1467
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
bipush 15
if_icmpgt 65
25: .line 1478
iload 12 /* exp */
ifeq 26
dload 4 /* dValue */
dconst_0
dcmpl
ifne 29
26: .line 1479
StackMap locals: sun.misc.FormattedFloatingDecimal int long double top top top top int int int
StackMap stack:
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.isNegative:Z
ifeq 27
dload 4 /* dValue */
dneg
goto 28
StackMap locals:
StackMap stack:
27: dload 4 /* dValue */
StackMap locals:
StackMap stack: double
28: dreturn
29: .line 1480
StackMap locals:
StackMap stack:
iload 12 /* exp */
iflt 54
30: .line 1481
iload 12 /* exp */
getstatic sun.misc.FormattedFloatingDecimal.maxSmallTen:I
if_icmpgt 41
31: .line 1486
dload 4 /* dValue */
getstatic sun.misc.FormattedFloatingDecimal.small10pow:[D
iload 12 /* exp */
daload
dmul
dstore 6 /* rValue */
start local 6 // double rValue
32: .line 1487
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.mustSetRoundDir:Z
ifeq 38
33: .line 1488
dload 6 /* rValue */
getstatic sun.misc.FormattedFloatingDecimal.small10pow:[D
iload 12 /* exp */
daload
ddiv
dstore 8 /* tValue */
start local 8 // double tValue
34: .line 1489
aload 0 /* this */
dload 8 /* tValue */
dload 4 /* dValue */
dcmpl
ifne 35
iconst_0
goto 37
35: .line 1490
StackMap locals: sun.misc.FormattedFloatingDecimal int long double double double int int int
StackMap stack: sun.misc.FormattedFloatingDecimal
dload 8 /* tValue */
dload 4 /* dValue */
dcmpg
ifge 36
iconst_1
goto 37
36: .line 1491
StackMap locals:
StackMap stack: sun.misc.FormattedFloatingDecimal
iconst_m1
37: .line 1489
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 // double tValue
38: .line 1493
StackMap locals: sun.misc.FormattedFloatingDecimal int long double double top top int int int
StackMap stack:
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.isNegative:Z
ifeq 39
dload 6 /* rValue */
dneg
goto 40
StackMap locals:
StackMap stack:
39: dload 6 /* rValue */
StackMap locals:
StackMap stack: double
40: dreturn
end local 6 // double rValue
41: .line 1495
StackMap locals: sun.misc.FormattedFloatingDecimal int long double top top top top int int int
StackMap stack:
bipush 15
iload 1 /* kDigits */
isub
istore 13 /* slop */
start local 13 // int slop
42: .line 1496
iload 12 /* exp */
getstatic sun.misc.FormattedFloatingDecimal.maxSmallTen:I
iload 13 /* slop */
iadd
if_icmpgt 65
43: .line 1503
dload 4 /* dValue */
getstatic sun.misc.FormattedFloatingDecimal.small10pow:[D
iload 13 /* slop */
daload
dmul
dstore 4 /* dValue */
44: .line 1504
dload 4 /* dValue */
getstatic sun.misc.FormattedFloatingDecimal.small10pow:[D
iload 12 /* exp */
iload 13 /* slop */
isub
daload
dmul
dstore 6 /* rValue */
start local 6 // double rValue
45: .line 1506
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.mustSetRoundDir:Z
ifeq 51
46: .line 1507
dload 6 /* rValue */
getstatic sun.misc.FormattedFloatingDecimal.small10pow:[D
iload 12 /* exp */
iload 13 /* slop */
isub
daload
ddiv
dstore 8 /* tValue */
start local 8 // double tValue
47: .line 1508
aload 0 /* this */
dload 8 /* tValue */
dload 4 /* dValue */
dcmpl
ifne 48
iconst_0
goto 50
48: .line 1509
StackMap locals: sun.misc.FormattedFloatingDecimal int long double double double int int int int
StackMap stack: sun.misc.FormattedFloatingDecimal
dload 8 /* tValue */
dload 4 /* dValue */
dcmpg
ifge 49
iconst_1
goto 50
49: .line 1510
StackMap locals:
StackMap stack: sun.misc.FormattedFloatingDecimal
iconst_m1
50: .line 1508
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 // double tValue
51: .line 1512
StackMap locals: sun.misc.FormattedFloatingDecimal int long double double top top int int int int
StackMap stack:
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.isNegative:Z
ifeq 52
dload 6 /* rValue */
dneg
goto 53
StackMap locals:
StackMap stack:
52: dload 6 /* rValue */
StackMap locals:
StackMap stack: double
53: dreturn
end local 13 // int slop
end local 6 // double rValue
54: .line 1518
StackMap locals: sun.misc.FormattedFloatingDecimal int long double top top top top int int int
StackMap stack:
iload 12 /* exp */
getstatic sun.misc.FormattedFloatingDecimal.maxSmallTen:I
ineg
if_icmplt 65
55: .line 1522
dload 4 /* dValue */
getstatic sun.misc.FormattedFloatingDecimal.small10pow:[D
iload 12 /* exp */
ineg
daload
ddiv
dstore 6 /* rValue */
start local 6 // double rValue
56: .line 1523
dload 6 /* rValue */
getstatic sun.misc.FormattedFloatingDecimal.small10pow:[D
iload 12 /* exp */
ineg
daload
dmul
dstore 8 /* tValue */
start local 8 // double tValue
57: .line 1524
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.mustSetRoundDir:Z
ifeq 62
58: .line 1525
aload 0 /* this */
dload 8 /* tValue */
dload 4 /* dValue */
dcmpl
ifne 59
iconst_0
goto 61
59: .line 1526
StackMap locals: sun.misc.FormattedFloatingDecimal int long double double double int int int
StackMap stack: sun.misc.FormattedFloatingDecimal
dload 8 /* tValue */
dload 4 /* dValue */
dcmpg
ifge 60
iconst_1
goto 61
60: .line 1527
StackMap locals:
StackMap stack: sun.misc.FormattedFloatingDecimal
iconst_m1
61: .line 1525
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: .line 1529
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.isNegative:Z
ifeq 63
dload 6 /* rValue */
dneg
goto 64
StackMap locals:
StackMap stack:
63: dload 6 /* rValue */
StackMap locals:
StackMap stack: double
64: dreturn
end local 8 // double tValue
end local 6 // double rValue
65: .line 1545
StackMap locals: sun.misc.FormattedFloatingDecimal int long double top top top top int int int
StackMap stack:
iload 12 /* exp */
ifle 90
66: .line 1546
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.decExponent:I
sipush 309
if_icmple 70
67: .line 1551
aload 0 /* this */
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: .line 1553
StackMap locals:
StackMap stack:
iload 12 /* exp */
bipush 15
iand
ifeq 72
71: .line 1554
dload 4 /* dValue */
getstatic sun.misc.FormattedFloatingDecimal.small10pow:[D
iload 12 /* exp */
bipush 15
iand
daload
dmul
dstore 4 /* dValue */
72: .line 1556
StackMap locals:
StackMap stack:
iload 12 /* exp */
iconst_4
ishr
dup
istore 12 /* exp */
ifeq 115
73: .line 1558
iconst_0
istore 13 /* j */
start local 13 // int j
74: goto 78
75: .line 1559
StackMap locals: int
StackMap stack:
iload 12 /* exp */
iconst_1
iand
ifeq 77
76: .line 1560
dload 4 /* dValue */
getstatic sun.misc.FormattedFloatingDecimal.big10pow:[D
iload 13 /* j */
daload
dmul
dstore 4 /* dValue */
77: .line 1558
StackMap locals:
StackMap stack:
iinc 13 /* j */ 1
iload 12 /* exp */
iconst_1
ishr
istore 12 /* exp */
StackMap locals:
StackMap stack:
78: iload 12 /* exp */
iconst_1
if_icmpgt 75
79: .line 1568
dload 4 /* dValue */
getstatic sun.misc.FormattedFloatingDecimal.big10pow:[D
iload 13 /* j */
daload
dmul
dstore 14 /* t */
start local 14 // double t
80: .line 1569
dload 14 /* t */
invokestatic java.lang.Double.isInfinite:(D)Z
ifeq 88
81: .line 1582
dload 4 /* dValue */
ldc 2.0
ddiv
dstore 14 /* t */
82: .line 1583
dload 14 /* t */
getstatic sun.misc.FormattedFloatingDecimal.big10pow:[D
iload 13 /* j */
daload
dmul
dstore 14 /* t */
83: .line 1584
dload 14 /* t */
invokestatic java.lang.Double.isInfinite:(D)Z
ifeq 87
84: .line 1585
aload 0 /* this */
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: .line 1587
StackMap locals:
StackMap stack:
ldc 1.7976931348623157E308
dstore 14 /* t */
88: .line 1589
StackMap locals:
StackMap stack:
dload 14 /* t */
dstore 4 /* dValue */
end local 14 // double t
end local 13 // int j
89: .line 1591
goto 115
StackMap locals:
StackMap stack:
90: iload 12 /* exp */
ifge 115
91: .line 1592
iload 12 /* exp */
ineg
istore 12 /* exp */
92: .line 1593
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.decExponent:I
sipush -325
if_icmpge 96
93: .line 1598
aload 0 /* this */
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: .line 1600
StackMap locals:
StackMap stack:
iload 12 /* exp */
bipush 15
iand
ifeq 98
97: .line 1601
dload 4 /* dValue */
getstatic sun.misc.FormattedFloatingDecimal.small10pow:[D
iload 12 /* exp */
bipush 15
iand
daload
ddiv
dstore 4 /* dValue */
98: .line 1603
StackMap locals:
StackMap stack:
iload 12 /* exp */
iconst_4
ishr
dup
istore 12 /* exp */
ifeq 115
99: .line 1605
iconst_0
istore 13 /* j */
start local 13 // int j
100: goto 104
101: .line 1606
StackMap locals: int
StackMap stack:
iload 12 /* exp */
iconst_1
iand
ifeq 103
102: .line 1607
dload 4 /* dValue */
getstatic sun.misc.FormattedFloatingDecimal.tiny10pow:[D
iload 13 /* j */
daload
dmul
dstore 4 /* dValue */
103: .line 1605
StackMap locals:
StackMap stack:
iinc 13 /* j */ 1
iload 12 /* exp */
iconst_1
ishr
istore 12 /* exp */
StackMap locals:
StackMap stack:
104: iload 12 /* exp */
iconst_1
if_icmpgt 101
105: .line 1615
dload 4 /* dValue */
getstatic sun.misc.FormattedFloatingDecimal.tiny10pow:[D
iload 13 /* j */
daload
dmul
dstore 14 /* t */
start local 14 // double t
106: .line 1616
dload 14 /* t */
dconst_0
dcmpl
ifne 114
107: .line 1629
dload 4 /* dValue */
ldc 2.0
dmul
dstore 14 /* t */
108: .line 1630
dload 14 /* t */
getstatic sun.misc.FormattedFloatingDecimal.tiny10pow:[D
iload 13 /* j */
daload
dmul
dstore 14 /* t */
109: .line 1631
dload 14 /* t */
dconst_0
dcmpl
ifne 113
110: .line 1632
aload 0 /* this */
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: .line 1634
StackMap locals:
StackMap stack:
ldc 4.9E-324
dstore 14 /* t */
114: .line 1636
StackMap locals:
StackMap stack:
dload 14 /* t */
dstore 4 /* dValue */
end local 14 // double t
end local 13 // int j
115: .line 1647
StackMap locals:
StackMap stack:
new sun.misc.FDBigInt
dup
lload 2 /* lValue */
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.digits:[C
iload 1 /* kDigits */
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
invokespecial sun.misc.FDBigInt.<init>:(J[CII)V
astore 13 /* bigD0 */
start local 13 // sun.misc.FDBigInt bigD0
116: .line 1648
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.decExponent:I
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
isub
istore 12 /* exp */
117: .line 1655
StackMap locals: sun.misc.FDBigInt
StackMap stack:
aload 0 /* this */
dload 4 /* dValue */
invokevirtual sun.misc.FormattedFloatingDecimal.doubleToBigInt:(D)Lsun/misc/FDBigInt;
astore 14 /* bigB */
start local 14 // sun.misc.FDBigInt bigB
118: .line 1669
iload 12 /* exp */
iflt 124
119: .line 1670
iconst_0
dup
istore 16 /* B5 */
start local 16 // int B5
120: istore 15 /* B2 */
start local 15 // int B2
121: .line 1671
iload 12 /* exp */
dup
istore 18 /* D5 */
start local 18 // int D5
122: istore 17 /* D2 */
start local 17 // int D2
123: .line 1672
goto 128
end local 18 // int D5
end local 17 // int D2
end local 16 // int B5
end local 15 // int B2
124: .line 1673
StackMap locals: sun.misc.FDBigInt
StackMap stack:
iload 12 /* exp */
ineg
dup
istore 16 /* B5 */
start local 16 // int B5
125: istore 15 /* B2 */
start local 15 // int B2
126: .line 1674
iconst_0
dup
istore 18 /* D5 */
start local 18 // int D5
127: istore 17 /* D2 */
start local 17 // int D2
128: .line 1676
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 /* this */
getfield sun.misc.FormattedFloatingDecimal.bigIntExp:I
iflt 131
129: .line 1677
iload 15 /* B2 */
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.bigIntExp:I
iadd
istore 15 /* B2 */
130: .line 1678
goto 132
131: .line 1679
StackMap locals:
StackMap stack:
iload 17 /* D2 */
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.bigIntExp:I
isub
istore 17 /* D2 */
132: .line 1681
StackMap locals:
StackMap stack:
iload 15 /* B2 */
istore 19 /* Ulp2 */
start local 19 // int Ulp2
133: .line 1685
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.bigIntExp:I
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.bigIntNBits:I
iadd
sipush -1022
if_icmpgt 136
134: .line 1689
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.bigIntExp:I
sipush 1023
iadd
bipush 52
iadd
istore 20 /* hulpbias */
start local 20 // int hulpbias
135: .line 1690
goto 137
end local 20 // int hulpbias
136: .line 1691
StackMap locals: int
StackMap stack:
bipush 54
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.bigIntNBits:I
isub
istore 20 /* hulpbias */
start local 20 // int hulpbias
137: .line 1693
StackMap locals: int
StackMap stack:
iload 15 /* B2 */
iload 20 /* hulpbias */
iadd
istore 15 /* B2 */
138: .line 1694
iload 17 /* D2 */
iload 20 /* hulpbias */
iadd
istore 17 /* D2 */
139: .line 1697
iload 15 /* B2 */
iload 17 /* D2 */
iload 19 /* Ulp2 */
invokestatic java.lang.Math.min:(II)I
invokestatic java.lang.Math.min:(II)I
istore 21 /* common2 */
start local 21 // int common2
140: .line 1698
iload 15 /* B2 */
iload 21 /* common2 */
isub
istore 15 /* B2 */
141: .line 1699
iload 17 /* D2 */
iload 21 /* common2 */
isub
istore 17 /* D2 */
142: .line 1700
iload 19 /* Ulp2 */
iload 21 /* common2 */
isub
istore 19 /* Ulp2 */
143: .line 1702
aload 14 /* bigB */
iload 16 /* B5 */
iload 15 /* B2 */
invokestatic sun.misc.FormattedFloatingDecimal.multPow52:(Lsun/misc/FDBigInt;II)Lsun/misc/FDBigInt;
astore 14 /* bigB */
144: .line 1703
new sun.misc.FDBigInt
dup
aload 13 /* bigD0 */
invokespecial sun.misc.FDBigInt.<init>:(Lsun/misc/FDBigInt;)V
iload 18 /* D5 */
iload 17 /* D2 */
invokestatic sun.misc.FormattedFloatingDecimal.multPow52:(Lsun/misc/FDBigInt;II)Lsun/misc/FDBigInt;
astore 22 /* bigD */
start local 22 // sun.misc.FDBigInt bigD
145: .line 1721
aload 14 /* bigB */
aload 22 /* bigD */
invokevirtual sun.misc.FDBigInt.cmp:(Lsun/misc/FDBigInt;)I
dup
istore 24 /* cmpResult */
start local 24 // int cmpResult
146: ifle 155
147: .line 1722
iconst_1
istore 25 /* overvalue */
start local 25 // boolean overvalue
148: .line 1723
aload 14 /* bigB */
aload 22 /* bigD */
invokevirtual sun.misc.FDBigInt.sub:(Lsun/misc/FDBigInt;)Lsun/misc/FDBigInt;
astore 23 /* diff */
start local 23 // sun.misc.FDBigInt diff
149: .line 1724
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.bigIntNBits:I
iconst_1
if_icmpne 158
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.bigIntExp:I
sipush -1023
if_icmple 158
150: .line 1729
iinc 19 /* Ulp2 */ -1
151: .line 1730
iload 19 /* Ulp2 */
ifge 158
152: .line 1733
iconst_0
istore 19 /* Ulp2 */
153: .line 1734
aload 23 /* diff */
iconst_1
invokevirtual sun.misc.FDBigInt.lshiftMe:(I)V
154: .line 1737
goto 158
end local 25 // boolean overvalue
end local 23 // sun.misc.FDBigInt diff
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 /* cmpResult */
ifge 174
156: .line 1738
iconst_0
istore 25 /* overvalue */
start local 25 // boolean overvalue
157: .line 1739
aload 22 /* bigD */
aload 14 /* bigB */
invokevirtual sun.misc.FDBigInt.sub:(Lsun/misc/FDBigInt;)Lsun/misc/FDBigInt;
astore 23 /* diff */
start local 23 // sun.misc.FDBigInt diff
158: .line 1745
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 /* B5 */
iload 19 /* Ulp2 */
invokestatic sun.misc.FormattedFloatingDecimal.constructPow52:(II)Lsun/misc/FDBigInt;
astore 26 /* halfUlp */
start local 26 // sun.misc.FDBigInt halfUlp
159: .line 1746
aload 23 /* diff */
aload 26 /* halfUlp */
invokevirtual sun.misc.FDBigInt.cmp:(Lsun/misc/FDBigInt;)I
dup
istore 24 /* cmpResult */
ifge 165
160: .line 1749
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.mustSetRoundDir:Z
ifeq 174
161: .line 1750
aload 0 /* this */
iload 25 /* overvalue */
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: .line 1752
goto 174
165: .line 1753
StackMap locals:
StackMap stack:
iload 24 /* cmpResult */
ifne 172
166: .line 1756
dload 4 /* dValue */
ldc 0.5
dload 4 /* dValue */
iload 25 /* overvalue */
invokestatic sun.misc.FormattedFloatingDecimal.ulp:(DZ)D
dmul
dadd
dstore 4 /* dValue */
167: .line 1758
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.mustSetRoundDir:Z
ifeq 174
168: .line 1759
aload 0 /* this */
iload 25 /* overvalue */
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: .line 1761
goto 174
172: .line 1767
StackMap locals:
StackMap stack:
dload 4 /* dValue */
dload 4 /* dValue */
iload 25 /* overvalue */
invokestatic sun.misc.FormattedFloatingDecimal.ulp:(DZ)D
dadd
dstore 4 /* dValue */
173: .line 1768
dload 4 /* dValue */
dconst_0
dcmpl
ifeq 174
dload 4 /* dValue */
ldc Infinity
dcmpl
ifne 117
end local 26 // sun.misc.FDBigInt halfUlp
end local 25 // boolean overvalue
end local 24 // int cmpResult
end local 23 // sun.misc.FDBigInt diff
end local 22 // sun.misc.FDBigInt bigD
end local 21 // int common2
end local 20 // int hulpbias
end local 19 // int Ulp2
end local 18 // int D5
end local 17 // int D2
end local 16 // int B5
end local 15 // int B2
end local 14 // sun.misc.FDBigInt bigB
174: .line 1774
StackMap locals: sun.misc.FormattedFloatingDecimal int long double top top top top int int int sun.misc.FDBigInt
StackMap stack:
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.isNegative:Z
ifeq 175
dload 4 /* dValue */
dneg
goto 176
StackMap locals:
StackMap stack:
175: dload 4 /* dValue */
StackMap locals:
StackMap stack: double
176: dreturn
end local 13 // sun.misc.FDBigInt bigD0
end local 12 // int exp
end local 11 // int iDigits
end local 10 // int iValue
end local 4 // double dValue
end local 2 // long lValue
end local 1 // int kDigits
end local 0 // sun.misc.FormattedFloatingDecimal this
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 float floatValue();
descriptor: ()F
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=9, args_size=1
start local 0 // sun.misc.FormattedFloatingDecimal this
0: .line 1790
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
bipush 8
invokestatic java.lang.Math.min:(II)I
istore 1 /* kDigits */
start local 1 // int kDigits
1: .line 1795
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.digits:[C
getstatic sun.misc.FormattedFloatingDecimal.infinity:[C
if_acmpeq 2
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.digits:[C
getstatic sun.misc.FormattedFloatingDecimal.notANumber:[C
if_acmpne 7
2: .line 1796
StackMap locals: int
StackMap stack:
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.digits:[C
getstatic sun.misc.FormattedFloatingDecimal.notANumber:[C
if_acmpne 4
3: .line 1797
ldc NaN
freturn
4: .line 1799
StackMap locals:
StackMap stack:
aload 0 /* this */
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: .line 1805
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.digits:[C
iconst_0
caload
bipush 48
isub
istore 2 /* iValue */
start local 2 // int iValue
8: .line 1806
iconst_1
istore 4 /* i */
start local 4 // int i
9: goto 12
10: .line 1807
StackMap locals: sun.misc.FormattedFloatingDecimal int int top int
StackMap stack:
iload 2 /* iValue */
bipush 10
imul
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.digits:[C
iload 4 /* i */
caload
iadd
bipush 48
isub
istore 2 /* iValue */
11: .line 1806
iinc 4 /* i */ 1
StackMap locals:
StackMap stack:
12: iload 4 /* i */
iload 1 /* kDigits */
if_icmplt 10
end local 4 // int i
13: .line 1809
iload 2 /* iValue */
i2f
fstore 3 /* fValue */
start local 3 // float fValue
14: .line 1810
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.decExponent:I
iload 1 /* kDigits */
isub
istore 4 /* exp */
start local 4 // int exp
15: .line 1817
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
bipush 7
if_icmpgt 38
16: .line 1828
iload 4 /* exp */
ifeq 17
fload 3 /* fValue */
fconst_0
fcmpl
ifne 20
17: .line 1829
StackMap locals: sun.misc.FormattedFloatingDecimal int int float int
StackMap stack:
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.isNegative:Z
ifeq 18
fload 3 /* fValue */
fneg
goto 19
StackMap locals:
StackMap stack:
18: fload 3 /* fValue */
StackMap locals:
StackMap stack: float
19: freturn
20: .line 1830
StackMap locals:
StackMap stack:
iload 4 /* exp */
iflt 33
21: .line 1831
iload 4 /* exp */
getstatic sun.misc.FormattedFloatingDecimal.singleMaxSmallTen:I
if_icmpgt 26
22: .line 1836
fload 3 /* fValue */
getstatic sun.misc.FormattedFloatingDecimal.singleSmall10pow:[F
iload 4 /* exp */
faload
fmul
fstore 3 /* fValue */
23: .line 1837
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.isNegative:Z
ifeq 24
fload 3 /* fValue */
fneg
goto 25
StackMap locals:
StackMap stack:
24: fload 3 /* fValue */
StackMap locals:
StackMap stack: float
25: freturn
26: .line 1839
StackMap locals:
StackMap stack:
bipush 7
iload 1 /* kDigits */
isub
istore 5 /* slop */
start local 5 // int slop
27: .line 1840
iload 4 /* exp */
getstatic sun.misc.FormattedFloatingDecimal.singleMaxSmallTen:I
iload 5 /* slop */
iadd
if_icmpgt 52
28: .line 1847
fload 3 /* fValue */
getstatic sun.misc.FormattedFloatingDecimal.singleSmall10pow:[F
iload 5 /* slop */
faload
fmul
fstore 3 /* fValue */
29: .line 1848
fload 3 /* fValue */
getstatic sun.misc.FormattedFloatingDecimal.singleSmall10pow:[F
iload 4 /* exp */
iload 5 /* slop */
isub
faload
fmul
fstore 3 /* fValue */
30: .line 1849
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.isNegative:Z
ifeq 31
fload 3 /* fValue */
fneg
goto 32
StackMap locals: int
StackMap stack:
31: fload 3 /* fValue */
StackMap locals:
StackMap stack: float
32: freturn
end local 5 // int slop
33: .line 1855
StackMap locals:
StackMap stack:
iload 4 /* exp */
getstatic sun.misc.FormattedFloatingDecimal.singleMaxSmallTen:I
ineg
if_icmplt 52
34: .line 1859
fload 3 /* fValue */
getstatic sun.misc.FormattedFloatingDecimal.singleSmall10pow:[F
iload 4 /* exp */
ineg
faload
fdiv
fstore 3 /* fValue */
35: .line 1860
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.isNegative:Z
ifeq 36
fload 3 /* fValue */
fneg
goto 37
StackMap locals:
StackMap stack:
36: fload 3 /* fValue */
StackMap locals:
StackMap stack: float
37: freturn
38: .line 1866
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.decExponent:I
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
if_icmplt 52
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.decExponent:I
iadd
bipush 15
if_icmpgt 52
39: .line 1876
iload 2 /* iValue */
i2l
lstore 5 /* lValue */
start local 5 // long lValue
40: .line 1877
iload 1 /* kDigits */
istore 7 /* i */
start local 7 // int i
41: goto 44
42: .line 1878
StackMap locals: long int
StackMap stack:
lload 5 /* lValue */
ldc 10
lmul
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.digits:[C
iload 7 /* i */
caload
bipush 48
isub
i2l
ladd
lstore 5 /* lValue */
43: .line 1877
iinc 7 /* i */ 1
StackMap locals:
StackMap stack:
44: iload 7 /* i */
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
if_icmplt 42
end local 7 // int i
45: .line 1880
lload 5 /* lValue */
l2d
dstore 7 /* dValue */
start local 7 // double dValue
46: .line 1881
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.decExponent:I
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.nDigits:I
isub
istore 4 /* exp */
47: .line 1882
dload 7 /* dValue */
getstatic sun.misc.FormattedFloatingDecimal.small10pow:[D
iload 4 /* exp */
daload
dmul
dstore 7 /* dValue */
48: .line 1883
dload 7 /* dValue */
d2f
fstore 3 /* fValue */
49: .line 1884
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.isNegative:Z
ifeq 50
fload 3 /* fValue */
fneg
goto 51
StackMap locals: sun.misc.FormattedFloatingDecimal int int float int long double
StackMap stack:
50: fload 3 /* fValue */
StackMap locals:
StackMap stack: float
51: freturn
end local 7 // double dValue
end local 5 // long lValue
52: .line 1896
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.decExponent:I
bipush 39
if_icmple 56
53: .line 1901
aload 0 /* this */
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: .line 1902
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.misc.FormattedFloatingDecimal.decExponent:I
bipush -46
if_icmpge 60
57: .line 1907
aload 0 /* this */
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: .line 1922
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 0 /* this */
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: .line 1923
aload 0 /* this */
invokevirtual sun.misc.FormattedFloatingDecimal.doubleValue:()D
dstore 5 /* dValue */
start local 5 // double dValue
64: .line 1924
aload 0 /* this */
dload 5 /* dValue */
invokevirtual sun.misc.FormattedFloatingDecimal.stickyRound:(D)F
freturn
end local 5 // double dValue
end local 4 // int exp
end local 3 // float fValue
end local 2 // int iValue
end local 1 // int kDigits
end local 0 // sun.misc.FormattedFloatingDecimal this
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 sun.misc.FormattedFloatingDecimal parseHexString(java.lang.String);
descriptor: (Ljava/lang/String;)Lsun/misc/FormattedFloatingDecimal;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=28, args_size=1
start local 0 // java.lang.String s
0: .line 2057
getstatic sun.misc.FormattedFloatingDecimal.hexFloatPattern:Ljava/util/regex/Pattern;
aload 0 /* s */
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
astore 1 /* m */
start local 1 // java.util.regex.Matcher m
1: .line 2058
aload 1 /* m */
invokevirtual java.util.regex.Matcher.matches:()Z
istore 2 /* validInput */
start local 2 // boolean validInput
2: .line 2060
iload 2 /* validInput */
ifne 4
3: .line 2062
new java.lang.NumberFormatException
dup
new java.lang.StringBuilder
dup
ldc "For input string: \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0 /* s */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
athrow
4: .line 2089
StackMap locals: java.util.regex.Matcher int
StackMap stack:
aload 1 /* m */
iconst_1
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
astore 3 /* group1 */
start local 3 // java.lang.String group1
5: .line 2090
aload 3 /* group1 */
ifnull 6
aload 3 /* group1 */
ldc "+"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 7
StackMap locals: java.lang.String
StackMap stack:
6: dconst_1
goto 8
StackMap locals:
StackMap stack:
7: ldc -1.0
StackMap locals:
StackMap stack: double
8: dstore 4 /* sign */
start local 4 // double sign
9: .line 2122
aconst_null
astore 6 /* significandString */
start local 6 // java.lang.String significandString
10: .line 2123
iconst_0
istore 7 /* signifLength */
start local 7 // int signifLength
11: .line 2124
iconst_0
istore 8 /* exponentAdjust */
start local 8 // int exponentAdjust
12: .line 2126
iconst_0
istore 9 /* leftDigits */
start local 9 // int leftDigits
13: .line 2129
iconst_0
istore 10 /* rightDigits */
start local 10 // int rightDigits
14: .line 2143
aload 1 /* m */
iconst_4
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
dup
astore 11 /* group4 */
start local 11 // java.lang.String group4
15: ifnull 19
16: .line 2145
aload 11 /* group4 */
invokestatic sun.misc.FormattedFloatingDecimal.stripLeadingZeros:(Ljava/lang/String;)Ljava/lang/String;
astore 6 /* significandString */
17: .line 2146
aload 6 /* significandString */
invokevirtual java.lang.String.length:()I
istore 9 /* leftDigits */
18: .line 2147
goto 29
19: .line 2151
StackMap locals: java.lang.String java.util.regex.Matcher int java.lang.String double java.lang.String int int int int java.lang.String
StackMap stack:
aload 1 /* m */
bipush 6
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
invokestatic sun.misc.FormattedFloatingDecimal.stripLeadingZeros:(Ljava/lang/String;)Ljava/lang/String;
astore 12 /* group6 */
start local 12 // java.lang.String group6
20: .line 2152
aload 12 /* group6 */
invokevirtual java.lang.String.length:()I
istore 9 /* leftDigits */
21: .line 2155
aload 1 /* m */
bipush 7
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
astore 13 /* group7 */
start local 13 // java.lang.String group7
22: .line 2156
aload 13 /* group7 */
invokevirtual java.lang.String.length:()I
istore 10 /* rightDigits */
23: .line 2160
new java.lang.StringBuilder
dup
aload 12 /* group6 */
ifnonnull 24
ldc ""
goto 25
StackMap locals: java.lang.String java.util.regex.Matcher int java.lang.String double java.lang.String int int int int java.lang.String java.lang.String java.lang.String
StackMap stack: new 23 new 23
24: aload 12 /* group6 */
StackMap locals: java.lang.String java.util.regex.Matcher int java.lang.String double java.lang.String int int int int java.lang.String java.lang.String java.lang.String
StackMap stack: new 23 new 23 java.lang.String
25: invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
26: .line 2162
aload 13 /* group7 */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
27: .line 2160
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
28: .line 2159
astore 6 /* significandString */
end local 13 // java.lang.String group7
end local 12 // java.lang.String group6
29: .line 2165
StackMap locals:
StackMap stack:
aload 6 /* significandString */
invokestatic sun.misc.FormattedFloatingDecimal.stripLeadingZeros:(Ljava/lang/String;)Ljava/lang/String;
astore 6 /* significandString */
30: .line 2166
aload 6 /* significandString */
invokevirtual java.lang.String.length:()I
istore 7 /* signifLength */
31: .line 2171
iload 9 /* leftDigits */
iconst_1
if_icmplt 34
32: .line 2172
iconst_4
iload 9 /* leftDigits */
iconst_1
isub
imul
istore 8 /* exponentAdjust */
33: .line 2173
goto 35
34: .line 2174
StackMap locals:
StackMap stack:
bipush -4
iload 10 /* rightDigits */
iload 7 /* signifLength */
isub
iconst_1
iadd
imul
istore 8 /* exponentAdjust */
35: .line 2180
StackMap locals:
StackMap stack:
iload 7 /* signifLength */
ifne 37
36: .line 2181
new sun.misc.FormattedFloatingDecimal
dup
dload 4 /* sign */
dconst_0
dmul
invokespecial sun.misc.FormattedFloatingDecimal.<init>:(D)V
areturn
end local 11 // java.lang.String group4
end local 10 // int rightDigits
end local 9 // int leftDigits
37: .line 2193
StackMap locals:
StackMap stack:
aload 1 /* m */
bipush 8
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
astore 9 /* group8 */
start local 9 // java.lang.String group8
38: .line 2194
aload 9 /* group8 */
ifnull 39
aload 9 /* group8 */
ldc "+"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 39
iconst_0
goto 40
StackMap locals: java.lang.String
StackMap stack:
39: iconst_1
StackMap locals:
StackMap stack: int
40: istore 10 /* positiveExponent */
start local 10 // boolean positiveExponent
41: .line 2197
aload 1 /* m */
bipush 9
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
i2l
lstore 11 /* unsignedRawExponent */
start local 11 // long unsignedRawExponent
42: .line 2198
goto 49
end local 11 // long unsignedRawExponent
43: .line 2199
StackMap locals: java.lang.String java.util.regex.Matcher int java.lang.String double java.lang.String int int java.lang.String int
StackMap stack: java.lang.NumberFormatException
pop
44: .line 2213
new sun.misc.FormattedFloatingDecimal
dup
dload 4 /* sign */
iload 10 /* positiveExponent */
ifeq 46
45: .line 2214
ldc Infinity
goto 47
StackMap locals: java.lang.String java.util.regex.Matcher int java.lang.String double java.lang.String int int java.lang.String int
StackMap stack: new 44 new 44 double
46: dconst_0
StackMap locals: java.lang.String java.util.regex.Matcher int java.lang.String double java.lang.String int int java.lang.String int
StackMap stack: new 44 new 44 double double
47: dmul
48: .line 2213
invokespecial sun.misc.FormattedFloatingDecimal.<init>:(D)V
areturn
start local 11 // long unsignedRawExponent
49: .line 2218
StackMap locals: long
StackMap stack:
iload 10 /* positiveExponent */
ifeq 50
lconst_1
goto 51
StackMap locals:
StackMap stack:
50: ldc -1
51: .line 2219
StackMap locals:
StackMap stack: long
lload 11 /* unsignedRawExponent */
52: .line 2218
lmul
53: .line 2217
lstore 13 /* rawExponent */
start local 13 // long rawExponent
54: .line 2222
lload 13 /* rawExponent */
iload 8 /* exponentAdjust */
i2l
ladd
lstore 15 /* exponent */
start local 15 // long exponent
55: .line 2228
iconst_0
istore 17 /* round */
start local 17 // boolean round
56: .line 2229
iconst_0
istore 18 /* sticky */
start local 18 // boolean sticky
57: .line 2231
iconst_0
istore 19 /* nextShift */
start local 19 // int nextShift
58: .line 2232
lconst_0
lstore 20 /* significand */
start local 20 // long significand
59: .line 2239
aload 6 /* significandString */
iconst_0
invokestatic sun.misc.FormattedFloatingDecimal.getHexDigit:(Ljava/lang/String;I)I
i2l
lstore 22 /* leadingDigit */
start local 22 // long leadingDigit
60: .line 2250
lload 22 /* leadingDigit */
lconst_1
lcmp
ifne 64
61: .line 2251
lload 20 /* significand */
lload 22 /* leadingDigit */
bipush 52
lshl
lor
lstore 20 /* significand */
62: .line 2252
bipush 48
istore 19 /* nextShift */
63: .line 2253
goto 80
64: .line 2254
StackMap locals: java.lang.String java.util.regex.Matcher int java.lang.String double java.lang.String int int java.lang.String int long long long int int int long long
StackMap stack:
lload 22 /* leadingDigit */
ldc 3
lcmp
ifgt 69
65: .line 2255
lload 20 /* significand */
lload 22 /* leadingDigit */
bipush 51
lshl
lor
lstore 20 /* significand */
66: .line 2256
bipush 47
istore 19 /* nextShift */
67: .line 2257
lload 15 /* exponent */
lconst_1
ladd
lstore 15 /* exponent */
68: .line 2258
goto 80
69: .line 2259
StackMap locals:
StackMap stack:
lload 22 /* leadingDigit */
ldc 7
lcmp
ifgt 74
70: .line 2260
lload 20 /* significand */
lload 22 /* leadingDigit */
bipush 50
lshl
lor
lstore 20 /* significand */
71: .line 2261
bipush 46
istore 19 /* nextShift */
72: .line 2262
lload 15 /* exponent */
ldc 2
ladd
lstore 15 /* exponent */
73: .line 2263
goto 80
74: .line 2264
StackMap locals:
StackMap stack:
lload 22 /* leadingDigit */
ldc 15
lcmp
ifgt 79
75: .line 2265
lload 20 /* significand */
lload 22 /* leadingDigit */
bipush 49
lshl
lor
lstore 20 /* significand */
76: .line 2266
bipush 45
istore 19 /* nextShift */
77: .line 2267
lload 15 /* exponent */
ldc 3
ladd
lstore 15 /* exponent */
78: .line 2268
goto 80
79: .line 2269
StackMap locals:
StackMap stack:
new java.lang.AssertionError
dup
ldc "Result from digit converstion too large!"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
80: .line 2291
StackMap locals:
StackMap stack:
iconst_0
istore 24 /* i */
start local 24 // int i
81: .line 2292
iconst_1
istore 24 /* i */
82: .line 2293
goto 87
83: .line 2295
StackMap locals: int
StackMap stack:
aload 6 /* significandString */
iload 24 /* i */
invokestatic sun.misc.FormattedFloatingDecimal.getHexDigit:(Ljava/lang/String;I)I
i2l
lstore 25 /* currentDigit */
start local 25 // long currentDigit
84: .line 2296
lload 20 /* significand */
lload 25 /* currentDigit */
iload 19 /* nextShift */
lshl
lor
lstore 20 /* significand */
85: .line 2297
iinc 19 /* nextShift */ -4
end local 25 // long currentDigit
86: .line 2294
iinc 24 /* i */ 1
87: .line 2293
StackMap locals:
StackMap stack:
iload 24 /* i */
iload 7 /* signifLength */
if_icmpge 89
iload 19 /* nextShift */
88: .line 2292
ifge 83
89: .line 2305
StackMap locals:
StackMap stack:
iload 24 /* i */
iload 7 /* signifLength */
if_icmpge 129
90: .line 2306
aload 6 /* significandString */
iload 24 /* i */
invokestatic sun.misc.FormattedFloatingDecimal.getHexDigit:(Ljava/lang/String;I)I
i2l
lstore 25 /* currentDigit */
start local 25 // long currentDigit
91: .line 2310
iload 19 /* nextShift */
tableswitch { // -4 - -1
-4: 113
-3: 105
-2: 97
-1: 92
default: 120
}
92: .line 2314
StackMap locals: long
StackMap stack:
lload 20 /* significand */
lload 25 /* currentDigit */
ldc 14
land
iconst_1
lshr
lor
lstore 20 /* significand */
93: .line 2315
lload 25 /* currentDigit */
lconst_1
land
lconst_0
lcmp
ifeq 94
iconst_1
goto 95
StackMap locals:
StackMap stack:
94: iconst_0
StackMap locals:
StackMap stack: int
95: istore 17 /* round */
96: .line 2316
goto 121
97: .line 2321
StackMap locals:
StackMap stack:
lload 20 /* significand */
lload 25 /* currentDigit */
ldc 12
land
iconst_2
lshr
lor
lstore 20 /* significand */
98: .line 2322
lload 25 /* currentDigit */
ldc 2
land
lconst_0
lcmp
ifeq 99
iconst_1
goto 100
StackMap locals:
StackMap stack:
99: iconst_0
StackMap locals:
StackMap stack: int
100: istore 17 /* round */
101: .line 2323
lload 25 /* currentDigit */
lconst_1
land
lconst_0
lcmp
ifeq 102
iconst_1
goto 103
StackMap locals:
StackMap stack:
102: iconst_0
StackMap locals:
StackMap stack: int
103: istore 18 /* sticky */
104: .line 2324
goto 121
105: .line 2328
StackMap locals:
StackMap stack:
lload 20 /* significand */
lload 25 /* currentDigit */
ldc 8
land
iconst_3
lshr
lor
lstore 20 /* significand */
106: .line 2330
lload 25 /* currentDigit */
ldc 4
land
lconst_0
lcmp
ifeq 107
iconst_1
goto 108
StackMap locals:
StackMap stack:
107: iconst_0
StackMap locals:
StackMap stack: int
108: istore 17 /* round */
109: .line 2331
lload 25 /* currentDigit */
ldc 3
land
lconst_0
lcmp
ifeq 110
iconst_1
goto 111
StackMap locals:
StackMap stack:
110: iconst_0
StackMap locals:
StackMap stack: int
111: istore 18 /* sticky */
112: .line 2332
goto 121
113: .line 2337
StackMap locals:
StackMap stack:
lload 25 /* currentDigit */
ldc 8
land
lconst_0
lcmp
ifeq 114
iconst_1
goto 115
StackMap locals:
StackMap stack:
114: iconst_0
StackMap locals:
StackMap stack: int
115: istore 17 /* round */
116: .line 2339
lload 25 /* currentDigit */
ldc 7
land
lconst_0
lcmp
ifeq 117
iconst_1
goto 118
StackMap locals:
StackMap stack:
117: iconst_0
StackMap locals:
StackMap stack: int
118: istore 18 /* sticky */
119: .line 2340
goto 121
120: .line 2343
StackMap locals:
StackMap stack:
new java.lang.AssertionError
dup
ldc "Unexpected shift distance remainder."
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
121: .line 2352
StackMap locals:
StackMap stack:
iinc 24 /* i */ 1
122: .line 2353
goto 128
123: .line 2354
StackMap locals:
StackMap stack:
aload 6 /* significandString */
iload 24 /* i */
invokestatic sun.misc.FormattedFloatingDecimal.getHexDigit:(Ljava/lang/String;I)I
i2l
lstore 25 /* currentDigit */
124: .line 2355
iload 18 /* sticky */
ifne 125
lload 25 /* currentDigit */
lconst_0
lcmp
ifne 125
iconst_0
goto 126
StackMap locals:
StackMap stack:
125: iconst_1
StackMap locals:
StackMap stack: int
126: istore 18 /* sticky */
127: .line 2356
iinc 24 /* i */ 1
128: .line 2353
StackMap locals:
StackMap stack:
iload 24 /* i */
iload 7 /* signifLength */
if_icmpge 129
iload 18 /* sticky */
ifeq 123
end local 25 // long currentDigit
129: .line 2366
StackMap locals:
StackMap stack:
lload 15 /* exponent */
ldc 1023
lcmp
ifle 131
130: .line 2368
new sun.misc.FormattedFloatingDecimal
dup
dload 4 /* sign */
ldc Infinity
dmul
invokespecial sun.misc.FormattedFloatingDecimal.<init>:(D)V
areturn
131: .line 2370
StackMap locals:
StackMap stack:
lload 15 /* exponent */
ldc 1023
lcmp
ifgt 143
132: .line 2371
lload 15 /* exponent */
ldc -1022
lcmp
iflt 143
133: .line 2384
lload 15 /* exponent */
134: .line 2385
ldc 1023
135: .line 2384
ladd
136: .line 2386
bipush 52
137: .line 2384
lshl
138: .line 2387
ldc 9218868437227405312
139: .line 2384
land
140: .line 2388
ldc 4503599627370495
lload 20 /* significand */
land
141: .line 2384
lor
lstore 20 /* significand */
142: .line 2390
goto 165
143: .line 2393
StackMap locals:
StackMap stack:
lload 15 /* exponent */
ldc -1075
lcmp
ifge 145
144: .line 2397
new sun.misc.FormattedFloatingDecimal
dup
dload 4 /* sign */
dconst_0
dmul
invokespecial sun.misc.FormattedFloatingDecimal.<init>:(D)V
areturn
145: .line 2405
StackMap locals:
StackMap stack:
iload 18 /* sticky */
ifne 146
iload 17 /* round */
ifne 146
iconst_0
goto 147
StackMap locals:
StackMap stack:
146: iconst_1
StackMap locals:
StackMap stack: int
147: istore 18 /* sticky */
148: .line 2406
iconst_0
istore 17 /* round */
149: .line 2414
bipush 53
150: .line 2415
lload 15 /* exponent */
l2i
sipush -1074
isub
iconst_1
iadd
151: .line 2414
isub
istore 25 /* bitsDiscarded */
start local 25 // int bitsDiscarded
152: .line 2416
getstatic sun.misc.FormattedFloatingDecimal.$assertionsDisabled:Z
ifne 154
iload 25 /* bitsDiscarded */
iconst_1
if_icmplt 153
iload 25 /* bitsDiscarded */
bipush 53
if_icmple 154
StackMap locals: int
StackMap stack:
153: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
154: .line 2420
StackMap locals:
StackMap stack:
lload 20 /* significand */
lconst_1
iload 25 /* bitsDiscarded */
iconst_1
isub
lshl
land
lconst_0
lcmp
ifeq 155
iconst_1
goto 156
StackMap locals:
StackMap stack:
155: iconst_0
StackMap locals:
StackMap stack: int
156: istore 17 /* round */
157: .line 2421
iload 25 /* bitsDiscarded */
iconst_1
if_icmple 162
158: .line 2424
ldc -1
iload 25 /* bitsDiscarded */
iconst_1
isub
lshl
ldc -1
lxor
lstore 26 /* mask */
start local 26 // long mask
159: .line 2425
iload 18 /* sticky */
ifne 160
lload 20 /* significand */
lload 26 /* mask */
land
lconst_0
lcmp
ifne 160
iconst_0
goto 161
StackMap locals: long
StackMap stack:
160: iconst_1
StackMap locals:
StackMap stack: int
161: istore 18 /* sticky */
end local 26 // long mask
162: .line 2429
StackMap locals:
StackMap stack:
lload 20 /* significand */
iload 25 /* bitsDiscarded */
lshr
lstore 20 /* significand */
163: .line 2435
ldc 4503599627370495
lload 20 /* significand */
land
164: .line 2431
lstore 20 /* significand */
end local 25 // int bitsDiscarded
165: .line 2464
StackMap locals:
StackMap stack:
lload 20 /* significand */
lconst_1
land
lconst_0
lcmp
ifne 166
iconst_1
goto 167
StackMap locals:
StackMap stack:
166: iconst_0
StackMap locals:
StackMap stack: int
167: istore 25 /* leastZero */
start local 25 // boolean leastZero
168: .line 2465
iload 25 /* leastZero */
ifeq 169
iload 17 /* round */
ifeq 169
iload 18 /* sticky */
ifne 170
169: .line 2466
StackMap locals: int
StackMap stack:
iload 25 /* leastZero */
ifne 171
iload 17 /* round */
ifeq 171
170: .line 2468
StackMap locals:
StackMap stack:
lload 20 /* significand */
lconst_1
ladd
lstore 20 /* significand */
171: .line 2471
StackMap locals:
StackMap stack:
new sun.misc.FormattedFloatingDecimal
dup
172: .line 2472
lload 20 /* significand */
invokestatic java.lang.Double.longBitsToDouble:(J)D
173: .line 2473
dload 4 /* sign */
174: .line 2471
invokestatic sun.misc.FpUtils.rawCopySign:(DD)D
invokespecial sun.misc.FormattedFloatingDecimal.<init>:(D)V
astore 26 /* fd */
start local 26 // sun.misc.FormattedFloatingDecimal fd
175: .line 2498
lload 15 /* exponent */
ldc -150
lcmp
iflt 185
176: .line 2499
lload 15 /* exponent */
ldc 127
lcmp
ifgt 185
177: .line 2517
lload 20 /* significand */
ldc 268435455
land
lconst_0
lcmp
ifne 185
178: .line 2526
iload 17 /* round */
ifne 179
iload 18 /* sticky */
ifeq 185
179: .line 2527
StackMap locals: sun.misc.FormattedFloatingDecimal
StackMap stack:
iload 25 /* leastZero */
ifeq 183
180: .line 2536
iload 17 /* round */
iload 18 /* sticky */
ixor
ifeq 185
181: .line 2537
aload 26 /* fd */
iconst_1
putfield sun.misc.FormattedFloatingDecimal.roundDir:I
182: .line 2539
goto 185
183: .line 2548
StackMap locals:
StackMap stack:
iload 17 /* round */
ifeq 185
184: .line 2549
aload 26 /* fd */
iconst_m1
putfield sun.misc.FormattedFloatingDecimal.roundDir:I
185: .line 2555
StackMap locals:
StackMap stack:
aload 26 /* fd */
iconst_1
putfield sun.misc.FormattedFloatingDecimal.fromHex:Z
186: .line 2556
aload 26 /* fd */
areturn
end local 26 // sun.misc.FormattedFloatingDecimal fd
end local 25 // boolean leastZero
end local 24 // int i
end local 22 // long leadingDigit
end local 20 // long significand
end local 19 // int nextShift
end local 18 // boolean sticky
end local 17 // boolean round
end local 15 // long exponent
end local 13 // long rawExponent
end local 11 // long unsignedRawExponent
end local 10 // boolean positiveExponent
end local 9 // java.lang.String group8
end local 8 // int exponentAdjust
end local 7 // int signifLength
end local 6 // java.lang.String significandString
end local 4 // double sign
end local 3 // java.lang.String group1
end local 2 // boolean validInput
end local 1 // java.util.regex.Matcher m
end local 0 // java.lang.String s
LocalVariableTable:
Start End Slot Name Signature
0 187 0 s Ljava/lang/String;
1 187 1 m Ljava/util/regex/Matcher;
2 187 2 validInput Z
5 187 3 group1 Ljava/lang/String;
9 187 4 sign D
10 187 6 significandString Ljava/lang/String;
11 187 7 signifLength I
12 187 8 exponentAdjust I
13 37 9 leftDigits I
14 37 10 rightDigits I
15 37 11 group4 Ljava/lang/String;
20 29 12 group6 Ljava/lang/String;
22 29 13 group7 Ljava/lang/String;
38 187 9 group8 Ljava/lang/String;
41 187 10 positiveExponent Z
42 43 11 unsignedRawExponent J
49 187 11 unsignedRawExponent J
54 187 13 rawExponent J
55 187 15 exponent J
56 187 17 round Z
57 187 18 sticky Z
58 187 19 nextShift I
59 187 20 significand J
60 187 22 leadingDigit J
81 187 24 i I
84 86 25 currentDigit J
91 129 25 currentDigit J
152 165 25 bitsDiscarded I
159 162 26 mask J
168 187 25 leastZero Z
175 187 26 fd Lsun/misc/FormattedFloatingDecimal;
Exception table:
from to target type
41 42 43 Class java.lang.NumberFormatException
MethodParameters:
Name Flags
s
static java.lang.String stripLeadingZeros(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 // java.lang.String s
0: .line 2565
aload 0 /* s */
ldc "^0+"
ldc ""
invokevirtual java.lang.String.replaceFirst:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
areturn
end local 0 // java.lang.String s
LocalVariableTable:
Start End Slot Name Signature
0 1 0 s Ljava/lang/String;
MethodParameters:
Name Flags
s
static int getHexDigit(java.lang.String, int);
descriptor: (Ljava/lang/String;I)I
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 // java.lang.String s
start local 1 // int position
0: .line 2573
aload 0 /* s */
iload 1 /* position */
invokevirtual java.lang.String.charAt:(I)C
bipush 16
invokestatic java.lang.Character.digit:(CI)I
istore 2 /* value */
start local 2 // int value
1: .line 2574
iload 2 /* value */
iconst_m1
if_icmple 2
iload 2 /* value */
bipush 16
if_icmplt 5
2: .line 2575
StackMap locals: int
StackMap stack:
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Unxpected failure of digit converstion of "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
3: .line 2576
aload 0 /* s */
iload 1 /* position */
invokevirtual java.lang.String.charAt:(I)C
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: .line 2575
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
5: .line 2578
StackMap locals:
StackMap stack:
iload 2 /* value */
ireturn
end local 2 // int value
end local 1 // int position
end local 0 // java.lang.String s
LocalVariableTable:
Start End Slot Name Signature
0 6 0 s Ljava/lang/String;
0 6 1 position I
1 6 2 value I
MethodParameters:
Name Flags
s
position
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: .line 33
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