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 9
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 9
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 8
iinc 8 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 8
iinc 8 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 9
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 9
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 8
iload 12
isub
istore 8
67: iload 8
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 9
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 8
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 8
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 8
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 nDigits I
30 119 9 decSeen Z
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: aconst_null
astore 5
start local 5 9: iconst_0
istore 6
start local 6 10: iconst_0
istore 7
start local 7 11: iconst_0
istore 8
start local 8 12: iconst_0
istore 9
start local 9 13: aload 1
iconst_4
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
dup
astore 10
start local 10 14: ifnull 18
15: aload 10
invokestatic jdk.internal.math.FloatingDecimal.stripLeadingZeros:(Ljava/lang/String;)Ljava/lang/String;
astore 5
16: aload 5
invokevirtual java.lang.String.length:()I
istore 8
17: goto 28
18: 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:
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 19: aload 11
invokevirtual java.lang.String.length:()I
istore 8
20: aload 1
bipush 7
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
astore 12
start local 12 21: aload 12
invokevirtual java.lang.String.length:()I
istore 9
22: new java.lang.StringBuilder
dup
aload 11
ifnonnull 23
ldc ""
goto 24
StackMap locals: java.lang.String java.util.regex.Matcher int java.lang.String int java.lang.String int int int int java.lang.String java.lang.String java.lang.String
StackMap stack: new 22 new 22
23: aload 11
StackMap locals: java.lang.String java.util.regex.Matcher int java.lang.String int java.lang.String int int int int java.lang.String java.lang.String java.lang.String
StackMap stack: new 22 new 22 java.lang.String
24: invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
25: aload 12
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
26: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
27: astore 5
end local 12 end local 11 28: StackMap locals:
StackMap stack:
aload 5
invokestatic jdk.internal.math.FloatingDecimal.stripLeadingZeros:(Ljava/lang/String;)Ljava/lang/String;
astore 5
29: aload 5
invokevirtual java.lang.String.length:()I
istore 6
30: iload 8
iconst_1
if_icmplt 33
31: iconst_4
iload 8
iconst_1
isub
imul
istore 7
32: goto 34
33: StackMap locals:
StackMap stack:
bipush -4
iload 9
iload 6
isub
iconst_1
iadd
imul
istore 7
34: StackMap locals:
StackMap stack:
iload 6
ifne 38
35: iload 4
ifeq 36
getstatic jdk.internal.math.FloatingDecimal.A2BC_NEGATIVE_ZERO:Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
goto 37
StackMap locals:
StackMap stack:
36: getstatic jdk.internal.math.FloatingDecimal.A2BC_POSITIVE_ZERO:Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
StackMap locals:
StackMap stack: jdk.internal.math.FloatingDecimal$ASCIIToBinaryConverter
37: areturn
end local 10 end local 9 end local 8 38: StackMap locals:
StackMap stack:
aload 1
bipush 8
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
astore 8
start local 8 39: aload 8
ifnull 40
aload 8
ldc "+"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 40
iconst_0
goto 41
StackMap locals: java.lang.String
StackMap stack:
40: iconst_1
StackMap locals:
StackMap stack: int
41: istore 9
start local 9 42: 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 43: goto 51
end local 10 44: 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
45: iload 4
ifeq 48
46: iload 9
ifeq 47
getstatic jdk.internal.math.FloatingDecimal.A2BC_NEGATIVE_INFINITY:Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
goto 50
StackMap locals:
StackMap stack:
47: getstatic jdk.internal.math.FloatingDecimal.A2BC_NEGATIVE_ZERO:Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
goto 50
48: StackMap locals:
StackMap stack:
iload 9
ifeq 49
getstatic jdk.internal.math.FloatingDecimal.A2BC_POSITIVE_INFINITY:Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
goto 50
StackMap locals:
StackMap stack:
49: getstatic jdk.internal.math.FloatingDecimal.A2BC_POSITIVE_ZERO:Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
50: StackMap locals:
StackMap stack: jdk.internal.math.FloatingDecimal$ASCIIToBinaryConverter
areturn
start local 10 51: StackMap locals: long
StackMap stack:
iload 9
ifeq 52
lconst_1
goto 53
StackMap locals:
StackMap stack:
52: ldc -1
53: StackMap locals:
StackMap stack: long
lload 10
54: lmul
55: lstore 12
start local 12 56: lload 12
iload 7
i2l
ladd
lstore 14
start local 14 57: iconst_0
istore 16
start local 16 58: iconst_0
istore 17
start local 17 59: iconst_0
istore 18
start local 18 60: lconst_0
lstore 19
start local 19 61: aload 5
iconst_0
invokestatic jdk.internal.math.FloatingDecimal.getHexDigit:(Ljava/lang/String;I)I
i2l
lstore 21
start local 21 62: lload 21
lconst_1
lcmp
ifne 66
63: lload 19
lload 21
bipush 52
lshl
lor
lstore 19
64: bipush 48
istore 18
65: goto 82
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:
66: lload 21
ldc 3
lcmp
ifgt 71
67: lload 19
lload 21
bipush 51
lshl
lor
lstore 19
68: bipush 47
istore 18
69: lload 14
lconst_1
ladd
lstore 14
70: goto 82
StackMap locals:
StackMap stack:
71: lload 21
ldc 7
lcmp
ifgt 76
72: lload 19
lload 21
bipush 50
lshl
lor
lstore 19
73: bipush 46
istore 18
74: lload 14
ldc 2
ladd
lstore 14
75: goto 82
StackMap locals:
StackMap stack:
76: lload 21
ldc 15
lcmp
ifgt 81
77: lload 19
lload 21
bipush 49
lshl
lor
lstore 19
78: bipush 45
istore 18
79: lload 14
ldc 3
ladd
lstore 14
80: goto 82
81: 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
82: StackMap locals:
StackMap stack:
iconst_0
istore 23
start local 23 83: iconst_1
istore 23
84: goto 89
85: 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 86: lload 19
lload 24
iload 18
lshl
lor
lstore 19
87: iinc 18 -4
end local 24 88: iinc 23 1
89: StackMap locals:
StackMap stack:
iload 23
iload 6
if_icmpge 91
iload 18
90: ifge 85
91: StackMap locals:
StackMap stack:
iload 23
iload 6
if_icmpge 131
92: aload 5
iload 23
invokestatic jdk.internal.math.FloatingDecimal.getHexDigit:(Ljava/lang/String;I)I
i2l
lstore 24
start local 24 93: iload 18
tableswitch { // -4 - -1
-4: 115
-3: 107
-2: 99
-1: 94
default: 122
}
94: StackMap locals: long
StackMap stack:
lload 19
lload 24
ldc 14
land
iconst_1
lshr
lor
lstore 19
95: lload 24
lconst_1
land
lconst_0
lcmp
ifeq 96
iconst_1
goto 97
StackMap locals:
StackMap stack:
96: iconst_0
StackMap locals:
StackMap stack: int
97: istore 16
98: goto 123
99: StackMap locals:
StackMap stack:
lload 19
lload 24
ldc 12
land
iconst_2
lshr
lor
lstore 19
100: lload 24
ldc 2
land
lconst_0
lcmp
ifeq 101
iconst_1
goto 102
StackMap locals:
StackMap stack:
101: iconst_0
StackMap locals:
StackMap stack: int
102: istore 16
103: lload 24
lconst_1
land
lconst_0
lcmp
ifeq 104
iconst_1
goto 105
StackMap locals:
StackMap stack:
104: iconst_0
StackMap locals:
StackMap stack: int
105: istore 17
106: goto 123
107: StackMap locals:
StackMap stack:
lload 19
lload 24
ldc 8
land
iconst_3
lshr
lor
lstore 19
108: lload 24
ldc 4
land
lconst_0
lcmp
ifeq 109
iconst_1
goto 110
StackMap locals:
StackMap stack:
109: iconst_0
StackMap locals:
StackMap stack: int
110: istore 16
111: lload 24
ldc 3
land
lconst_0
lcmp
ifeq 112
iconst_1
goto 113
StackMap locals:
StackMap stack:
112: iconst_0
StackMap locals:
StackMap stack: int
113: istore 17
114: goto 123
115: StackMap locals:
StackMap stack:
lload 24
ldc 8
land
lconst_0
lcmp
ifeq 116
iconst_1
goto 117
StackMap locals:
StackMap stack:
116: iconst_0
StackMap locals:
StackMap stack: int
117: istore 16
118: lload 24
ldc 7
land
lconst_0
lcmp
ifeq 119
iconst_1
goto 120
StackMap locals:
StackMap stack:
119: iconst_0
StackMap locals:
StackMap stack: int
120: istore 17
121: goto 123
122: StackMap locals:
StackMap stack:
new java.lang.AssertionError
dup
ldc "Unexpected shift distance remainder."
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
123: StackMap locals:
StackMap stack:
iinc 23 1
124: goto 130
125: StackMap locals:
StackMap stack:
aload 5
iload 23
invokestatic jdk.internal.math.FloatingDecimal.getHexDigit:(Ljava/lang/String;I)I
i2l
lstore 24
126: iload 17
ifne 127
lload 24
lconst_0
lcmp
ifne 127
iconst_0
goto 128
StackMap locals:
StackMap stack:
127: iconst_1
StackMap locals:
StackMap stack: int
128: istore 17
129: iinc 23 1
130: StackMap locals:
StackMap stack:
iload 23
iload 6
if_icmpge 131
iload 17
ifeq 125
end local 24 131: StackMap locals:
StackMap stack:
iload 4
ifeq 132
ldc -2147483648
goto 133
StackMap locals:
StackMap stack:
132: iconst_0
StackMap locals:
StackMap stack: int
133: istore 24
start local 24 134: lload 14
ldc -126
lcmp
iflt 147
135: lload 14
ldc 127
lcmp
ifle 138
136: iload 24
ldc 2139095040
ior
istore 24
137: goto 158
138: StackMap locals: int
StackMap stack:
bipush 28
istore 25
start local 25 139: lload 19
lconst_1
iload 25
lshl
lconst_1
lsub
land
lconst_0
lcmp
ifne 140
iload 16
ifne 140
iload 17
ifne 140
iconst_0
goto 141
StackMap locals: int
StackMap stack:
140: iconst_1
StackMap locals:
StackMap stack: int
141: istore 26
start local 26 142: lload 19
iload 25
lushr
l2i
istore 27
start local 27 143: iload 27
iconst_3
iand
iconst_1
if_icmpne 144
iload 26
ifeq 145
144: StackMap locals: int int
StackMap stack:
iinc 27 1
145: 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 146: goto 158
147: StackMap locals:
StackMap stack:
lload 14
ldc -150
lcmp
iflt 158
148: ldc -98
lload 14
lsub
l2i
istore 25
start local 25 149: getstatic jdk.internal.math.FloatingDecimal.$assertionsDisabled:Z
ifne 150
iload 25
bipush 29
if_icmpge 150
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
150: StackMap locals: int
StackMap stack:
getstatic jdk.internal.math.FloatingDecimal.$assertionsDisabled:Z
ifne 151
iload 25
bipush 53
if_icmplt 151
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
151: StackMap locals:
StackMap stack:
lload 19
lconst_1
iload 25
lshl
lconst_1
lsub
land
lconst_0
lcmp
ifne 152
iload 16
ifne 152
iload 17
ifne 152
iconst_0
goto 153
StackMap locals:
StackMap stack:
152: iconst_1
StackMap locals:
StackMap stack: int
153: istore 26
start local 26 154: lload 19
iload 25
lushr
l2i
istore 27
start local 27 155: iload 27
iconst_3
iand
iconst_1
if_icmpne 156
iload 26
ifeq 157
156: StackMap locals: int int
StackMap stack:
iinc 27 1
157: StackMap locals:
StackMap stack:
iload 24
iload 27
iconst_1
ishr
ior
istore 24
end local 27 end local 26 end local 25 158: StackMap locals:
StackMap stack:
iload 24
invokestatic java.lang.Float.intBitsToFloat:(I)F
fstore 25
start local 25 159: lload 14
ldc 1023
lcmp
ifle 163
160: iload 4
ifeq 161
getstatic jdk.internal.math.FloatingDecimal.A2BC_NEGATIVE_INFINITY:Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
goto 162
StackMap locals: float
StackMap stack:
161: getstatic jdk.internal.math.FloatingDecimal.A2BC_POSITIVE_INFINITY:Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
StackMap locals:
StackMap stack: jdk.internal.math.FloatingDecimal$ASCIIToBinaryConverter
162: areturn
163: StackMap locals:
StackMap stack:
lload 14
ldc 1023
lcmp
ifgt 175
164: lload 14
ldc -1022
lcmp
iflt 175
165: lload 14
166: ldc 1023
167: ladd
168: bipush 52
169: lshl
170: ldc 9218868437227405312
171: land
172: ldc 4503599627370495
lload 19
land
173: lor
lstore 19
174: goto 199
175: StackMap locals:
StackMap stack:
lload 14
ldc -1075
lcmp
ifge 179
176: iload 4
ifeq 177
getstatic jdk.internal.math.FloatingDecimal.A2BC_NEGATIVE_ZERO:Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
goto 178
StackMap locals:
StackMap stack:
177: getstatic jdk.internal.math.FloatingDecimal.A2BC_POSITIVE_ZERO:Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter;
StackMap locals:
StackMap stack: jdk.internal.math.FloatingDecimal$ASCIIToBinaryConverter
178: areturn
179: StackMap locals:
StackMap stack:
iload 17
ifne 180
iload 16
ifne 180
iconst_0
goto 181
StackMap locals:
StackMap stack:
180: iconst_1
StackMap locals:
StackMap stack: int
181: istore 17
182: iconst_0
istore 16
183: bipush 53
184: lload 14
l2i
sipush -1074
isub
iconst_1
iadd
185: isub
istore 26
start local 26 186: getstatic jdk.internal.math.FloatingDecimal.$assertionsDisabled:Z
ifne 188
iload 26
iconst_1
if_icmplt 187
iload 26
bipush 53
if_icmple 188
StackMap locals: int
StackMap stack:
187: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
188: StackMap locals:
StackMap stack:
lload 19
lconst_1
iload 26
iconst_1
isub
lshl
land
lconst_0
lcmp
ifeq 189
iconst_1
goto 190
StackMap locals:
StackMap stack:
189: iconst_0
StackMap locals:
StackMap stack: int
190: istore 16
191: iload 26
iconst_1
if_icmple 196
192: ldc -1
iload 26
iconst_1
isub
lshl
ldc -1
lxor
lstore 27
start local 27 193: iload 17
ifne 194
lload 19
lload 27
land
lconst_0
lcmp
ifne 194
iconst_0
goto 195
StackMap locals: long
StackMap stack:
194: iconst_1
StackMap locals:
StackMap stack: int
195: istore 17
end local 27 196: StackMap locals:
StackMap stack:
lload 19
iload 26
lshr
lstore 19
197: ldc 4503599627370495
lload 19
land
198: lstore 19
end local 26 199: StackMap locals:
StackMap stack:
lload 19
lconst_1
land
lconst_0
lcmp
ifne 200
iconst_1
goto 201
StackMap locals:
StackMap stack:
200: iconst_0
StackMap locals:
StackMap stack: int
201: istore 26
start local 26 202: iload 26
ifeq 203
iload 16
ifeq 203
iload 17
ifne 204
203: StackMap locals: int
StackMap stack:
iload 26
ifne 205
iload 16
ifeq 205
204: StackMap locals:
StackMap stack:
lload 19
lconst_1
ladd
lstore 19
205: StackMap locals:
StackMap stack:
iload 4
ifeq 207
206: lload 19
ldc -9223372036854775808
lor
invokestatic java.lang.Double.longBitsToDouble:(J)D
goto 208
207: StackMap locals:
StackMap stack:
lload 19
invokestatic java.lang.Double.longBitsToDouble:(J)D
208: StackMap locals:
StackMap stack: double
dstore 27
start local 27 209: 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 210 0 s Ljava/lang/String;
1 210 1 m Ljava/util/regex/Matcher;
2 210 2 validInput Z
5 210 3 group1 Ljava/lang/String;
8 210 4 isNegative Z
9 210 5 significandString Ljava/lang/String;
10 210 6 signifLength I
11 210 7 exponentAdjust I
12 38 8 leftDigits I
13 38 9 rightDigits I
14 38 10 group4 Ljava/lang/String;
19 28 11 group6 Ljava/lang/String;
21 28 12 group7 Ljava/lang/String;
39 210 8 group8 Ljava/lang/String;
42 210 9 positiveExponent Z
43 44 10 unsignedRawExponent J
51 210 10 unsignedRawExponent J
56 210 12 rawExponent J
57 210 14 exponent J
58 210 16 round Z
59 210 17 sticky Z
60 210 18 nextShift I
61 210 19 significand J
62 210 21 leadingDigit J
83 210 23 i I
86 88 24 currentDigit J
93 131 24 currentDigit J
134 210 24 floatBits I
139 146 25 threshShift I
142 146 26 floatSticky Z
143 146 27 iValue I
149 158 25 threshShift I
154 158 26 floatSticky Z
155 158 27 iValue I
159 210 25 fValue F
186 199 26 bitsDiscarded I
193 196 27 mask J
202 210 26 leastZero Z
209 210 27 value D
Exception table:
from to target type
42 43 44 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