public class jdk.internal.math.FloatingDecimal
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: jdk.internal.math.FloatingDecimal
super_class: java.lang.Object
{
static final int EXP_SHIFT;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 52
static final long FRACT_HOB;
descriptor: J
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 4503599627370496
static final long EXP_ONE;
descriptor: J
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 4607182418800017408
static final int MAX_SMALL_BIN_EXP;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 62
static final int MIN_SMALL_BIN_EXP;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: -21
static final int MAX_DECIMAL_DIGITS;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 15
static final int MAX_DECIMAL_EXPONENT;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 308
static final int MIN_DECIMAL_EXPONENT;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: -324
static final int BIG_DECIMAL_EXPONENT;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 324
static final int MAX_NDIGITS;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1100
static final int SINGLE_EXP_SHIFT;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 23
static final int SINGLE_FRACT_HOB;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 8388608
static final int SINGLE_MAX_DECIMAL_DIGITS;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 7
static final int SINGLE_MAX_DECIMAL_EXPONENT;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 38
static final int SINGLE_MIN_DECIMAL_EXPONENT;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: -45
static final int SINGLE_MAX_NDIGITS;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 200
static final int INT_DECIMAL_DIGITS;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 9
private static final java.lang.String INFINITY_REP;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "Infinity"
private static final int INFINITY_LENGTH;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String NAN_REP;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "NaN"
private static final int NAN_LENGTH;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final jdk.internal.math.FloatingDecimal$BinaryToASCIIConverter B2AC_POSITIVE_INFINITY;
descriptor: Ljdk/internal/math/FloatingDecimal$BinaryToASCIIConverter;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final jdk.internal.math.FloatingDecimal$BinaryToASCIIConverter B2AC_NEGATIVE_INFINITY;
descriptor: Ljdk/internal/math/FloatingDecimal$BinaryToASCIIConverter;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final jdk.internal.math.FloatingDecimal$BinaryToASCIIConverter B2AC_NOT_A_NUMBER;
descriptor: Ljdk/internal/math/FloatingDecimal$BinaryToASCIIConverter;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final jdk.internal.math.FloatingDecimal$BinaryToASCIIConverter B2AC_POSITIVE_ZERO;
descriptor: Ljdk/internal/math/FloatingDecimal$BinaryToASCIIConverter;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final jdk.internal.math.FloatingDecimal$BinaryToASCIIConverter B2AC_NEGATIVE_ZERO;
descriptor: Ljdk/internal/math/FloatingDecimal$BinaryToASCIIConverter;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.ThreadLocal<jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer> threadLocalBinaryToASCIIBuffer;
descriptor: Ljava/lang/ThreadLocal;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/lang/ThreadLocal<Ljdk/internal/math/FloatingDecimal$BinaryToASCIIBuffer;>;
static final jdk.internal.math.FloatingDecimal$ASCIIToBinaryConverter A2BC_POSITIVE_INFINITY;
descriptor: Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final jdk.internal.math.FloatingDecimal$ASCIIToBinaryConverter A2BC_NEGATIVE_INFINITY;
descriptor: Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final jdk.internal.math.FloatingDecimal$ASCIIToBinaryConverter A2BC_NOT_A_NUMBER;
descriptor: Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final jdk.internal.math.FloatingDecimal$ASCIIToBinaryConverter A2BC_POSITIVE_ZERO;
descriptor: Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final jdk.internal.math.FloatingDecimal$ASCIIToBinaryConverter A2BC_NEGATIVE_ZERO;
descriptor: Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
flags: (0x0018) 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=7, 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.$assertionsDisabled:Z
3: ldc "Infinity"
invokevirtual java.lang.String.length:()I
putstatic jdk.internal.math.FloatingDecimal.INFINITY_LENGTH:I
4: ldc "NaN"
invokevirtual java.lang.String.length:()I
putstatic jdk.internal.math.FloatingDecimal.NAN_LENGTH:I
5: new jdk.internal.math.FloatingDecimal$ExceptionalBinaryToASCIIBuffer
dup
ldc "Infinity"
iconst_0
invokespecial jdk.internal.math.FloatingDecimal$ExceptionalBinaryToASCIIBuffer.<init>:(Ljava/lang/String;Z)V
putstatic jdk.internal.math.FloatingDecimal.B2AC_POSITIVE_INFINITY:Ljdk/internal/math/FloatingDecimal$BinaryToASCIIConverter;
6: new jdk.internal.math.FloatingDecimal$ExceptionalBinaryToASCIIBuffer
dup
ldc "-Infinity"
iconst_1
invokespecial jdk.internal.math.FloatingDecimal$ExceptionalBinaryToASCIIBuffer.<init>:(Ljava/lang/String;Z)V
putstatic jdk.internal.math.FloatingDecimal.B2AC_NEGATIVE_INFINITY:Ljdk/internal/math/FloatingDecimal$BinaryToASCIIConverter;
7: new jdk.internal.math.FloatingDecimal$ExceptionalBinaryToASCIIBuffer
dup
ldc "NaN"
iconst_0
invokespecial jdk.internal.math.FloatingDecimal$ExceptionalBinaryToASCIIBuffer.<init>:(Ljava/lang/String;Z)V
putstatic jdk.internal.math.FloatingDecimal.B2AC_NOT_A_NUMBER:Ljdk/internal/math/FloatingDecimal$BinaryToASCIIConverter;
8: new jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer
dup
iconst_0
iconst_1
newarray 5
dup
iconst_0
bipush 48
castore
invokespecial jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.<init>:(Z[C)V
putstatic jdk.internal.math.FloatingDecimal.B2AC_POSITIVE_ZERO:Ljdk/internal/math/FloatingDecimal$BinaryToASCIIConverter;
9: new jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer
dup
iconst_1
iconst_1
newarray 5
dup
iconst_0
bipush 48
castore
invokespecial jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.<init>:(Z[C)V
putstatic jdk.internal.math.FloatingDecimal.B2AC_NEGATIVE_ZERO:Ljdk/internal/math/FloatingDecimal$BinaryToASCIIConverter;
10: new jdk.internal.math.FloatingDecimal$1
dup
invokespecial jdk.internal.math.FloatingDecimal$1.<init>:()V
11: putstatic jdk.internal.math.FloatingDecimal.threadLocalBinaryToASCIIBuffer:Ljava/lang/ThreadLocal;
12: new jdk.internal.math.FloatingDecimal$PreparedASCIIToBinaryBuffer
dup
ldc Infinity
ldc Infinity
invokespecial jdk.internal.math.FloatingDecimal$PreparedASCIIToBinaryBuffer.<init>:(DF)V
putstatic jdk.internal.math.FloatingDecimal.A2BC_POSITIVE_INFINITY:Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
13: new jdk.internal.math.FloatingDecimal$PreparedASCIIToBinaryBuffer
dup
ldc -Infinity
ldc -Infinity
invokespecial jdk.internal.math.FloatingDecimal$PreparedASCIIToBinaryBuffer.<init>:(DF)V
putstatic jdk.internal.math.FloatingDecimal.A2BC_NEGATIVE_INFINITY:Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
14: new jdk.internal.math.FloatingDecimal$PreparedASCIIToBinaryBuffer
dup
ldc NaN
ldc NaN
invokespecial jdk.internal.math.FloatingDecimal$PreparedASCIIToBinaryBuffer.<init>:(DF)V
putstatic jdk.internal.math.FloatingDecimal.A2BC_NOT_A_NUMBER:Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
15: new jdk.internal.math.FloatingDecimal$PreparedASCIIToBinaryBuffer
dup
dconst_0
fconst_0
invokespecial jdk.internal.math.FloatingDecimal$PreparedASCIIToBinaryBuffer.<init>:(DF)V
putstatic jdk.internal.math.FloatingDecimal.A2BC_POSITIVE_ZERO:Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
16: new jdk.internal.math.FloatingDecimal$PreparedASCIIToBinaryBuffer
dup
ldc -0.0
ldc -0.0
invokespecial jdk.internal.math.FloatingDecimal$PreparedASCIIToBinaryBuffer.<init>:(DF)V
putstatic jdk.internal.math.FloatingDecimal.A2BC_NEGATIVE_ZERO:Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/math/FloatingDecimal;
public static java.lang.String toJavaFormatString(double);
descriptor: (D)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: dload 0
invokestatic jdk.internal.math.FloatingDecimal.getBinaryToASCIIConverter:(D)Ljdk/internal/math/FloatingDecimal$BinaryToASCIIConverter;
invokeinterface jdk.internal.math.FloatingDecimal$BinaryToASCIIConverter.toJavaFormatString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 d D
MethodParameters:
Name Flags
d
public static java.lang.String toJavaFormatString(float);
descriptor: (F)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: fload 0
invokestatic jdk.internal.math.FloatingDecimal.getBinaryToASCIIConverter:(F)Ljdk/internal/math/FloatingDecimal$BinaryToASCIIConverter;
invokeinterface jdk.internal.math.FloatingDecimal$BinaryToASCIIConverter.toJavaFormatString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 f F
MethodParameters:
Name Flags
f
public static void appendTo(double, java.lang.Appendable);
descriptor: (DLjava/lang/Appendable;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 2 0: dload 0
invokestatic jdk.internal.math.FloatingDecimal.getBinaryToASCIIConverter:(D)Ljdk/internal/math/FloatingDecimal$BinaryToASCIIConverter;
aload 2
invokeinterface jdk.internal.math.FloatingDecimal$BinaryToASCIIConverter.appendTo:(Ljava/lang/Appendable;)V
1: return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 d D
0 2 2 buf Ljava/lang/Appendable;
MethodParameters:
Name Flags
d
buf
public static void appendTo(float, java.lang.Appendable);
descriptor: (FLjava/lang/Appendable;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: fload 0
invokestatic jdk.internal.math.FloatingDecimal.getBinaryToASCIIConverter:(F)Ljdk/internal/math/FloatingDecimal$BinaryToASCIIConverter;
aload 1
invokeinterface jdk.internal.math.FloatingDecimal$BinaryToASCIIConverter.appendTo:(Ljava/lang/Appendable;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 f F
0 2 1 buf Ljava/lang/Appendable;
MethodParameters:
Name Flags
f
buf
public static double parseDouble(java.lang.String);
descriptor: (Ljava/lang/String;)D
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokestatic jdk.internal.math.FloatingDecimal.readJavaFormatString:(Ljava/lang/String;)Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
invokeinterface jdk.internal.math.FloatingDecimal$ASCIIToBinaryConverter.doubleValue:()D
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 s Ljava/lang/String;
Exceptions:
throws java.lang.NumberFormatException
MethodParameters:
Name Flags
s
public static float parseFloat(java.lang.String);
descriptor: (Ljava/lang/String;)F
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic jdk.internal.math.FloatingDecimal.readJavaFormatString:(Ljava/lang/String;)Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
invokeinterface jdk.internal.math.FloatingDecimal$ASCIIToBinaryConverter.floatValue:()F
freturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 s Ljava/lang/String;
Exceptions:
throws java.lang.NumberFormatException
MethodParameters:
Name Flags
s
private static jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer getBinaryToASCIIBuffer();
descriptor: ()Ljdk/internal/math/FloatingDecimal$BinaryToASCIIBuffer;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic jdk.internal.math.FloatingDecimal.threadLocalBinaryToASCIIBuffer:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer
areturn
LocalVariableTable:
Start End Slot Name Signature
public static jdk.internal.math.FloatingDecimal$BinaryToASCIIConverter getBinaryToASCIIConverter(double);
descriptor: (D)Ljdk/internal/math/FloatingDecimal$BinaryToASCIIConverter;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: dload 0
iconst_1
invokestatic jdk.internal.math.FloatingDecimal.getBinaryToASCIIConverter:(DZ)Ljdk/internal/math/FloatingDecimal$BinaryToASCIIConverter;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 d D
MethodParameters:
Name Flags
d
static jdk.internal.math.FloatingDecimal$BinaryToASCIIConverter getBinaryToASCIIConverter(double, boolean);
descriptor: (DZ)Ljdk/internal/math/FloatingDecimal$BinaryToASCIIConverter;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=12, args_size=2
start local 0 start local 2 0: dload 0
invokestatic java.lang.Double.doubleToRawLongBits:(D)J
lstore 3
start local 3 1: lload 3
ldc -9223372036854775808
land
lconst_0
lcmp
ifeq 2
iconst_1
goto 3
StackMap locals: long
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: istore 5
start local 5 4: lload 3
ldc 4503599627370495
land
lstore 6
start local 6 5: lload 3
ldc 9218868437227405312
land
bipush 52
lshr
l2i
istore 8
start local 8 6: iload 8
sipush 2047
if_icmpne 12
7: lload 6
lconst_0
lcmp
ifne 11
8: iload 5
ifeq 9
getstatic jdk.internal.math.FloatingDecimal.B2AC_NEGATIVE_INFINITY:Ljdk/internal/math/FloatingDecimal$BinaryToASCIIConverter;
goto 10
StackMap locals: int long int
StackMap stack:
9: getstatic jdk.internal.math.FloatingDecimal.B2AC_POSITIVE_INFINITY:Ljdk/internal/math/FloatingDecimal$BinaryToASCIIConverter;
StackMap locals:
StackMap stack: jdk.internal.math.FloatingDecimal$BinaryToASCIIConverter
10: areturn
11: StackMap locals:
StackMap stack:
getstatic jdk.internal.math.FloatingDecimal.B2AC_NOT_A_NUMBER:Ljdk/internal/math/FloatingDecimal$BinaryToASCIIConverter;
areturn
12: StackMap locals:
StackMap stack:
iload 8
ifne 23
13: lload 6
lconst_0
lcmp
ifne 17
14: iload 5
ifeq 15
getstatic jdk.internal.math.FloatingDecimal.B2AC_NEGATIVE_ZERO:Ljdk/internal/math/FloatingDecimal$BinaryToASCIIConverter;
goto 16
StackMap locals:
StackMap stack:
15: getstatic jdk.internal.math.FloatingDecimal.B2AC_POSITIVE_ZERO:Ljdk/internal/math/FloatingDecimal$BinaryToASCIIConverter;
StackMap locals:
StackMap stack: jdk.internal.math.FloatingDecimal$BinaryToASCIIConverter
16: areturn
17: StackMap locals:
StackMap stack:
lload 6
invokestatic java.lang.Long.numberOfLeadingZeros:(J)I
istore 10
start local 10 18: iload 10
bipush 11
isub
istore 11
start local 11 19: lload 6
iload 11
lshl
lstore 6
20: iconst_1
iload 11
isub
istore 8
21: bipush 64
iload 10
isub
istore 9
end local 11 end local 10 start local 9 22: goto 25
end local 9 23: StackMap locals:
StackMap stack:
lload 6
ldc 4503599627370496
lor
lstore 6
24: bipush 53
istore 9
start local 9 25: StackMap locals: int
StackMap stack:
iinc 8 -1023
26: invokestatic jdk.internal.math.FloatingDecimal.getBinaryToASCIIBuffer:()Ljdk/internal/math/FloatingDecimal$BinaryToASCIIBuffer;
astore 10
start local 10 27: aload 10
iload 5
invokevirtual jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.setSign:(Z)V
28: aload 10
iload 8
lload 6
iload 9
iload 2
invokevirtual jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.dtoa:(IJIZ)V
29: aload 10
areturn
end local 10 end local 9 end local 8 end local 6 end local 5 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 d D
0 30 2 isCompatibleFormat Z
1 30 3 dBits J
4 30 5 isNegative Z
5 30 6 fractBits J
6 30 8 binExp I
22 23 9 nSignificantBits I
25 30 9 nSignificantBits I
18 22 10 leadingZeros I
19 22 11 shift I
27 30 10 buf Ljdk/internal/math/FloatingDecimal$BinaryToASCIIBuffer;
MethodParameters:
Name Flags
d
isCompatibleFormat
private static jdk.internal.math.FloatingDecimal$BinaryToASCIIConverter getBinaryToASCIIConverter(float);
descriptor: (F)Ljdk/internal/math/FloatingDecimal$BinaryToASCIIConverter;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=8, args_size=1
start local 0 0: fload 0
invokestatic java.lang.Float.floatToRawIntBits:(F)I
istore 1
start local 1 1: iload 1
ldc -2147483648
iand
ifeq 2
iconst_1
goto 3
StackMap locals: int
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: istore 2
start local 2 4: iload 1
ldc 8388607
iand
istore 3
start local 3 5: iload 1
ldc 2139095040
iand
bipush 23
ishr
istore 4
start local 4 6: iload 4
sipush 255
if_icmpne 12
7: iload 3
i2l
lconst_0
lcmp
ifne 11
8: iload 2
ifeq 9
getstatic jdk.internal.math.FloatingDecimal.B2AC_NEGATIVE_INFINITY:Ljdk/internal/math/FloatingDecimal$BinaryToASCIIConverter;
goto 10
StackMap locals: int int int
StackMap stack:
9: getstatic jdk.internal.math.FloatingDecimal.B2AC_POSITIVE_INFINITY:Ljdk/internal/math/FloatingDecimal$BinaryToASCIIConverter;
StackMap locals:
StackMap stack: jdk.internal.math.FloatingDecimal$BinaryToASCIIConverter
10: areturn
11: StackMap locals:
StackMap stack:
getstatic jdk.internal.math.FloatingDecimal.B2AC_NOT_A_NUMBER:Ljdk/internal/math/FloatingDecimal$BinaryToASCIIConverter;
areturn
12: StackMap locals:
StackMap stack:
iload 4
ifne 23
13: iload 3
ifne 17
14: iload 2
ifeq 15
getstatic jdk.internal.math.FloatingDecimal.B2AC_NEGATIVE_ZERO:Ljdk/internal/math/FloatingDecimal$BinaryToASCIIConverter;
goto 16
StackMap locals:
StackMap stack:
15: getstatic jdk.internal.math.FloatingDecimal.B2AC_POSITIVE_ZERO:Ljdk/internal/math/FloatingDecimal$BinaryToASCIIConverter;
StackMap locals:
StackMap stack: jdk.internal.math.FloatingDecimal$BinaryToASCIIConverter
16: areturn
17: StackMap locals:
StackMap stack:
iload 3
invokestatic java.lang.Integer.numberOfLeadingZeros:(I)I
istore 6
start local 6 18: iload 6
bipush 8
isub
istore 7
start local 7 19: iload 3
iload 7
ishl
istore 3
20: iconst_1
iload 7
isub
istore 4
21: bipush 32
iload 6
isub
istore 5
end local 7 end local 6 start local 5 22: goto 25
end local 5 23: StackMap locals:
StackMap stack:
iload 3
ldc 8388608
ior
istore 3
24: bipush 24
istore 5
start local 5 25: StackMap locals: int
StackMap stack:
iinc 4 -127
26: invokestatic jdk.internal.math.FloatingDecimal.getBinaryToASCIIBuffer:()Ljdk/internal/math/FloatingDecimal$BinaryToASCIIBuffer;
astore 6
start local 6 27: aload 6
iload 2
invokevirtual jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.setSign:(Z)V
28: aload 6
iload 4
iload 3
i2l
bipush 29
lshl
iload 5
iconst_1
invokevirtual jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.dtoa:(IJIZ)V
29: aload 6
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 f F
1 30 1 fBits I
4 30 2 isNegative Z
5 30 3 fractBits I
6 30 4 binExp I
22 23 5 nSignificantBits I
25 30 5 nSignificantBits I
18 22 6 leadingZeros I
19 22 7 shift I
27 30 6 buf Ljdk/internal/math/FloatingDecimal$BinaryToASCIIBuffer;
MethodParameters:
Name Flags
f
static jdk.internal.math.FloatingDecimal$ASCIIToBinaryConverter readJavaFormatString(java.lang.String);
descriptor: (Ljava/lang/String;)Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=20, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: iconst_0
istore 2
start local 2 2: aload 0
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 0
3: aload 0
invokevirtual java.lang.String.length:()I
istore 5
start local 5 4: iload 5
ifne 6
5: new java.lang.NumberFormatException
dup
ldc "empty String"
invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals: java.lang.String int int top top int
StackMap stack:
iconst_0
istore 6
start local 6 7: aload 0
iload 6
invokevirtual java.lang.String.charAt:(I)C
tableswitch { // 43 - 45
43: 9
44: 11
45: 8
default: 11
}
8: StackMap locals: int
StackMap stack:
iconst_1
istore 1
9: StackMap locals:
StackMap stack:
iinc 6 1
10: iconst_1
istore 2
11: StackMap locals:
StackMap stack:
aload 0
iload 6
invokevirtual java.lang.String.charAt:(I)C
istore 4
start local 4 12: iload 4
bipush 78
if_icmpne 16
13: iload 5
iload 6
isub
getstatic jdk.internal.math.FloatingDecimal.NAN_LENGTH:I
if_icmpne 120
aload 0
ldc "NaN"
iload 6
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
iload 6
if_icmpne 120
14: getstatic jdk.internal.math.FloatingDecimal.A2BC_NOT_A_NUMBER:Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
15: areturn
16: StackMap locals: java.lang.String int int top int int int
StackMap stack:
iload 4
bipush 73
if_icmpne 21
17: iload 5
iload 6
isub
getstatic jdk.internal.math.FloatingDecimal.INFINITY_LENGTH:I
if_icmpne 120
aload 0
ldc "Infinity"
iload 6
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
iload 6
if_icmpne 120
18: iload 1
ifeq 19
getstatic jdk.internal.math.FloatingDecimal.A2BC_NEGATIVE_INFINITY:Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
goto 20
StackMap locals:
StackMap stack:
19: getstatic jdk.internal.math.FloatingDecimal.A2BC_POSITIVE_INFINITY:Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
StackMap locals:
StackMap stack: jdk.internal.math.FloatingDecimal$ASCIIToBinaryConverter
20: areturn
21: StackMap locals:
StackMap stack:
iload 4
bipush 48
if_icmpne 27
22: iload 5
iload 6
iconst_1
iadd
if_icmple 27
23: aload 0
iload 6
iconst_1
iadd
invokevirtual java.lang.String.charAt:(I)C
istore 7
start local 7 24: iload 7
bipush 120
if_icmpeq 25
iload 7
bipush 88
if_icmpne 27
25: StackMap locals: int
StackMap stack:
aload 0
invokestatic jdk.internal.math.FloatingDecimal.parseHexString:(Ljava/lang/String;)Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
26: areturn
end local 7 27: StackMap locals:
StackMap stack:
iload 5
newarray 5
astore 7
start local 7 28: iconst_0
istore 8
start local 8 29: iconst_0
istore 9
start local 9 30: iconst_0
istore 10
start local 10 31: iconst_0
istore 11
start local 11 32: iconst_0
istore 12
start local 12 33: goto 46
34: StackMap locals: java.lang.String int int top int int int char[] int int int int int
StackMap stack:
aload 0
iload 6
invokevirtual java.lang.String.charAt:(I)C
istore 4
35: iload 4
bipush 48
if_icmpne 38
36: iinc 11 1
37: goto 45
StackMap locals:
StackMap stack:
38: iload 4
bipush 46
if_icmpne 65
39: iload 8
ifeq 41
40: new java.lang.NumberFormatException
dup
ldc "multiple points"
invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
athrow
41: StackMap locals:
StackMap stack:
iload 6
istore 10
42: iload 2
ifeq 44
43: iinc 10 -1
44: StackMap locals:
StackMap stack:
iconst_1
istore 8
45: StackMap locals:
StackMap stack:
iinc 6 1
46: StackMap locals:
StackMap stack:
iload 6
iload 5
if_icmplt 34
47: goto 65
48: StackMap locals:
StackMap stack:
aload 0
iload 6
invokevirtual java.lang.String.charAt:(I)C
istore 4
49: iload 4
bipush 49
if_icmplt 53
iload 4
bipush 57
if_icmpgt 53
50: aload 7
iload 9
iinc 9 1
iload 4
castore
51: iconst_0
istore 12
52: goto 64
StackMap locals:
StackMap stack:
53: iload 4
bipush 48
if_icmpne 57
54: aload 7
iload 9
iinc 9 1
iload 4
castore
55: iinc 12 1
56: goto 64
StackMap locals:
StackMap stack:
57: iload 4
bipush 46
if_icmpne 66
58: iload 8
ifeq 60
59: new java.lang.NumberFormatException
dup
ldc "multiple points"
invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
athrow
60: StackMap locals:
StackMap stack:
iload 6
istore 10
61: iload 2
ifeq 63
62: iinc 10 -1
63: StackMap locals:
StackMap stack:
iconst_1
istore 8
64: StackMap locals:
StackMap stack:
iinc 6 1
65: StackMap locals:
StackMap stack:
iload 6
iload 5
if_icmplt 48
66: StackMap locals:
StackMap stack:
iload 9
iload 12
isub
istore 9
67: iload 9
ifne 68
iconst_1
goto 69
StackMap locals:
StackMap stack:
68: iconst_0
StackMap locals:
StackMap stack: int
69: istore 13
start local 13 70: iload 13
ifeq 72
iload 11
ifne 72
71: goto 120
72: StackMap locals: int
StackMap stack:
iload 8
ifeq 75
73: iload 10
iload 11
isub
istore 3
start local 3 74: goto 76
end local 3 75: StackMap locals:
StackMap stack:
iload 9
iload 12
iadd
istore 3
start local 3 76: StackMap locals: java.lang.String int int int int int int char[] int int int int int int
StackMap stack:
iload 6
iload 5
if_icmpge 106
aload 0
iload 6
invokevirtual java.lang.String.charAt:(I)C
dup
istore 4
bipush 101
if_icmpeq 77
iload 4
bipush 69
if_icmpne 106
77: StackMap locals:
StackMap stack:
iconst_1
istore 14
start local 14 78: iconst_0
istore 15
start local 15 79: ldc 214748364
istore 16
start local 16 80: iconst_0
istore 17
start local 17 81: aload 0
iinc 6 1
iload 6
invokevirtual java.lang.String.charAt:(I)C
tableswitch { // 43 - 45
43: 83
44: 84
45: 82
default: 84
}
82: StackMap locals: java.lang.String int int int int int int char[] int int int int int int int int int int
StackMap stack:
iconst_m1
istore 14
83: StackMap locals:
StackMap stack:
iinc 6 1
84: StackMap locals:
StackMap stack:
iload 6
istore 18
start local 18 85: goto 94
86: StackMap locals: int
StackMap stack:
iload 15
iload 16
if_icmplt 88
87: iconst_1
istore 17
88: StackMap locals:
StackMap stack:
aload 0
iload 6
iinc 6 1
invokevirtual java.lang.String.charAt:(I)C
istore 4
89: iload 4
bipush 48
if_icmplt 92
iload 4
bipush 57
if_icmpgt 92
90: iload 15
bipush 10
imul
iload 4
bipush 48
isub
iadd
istore 15
91: goto 94
92: StackMap locals:
StackMap stack:
iinc 6 -1
93: goto 95
94: StackMap locals:
StackMap stack:
iload 6
iload 5
if_icmplt 86
95: StackMap locals:
StackMap stack:
sipush 324
iload 9
iadd
iload 12
iadd
istore 19
start local 19 96: iload 17
ifne 97
iload 15
iload 19
if_icmple 103
97: StackMap locals: int
StackMap stack:
iload 17
ifne 101
iload 14
iconst_1
if_icmpne 101
iload 3
ifge 101
98: iload 15
iload 3
iadd
iload 19
if_icmpge 101
99: iload 3
iload 15
iadd
istore 3
100: goto 104
101: StackMap locals:
StackMap stack:
iload 14
iload 19
imul
istore 3
102: goto 104
103: StackMap locals:
StackMap stack:
iload 3
iload 14
iload 15
imul
iadd
istore 3
104: StackMap locals:
StackMap stack:
iload 6
iload 18
if_icmpne 106
105: goto 120
end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 106: StackMap locals: java.lang.String int int int int int int char[] int int int int int int
StackMap stack:
iload 6
iload 5
if_icmpge 113
107: iload 6
iload 5
iconst_1
isub
if_icmpne 120
108: aload 0
iload 6
invokevirtual java.lang.String.charAt:(I)C
bipush 102
if_icmpeq 113
109: aload 0
iload 6
invokevirtual java.lang.String.charAt:(I)C
bipush 70
if_icmpeq 113
110: aload 0
iload 6
invokevirtual java.lang.String.charAt:(I)C
bipush 100
if_icmpeq 113
111: aload 0
iload 6
invokevirtual java.lang.String.charAt:(I)C
bipush 68
if_icmpeq 113
112: goto 120
113: StackMap locals:
StackMap stack:
iload 13
ifeq 117
114: iload 1
ifeq 115
getstatic jdk.internal.math.FloatingDecimal.A2BC_NEGATIVE_ZERO:Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
goto 116
StackMap locals:
StackMap stack:
115: getstatic jdk.internal.math.FloatingDecimal.A2BC_POSITIVE_ZERO:Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
StackMap locals:
StackMap stack: jdk.internal.math.FloatingDecimal$ASCIIToBinaryConverter
116: areturn
117: StackMap locals:
StackMap stack:
new jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer
dup
iload 1
iload 3
aload 7
iload 9
invokespecial jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer.<init>:(ZI[CI)V
118: areturn
end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 119: StackMap locals: java.lang.String int int
StackMap stack: java.lang.StringIndexOutOfBoundsException
pop
120: 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
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 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 121 0 in Ljava/lang/String;
1 121 1 isNegative Z
2 121 2 signSeen Z
74 75 3 decExp I
76 119 3 decExp I
12 119 4 c C
4 119 5 len I
7 119 6 i I
24 27 7 ch C
28 119 7 digits [C
29 119 8 decSeen Z
30 119 9 nDigits I
31 119 10 decPt I
32 119 11 nLeadZero I
33 119 12 nTrailZero I
70 119 13 isZero Z
78 106 14 expSign I
79 106 15 expVal I
80 106 16 reallyBig I
81 106 17 expOverflow Z
85 106 18 expAt I
96 106 19 expLimit I
Exception table:
from to target type
2 15 119 Class java.lang.StringIndexOutOfBoundsException
16 20 119 Class java.lang.StringIndexOutOfBoundsException
21 26 119 Class java.lang.StringIndexOutOfBoundsException
27 71 119 Class java.lang.StringIndexOutOfBoundsException
72 105 119 Class java.lang.StringIndexOutOfBoundsException
106 112 119 Class java.lang.StringIndexOutOfBoundsException
113 116 119 Class java.lang.StringIndexOutOfBoundsException
117 118 119 Class java.lang.StringIndexOutOfBoundsException
Exceptions:
throws java.lang.NumberFormatException
MethodParameters:
Name Flags
in
static jdk.internal.math.FloatingDecimal$ASCIIToBinaryConverter parseHexString(java.lang.String);
descriptor: (Ljava/lang/String;)Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=29, args_size=1
start local 0 0: getstatic jdk.internal.math.FloatingDecimal$HexFloatPattern.VALUE:Ljava/util/regex/Pattern;
aload 0
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
astore 1
start local 1 1: aload 1
invokevirtual java.util.regex.Matcher.matches:()Z
istore 2
start local 2 2: iload 2
ifne 4
3: 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
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: StackMap locals: java.util.regex.Matcher int
StackMap stack:
aload 1
iconst_1
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
astore 3
start local 3 5: aload 3
ifnull 6
aload 3
ldc "-"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 6
iconst_1
goto 7
StackMap locals: java.lang.String
StackMap stack:
6: iconst_0
StackMap locals:
StackMap stack: int
7: istore 4
start local 4 8: iconst_0
istore 8
start local 8 9: iconst_0
istore 9
start local 9 10: aload 1
iconst_4
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
dup
astore 10
start local 10 11: ifnull 15
12: aload 10
invokestatic jdk.internal.math.FloatingDecimal.stripLeadingZeros:(Ljava/lang/String;)Ljava/lang/String;
astore 5
start local 5 13: aload 5
invokevirtual java.lang.String.length:()I
istore 8
14: goto 25
end local 5 15: StackMap locals: java.lang.String java.util.regex.Matcher int java.lang.String int top top top int int java.lang.String
StackMap stack:
aload 1
bipush 6
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
invokestatic jdk.internal.math.FloatingDecimal.stripLeadingZeros:(Ljava/lang/String;)Ljava/lang/String;
astore 11
start local 11 16: aload 11
invokevirtual java.lang.String.length:()I
istore 8
17: aload 1
bipush 7
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
astore 12
start local 12 18: aload 12
invokevirtual java.lang.String.length:()I
istore 9
19: new java.lang.StringBuilder
dup
aload 11
ifnonnull 20
ldc ""
goto 21
StackMap locals: java.lang.String java.util.regex.Matcher int java.lang.String int top top top int int java.lang.String java.lang.String java.lang.String
StackMap stack: new 19 new 19
20: aload 11
StackMap locals: java.lang.String java.util.regex.Matcher int java.lang.String int top top top int int java.lang.String java.lang.String java.lang.String
StackMap stack: new 19 new 19 java.lang.String
21: invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
22: aload 12
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
23: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
24: astore 5
end local 12 end local 11 start local 5 25: StackMap locals: java.lang.String java.util.regex.Matcher int java.lang.String int java.lang.String top top int int java.lang.String
StackMap stack:
aload 5
invokestatic jdk.internal.math.FloatingDecimal.stripLeadingZeros:(Ljava/lang/String;)Ljava/lang/String;
astore 5
26: aload 5
invokevirtual java.lang.String.length:()I
istore 6
start local 6 27: iload 8
iconst_1
if_icmplt 30
28: iconst_4
iload 8
iconst_1
isub
imul
istore 7
start local 7 29: goto 31
end local 7 30: StackMap locals: java.lang.String java.util.regex.Matcher int java.lang.String int java.lang.String int top int int java.lang.String
StackMap stack:
bipush -4
iload 9
iload 6
isub
iconst_1
iadd
imul
istore 7
start local 7 31: StackMap locals: java.lang.String java.util.regex.Matcher int java.lang.String int java.lang.String int int int int java.lang.String
StackMap stack:
iload 6
ifne 35
32: iload 4
ifeq 33
getstatic jdk.internal.math.FloatingDecimal.A2BC_NEGATIVE_ZERO:Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
goto 34
StackMap locals:
StackMap stack:
33: getstatic jdk.internal.math.FloatingDecimal.A2BC_POSITIVE_ZERO:Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
StackMap locals:
StackMap stack: jdk.internal.math.FloatingDecimal$ASCIIToBinaryConverter
34: areturn
end local 10 end local 9 end local 8 35: StackMap locals:
StackMap stack:
aload 1
bipush 8
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
astore 8
start local 8 36: aload 8
ifnull 37
aload 8
ldc "+"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 37
iconst_0
goto 38
StackMap locals: java.lang.String
StackMap stack:
37: iconst_1
StackMap locals:
StackMap stack: int
38: istore 9
start local 9 39: aload 1
bipush 9
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
i2l
lstore 10
start local 10 40: goto 48
end local 10 41: StackMap locals: java.lang.String java.util.regex.Matcher int java.lang.String int java.lang.String int int java.lang.String int
StackMap stack: java.lang.NumberFormatException
pop
42: iload 4
ifeq 45
43: iload 9
ifeq 44
getstatic jdk.internal.math.FloatingDecimal.A2BC_NEGATIVE_INFINITY:Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
goto 47
StackMap locals:
StackMap stack:
44: getstatic jdk.internal.math.FloatingDecimal.A2BC_NEGATIVE_ZERO:Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
goto 47
45: StackMap locals:
StackMap stack:
iload 9
ifeq 46
getstatic jdk.internal.math.FloatingDecimal.A2BC_POSITIVE_INFINITY:Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
goto 47
StackMap locals:
StackMap stack:
46: getstatic jdk.internal.math.FloatingDecimal.A2BC_POSITIVE_ZERO:Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
47: StackMap locals:
StackMap stack: jdk.internal.math.FloatingDecimal$ASCIIToBinaryConverter
areturn
start local 10 48: StackMap locals: long
StackMap stack:
iload 9
ifeq 49
lconst_1
goto 50
StackMap locals:
StackMap stack:
49: ldc -1
50: StackMap locals:
StackMap stack: long
lload 10
51: lmul
52: lstore 12
start local 12 53: lload 12
iload 7
i2l
ladd
lstore 14
start local 14 54: iconst_0
istore 16
start local 16 55: iconst_0
istore 17
start local 17 56: lconst_0
lstore 19
start local 19 57: aload 5
iconst_0
invokestatic jdk.internal.math.FloatingDecimal.getHexDigit:(Ljava/lang/String;I)I
i2l
lstore 21
start local 21 58: lload 21
lconst_1
lcmp
ifne 62
59: lload 19
lload 21
bipush 52
lshl
lor
lstore 19
60: bipush 48
istore 18
start local 18 61: goto 78
end local 18 StackMap locals: java.lang.String java.util.regex.Matcher int java.lang.String int java.lang.String int int java.lang.String int long long long int int top long long
StackMap stack:
62: lload 21
ldc 3
lcmp
ifgt 67
63: lload 19
lload 21
bipush 51
lshl
lor
lstore 19
64: bipush 47
istore 18
start local 18 65: lload 14
lconst_1
ladd
lstore 14
66: goto 78
end local 18 StackMap locals:
StackMap stack:
67: lload 21
ldc 7
lcmp
ifgt 72
68: lload 19
lload 21
bipush 50
lshl
lor
lstore 19
69: bipush 46
istore 18
start local 18 70: lload 14
ldc 2
ladd
lstore 14
71: goto 78
end local 18 StackMap locals:
StackMap stack:
72: lload 21
ldc 15
lcmp
ifgt 77
73: lload 19
lload 21
bipush 49
lshl
lor
lstore 19
74: bipush 45
istore 18
start local 18 75: lload 14
ldc 3
ladd
lstore 14
76: goto 78
end local 18 77: StackMap locals:
StackMap stack:
new java.lang.AssertionError
dup
ldc "Result from digit conversion too large!"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
start local 18 78: StackMap locals: java.lang.String java.util.regex.Matcher int java.lang.String int java.lang.String int int java.lang.String int long long long int int int long long
StackMap stack:
iconst_0
istore 23
start local 23 79: iconst_1
istore 23
80: goto 85
81: StackMap locals: int
StackMap stack:
aload 5
iload 23
invokestatic jdk.internal.math.FloatingDecimal.getHexDigit:(Ljava/lang/String;I)I
i2l
lstore 24
start local 24 82: lload 19
lload 24
iload 18
lshl
lor
lstore 19
83: iinc 18 -4
end local 24 84: iinc 23 1
85: StackMap locals:
StackMap stack:
iload 23
iload 6
if_icmpge 87
iload 18
86: ifge 81
87: StackMap locals:
StackMap stack:
iload 23
iload 6
if_icmpge 127
88: aload 5
iload 23
invokestatic jdk.internal.math.FloatingDecimal.getHexDigit:(Ljava/lang/String;I)I
i2l
lstore 24
start local 24 89: iload 18
tableswitch { // -4 - -1
-4: 111
-3: 103
-2: 95
-1: 90
default: 118
}
90: StackMap locals: long
StackMap stack:
lload 19
lload 24
ldc 14
land
iconst_1
lshr
lor
lstore 19
91: lload 24
lconst_1
land
lconst_0
lcmp
ifeq 92
iconst_1
goto 93
StackMap locals:
StackMap stack:
92: iconst_0
StackMap locals:
StackMap stack: int
93: istore 16
94: goto 119
95: StackMap locals:
StackMap stack:
lload 19
lload 24
ldc 12
land
iconst_2
lshr
lor
lstore 19
96: lload 24
ldc 2
land
lconst_0
lcmp
ifeq 97
iconst_1
goto 98
StackMap locals:
StackMap stack:
97: iconst_0
StackMap locals:
StackMap stack: int
98: istore 16
99: lload 24
lconst_1
land
lconst_0
lcmp
ifeq 100
iconst_1
goto 101
StackMap locals:
StackMap stack:
100: iconst_0
StackMap locals:
StackMap stack: int
101: istore 17
102: goto 119
103: StackMap locals:
StackMap stack:
lload 19
lload 24
ldc 8
land
iconst_3
lshr
lor
lstore 19
104: lload 24
ldc 4
land
lconst_0
lcmp
ifeq 105
iconst_1
goto 106
StackMap locals:
StackMap stack:
105: iconst_0
StackMap locals:
StackMap stack: int
106: istore 16
107: lload 24
ldc 3
land
lconst_0
lcmp
ifeq 108
iconst_1
goto 109
StackMap locals:
StackMap stack:
108: iconst_0
StackMap locals:
StackMap stack: int
109: istore 17
110: goto 119
111: StackMap locals:
StackMap stack:
lload 24
ldc 8
land
lconst_0
lcmp
ifeq 112
iconst_1
goto 113
StackMap locals:
StackMap stack:
112: iconst_0
StackMap locals:
StackMap stack: int
113: istore 16
114: lload 24
ldc 7
land
lconst_0
lcmp
ifeq 115
iconst_1
goto 116
StackMap locals:
StackMap stack:
115: iconst_0
StackMap locals:
StackMap stack: int
116: istore 17
117: goto 119
118: StackMap locals:
StackMap stack:
new java.lang.AssertionError
dup
ldc "Unexpected shift distance remainder."
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
119: StackMap locals:
StackMap stack:
iinc 23 1
120: goto 126
121: StackMap locals:
StackMap stack:
aload 5
iload 23
invokestatic jdk.internal.math.FloatingDecimal.getHexDigit:(Ljava/lang/String;I)I
i2l
lstore 24
122: iload 17
ifne 123
lload 24
lconst_0
lcmp
ifne 123
iconst_0
goto 124
StackMap locals:
StackMap stack:
123: iconst_1
StackMap locals:
StackMap stack: int
124: istore 17
125: iinc 23 1
126: StackMap locals:
StackMap stack:
iload 23
iload 6
if_icmpge 127
iload 17
ifeq 121
end local 24 127: StackMap locals:
StackMap stack:
iload 4
ifeq 128
ldc -2147483648
goto 129
StackMap locals:
StackMap stack:
128: iconst_0
StackMap locals:
StackMap stack: int
129: istore 24
start local 24 130: lload 14
ldc -126
lcmp
iflt 143
131: lload 14
ldc 127
lcmp
ifle 134
132: iload 24
ldc 2139095040
ior
istore 24
133: goto 154
134: StackMap locals: int
StackMap stack:
bipush 28
istore 25
start local 25 135: lload 19
lconst_1
iload 25
lshl
lconst_1
lsub
land
lconst_0
lcmp
ifne 136
iload 16
ifne 136
iload 17
ifne 136
iconst_0
goto 137
StackMap locals: int
StackMap stack:
136: iconst_1
StackMap locals:
StackMap stack: int
137: istore 26
start local 26 138: lload 19
iload 25
lushr
l2i
istore 27
start local 27 139: iload 27
iconst_3
iand
iconst_1
if_icmpne 140
iload 26
ifeq 141
140: StackMap locals: int int
StackMap stack:
iinc 27 1
141: StackMap locals:
StackMap stack:
iload 24
lload 14
l2i
bipush 126
iadd
bipush 23
ishl
iload 27
iconst_1
ishr
iadd
ior
istore 24
end local 27 end local 26 end local 25 142: goto 154
143: StackMap locals:
StackMap stack:
lload 14
ldc -150
lcmp
iflt 154
144: ldc -98
lload 14
lsub
l2i
istore 25
start local 25 145: getstatic jdk.internal.math.FloatingDecimal.$assertionsDisabled:Z
ifne 146
iload 25
bipush 29
if_icmpge 146
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
146: StackMap locals: int
StackMap stack:
getstatic jdk.internal.math.FloatingDecimal.$assertionsDisabled:Z
ifne 147
iload 25
bipush 53
if_icmplt 147
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
147: StackMap locals:
StackMap stack:
lload 19
lconst_1
iload 25
lshl
lconst_1
lsub
land
lconst_0
lcmp
ifne 148
iload 16
ifne 148
iload 17
ifne 148
iconst_0
goto 149
StackMap locals:
StackMap stack:
148: iconst_1
StackMap locals:
StackMap stack: int
149: istore 26
start local 26 150: lload 19
iload 25
lushr
l2i
istore 27
start local 27 151: iload 27
iconst_3
iand
iconst_1
if_icmpne 152
iload 26
ifeq 153
152: StackMap locals: int int
StackMap stack:
iinc 27 1
153: StackMap locals:
StackMap stack:
iload 24
iload 27
iconst_1
ishr
ior
istore 24
end local 27 end local 26 end local 25 154: StackMap locals:
StackMap stack:
iload 24
invokestatic java.lang.Float.intBitsToFloat:(I)F
fstore 25
start local 25 155: lload 14
ldc 1023
lcmp
ifle 159
156: iload 4
ifeq 157
getstatic jdk.internal.math.FloatingDecimal.A2BC_NEGATIVE_INFINITY:Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
goto 158
StackMap locals: float
StackMap stack:
157: getstatic jdk.internal.math.FloatingDecimal.A2BC_POSITIVE_INFINITY:Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
StackMap locals:
StackMap stack: jdk.internal.math.FloatingDecimal$ASCIIToBinaryConverter
158: areturn
159: StackMap locals:
StackMap stack:
lload 14
ldc 1023
lcmp
ifgt 171
160: lload 14
ldc -1022
lcmp
iflt 171
161: lload 14
162: ldc 1023
163: ladd
164: bipush 52
165: lshl
166: ldc 9218868437227405312
167: land
168: ldc 4503599627370495
lload 19
land
169: lor
lstore 19
170: goto 195
171: StackMap locals:
StackMap stack:
lload 14
ldc -1075
lcmp
ifge 175
172: iload 4
ifeq 173
getstatic jdk.internal.math.FloatingDecimal.A2BC_NEGATIVE_ZERO:Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
goto 174
StackMap locals:
StackMap stack:
173: getstatic jdk.internal.math.FloatingDecimal.A2BC_POSITIVE_ZERO:Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
StackMap locals:
StackMap stack: jdk.internal.math.FloatingDecimal$ASCIIToBinaryConverter
174: areturn
175: StackMap locals:
StackMap stack:
iload 17
ifne 176
iload 16
ifne 176
iconst_0
goto 177
StackMap locals:
StackMap stack:
176: iconst_1
StackMap locals:
StackMap stack: int
177: istore 17
178: iconst_0
istore 16
179: bipush 53
180: lload 14
l2i
sipush -1074
isub
iconst_1
iadd
181: isub
istore 26
start local 26 182: getstatic jdk.internal.math.FloatingDecimal.$assertionsDisabled:Z
ifne 184
iload 26
iconst_1
if_icmplt 183
iload 26
bipush 53
if_icmple 184
StackMap locals: int
StackMap stack:
183: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
184: StackMap locals:
StackMap stack:
lload 19
lconst_1
iload 26
iconst_1
isub
lshl
land
lconst_0
lcmp
ifeq 185
iconst_1
goto 186
StackMap locals:
StackMap stack:
185: iconst_0
StackMap locals:
StackMap stack: int
186: istore 16
187: iload 26
iconst_1
if_icmple 192
188: ldc -1
iload 26
iconst_1
isub
lshl
ldc -1
lxor
lstore 27
start local 27 189: iload 17
ifne 190
lload 19
lload 27
land
lconst_0
lcmp
ifne 190
iconst_0
goto 191
StackMap locals: long
StackMap stack:
190: iconst_1
StackMap locals:
StackMap stack: int
191: istore 17
end local 27 192: StackMap locals:
StackMap stack:
lload 19
iload 26
lshr
lstore 19
193: ldc 4503599627370495
lload 19
land
194: lstore 19
end local 26 195: StackMap locals:
StackMap stack:
lload 19
lconst_1
land
lconst_0
lcmp
ifne 196
iconst_1
goto 197
StackMap locals:
StackMap stack:
196: iconst_0
StackMap locals:
StackMap stack: int
197: istore 26
start local 26 198: iload 26
ifeq 199
iload 16
ifeq 199
iload 17
ifne 200
199: StackMap locals: int
StackMap stack:
iload 26
ifne 201
iload 16
ifeq 201
200: StackMap locals:
StackMap stack:
lload 19
lconst_1
ladd
lstore 19
201: StackMap locals:
StackMap stack:
iload 4
ifeq 203
202: lload 19
ldc -9223372036854775808
lor
invokestatic java.lang.Double.longBitsToDouble:(J)D
goto 204
203: StackMap locals:
StackMap stack:
lload 19
invokestatic java.lang.Double.longBitsToDouble:(J)D
204: StackMap locals:
StackMap stack: double
dstore 27
start local 27 205: new jdk.internal.math.FloatingDecimal$PreparedASCIIToBinaryBuffer
dup
dload 27
fload 25
invokespecial jdk.internal.math.FloatingDecimal$PreparedASCIIToBinaryBuffer.<init>:(DF)V
areturn
end local 27 end local 26 end local 25 end local 24 end local 23 end local 21 end local 19 end local 18 end local 17 end local 16 end local 14 end local 12 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 206 0 s Ljava/lang/String;
1 206 1 m Ljava/util/regex/Matcher;
2 206 2 validInput Z
5 206 3 group1 Ljava/lang/String;
8 206 4 isNegative Z
13 15 5 significandString Ljava/lang/String;
25 206 5 significandString Ljava/lang/String;
27 206 6 signifLength I
29 30 7 exponentAdjust I
31 206 7 exponentAdjust I
9 35 8 leftDigits I
10 35 9 rightDigits I
11 35 10 group4 Ljava/lang/String;
16 25 11 group6 Ljava/lang/String;
18 25 12 group7 Ljava/lang/String;
36 206 8 group8 Ljava/lang/String;
39 206 9 positiveExponent Z
40 41 10 unsignedRawExponent J
48 206 10 unsignedRawExponent J
53 206 12 rawExponent J
54 206 14 exponent J
55 206 16 round Z
56 206 17 sticky Z
61 62 18 nextShift I
65 67 18 nextShift I
70 72 18 nextShift I
75 77 18 nextShift I
78 206 18 nextShift I
57 206 19 significand J
58 206 21 leadingDigit J
79 206 23 i I
82 84 24 currentDigit J
89 127 24 currentDigit J
130 206 24 floatBits I
135 142 25 threshShift I
138 142 26 floatSticky Z
139 142 27 iValue I
145 154 25 threshShift I
150 154 26 floatSticky Z
151 154 27 iValue I
155 206 25 fValue F
182 195 26 bitsDiscarded I
189 192 27 mask J
198 206 26 leastZero Z
205 206 27 value D
Exception table:
from to target type
39 40 41 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=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.String.isEmpty:()Z
ifne 8
aload 0
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 48
if_icmpne 8
1: iconst_1
istore 1
start local 1 2: goto 6
3: StackMap locals: int
StackMap stack:
aload 0
iload 1
invokevirtual java.lang.String.charAt:(I)C
bipush 48
if_icmpeq 5
4: aload 0
iload 1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
areturn
5: StackMap locals:
StackMap stack:
iinc 1 1
StackMap locals:
StackMap stack:
6: iload 1
aload 0
invokevirtual java.lang.String.length:()I
if_icmplt 3
end local 1 7: ldc ""
areturn
8: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 s Ljava/lang/String;
2 7 1 i I
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 start local 1 0: aload 0
iload 1
invokevirtual java.lang.String.charAt:(I)C
bipush 16
invokestatic java.lang.Character.digit:(CI)I
istore 2
start local 2 1: iload 2
iconst_m1
if_icmple 2
iload 2
bipush 16
if_icmplt 5
2: StackMap locals: int
StackMap stack:
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Unexpected failure of digit conversion of "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
3: aload 0
iload 1
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: invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
5: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 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
}
SourceFile: "FloatingDecimal.java"
NestMembers:
jdk.internal.math.FloatingDecimal$1 jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer jdk.internal.math.FloatingDecimal$ASCIIToBinaryConverter jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer jdk.internal.math.FloatingDecimal$BinaryToASCIIConverter jdk.internal.math.FloatingDecimal$ExceptionalBinaryToASCIIBuffer jdk.internal.math.FloatingDecimal$HexFloatPattern jdk.internal.math.FloatingDecimal$PreparedASCIIToBinaryBuffer
InnerClasses:
jdk.internal.math.FloatingDecimal$1
ASCIIToBinaryBuffer = jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer of jdk.internal.math.FloatingDecimal
abstract ASCIIToBinaryConverter = jdk.internal.math.FloatingDecimal$ASCIIToBinaryConverter of jdk.internal.math.FloatingDecimal
BinaryToASCIIBuffer = jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer of jdk.internal.math.FloatingDecimal
public abstract BinaryToASCIIConverter = jdk.internal.math.FloatingDecimal$BinaryToASCIIConverter of jdk.internal.math.FloatingDecimal
private ExceptionalBinaryToASCIIBuffer = jdk.internal.math.FloatingDecimal$ExceptionalBinaryToASCIIBuffer of jdk.internal.math.FloatingDecimal
private HexFloatPattern = jdk.internal.math.FloatingDecimal$HexFloatPattern of jdk.internal.math.FloatingDecimal
PreparedASCIIToBinaryBuffer = jdk.internal.math.FloatingDecimal$PreparedASCIIToBinaryBuffer of jdk.internal.math.FloatingDecimal