class jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer implements jdk.internal.math.FloatingDecimal$ASCIIToBinaryConverter
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer
super_class: java.lang.Object
{
boolean isNegative;
descriptor: Z
flags: (0x0000)
int decExponent;
descriptor: I
flags: (0x0000)
char[] digits;
descriptor: [C
flags: (0x0000)
int nDigits;
descriptor: I
flags: (0x0000)
private static final double[] SMALL_10_POW;
descriptor: [D
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final float[] SINGLE_SMALL_10_POW;
descriptor: [F
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final double[] BIG_10_POW;
descriptor: [D
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final double[] TINY_10_POW;
descriptor: [D
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int MAX_SMALL_TEN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int SINGLE_MAX_SMALL_TEN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=0, args_size=0
0: ldc Ljdk/internal/math/FloatingDecimal;
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 jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.$assertionsDisabled:Z
3: bipush 23
newarray 7
dup
iconst_0
4: dconst_1
dastore
dup
iconst_1
5: 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
6: 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
7: 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
8: 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
9: ldc 1.0E21
dastore
dup
bipush 22
ldc 1.0E22
dastore
10: putstatic jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.SMALL_10_POW:[D
11: bipush 11
newarray 6
dup
iconst_0
12: fconst_1
fastore
dup
iconst_1
13: 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
14: 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
15: putstatic jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.SINGLE_SMALL_10_POW:[F
16: iconst_5
newarray 7
dup
iconst_0
17: 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
18: putstatic jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.BIG_10_POW:[D
19: iconst_5
newarray 7
dup
iconst_0
20: 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
21: putstatic jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.TINY_10_POW:[D
22: getstatic jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.SMALL_10_POW:[D
arraylength
iconst_1
isub
putstatic jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.MAX_SMALL_TEN:I
23: getstatic jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.SINGLE_SMALL_10_POW:[F
arraylength
iconst_1
isub
putstatic jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.SINGLE_MAX_SMALL_TEN:I
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(boolean, int, char[], int);
descriptor: (ZI[CI)V
flags: (0x0000)
Code:
stack=2, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iload 1
putfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.isNegative:Z
2: aload 0
iload 2
putfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.decExponent:I
3: aload 0
aload 3
putfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.digits:[C
4: aload 0
iload 4
putfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.nDigits:I
5: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryBuffer;
0 6 1 negSign Z
0 6 2 decExponent I
0 6 3 digits [C
0 6 4 n I
MethodParameters:
Name Flags
negSign
decExponent
digits
n
public double doubleValue();
descriptor: ()D
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=31, args_size=1
start local 0 0: aload 0
getfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.nDigits:I
bipush 16
invokestatic java.lang.Math.min:(II)I
istore 1
start local 1 1: aload 0
getfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.digits:[C
iconst_0
caload
bipush 48
isub
istore 2
start local 2 2: iload 1
bipush 9
invokestatic java.lang.Math.min:(II)I
istore 3
start local 3 3: iconst_1
istore 4
start local 4 4: goto 7
5: StackMap locals: jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer int int int int
StackMap stack:
iload 2
bipush 10
imul
aload 0
getfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.digits:[C
iload 4
caload
iadd
bipush 48
isub
istore 2
6: iinc 4 1
StackMap locals:
StackMap stack:
7: iload 4
iload 3
if_icmplt 5
end local 4 8: iload 2
i2l
lstore 4
start local 4 9: iload 3
istore 6
start local 6 10: goto 13
11: StackMap locals: jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer int int int long int
StackMap stack:
lload 4
ldc 10
lmul
aload 0
getfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.digits:[C
iload 6
caload
bipush 48
isub
i2l
ladd
lstore 4
12: iinc 6 1
StackMap locals:
StackMap stack:
13: iload 6
iload 1
if_icmplt 11
end local 6 14: lload 4
l2d
dstore 6
start local 6 15: aload 0
getfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.decExponent:I
iload 1
isub
istore 8
start local 8 16: aload 0
getfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.nDigits:I
bipush 15
if_icmpgt 39
17: iload 8
ifeq 18
dload 6
dconst_0
dcmpl
ifne 21
18: StackMap locals: jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer int int int long double int
StackMap stack:
aload 0
getfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.isNegative:Z
ifeq 19
dload 6
dneg
goto 20
StackMap locals:
StackMap stack:
19: dload 6
StackMap locals:
StackMap stack: double
20: dreturn
21: StackMap locals:
StackMap stack:
iload 8
iflt 34
22: iload 8
getstatic jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.MAX_SMALL_TEN:I
if_icmpgt 27
23: dload 6
getstatic jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.SMALL_10_POW:[D
iload 8
daload
dmul
dstore 9
start local 9 24: aload 0
getfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.isNegative:Z
ifeq 25
dload 9
dneg
goto 26
StackMap locals: double
StackMap stack:
25: dload 9
StackMap locals:
StackMap stack: double
26: dreturn
end local 9 27: StackMap locals:
StackMap stack:
bipush 15
iload 1
isub
istore 9
start local 9 28: iload 8
getstatic jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.MAX_SMALL_TEN:I
iload 9
iadd
if_icmpgt 39
29: dload 6
getstatic jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.SMALL_10_POW:[D
iload 9
daload
dmul
dstore 6
30: dload 6
getstatic jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.SMALL_10_POW:[D
iload 8
iload 9
isub
daload
dmul
dstore 10
start local 10 31: aload 0
getfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.isNegative:Z
ifeq 32
dload 10
dneg
goto 33
StackMap locals: int double
StackMap stack:
32: dload 10
StackMap locals:
StackMap stack: double
33: dreturn
end local 10 end local 9 34: StackMap locals:
StackMap stack:
iload 8
getstatic jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.MAX_SMALL_TEN:I
ineg
if_icmplt 39
35: dload 6
getstatic jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.SMALL_10_POW:[D
iload 8
ineg
daload
ddiv
dstore 9
start local 9 36: aload 0
getfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.isNegative:Z
ifeq 37
dload 9
dneg
goto 38
StackMap locals: double
StackMap stack:
37: dload 9
StackMap locals:
StackMap stack: double
38: dreturn
end local 9 39: StackMap locals:
StackMap stack:
iload 8
ifle 64
40: aload 0
getfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.decExponent:I
sipush 309
if_icmple 44
41: aload 0
getfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.isNegative:Z
ifeq 42
ldc -Infinity
goto 43
StackMap locals:
StackMap stack:
42: ldc Infinity
StackMap locals:
StackMap stack: double
43: dreturn
44: StackMap locals:
StackMap stack:
iload 8
bipush 15
iand
ifeq 46
45: dload 6
getstatic jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.SMALL_10_POW:[D
iload 8
bipush 15
iand
daload
dmul
dstore 6
46: StackMap locals:
StackMap stack:
iload 8
iconst_4
ishr
dup
istore 8
ifeq 89
47: iconst_0
istore 9
start local 9 48: goto 52
49: StackMap locals: int
StackMap stack:
iload 8
iconst_1
iand
ifeq 51
50: dload 6
getstatic jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.BIG_10_POW:[D
iload 9
daload
dmul
dstore 6
51: StackMap locals:
StackMap stack:
iinc 9 1
iload 8
iconst_1
ishr
istore 8
StackMap locals:
StackMap stack:
52: iload 8
iconst_1
if_icmpgt 49
53: dload 6
getstatic jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.BIG_10_POW:[D
iload 9
daload
dmul
dstore 10
start local 10 54: dload 10
invokestatic java.lang.Double.isInfinite:(D)Z
ifeq 62
55: dload 6
ldc 2.0
ddiv
dstore 10
56: dload 10
getstatic jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.BIG_10_POW:[D
iload 9
daload
dmul
dstore 10
57: dload 10
invokestatic java.lang.Double.isInfinite:(D)Z
ifeq 61
58: aload 0
getfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.isNegative:Z
ifeq 59
ldc -Infinity
goto 60
StackMap locals: double
StackMap stack:
59: ldc Infinity
StackMap locals:
StackMap stack: double
60: dreturn
61: StackMap locals:
StackMap stack:
ldc 1.7976931348623157E308
dstore 10
62: StackMap locals:
StackMap stack:
dload 10
dstore 6
end local 10 end local 9 63: goto 89
StackMap locals:
StackMap stack:
64: iload 8
ifge 89
65: iload 8
ineg
istore 8
66: aload 0
getfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.decExponent:I
sipush -325
if_icmpge 70
67: aload 0
getfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.isNegative:Z
ifeq 68
ldc -0.0
goto 69
StackMap locals:
StackMap stack:
68: dconst_0
StackMap locals:
StackMap stack: double
69: dreturn
70: StackMap locals:
StackMap stack:
iload 8
bipush 15
iand
ifeq 72
71: dload 6
getstatic jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.SMALL_10_POW:[D
iload 8
bipush 15
iand
daload
ddiv
dstore 6
72: StackMap locals:
StackMap stack:
iload 8
iconst_4
ishr
dup
istore 8
ifeq 89
73: iconst_0
istore 9
start local 9 74: goto 78
75: StackMap locals: int
StackMap stack:
iload 8
iconst_1
iand
ifeq 77
76: dload 6
getstatic jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.TINY_10_POW:[D
iload 9
daload
dmul
dstore 6
77: StackMap locals:
StackMap stack:
iinc 9 1
iload 8
iconst_1
ishr
istore 8
StackMap locals:
StackMap stack:
78: iload 8
iconst_1
if_icmpgt 75
79: dload 6
getstatic jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.TINY_10_POW:[D
iload 9
daload
dmul
dstore 10
start local 10 80: dload 10
dconst_0
dcmpl
ifne 88
81: dload 6
ldc 2.0
dmul
dstore 10
82: dload 10
getstatic jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.TINY_10_POW:[D
iload 9
daload
dmul
dstore 10
83: dload 10
dconst_0
dcmpl
ifne 87
84: aload 0
getfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.isNegative:Z
ifeq 85
ldc -0.0
goto 86
StackMap locals: double
StackMap stack:
85: dconst_0
StackMap locals:
StackMap stack: double
86: dreturn
87: StackMap locals:
StackMap stack:
ldc 4.9E-324
dstore 10
88: StackMap locals:
StackMap stack:
dload 10
dstore 6
end local 10 end local 9 89: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.nDigits:I
sipush 1100
if_icmple 92
90: aload 0
sipush 1101
putfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.nDigits:I
91: aload 0
getfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.digits:[C
sipush 1100
bipush 49
castore
92: StackMap locals:
StackMap stack:
new jdk.internal.math.FDBigInteger
dup
lload 4
aload 0
getfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.digits:[C
iload 1
aload 0
getfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.nDigits:I
invokespecial jdk.internal.math.FDBigInteger.<init>:(J[CII)V
astore 9
start local 9 93: aload 0
getfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.decExponent:I
aload 0
getfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.nDigits:I
isub
istore 8
94: dload 6
invokestatic java.lang.Double.doubleToRawLongBits:(D)J
lstore 10
start local 10 95: iconst_0
iload 8
ineg
invokestatic java.lang.Math.max:(II)I
istore 12
start local 12 96: iconst_0
iload 8
invokestatic java.lang.Math.max:(II)I
istore 13
start local 13 97: aload 9
iload 13
iconst_0
invokevirtual jdk.internal.math.FDBigInteger.multByPow52:(II)Ljdk/internal/math/FDBigInteger;
astore 9
98: aload 9
invokevirtual jdk.internal.math.FDBigInteger.makeImmutable:()V
99: aconst_null
astore 14
start local 14 100: iconst_0
istore 15
start local 15 101: StackMap locals: jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer int int int long double int jdk.internal.math.FDBigInteger long int int jdk.internal.math.FDBigInteger int
StackMap stack:
lload 10
bipush 52
lushr
l2i
istore 16
start local 16 102: lload 10
ldc 4503599627370495
land
lstore 17
start local 17 103: iload 16
ifle 106
104: lload 17
ldc 4503599627370496
lor
lstore 17
105: goto 111
106: StackMap locals: int long
StackMap stack:
getstatic jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.$assertionsDisabled:Z
ifne 107
lload 17
lconst_0
lcmp
ifne 107
new java.lang.AssertionError
dup
lload 17
invokespecial java.lang.AssertionError.<init>:(J)V
athrow
107: StackMap locals:
StackMap stack:
lload 17
invokestatic java.lang.Long.numberOfLeadingZeros:(J)I
istore 19
start local 19 108: iload 19
bipush 11
isub
istore 20
start local 20 109: lload 17
iload 20
lshl
lstore 17
110: iconst_1
iload 20
isub
istore 16
end local 20 end local 19 111: StackMap locals:
StackMap stack:
iinc 16 -1023
112: lload 17
invokestatic java.lang.Long.numberOfTrailingZeros:(J)I
istore 19
start local 19 113: lload 17
iload 19
lushr
lstore 17
114: iload 16
bipush 52
isub
iload 19
iadd
istore 20
start local 20 115: bipush 53
iload 19
isub
istore 21
start local 21 116: iload 12
istore 22
start local 22 117: iload 13
istore 23
start local 23 118: iload 20
iflt 121
119: iload 22
iload 20
iadd
istore 22
120: goto 122
121: StackMap locals: jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer int int int long double int jdk.internal.math.FDBigInteger long int int jdk.internal.math.FDBigInteger int int long int int int int int
StackMap stack:
iload 23
iload 20
isub
istore 23
122: StackMap locals:
StackMap stack:
iload 22
istore 24
start local 24 123: iload 16
sipush -1023
if_icmpgt 126
124: iload 16
iload 19
iadd
sipush 1023
iadd
istore 25
start local 25 125: goto 127
end local 25 126: StackMap locals: int
StackMap stack:
iconst_1
iload 19
iadd
istore 25
start local 25 127: StackMap locals: int
StackMap stack:
iload 22
iload 25
iadd
istore 22
128: iload 23
iload 25
iadd
istore 23
129: iload 22
iload 23
iload 24
invokestatic java.lang.Math.min:(II)I
invokestatic java.lang.Math.min:(II)I
istore 26
start local 26 130: iload 22
iload 26
isub
istore 22
131: iload 23
iload 26
isub
istore 23
132: iload 24
iload 26
isub
istore 24
133: lload 17
iload 12
iload 22
invokestatic jdk.internal.math.FDBigInteger.valueOfMulPow52:(JII)Ljdk/internal/math/FDBigInteger;
astore 27
start local 27 134: aload 14
ifnull 135
iload 15
iload 23
if_icmpeq 137
135: StackMap locals: int jdk.internal.math.FDBigInteger
StackMap stack:
aload 9
iload 23
invokevirtual jdk.internal.math.FDBigInteger.leftShift:(I)Ljdk/internal/math/FDBigInteger;
astore 14
136: iload 23
istore 15
137: StackMap locals:
StackMap stack:
aload 27
aload 14
invokevirtual jdk.internal.math.FDBigInteger.cmp:(Ljdk/internal/math/FDBigInteger;)I
dup
istore 29
start local 29 138: ifle 147
139: iconst_1
istore 30
start local 30 140: aload 27
aload 14
invokevirtual jdk.internal.math.FDBigInteger.leftInplaceSub:(Ljdk/internal/math/FDBigInteger;)Ljdk/internal/math/FDBigInteger;
astore 28
start local 28 141: iload 21
iconst_1
if_icmpne 150
iload 20
sipush -1022
if_icmple 150
142: iinc 24 -1
143: iload 24
ifge 150
144: iconst_0
istore 24
145: aload 28
iconst_1
invokevirtual jdk.internal.math.FDBigInteger.leftShift:(I)Ljdk/internal/math/FDBigInteger;
astore 28
146: goto 150
end local 30 end local 28 StackMap locals: jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer int int int long double int jdk.internal.math.FDBigInteger long int int jdk.internal.math.FDBigInteger int int long int int int int int int int int jdk.internal.math.FDBigInteger top int
StackMap stack:
147: iload 29
ifge 163
148: iconst_0
istore 30
start local 30 149: aload 14
aload 27
invokevirtual jdk.internal.math.FDBigInteger.rightInplaceSub:(Ljdk/internal/math/FDBigInteger;)Ljdk/internal/math/FDBigInteger;
astore 28
start local 28 150: StackMap locals: jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer int int int long double int jdk.internal.math.FDBigInteger long int int jdk.internal.math.FDBigInteger int int long int int int int int int int int jdk.internal.math.FDBigInteger jdk.internal.math.FDBigInteger int int
StackMap stack:
aload 28
iload 12
iload 24
invokevirtual jdk.internal.math.FDBigInteger.cmpPow52:(II)I
istore 29
151: iload 29
ifge 153
152: goto 163
153: StackMap locals:
StackMap stack:
iload 29
ifne 159
154: lload 10
lconst_1
land
lconst_0
lcmp
ifeq 163
155: lload 10
iload 30
ifeq 156
iconst_m1
goto 157
StackMap locals:
StackMap stack: long
156: iconst_1
StackMap locals: jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer int int int long double int jdk.internal.math.FDBigInteger long int int jdk.internal.math.FDBigInteger int int long int int int int int int int int jdk.internal.math.FDBigInteger jdk.internal.math.FDBigInteger int int
StackMap stack: long int
157: i2l
ladd
lstore 10
158: goto 163
159: StackMap locals:
StackMap stack:
lload 10
iload 30
ifeq 160
iconst_m1
goto 161
StackMap locals:
StackMap stack: long
160: iconst_1
StackMap locals: jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer int int int long double int jdk.internal.math.FDBigInteger long int int jdk.internal.math.FDBigInteger int int long int int int int int int int int jdk.internal.math.FDBigInteger jdk.internal.math.FDBigInteger int int
StackMap stack: long int
161: i2l
ladd
lstore 10
162: lload 10
lconst_0
lcmp
ifeq 163
lload 10
ldc 9218868437227405312
lcmp
ifne 101
end local 30 end local 29 end local 28 end local 27 end local 26 end local 25 end local 24 end local 23 end local 22 end local 21 end local 20 end local 19 end local 17 end local 16 163: StackMap locals: jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer int int int long double int jdk.internal.math.FDBigInteger long int int jdk.internal.math.FDBigInteger int
StackMap stack:
aload 0
getfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.isNegative:Z
ifeq 165
164: lload 10
ldc -9223372036854775808
lor
lstore 10
165: StackMap locals:
StackMap stack:
lload 10
invokestatic java.lang.Double.longBitsToDouble:(J)D
dreturn
end local 15 end local 14 end local 13 end local 12 end local 10 end local 9 end local 8 end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 166 0 this Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryBuffer;
1 166 1 kDigits I
2 166 2 iValue I
3 166 3 iDigits I
4 8 4 i I
9 166 4 lValue J
10 14 6 i I
15 166 6 dValue D
16 166 8 exp I
24 27 9 rValue D
28 34 9 slop I
31 34 10 rValue D
36 39 9 rValue D
48 63 9 j I
54 63 10 t D
74 89 9 j I
80 89 10 t D
93 166 9 bigD0 Ljdk/internal/math/FDBigInteger;
95 166 10 ieeeBits J
96 166 12 B5 I
97 166 13 D5 I
100 166 14 bigD Ljdk/internal/math/FDBigInteger;
101 166 15 prevD2 I
102 163 16 binexp I
103 163 17 bigBbits J
108 111 19 leadingZeros I
109 111 20 shift I
113 163 19 lowOrderZeros I
115 163 20 bigIntExp I
116 163 21 bigIntNBits I
117 163 22 B2 I
118 163 23 D2 I
123 163 24 Ulp2 I
125 126 25 hulpbias I
127 163 25 hulpbias I
130 163 26 common2 I
134 163 27 bigB Ljdk/internal/math/FDBigInteger;
141 147 28 diff Ljdk/internal/math/FDBigInteger;
150 163 28 diff Ljdk/internal/math/FDBigInteger;
138 163 29 cmpResult I
140 147 30 overvalue Z
149 163 30 overvalue Z
public float floatValue();
descriptor: ()F
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=27, args_size=1
start local 0 0: aload 0
getfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.nDigits:I
bipush 8
invokestatic java.lang.Math.min:(II)I
istore 1
start local 1 1: aload 0
getfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.digits:[C
iconst_0
caload
bipush 48
isub
istore 2
start local 2 2: iconst_1
istore 3
start local 3 3: goto 6
4: StackMap locals: int int int
StackMap stack:
iload 2
bipush 10
imul
aload 0
getfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.digits:[C
iload 3
caload
iadd
bipush 48
isub
istore 2
5: iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
iload 1
if_icmplt 4
end local 3 7: iload 2
i2f
fstore 3
start local 3 8: aload 0
getfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.decExponent:I
iload 1
isub
istore 4
start local 4 9: aload 0
getfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.nDigits:I
bipush 7
if_icmpgt 32
10: iload 4
ifeq 11
fload 3
fconst_0
fcmpl
ifne 14
11: StackMap locals: jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer int int float int
StackMap stack:
aload 0
getfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.isNegative:Z
ifeq 12
fload 3
fneg
goto 13
StackMap locals:
StackMap stack:
12: fload 3
StackMap locals:
StackMap stack: float
13: freturn
14: StackMap locals:
StackMap stack:
iload 4
iflt 27
15: iload 4
getstatic jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.SINGLE_MAX_SMALL_TEN:I
if_icmpgt 20
16: fload 3
getstatic jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.SINGLE_SMALL_10_POW:[F
iload 4
faload
fmul
fstore 3
17: aload 0
getfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.isNegative:Z
ifeq 18
fload 3
fneg
goto 19
StackMap locals:
StackMap stack:
18: fload 3
StackMap locals:
StackMap stack: float
19: freturn
20: StackMap locals:
StackMap stack:
bipush 7
iload 1
isub
istore 5
start local 5 21: iload 4
getstatic jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.SINGLE_MAX_SMALL_TEN:I
iload 5
iadd
if_icmpgt 46
22: fload 3
getstatic jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.SINGLE_SMALL_10_POW:[F
iload 5
faload
fmul
fstore 3
23: fload 3
getstatic jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.SINGLE_SMALL_10_POW:[F
iload 4
iload 5
isub
faload
fmul
fstore 3
24: aload 0
getfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.isNegative:Z
ifeq 25
fload 3
fneg
goto 26
StackMap locals: int
StackMap stack:
25: fload 3
StackMap locals:
StackMap stack: float
26: freturn
end local 5 27: StackMap locals:
StackMap stack:
iload 4
getstatic jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.SINGLE_MAX_SMALL_TEN:I
ineg
if_icmplt 46
28: fload 3
getstatic jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.SINGLE_SMALL_10_POW:[F
iload 4
ineg
faload
fdiv
fstore 3
29: aload 0
getfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.isNegative:Z
ifeq 30
fload 3
fneg
goto 31
StackMap locals:
StackMap stack:
30: fload 3
StackMap locals:
StackMap stack: float
31: freturn
32: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.decExponent:I
aload 0
getfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.nDigits:I
if_icmplt 46
aload 0
getfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.nDigits:I
aload 0
getfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.decExponent:I
iadd
bipush 15
if_icmpgt 46
33: iload 2
i2l
lstore 5
start local 5 34: iload 1
istore 7
start local 7 35: goto 38
36: StackMap locals: long int
StackMap stack:
lload 5
ldc 10
lmul
aload 0
getfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.digits:[C
iload 7
caload
bipush 48
isub
i2l
ladd
lstore 5
37: iinc 7 1
StackMap locals:
StackMap stack:
38: iload 7
aload 0
getfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.nDigits:I
if_icmplt 36
end local 7 39: lload 5
l2d
dstore 7
start local 7 40: aload 0
getfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.decExponent:I
aload 0
getfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.nDigits:I
isub
istore 4
41: dload 7
getstatic jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.SMALL_10_POW:[D
iload 4
daload
dmul
dstore 7
42: dload 7
d2f
fstore 3
43: aload 0
getfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.isNegative:Z
ifeq 44
fload 3
fneg
goto 45
StackMap locals: jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer int int float int long double
StackMap stack:
44: fload 3
StackMap locals:
StackMap stack: float
45: freturn
end local 7 end local 5 46: StackMap locals:
StackMap stack:
fload 3
f2d
dstore 5
start local 5 47: iload 4
ifle 62
48: aload 0
getfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.decExponent:I
bipush 39
if_icmple 52
49: aload 0
getfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.isNegative:Z
ifeq 50
ldc -Infinity
goto 51
StackMap locals: double
StackMap stack:
50: ldc Infinity
StackMap locals:
StackMap stack: float
51: freturn
52: StackMap locals:
StackMap stack:
iload 4
bipush 15
iand
ifeq 54
53: dload 5
getstatic jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.SMALL_10_POW:[D
iload 4
bipush 15
iand
daload
dmul
dstore 5
54: StackMap locals:
StackMap stack:
iload 4
iconst_4
ishr
dup
istore 4
ifeq 77
55: iconst_0
istore 7
start local 7 56: goto 60
57: StackMap locals: int
StackMap stack:
iload 4
iconst_1
iand
ifeq 59
58: dload 5
getstatic jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.BIG_10_POW:[D
iload 7
daload
dmul
dstore 5
59: StackMap locals:
StackMap stack:
iinc 7 1
iload 4
iconst_1
ishr
istore 4
StackMap locals:
StackMap stack:
60: iload 4
ifgt 57
end local 7 61: goto 77
StackMap locals:
StackMap stack:
62: iload 4
ifge 77
63: iload 4
ineg
istore 4
64: aload 0
getfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.decExponent:I
bipush -46
if_icmpge 68
65: aload 0
getfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.isNegative:Z
ifeq 66
ldc -0.0
goto 67
StackMap locals:
StackMap stack:
66: fconst_0
StackMap locals:
StackMap stack: float
67: freturn
68: StackMap locals:
StackMap stack:
iload 4
bipush 15
iand
ifeq 70
69: dload 5
getstatic jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.SMALL_10_POW:[D
iload 4
bipush 15
iand
daload
ddiv
dstore 5
70: StackMap locals:
StackMap stack:
iload 4
iconst_4
ishr
dup
istore 4
ifeq 77
71: iconst_0
istore 7
start local 7 72: goto 76
73: StackMap locals: int
StackMap stack:
iload 4
iconst_1
iand
ifeq 75
74: dload 5
getstatic jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.TINY_10_POW:[D
iload 7
daload
dmul
dstore 5
75: StackMap locals:
StackMap stack:
iinc 7 1
iload 4
iconst_1
ishr
istore 4
StackMap locals:
StackMap stack:
76: iload 4
ifgt 73
end local 7 77: StackMap locals:
StackMap stack:
ldc 1.4E-45
ldc 3.4028235E38
dload 5
d2f
invokestatic java.lang.Math.min:(FF)F
invokestatic java.lang.Math.max:(FF)F
fstore 3
78: aload 0
getfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.nDigits:I
sipush 200
if_icmple 81
79: aload 0
sipush 201
putfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.nDigits:I
80: aload 0
getfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.digits:[C
sipush 200
bipush 49
castore
81: StackMap locals:
StackMap stack:
new jdk.internal.math.FDBigInteger
dup
iload 2
i2l
aload 0
getfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.digits:[C
iload 1
aload 0
getfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.nDigits:I
invokespecial jdk.internal.math.FDBigInteger.<init>:(J[CII)V
astore 7
start local 7 82: aload 0
getfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.decExponent:I
aload 0
getfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.nDigits:I
isub
istore 4
83: fload 3
invokestatic java.lang.Float.floatToRawIntBits:(F)I
istore 8
start local 8 84: iconst_0
iload 4
ineg
invokestatic java.lang.Math.max:(II)I
istore 9
start local 9 85: iconst_0
iload 4
invokestatic java.lang.Math.max:(II)I
istore 10
start local 10 86: aload 7
iload 10
iconst_0
invokevirtual jdk.internal.math.FDBigInteger.multByPow52:(II)Ljdk/internal/math/FDBigInteger;
astore 7
87: aload 7
invokevirtual jdk.internal.math.FDBigInteger.makeImmutable:()V
88: aconst_null
astore 11
start local 11 89: iconst_0
istore 12
start local 12 90: StackMap locals: jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer int int float int double jdk.internal.math.FDBigInteger int int int jdk.internal.math.FDBigInteger int
StackMap stack:
iload 8
bipush 23
iushr
istore 13
start local 13 91: iload 8
ldc 8388607
iand
istore 14
start local 14 92: iload 13
ifle 95
93: iload 14
ldc 8388608
ior
istore 14
94: goto 100
95: StackMap locals: int int
StackMap stack:
getstatic jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.$assertionsDisabled:Z
ifne 96
iload 14
ifne 96
new java.lang.AssertionError
dup
iload 14
invokespecial java.lang.AssertionError.<init>:(I)V
athrow
96: StackMap locals:
StackMap stack:
iload 14
invokestatic java.lang.Integer.numberOfLeadingZeros:(I)I
istore 15
start local 15 97: iload 15
bipush 8
isub
istore 16
start local 16 98: iload 14
iload 16
ishl
istore 14
99: iconst_1
iload 16
isub
istore 13
end local 16 end local 15 100: StackMap locals:
StackMap stack:
iinc 13 -127
101: iload 14
invokestatic java.lang.Integer.numberOfTrailingZeros:(I)I
istore 15
start local 15 102: iload 14
iload 15
iushr
istore 14
103: iload 13
bipush 23
isub
iload 15
iadd
istore 16
start local 16 104: bipush 24
iload 15
isub
istore 17
start local 17 105: iload 9
istore 18
start local 18 106: iload 10
istore 19
start local 19 107: iload 16
iflt 110
108: iload 18
iload 16
iadd
istore 18
109: goto 111
110: StackMap locals: jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer int int float int double jdk.internal.math.FDBigInteger int int int jdk.internal.math.FDBigInteger int int int int int int int int
StackMap stack:
iload 19
iload 16
isub
istore 19
111: StackMap locals:
StackMap stack:
iload 18
istore 20
start local 20 112: iload 13
bipush -127
if_icmpgt 115
113: iload 13
iload 15
iadd
bipush 127
iadd
istore 21
start local 21 114: goto 116
end local 21 115: StackMap locals: int
StackMap stack:
iconst_1
iload 15
iadd
istore 21
start local 21 116: StackMap locals: int
StackMap stack:
iload 18
iload 21
iadd
istore 18
117: iload 19
iload 21
iadd
istore 19
118: iload 18
iload 19
iload 20
invokestatic java.lang.Math.min:(II)I
invokestatic java.lang.Math.min:(II)I
istore 22
start local 22 119: iload 18
iload 22
isub
istore 18
120: iload 19
iload 22
isub
istore 19
121: iload 20
iload 22
isub
istore 20
122: iload 14
i2l
iload 9
iload 18
invokestatic jdk.internal.math.FDBigInteger.valueOfMulPow52:(JII)Ljdk/internal/math/FDBigInteger;
astore 23
start local 23 123: aload 11
ifnull 124
iload 12
iload 19
if_icmpeq 126
124: StackMap locals: int jdk.internal.math.FDBigInteger
StackMap stack:
aload 7
iload 19
invokevirtual jdk.internal.math.FDBigInteger.leftShift:(I)Ljdk/internal/math/FDBigInteger;
astore 11
125: iload 19
istore 12
126: StackMap locals:
StackMap stack:
aload 23
aload 11
invokevirtual jdk.internal.math.FDBigInteger.cmp:(Ljdk/internal/math/FDBigInteger;)I
dup
istore 25
start local 25 127: ifle 136
128: iconst_1
istore 26
start local 26 129: aload 23
aload 11
invokevirtual jdk.internal.math.FDBigInteger.leftInplaceSub:(Ljdk/internal/math/FDBigInteger;)Ljdk/internal/math/FDBigInteger;
astore 24
start local 24 130: iload 17
iconst_1
if_icmpne 139
iload 16
bipush -126
if_icmple 139
131: iinc 20 -1
132: iload 20
ifge 139
133: iconst_0
istore 20
134: aload 24
iconst_1
invokevirtual jdk.internal.math.FDBigInteger.leftShift:(I)Ljdk/internal/math/FDBigInteger;
astore 24
135: goto 139
end local 26 end local 24 StackMap locals: jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer int int float int double jdk.internal.math.FDBigInteger int int int jdk.internal.math.FDBigInteger int int int int int int int int int int int jdk.internal.math.FDBigInteger top int
StackMap stack:
136: iload 25
ifge 152
137: iconst_0
istore 26
start local 26 138: aload 11
aload 23
invokevirtual jdk.internal.math.FDBigInteger.rightInplaceSub:(Ljdk/internal/math/FDBigInteger;)Ljdk/internal/math/FDBigInteger;
astore 24
start local 24 139: StackMap locals: jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer int int float int double jdk.internal.math.FDBigInteger int int int jdk.internal.math.FDBigInteger int int int int int int int int int int int jdk.internal.math.FDBigInteger jdk.internal.math.FDBigInteger int int
StackMap stack:
aload 24
iload 9
iload 20
invokevirtual jdk.internal.math.FDBigInteger.cmpPow52:(II)I
istore 25
140: iload 25
ifge 142
141: goto 152
142: StackMap locals:
StackMap stack:
iload 25
ifne 148
143: iload 8
iconst_1
iand
ifeq 152
144: iload 8
iload 26
ifeq 145
iconst_m1
goto 146
StackMap locals:
StackMap stack: int
145: iconst_1
StackMap locals: jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer int int float int double jdk.internal.math.FDBigInteger int int int jdk.internal.math.FDBigInteger int int int int int int int int int int int jdk.internal.math.FDBigInteger jdk.internal.math.FDBigInteger int int
StackMap stack: int int
146: iadd
istore 8
147: goto 152
148: StackMap locals:
StackMap stack:
iload 8
iload 26
ifeq 149
iconst_m1
goto 150
StackMap locals:
StackMap stack: int
149: iconst_1
StackMap locals: jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer int int float int double jdk.internal.math.FDBigInteger int int int jdk.internal.math.FDBigInteger int int int int int int int int int int int jdk.internal.math.FDBigInteger jdk.internal.math.FDBigInteger int int
StackMap stack: int int
150: iadd
istore 8
151: iload 8
ifeq 152
iload 8
ldc 2139095040
if_icmpne 90
end local 26 end local 25 end local 24 end local 23 end local 22 end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 152: StackMap locals: jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer int int float int double jdk.internal.math.FDBigInteger int int int jdk.internal.math.FDBigInteger int
StackMap stack:
aload 0
getfield jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.isNegative:Z
ifeq 154
153: iload 8
ldc -2147483648
ior
istore 8
154: StackMap locals:
StackMap stack:
iload 8
invokestatic java.lang.Float.intBitsToFloat:(I)F
freturn
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 155 0 this Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryBuffer;
1 155 1 kDigits I
2 155 2 iValue I
3 7 3 i I
8 155 3 fValue F
9 155 4 exp I
21 27 5 slop I
34 46 5 lValue J
35 39 7 i I
40 46 7 dValue D
47 155 5 dValue D
56 61 7 j I
72 77 7 j I
82 155 7 bigD0 Ljdk/internal/math/FDBigInteger;
84 155 8 ieeeBits I
85 155 9 B5 I
86 155 10 D5 I
89 155 11 bigD Ljdk/internal/math/FDBigInteger;
90 155 12 prevD2 I
91 152 13 binexp I
92 152 14 bigBbits I
97 100 15 leadingZeros I
98 100 16 shift I
102 152 15 lowOrderZeros I
104 152 16 bigIntExp I
105 152 17 bigIntNBits I
106 152 18 B2 I
107 152 19 D2 I
112 152 20 Ulp2 I
114 115 21 hulpbias I
116 152 21 hulpbias I
119 152 22 common2 I
123 152 23 bigB Ljdk/internal/math/FDBigInteger;
130 136 24 diff Ljdk/internal/math/FDBigInteger;
139 152 24 diff Ljdk/internal/math/FDBigInteger;
127 152 25 cmpResult I
129 136 26 overvalue Z
138 152 26 overvalue Z
}
SourceFile: "FloatingDecimal.java"
NestHost: jdk.internal.math.FloatingDecimal
InnerClasses:
ASCIIToBinaryBuffer = jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer of jdk.internal.math.FloatingDecimal
abstract ASCIIToBinaryConverter = jdk.internal.math.FloatingDecimal$ASCIIToBinaryConverter of jdk.internal.math.FloatingDecimal