public class jdk.internal.math.FormattedFloatingDecimal
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: jdk.internal.math.FormattedFloatingDecimal
super_class: java.lang.Object
{
private int decExponentRounded;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private char[] mantissa;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
private char[] exponent;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
private static final java.lang.ThreadLocal<java.lang.Object> threadLocalCharBuffer;
descriptor: Ljava/lang/ThreadLocal;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/lang/ThreadLocal<Ljava/lang/Object;>;
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$jdk$internal$math$FormattedFloatingDecimal$Form;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc Ljdk/internal/math/FormattedFloatingDecimal;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic jdk.internal.math.FormattedFloatingDecimal.$assertionsDisabled:Z
3: new jdk.internal.math.FormattedFloatingDecimal$1
dup
invokespecial jdk.internal.math.FormattedFloatingDecimal$1.<init>:()V
4: putstatic jdk.internal.math.FormattedFloatingDecimal.threadLocalCharBuffer:Ljava/lang/ThreadLocal;
5: return
LocalVariableTable:
Start End Slot Name Signature
public static jdk.internal.math.FormattedFloatingDecimal valueOf(double, int, jdk.internal.math.FormattedFloatingDecimal$Form);
descriptor: (DILjdk/internal/math/FormattedFloatingDecimal$Form;)Ljdk/internal/math/FormattedFloatingDecimal;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 2 start local 3 0: dload 0
aload 3
getstatic jdk.internal.math.FormattedFloatingDecimal$Form.COMPATIBLE:Ljdk/internal/math/FormattedFloatingDecimal$Form;
if_acmpne 1
iconst_1
goto 2
StackMap locals:
StackMap stack: double
1: iconst_0
StackMap locals: double int jdk.internal.math.FormattedFloatingDecimal$Form
StackMap stack: double int
2: invokestatic jdk.internal.math.FloatingDecimal.getBinaryToASCIIConverter:(DZ)Ljdk/internal/math/FloatingDecimal$BinaryToASCIIConverter;
3: astore 4
start local 4 4: new jdk.internal.math.FormattedFloatingDecimal
dup
iload 2
aload 3
aload 4
invokespecial jdk.internal.math.FormattedFloatingDecimal.<init>:(ILjdk/internal/math/FormattedFloatingDecimal$Form;Ljdk/internal/math/FloatingDecimal$BinaryToASCIIConverter;)V
areturn
end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 d D
0 5 2 precision I
0 5 3 form Ljdk/internal/math/FormattedFloatingDecimal$Form;
4 5 4 fdConverter Ljdk/internal/math/FloatingDecimal$BinaryToASCIIConverter;
MethodParameters:
Name Flags
d
precision
form
private static char[] getBuffer();
descriptor: ()[C
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic jdk.internal.math.FormattedFloatingDecimal.threadLocalCharBuffer:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast char[]
areturn
LocalVariableTable:
Start End Slot Name Signature
private void <init>(int, jdk.internal.math.FormattedFloatingDecimal$Form, jdk.internal.math.FloatingDecimal$BinaryToASCIIConverter);
descriptor: (ILjdk/internal/math/FormattedFloatingDecimal$Form;Ljdk/internal/math/FloatingDecimal$BinaryToASCIIConverter;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 3
invokeinterface jdk.internal.math.FloatingDecimal$BinaryToASCIIConverter.isExceptional:()Z
ifeq 5
2: aload 0
aload 3
invokeinterface jdk.internal.math.FloatingDecimal$BinaryToASCIIConverter.toJavaFormatString:()Ljava/lang/String;
invokevirtual java.lang.String.toCharArray:()[C
putfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
3: aload 0
aconst_null
putfield jdk.internal.math.FormattedFloatingDecimal.exponent:[C
4: return
5: StackMap locals: jdk.internal.math.FormattedFloatingDecimal int jdk.internal.math.FormattedFloatingDecimal$Form jdk.internal.math.FloatingDecimal$BinaryToASCIIConverter
StackMap stack:
invokestatic jdk.internal.math.FormattedFloatingDecimal.getBuffer:()[C
astore 4
start local 4 6: aload 3
aload 4
invokeinterface jdk.internal.math.FloatingDecimal$BinaryToASCIIConverter.getDigits:([C)I
istore 5
start local 5 7: aload 3
invokeinterface jdk.internal.math.FloatingDecimal$BinaryToASCIIConverter.getDecimalExponent:()I
istore 6
start local 6 8: aload 3
invokeinterface jdk.internal.math.FloatingDecimal$BinaryToASCIIConverter.isNegative:()Z
istore 8
start local 8 9: invokestatic jdk.internal.math.FormattedFloatingDecimal.$SWITCH_TABLE$jdk$internal$math$FormattedFloatingDecimal$Form:()[I
aload 2
invokevirtual jdk.internal.math.FormattedFloatingDecimal$Form.ordinal:()I
iaload
tableswitch { // 1 - 4
1: 18
2: 10
3: 14
4: 22
default: 31
}
10: StackMap locals: jdk.internal.math.FormattedFloatingDecimal int jdk.internal.math.FormattedFloatingDecimal$Form jdk.internal.math.FloatingDecimal$BinaryToASCIIConverter char[] int int top int
StackMap stack:
iload 6
istore 7
start local 7 11: aload 0
iload 7
putfield jdk.internal.math.FormattedFloatingDecimal.decExponentRounded:I
12: aload 0
iload 1
aload 4
iload 5
iload 7
iload 8
invokevirtual jdk.internal.math.FormattedFloatingDecimal.fillCompatible:(I[CIIZ)V
13: goto 32
end local 7 14: StackMap locals:
StackMap stack:
iload 6
aload 4
iload 5
iload 6
iload 1
iadd
invokestatic jdk.internal.math.FormattedFloatingDecimal.applyPrecision:(I[CII)I
istore 7
start local 7 15: aload 0
iload 1
aload 4
iload 5
iload 7
iload 8
invokevirtual jdk.internal.math.FormattedFloatingDecimal.fillDecimal:(I[CIIZ)V
16: aload 0
iload 7
putfield jdk.internal.math.FormattedFloatingDecimal.decExponentRounded:I
17: goto 32
end local 7 18: StackMap locals:
StackMap stack:
iload 6
aload 4
iload 5
iload 1
iconst_1
iadd
invokestatic jdk.internal.math.FormattedFloatingDecimal.applyPrecision:(I[CII)I
istore 7
start local 7 19: aload 0
iload 1
aload 4
iload 5
iload 7
iload 8
invokevirtual jdk.internal.math.FormattedFloatingDecimal.fillScientific:(I[CIIZ)V
20: aload 0
iload 7
putfield jdk.internal.math.FormattedFloatingDecimal.decExponentRounded:I
21: goto 32
end local 7 22: StackMap locals:
StackMap stack:
iload 6
aload 4
iload 5
iload 1
invokestatic jdk.internal.math.FormattedFloatingDecimal.applyPrecision:(I[CII)I
istore 7
start local 7 23: iload 7
iconst_1
isub
bipush -4
if_icmplt 24
iload 7
iconst_1
isub
iload 1
if_icmplt 27
24: StackMap locals: jdk.internal.math.FormattedFloatingDecimal int jdk.internal.math.FormattedFloatingDecimal$Form jdk.internal.math.FloatingDecimal$BinaryToASCIIConverter char[] int int int int
StackMap stack:
iinc 1 -1
25: aload 0
iload 1
aload 4
iload 5
iload 7
iload 8
invokevirtual jdk.internal.math.FormattedFloatingDecimal.fillScientific:(I[CIIZ)V
26: goto 29
27: StackMap locals:
StackMap stack:
iload 1
iload 7
isub
istore 1
28: aload 0
iload 1
aload 4
iload 5
iload 7
iload 8
invokevirtual jdk.internal.math.FormattedFloatingDecimal.fillDecimal:(I[CIIZ)V
29: StackMap locals:
StackMap stack:
aload 0
iload 7
putfield jdk.internal.math.FormattedFloatingDecimal.decExponentRounded:I
30: goto 32
end local 7 31: StackMap locals: jdk.internal.math.FormattedFloatingDecimal int jdk.internal.math.FormattedFloatingDecimal$Form jdk.internal.math.FloatingDecimal$BinaryToASCIIConverter char[] int int top int
StackMap stack:
getstatic jdk.internal.math.FormattedFloatingDecimal.$assertionsDisabled:Z
ifne 32
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
32: StackMap locals:
StackMap stack:
return
end local 8 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 33 0 this Ljdk/internal/math/FormattedFloatingDecimal;
0 33 1 precision I
0 33 2 form Ljdk/internal/math/FormattedFloatingDecimal$Form;
0 33 3 fdConverter Ljdk/internal/math/FloatingDecimal$BinaryToASCIIConverter;
6 33 4 digits [C
7 33 5 nDigits I
8 33 6 decExp I
11 14 7 exp I
15 18 7 exp I
19 22 7 exp I
23 31 7 exp I
9 33 8 isNegative Z
MethodParameters:
Name Flags
precision
form
fdConverter
public int getExponentRounded();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.math.FormattedFloatingDecimal.decExponentRounded:I
iconst_1
isub
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/math/FormattedFloatingDecimal;
public char[] getMantissa();
descriptor: ()[C
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/math/FormattedFloatingDecimal;
public char[] getExponent();
descriptor: ()[C
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.math.FormattedFloatingDecimal.exponent:[C
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/math/FormattedFloatingDecimal;
private static int applyPrecision(int, char[], int, int);
descriptor: (I[CII)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
iload 2
if_icmpge 1
iload 3
ifge 2
1: StackMap locals:
StackMap stack:
iload 0
ireturn
2: StackMap locals:
StackMap stack:
iload 3
ifne 9
3: aload 1
iconst_0
caload
bipush 53
if_icmplt 7
4: aload 1
iconst_0
bipush 49
castore
5: aload 1
iconst_1
iload 2
bipush 48
invokestatic java.util.Arrays.fill:([CIIC)V
6: iload 0
iconst_1
iadd
ireturn
7: StackMap locals:
StackMap stack:
aload 1
iconst_0
iload 2
bipush 48
invokestatic java.util.Arrays.fill:([CIIC)V
8: iload 0
ireturn
9: StackMap locals:
StackMap stack:
aload 1
iload 3
caload
istore 4
start local 4 10: iload 4
bipush 53
if_icmplt 24
11: iload 3
istore 5
start local 5 12: aload 1
iinc 5 -1
iload 5
caload
istore 4
13: iload 4
bipush 57
if_icmpne 21
14: goto 16
15: StackMap locals: int int
StackMap stack:
aload 1
iinc 5 -1
iload 5
caload
istore 4
16: StackMap locals:
StackMap stack:
iload 4
bipush 57
if_icmpne 17
iload 5
ifgt 15
17: StackMap locals:
StackMap stack:
iload 4
bipush 57
if_icmpne 21
18: aload 1
iconst_0
bipush 49
castore
19: aload 1
iconst_1
iload 2
bipush 48
invokestatic java.util.Arrays.fill:([CIIC)V
20: iload 0
iconst_1
iadd
ireturn
21: StackMap locals:
StackMap stack:
aload 1
iload 5
iload 4
iconst_1
iadd
i2c
castore
22: aload 1
iload 5
iconst_1
iadd
iload 2
bipush 48
invokestatic java.util.Arrays.fill:([CIIC)V
end local 5 23: goto 25
24: StackMap locals:
StackMap stack:
aload 1
iload 3
iload 2
bipush 48
invokestatic java.util.Arrays.fill:([CIIC)V
25: StackMap locals:
StackMap stack:
iload 0
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 decExp I
0 26 1 digits [C
0 26 2 nDigits I
0 26 3 prec I
10 26 4 q I
12 23 5 i I
MethodParameters:
Name Flags
decExp
digits
nDigits
prec
private void fillCompatible(int, char[], int, int, boolean);
descriptor: (I[CIIZ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=10, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: iload 5
ifeq 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 6
start local 6 3: iload 4
ifle 24
iload 4
bipush 8
if_icmpge 24
4: iload 3
iload 4
if_icmpge 12
5: iload 4
iload 3
isub
istore 7
start local 7 6: aload 0
iload 5
iload 3
iload 7
iadd
iconst_2
iadd
invokestatic jdk.internal.math.FormattedFloatingDecimal.create:(ZI)[C
putfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
7: aload 2
iconst_0
aload 0
getfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
iload 6
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
8: aload 0
getfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
iload 6
iload 3
iadd
iload 6
iload 3
iadd
iload 7
iadd
bipush 48
invokestatic java.util.Arrays.fill:([CIIC)V
9: aload 0
getfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
iload 6
iload 3
iadd
iload 7
iadd
bipush 46
castore
10: aload 0
getfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
iload 6
iload 3
iadd
iload 7
iadd
iconst_1
iadd
bipush 48
castore
end local 7 11: goto 77
StackMap locals: int
StackMap stack:
12: iload 4
iload 3
if_icmpge 19
13: iload 3
iload 4
isub
iload 1
invokestatic java.lang.Math.min:(II)I
istore 7
start local 7 14: aload 0
iload 5
iload 4
iconst_1
iadd
iload 7
iadd
invokestatic jdk.internal.math.FormattedFloatingDecimal.create:(ZI)[C
putfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
15: aload 2
iconst_0
aload 0
getfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
iload 6
iload 4
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
16: aload 0
getfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
iload 6
iload 4
iadd
bipush 46
castore
17: aload 2
iload 4
aload 0
getfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
iload 6
iload 4
iadd
iconst_1
iadd
iload 7
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
end local 7 18: goto 77
19: StackMap locals:
StackMap stack:
aload 0
iload 5
iload 3
iconst_2
iadd
invokestatic jdk.internal.math.FormattedFloatingDecimal.create:(ZI)[C
putfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
20: aload 2
iconst_0
aload 0
getfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
iload 6
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
21: aload 0
getfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
iload 6
iload 3
iadd
bipush 46
castore
22: aload 0
getfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
iload 6
iload 3
iadd
iconst_1
iadd
bipush 48
castore
23: goto 77
StackMap locals:
StackMap stack:
24: iload 4
ifgt 44
iload 4
bipush -3
if_icmple 44
25: iconst_0
iload 4
ineg
iload 1
invokestatic java.lang.Math.min:(II)I
invokestatic java.lang.Math.max:(II)I
istore 7
start local 7 26: iconst_0
iload 3
iload 1
iload 4
iadd
invokestatic java.lang.Math.min:(II)I
invokestatic java.lang.Math.max:(II)I
istore 8
start local 8 27: iload 7
ifle 35
28: aload 0
iload 5
iload 7
iconst_2
iadd
iload 8
iadd
invokestatic jdk.internal.math.FormattedFloatingDecimal.create:(ZI)[C
putfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
29: aload 0
getfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
iload 6
bipush 48
castore
30: aload 0
getfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
iload 6
iconst_1
iadd
bipush 46
castore
31: aload 0
getfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
iload 6
iconst_2
iadd
iload 6
iconst_2
iadd
iload 7
iadd
bipush 48
invokestatic java.util.Arrays.fill:([CIIC)V
32: iload 8
ifle 77
33: aload 2
iconst_0
aload 0
getfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
iload 6
iconst_2
iadd
iload 7
iadd
iload 8
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
34: goto 77
StackMap locals: int int
StackMap stack:
35: iload 8
ifle 41
36: aload 0
iload 5
iload 7
iconst_2
iadd
iload 8
iadd
invokestatic jdk.internal.math.FormattedFloatingDecimal.create:(ZI)[C
putfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
37: aload 0
getfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
iload 6
bipush 48
castore
38: aload 0
getfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
iload 6
iconst_1
iadd
bipush 46
castore
39: aload 2
iconst_0
aload 0
getfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
iload 6
iconst_2
iadd
iload 8
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
40: goto 77
41: StackMap locals:
StackMap stack:
aload 0
iload 5
iconst_1
invokestatic jdk.internal.math.FormattedFloatingDecimal.create:(ZI)[C
putfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
42: aload 0
getfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
iload 6
bipush 48
castore
end local 8 end local 7 43: goto 77
44: StackMap locals:
StackMap stack:
iload 3
iconst_1
if_icmple 50
45: aload 0
iload 5
iload 3
iconst_1
iadd
invokestatic jdk.internal.math.FormattedFloatingDecimal.create:(ZI)[C
putfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
46: aload 0
getfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
iload 6
aload 2
iconst_0
caload
castore
47: aload 0
getfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
iload 6
iconst_1
iadd
bipush 46
castore
48: aload 2
iconst_1
aload 0
getfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
iload 6
iconst_2
iadd
iload 3
iconst_1
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
49: goto 54
50: StackMap locals:
StackMap stack:
aload 0
iload 5
iconst_3
invokestatic jdk.internal.math.FormattedFloatingDecimal.create:(ZI)[C
putfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
51: aload 0
getfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
iload 6
aload 2
iconst_0
caload
castore
52: aload 0
getfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
iload 6
iconst_1
iadd
bipush 46
castore
53: aload 0
getfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
iload 6
iconst_2
iadd
bipush 48
castore
54: StackMap locals:
StackMap stack:
iload 4
ifgt 55
iconst_1
goto 56
StackMap locals:
StackMap stack:
55: iconst_0
StackMap locals:
StackMap stack: int
56: istore 9
start local 9 57: iload 9
ifeq 61
58: iload 4
ineg
iconst_1
iadd
istore 7
start local 7 59: iconst_1
istore 8
start local 8 60: goto 63
end local 8 end local 7 61: StackMap locals: jdk.internal.math.FormattedFloatingDecimal int char[] int int int int top top int
StackMap stack:
iload 4
iconst_1
isub
istore 7
start local 7 62: iconst_0
istore 8
start local 8 63: StackMap locals: jdk.internal.math.FormattedFloatingDecimal int char[] int int int int int int int
StackMap stack:
iload 7
bipush 9
if_icmpgt 67
64: aload 0
iload 9
iconst_1
invokestatic jdk.internal.math.FormattedFloatingDecimal.create:(ZI)[C
putfield jdk.internal.math.FormattedFloatingDecimal.exponent:[C
65: aload 0
getfield jdk.internal.math.FormattedFloatingDecimal.exponent:[C
iload 8
iload 7
bipush 48
iadd
i2c
castore
66: goto 77
StackMap locals:
StackMap stack:
67: iload 7
bipush 99
if_icmpgt 72
68: aload 0
iload 9
iconst_2
invokestatic jdk.internal.math.FormattedFloatingDecimal.create:(ZI)[C
putfield jdk.internal.math.FormattedFloatingDecimal.exponent:[C
69: aload 0
getfield jdk.internal.math.FormattedFloatingDecimal.exponent:[C
iload 8
iload 7
bipush 10
idiv
bipush 48
iadd
i2c
castore
70: aload 0
getfield jdk.internal.math.FormattedFloatingDecimal.exponent:[C
iload 8
iconst_1
iadd
iload 7
bipush 10
irem
bipush 48
iadd
i2c
castore
71: goto 77
72: StackMap locals:
StackMap stack:
aload 0
iload 9
iconst_3
invokestatic jdk.internal.math.FormattedFloatingDecimal.create:(ZI)[C
putfield jdk.internal.math.FormattedFloatingDecimal.exponent:[C
73: aload 0
getfield jdk.internal.math.FormattedFloatingDecimal.exponent:[C
iload 8
iload 7
bipush 100
idiv
bipush 48
iadd
i2c
castore
74: iload 7
bipush 100
irem
istore 7
75: aload 0
getfield jdk.internal.math.FormattedFloatingDecimal.exponent:[C
iload 8
iconst_1
iadd
iload 7
bipush 10
idiv
bipush 48
iadd
i2c
castore
76: aload 0
getfield jdk.internal.math.FormattedFloatingDecimal.exponent:[C
iload 8
iconst_2
iadd
iload 7
bipush 10
irem
bipush 48
iadd
i2c
castore
end local 9 end local 8 end local 7 77: StackMap locals:
StackMap stack:
return
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 78 0 this Ljdk/internal/math/FormattedFloatingDecimal;
0 78 1 precision I
0 78 2 digits [C
0 78 3 nDigits I
0 78 4 exp I
0 78 5 isNegative Z
3 78 6 startIndex I
6 11 7 extraZeros I
14 18 7 t I
26 43 7 zeros I
27 43 8 t I
59 61 7 e I
62 77 7 e I
60 61 8 expStartIntex I
63 77 8 expStartIntex I
57 77 9 isNegExp Z
MethodParameters:
Name Flags
precision
digits
nDigits
exp
isNegative
private static char[] create(boolean, int);
descriptor: (ZI)[C
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: iload 0
ifeq 4
1: iload 1
iconst_1
iadd
newarray 5
astore 2
start local 2 2: aload 2
iconst_0
bipush 45
castore
3: aload 2
areturn
end local 2 4: StackMap locals:
StackMap stack:
iload 1
newarray 5
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 isNegative Z
0 5 1 size I
2 4 2 r [C
MethodParameters:
Name Flags
isNegative
size
private void fillDecimal(int, char[], int, int, boolean);
descriptor: (I[CIIZ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: iload 5
ifeq 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 6
start local 6 3: iload 4
ifle 18
4: iload 3
iload 4
if_icmpge 9
5: aload 0
iload 5
iload 4
invokestatic jdk.internal.math.FormattedFloatingDecimal.create:(ZI)[C
putfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
6: aload 2
iconst_0
aload 0
getfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
iload 6
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
7: aload 0
getfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
iload 6
iload 3
iadd
iload 6
iload 4
iadd
bipush 48
invokestatic java.util.Arrays.fill:([CIIC)V
8: goto 37
9: StackMap locals: int
StackMap stack:
iload 3
iload 4
isub
iload 1
invokestatic java.lang.Math.min:(II)I
istore 7
start local 7 10: aload 0
iload 5
iload 4
iload 7
ifle 11
iload 7
iconst_1
iadd
goto 12
StackMap locals: jdk.internal.math.FormattedFloatingDecimal int char[] int int int int int
StackMap stack: jdk.internal.math.FormattedFloatingDecimal int int
11: iconst_0
StackMap locals: jdk.internal.math.FormattedFloatingDecimal int char[] int int int int int
StackMap stack: jdk.internal.math.FormattedFloatingDecimal int int int
12: iadd
invokestatic jdk.internal.math.FormattedFloatingDecimal.create:(ZI)[C
putfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
13: aload 2
iconst_0
aload 0
getfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
iload 6
iload 4
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
14: iload 7
ifle 37
15: aload 0
getfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
iload 6
iload 4
iadd
bipush 46
castore
16: aload 2
iload 4
aload 0
getfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
iload 6
iload 4
iadd
iconst_1
iadd
iload 7
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
end local 7 17: goto 37
StackMap locals:
StackMap stack:
18: iload 4
ifgt 37
19: iconst_0
iload 4
ineg
iload 1
invokestatic java.lang.Math.min:(II)I
invokestatic java.lang.Math.max:(II)I
istore 7
start local 7 20: iconst_0
iload 3
iload 1
iload 4
iadd
invokestatic java.lang.Math.min:(II)I
invokestatic java.lang.Math.max:(II)I
istore 8
start local 8 21: iload 7
ifle 29
22: aload 0
iload 5
iload 7
iconst_2
iadd
iload 8
iadd
invokestatic jdk.internal.math.FormattedFloatingDecimal.create:(ZI)[C
putfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
23: aload 0
getfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
iload 6
bipush 48
castore
24: aload 0
getfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
iload 6
iconst_1
iadd
bipush 46
castore
25: aload 0
getfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
iload 6
iconst_2
iadd
iload 6
iconst_2
iadd
iload 7
iadd
bipush 48
invokestatic java.util.Arrays.fill:([CIIC)V
26: iload 8
ifle 37
27: aload 2
iconst_0
aload 0
getfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
iload 6
iconst_2
iadd
iload 7
iadd
iload 8
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
28: goto 37
StackMap locals: int int
StackMap stack:
29: iload 8
ifle 35
30: aload 0
iload 5
iload 7
iconst_2
iadd
iload 8
iadd
invokestatic jdk.internal.math.FormattedFloatingDecimal.create:(ZI)[C
putfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
31: aload 0
getfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
iload 6
bipush 48
castore
32: aload 0
getfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
iload 6
iconst_1
iadd
bipush 46
castore
33: aload 2
iconst_0
aload 0
getfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
iload 6
iconst_2
iadd
iload 8
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
34: goto 37
35: StackMap locals:
StackMap stack:
aload 0
iload 5
iconst_1
invokestatic jdk.internal.math.FormattedFloatingDecimal.create:(ZI)[C
putfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
36: aload 0
getfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
iload 6
bipush 48
castore
end local 8 end local 7 37: StackMap locals:
StackMap stack:
return
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 38 0 this Ljdk/internal/math/FormattedFloatingDecimal;
0 38 1 precision I
0 38 2 digits [C
0 38 3 nDigits I
0 38 4 exp I
0 38 5 isNegative Z
3 38 6 startIndex I
10 17 7 t I
20 37 7 zeros I
21 37 8 t I
MethodParameters:
Name Flags
precision
digits
nDigits
exp
isNegative
private void fillScientific(int, char[], int, int, boolean);
descriptor: (I[CIIZ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=11, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: iload 5
ifeq 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 6
start local 6 3: iconst_0
iload 3
iconst_1
isub
iload 1
invokestatic java.lang.Math.min:(II)I
invokestatic java.lang.Math.max:(II)I
istore 7
start local 7 4: iload 7
ifle 10
5: aload 0
iload 5
iload 7
iconst_2
iadd
invokestatic jdk.internal.math.FormattedFloatingDecimal.create:(ZI)[C
putfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
6: aload 0
getfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
iload 6
aload 2
iconst_0
caload
castore
7: aload 0
getfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
iload 6
iconst_1
iadd
bipush 46
castore
8: aload 2
iconst_1
aload 0
getfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
iload 6
iconst_2
iadd
iload 7
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
9: goto 12
10: StackMap locals: int int
StackMap stack:
aload 0
iload 5
iconst_1
invokestatic jdk.internal.math.FormattedFloatingDecimal.create:(ZI)[C
putfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
11: aload 0
getfield jdk.internal.math.FormattedFloatingDecimal.mantissa:[C
iload 6
aload 2
iconst_0
caload
castore
12: StackMap locals:
StackMap stack:
iload 4
ifgt 16
13: bipush 45
istore 8
start local 8 14: iload 4
ineg
iconst_1
iadd
istore 9
start local 9 15: goto 18
end local 9 end local 8 16: StackMap locals:
StackMap stack:
bipush 43
istore 8
start local 8 17: iload 4
iconst_1
isub
istore 9
start local 9 18: StackMap locals: int int
StackMap stack:
iload 9
bipush 9
if_icmpgt 23
19: aload 0
iconst_3
newarray 5
dup
iconst_0
iload 8
castore
dup
iconst_1
20: bipush 48
castore
dup
iconst_2
iload 9
bipush 48
iadd
i2c
castore
21: putfield jdk.internal.math.FormattedFloatingDecimal.exponent:[C
22: goto 33
StackMap locals:
StackMap stack:
23: iload 9
bipush 99
if_icmpgt 28
24: aload 0
iconst_3
newarray 5
dup
iconst_0
iload 8
castore
dup
iconst_1
25: iload 9
bipush 10
idiv
bipush 48
iadd
i2c
castore
dup
iconst_2
iload 9
bipush 10
irem
bipush 48
iadd
i2c
castore
26: putfield jdk.internal.math.FormattedFloatingDecimal.exponent:[C
27: goto 33
28: StackMap locals:
StackMap stack:
iload 9
bipush 100
idiv
bipush 48
iadd
i2c
istore 10
start local 10 29: iload 9
bipush 100
irem
istore 9
30: aload 0
iconst_4
newarray 5
dup
iconst_0
iload 8
castore
dup
iconst_1
31: iload 10
castore
dup
iconst_2
iload 9
bipush 10
idiv
bipush 48
iadd
i2c
castore
dup
iconst_3
iload 9
bipush 10
irem
bipush 48
iadd
i2c
castore
32: putfield jdk.internal.math.FormattedFloatingDecimal.exponent:[C
end local 10 33: StackMap locals:
StackMap stack:
return
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 34 0 this Ljdk/internal/math/FormattedFloatingDecimal;
0 34 1 precision I
0 34 2 digits [C
0 34 3 nDigits I
0 34 4 exp I
0 34 5 isNegative Z
3 34 6 startIndex I
4 34 7 t I
14 16 8 expSign C
17 34 8 expSign C
15 16 9 e I
18 34 9 e I
29 33 10 hiExpChar C
MethodParameters:
Name Flags
precision
digits
nDigits
exp
isNegative
static int[] $SWITCH_TABLE$jdk$internal$math$FormattedFloatingDecimal$Form();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic jdk.internal.math.FormattedFloatingDecimal.$SWITCH_TABLE$jdk$internal$math$FormattedFloatingDecimal$Form:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic jdk.internal.math.FormattedFloatingDecimal$Form.values:()[Ljdk/internal/math/FormattedFloatingDecimal$Form;
arraylength
newarray 10
astore 0
2: aload 0
getstatic jdk.internal.math.FormattedFloatingDecimal$Form.COMPATIBLE:Ljdk/internal/math/FormattedFloatingDecimal$Form;
invokevirtual jdk.internal.math.FormattedFloatingDecimal$Form.ordinal:()I
iconst_2
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic jdk.internal.math.FormattedFloatingDecimal$Form.DECIMAL_FLOAT:Ljdk/internal/math/FormattedFloatingDecimal$Form;
invokevirtual jdk.internal.math.FormattedFloatingDecimal$Form.ordinal:()I
iconst_3
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic jdk.internal.math.FormattedFloatingDecimal$Form.GENERAL:Ljdk/internal/math/FormattedFloatingDecimal$Form;
invokevirtual jdk.internal.math.FormattedFloatingDecimal$Form.ordinal:()I
iconst_4
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic jdk.internal.math.FormattedFloatingDecimal$Form.SCIENTIFIC:Ljdk/internal/math/FormattedFloatingDecimal$Form;
invokevirtual jdk.internal.math.FormattedFloatingDecimal$Form.ordinal:()I
iconst_1
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
dup
putstatic jdk.internal.math.FormattedFloatingDecimal.$SWITCH_TABLE$jdk$internal$math$FormattedFloatingDecimal$Form:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
}
SourceFile: "FormattedFloatingDecimal.java"
NestMembers:
jdk.internal.math.FormattedFloatingDecimal$1 jdk.internal.math.FormattedFloatingDecimal$Form
InnerClasses:
public abstract BinaryToASCIIConverter = jdk.internal.math.FloatingDecimal$BinaryToASCIIConverter of jdk.internal.math.FloatingDecimal
jdk.internal.math.FormattedFloatingDecimal$1
public final Form = jdk.internal.math.FormattedFloatingDecimal$Form of jdk.internal.math.FormattedFloatingDecimal