class jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer implements jdk.internal.math.FloatingDecimal$BinaryToASCIIConverter
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer
super_class: java.lang.Object
{
private boolean isNegative;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int decExponent;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int firstDigitIndex;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int nDigits;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private final char[] digits;
descriptor: [C
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final char[] buffer;
descriptor: [C
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private boolean exactDecimalConversion;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean decimalDigitsRoundedUp;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private static int[] insignificantDigitsNumber;
descriptor: [I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static final int[] N_5_BITS;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, 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$BinaryToASCIIBuffer.$assertionsDisabled:Z
3: bipush 64
newarray 10
dup
iconst_4
4: iconst_1
iastore
dup
iconst_5
iconst_1
iastore
dup
bipush 6
iconst_1
iastore
dup
bipush 7
iconst_2
iastore
dup
bipush 8
iconst_2
iastore
dup
bipush 9
iconst_2
iastore
dup
bipush 10
iconst_3
iastore
dup
bipush 11
iconst_3
iastore
dup
bipush 12
iconst_3
iastore
dup
bipush 13
iconst_3
iastore
dup
bipush 14
5: iconst_4
iastore
dup
bipush 15
iconst_4
iastore
dup
bipush 16
iconst_4
iastore
dup
bipush 17
iconst_5
iastore
dup
bipush 18
iconst_5
iastore
dup
bipush 19
iconst_5
iastore
dup
bipush 20
bipush 6
iastore
dup
bipush 21
bipush 6
iastore
dup
bipush 22
bipush 6
iastore
dup
bipush 23
bipush 6
iastore
dup
bipush 24
bipush 7
iastore
dup
bipush 25
bipush 7
iastore
dup
bipush 26
bipush 7
iastore
dup
bipush 27
6: bipush 8
iastore
dup
bipush 28
bipush 8
iastore
dup
bipush 29
bipush 8
iastore
dup
bipush 30
bipush 9
iastore
dup
bipush 31
bipush 9
iastore
dup
bipush 32
bipush 9
iastore
dup
bipush 33
bipush 9
iastore
dup
bipush 34
bipush 10
iastore
dup
bipush 35
bipush 10
iastore
dup
bipush 36
bipush 10
iastore
dup
bipush 37
bipush 11
iastore
dup
bipush 38
bipush 11
iastore
dup
bipush 39
bipush 11
iastore
dup
bipush 40
7: bipush 12
iastore
dup
bipush 41
bipush 12
iastore
dup
bipush 42
bipush 12
iastore
dup
bipush 43
bipush 12
iastore
dup
bipush 44
bipush 13
iastore
dup
bipush 45
bipush 13
iastore
dup
bipush 46
bipush 13
iastore
dup
bipush 47
bipush 14
iastore
dup
bipush 48
bipush 14
iastore
dup
bipush 49
bipush 14
iastore
dup
bipush 50
8: bipush 15
iastore
dup
bipush 51
bipush 15
iastore
dup
bipush 52
bipush 15
iastore
dup
bipush 53
bipush 15
iastore
dup
bipush 54
bipush 16
iastore
dup
bipush 55
bipush 16
iastore
dup
bipush 56
bipush 16
iastore
dup
bipush 57
bipush 17
iastore
dup
bipush 58
bipush 17
iastore
dup
bipush 59
bipush 17
iastore
dup
bipush 60
9: bipush 18
iastore
dup
bipush 61
bipush 18
iastore
dup
bipush 62
bipush 18
iastore
dup
bipush 63
bipush 19
iastore
10: putstatic jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.insignificantDigitsNumber:[I
11: bipush 27
newarray 10
dup
iconst_1
12: iconst_3
iastore
dup
iconst_2
13: iconst_5
iastore
dup
iconst_3
14: bipush 7
iastore
dup
iconst_4
15: bipush 10
iastore
dup
iconst_5
16: bipush 12
iastore
dup
bipush 6
17: bipush 14
iastore
dup
bipush 7
18: bipush 17
iastore
dup
bipush 8
19: bipush 19
iastore
dup
bipush 9
20: bipush 21
iastore
dup
bipush 10
21: bipush 24
iastore
dup
bipush 11
22: bipush 26
iastore
dup
bipush 12
23: bipush 28
iastore
dup
bipush 13
24: bipush 31
iastore
dup
bipush 14
25: bipush 33
iastore
dup
bipush 15
26: bipush 35
iastore
dup
bipush 16
27: bipush 38
iastore
dup
bipush 17
28: bipush 40
iastore
dup
bipush 18
29: bipush 42
iastore
dup
bipush 19
30: bipush 45
iastore
dup
bipush 20
31: bipush 47
iastore
dup
bipush 21
32: bipush 49
iastore
dup
bipush 22
33: bipush 52
iastore
dup
bipush 23
34: bipush 54
iastore
dup
bipush 24
35: bipush 56
iastore
dup
bipush 25
36: bipush 59
iastore
dup
bipush 26
37: bipush 61
iastore
38: putstatic jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.N_5_BITS:[I
39: return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
bipush 26
newarray 5
putfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.buffer:[C
2: aload 0
iconst_0
putfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.exactDecimalConversion:Z
3: aload 0
iconst_0
putfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.decimalDigitsRoundedUp:Z
4: aload 0
bipush 20
newarray 5
putfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.digits:[C
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/internal/math/FloatingDecimal$BinaryToASCIIBuffer;
void <init>(boolean, char[]);
descriptor: (Z[C)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
bipush 26
newarray 5
putfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.buffer:[C
2: aload 0
iconst_0
putfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.exactDecimalConversion:Z
3: aload 0
iconst_0
putfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.decimalDigitsRoundedUp:Z
4: aload 0
iload 1
putfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.isNegative:Z
5: aload 0
iconst_0
putfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.decExponent:I
6: aload 0
aload 2
putfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.digits:[C
7: aload 0
iconst_0
putfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.firstDigitIndex:I
8: aload 0
aload 2
arraylength
putfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.nDigits:I
9: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljdk/internal/math/FloatingDecimal$BinaryToASCIIBuffer;
0 10 1 isNegative Z
0 10 2 digits [C
MethodParameters:
Name Flags
isNegative
digits
public java.lang.String toJavaFormatString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.buffer:[C
invokevirtual jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.getChars:([C)I
istore 1
start local 1 1: new java.lang.String
dup
aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.buffer:[C
iconst_0
iload 1
invokespecial java.lang.String.<init>:([CII)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/math/FloatingDecimal$BinaryToASCIIBuffer;
1 2 1 len I
public void appendTo(java.lang.Appendable);
descriptor: (Ljava/lang/Appendable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.buffer:[C
invokevirtual jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.getChars:([C)I
istore 2
start local 2 1: aload 1
instanceof java.lang.StringBuilder
ifeq 4
2: aload 1
checkcast java.lang.StringBuilder
aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.buffer:[C
iconst_0
iload 2
invokevirtual java.lang.StringBuilder.append:([CII)Ljava/lang/StringBuilder;
pop
3: goto 8
StackMap locals: int
StackMap stack:
4: aload 1
instanceof java.lang.StringBuffer
ifeq 7
5: aload 1
checkcast java.lang.StringBuffer
aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.buffer:[C
iconst_0
iload 2
invokevirtual java.lang.StringBuffer.append:([CII)Ljava/lang/StringBuffer;
pop
6: goto 8
7: StackMap locals:
StackMap stack:
getstatic jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.$assertionsDisabled:Z
ifne 8
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
8: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/internal/math/FloatingDecimal$BinaryToASCIIBuffer;
0 9 1 buf Ljava/lang/Appendable;
1 9 2 len I
MethodParameters:
Name Flags
buf
public int getDecimalExponent();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.decExponent:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/math/FloatingDecimal$BinaryToASCIIBuffer;
public int getDigits(char[]);
descriptor: ([C)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.digits:[C
aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.firstDigitIndex:I
aload 1
iconst_0
aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.nDigits:I
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
1: aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.nDigits:I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/math/FloatingDecimal$BinaryToASCIIBuffer;
0 2 1 digits [C
MethodParameters:
Name Flags
digits
public boolean isNegative();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.isNegative:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/math/FloatingDecimal$BinaryToASCIIBuffer;
public boolean isExceptional();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/math/FloatingDecimal$BinaryToASCIIBuffer;
public boolean digitsRoundedUp();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.decimalDigitsRoundedUp:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/math/FloatingDecimal$BinaryToASCIIBuffer;
public boolean decimalDigitsExact();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.exactDecimalConversion:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/math/FloatingDecimal$BinaryToASCIIBuffer;
private void setSign(boolean);
descriptor: (Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.isNegative:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/math/FloatingDecimal$BinaryToASCIIBuffer;
0 2 1 isNegative Z
MethodParameters:
Name Flags
isNegative
private void developLongDigits(int, long, int);
descriptor: (IJI)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 4 0: iload 4
ifeq 7
1: getstatic jdk.internal.math.FDBigInteger.LONG_5_POW:[J
iload 4
laload
iload 4
lshl
lstore 5
start local 5 2: lload 2
lload 5
lrem
lstore 7
start local 7 3: lload 2
lload 5
ldiv
lstore 2
4: iload 1
iload 4
iadd
istore 1
5: lload 7
lload 5
iconst_1
lshr
lcmp
iflt 7
6: lload 2
lconst_1
ladd
lstore 2
end local 7 end local 5 7: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.digits:[C
arraylength
iconst_1
isub
istore 5
start local 5 8: lload 2
ldc 2147483647
lcmp
ifgt 26
9: getstatic jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.$assertionsDisabled:Z
ifne 10
lload 2
lconst_0
lcmp
ifgt 10
new java.lang.AssertionError
dup
lload 2
invokespecial java.lang.AssertionError.<init>:(J)V
athrow
10: StackMap locals: int
StackMap stack:
lload 2
l2i
istore 7
start local 7 11: iload 7
bipush 10
irem
istore 6
start local 6 12: iload 7
bipush 10
idiv
istore 7
13: goto 17
14: StackMap locals: int int
StackMap stack:
iinc 1 1
15: iload 7
bipush 10
irem
istore 6
16: iload 7
bipush 10
idiv
istore 7
17: StackMap locals:
StackMap stack:
iload 6
ifeq 14
18: goto 23
19: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.digits:[C
iload 5
iinc 5 -1
iload 6
bipush 48
iadd
i2c
castore
20: iinc 1 1
21: iload 7
bipush 10
irem
istore 6
22: iload 7
bipush 10
idiv
istore 7
23: StackMap locals:
StackMap stack:
iload 7
ifne 19
24: aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.digits:[C
iload 5
iload 6
bipush 48
iadd
i2c
castore
end local 7 25: goto 40
end local 6 26: StackMap locals:
StackMap stack:
lload 2
ldc 10
lrem
l2i
istore 6
start local 6 27: lload 2
ldc 10
ldiv
lstore 2
28: goto 32
29: StackMap locals: int
StackMap stack:
iinc 1 1
30: lload 2
ldc 10
lrem
l2i
istore 6
31: lload 2
ldc 10
ldiv
lstore 2
32: StackMap locals:
StackMap stack:
iload 6
ifeq 29
33: goto 38
34: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.digits:[C
iload 5
iinc 5 -1
iload 6
bipush 48
iadd
i2c
castore
35: iinc 1 1
36: lload 2
ldc 10
lrem
l2i
istore 6
37: lload 2
ldc 10
ldiv
lstore 2
38: StackMap locals:
StackMap stack:
lload 2
lconst_0
lcmp
ifne 34
39: aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.digits:[C
iload 5
iload 6
bipush 48
iadd
i2c
castore
40: StackMap locals:
StackMap stack:
aload 0
iload 1
iconst_1
iadd
putfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.decExponent:I
41: aload 0
iload 5
putfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.firstDigitIndex:I
42: aload 0
aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.digits:[C
arraylength
iload 5
isub
putfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.nDigits:I
43: return
end local 6 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 44 0 this Ljdk/internal/math/FloatingDecimal$BinaryToASCIIBuffer;
0 44 1 decExponent I
0 44 2 lvalue J
0 44 4 insignificantDigits I
2 7 5 pow10 J
3 7 7 residue J
8 44 5 digitno I
12 26 6 c I
27 44 6 c I
11 25 7 ivalue I
MethodParameters:
Name Flags
decExponent
lvalue
insignificantDigits
private void dtoa(int, long, int, boolean);
descriptor: (IJIZ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=33, args_size=5
start local 0 start local 1 start local 2 start local 4 start local 5 0: getstatic jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.$assertionsDisabled:Z
ifne 1
lload 2
lconst_0
lcmp
ifgt 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.$assertionsDisabled:Z
ifne 2
lload 2
ldc 4503599627370496
land
lconst_0
lcmp
ifne 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
lload 2
invokestatic java.lang.Long.numberOfTrailingZeros:(J)I
istore 6
start local 6 3: bipush 53
iload 6
isub
istore 7
start local 7 4: aload 0
iconst_0
putfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.decimalDigitsRoundedUp:Z
5: aload 0
iconst_0
putfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.exactDecimalConversion:Z
6: iconst_0
iload 7
iload 1
isub
iconst_1
isub
invokestatic java.lang.Math.max:(II)I
istore 8
start local 8 7: iload 1
bipush 62
if_icmpgt 20
iload 1
bipush -21
if_icmplt 20
8: iload 8
getstatic jdk.internal.math.FDBigInteger.LONG_5_POW:[J
arraylength
if_icmpge 20
iload 7
getstatic jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.N_5_BITS:[I
iload 8
iaload
iadd
bipush 64
if_icmpge 20
9: iload 8
ifne 20
10: iload 1
iload 4
if_icmple 13
11: iload 1
iload 4
isub
iconst_1
isub
invokestatic jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.insignificantDigitsForPow2:(I)I
istore 9
start local 9 12: goto 14
end local 9 13: StackMap locals: int int int
StackMap stack:
iconst_0
istore 9
start local 9 14: StackMap locals: int
StackMap stack:
iload 1
bipush 52
if_icmplt 17
15: lload 2
iload 1
bipush 52
isub
lshl
lstore 2
16: goto 18
17: StackMap locals:
StackMap stack:
lload 2
bipush 52
iload 1
isub
lushr
lstore 2
18: StackMap locals:
StackMap stack:
aload 0
iconst_0
lload 2
iload 9
invokevirtual jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.developLongDigits:(IJI)V
19: return
end local 9 20: StackMap locals:
StackMap stack:
lload 2
iload 1
invokestatic jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.estimateDecExp:(JI)I
istore 9
start local 9 21: iconst_0
iload 9
ineg
invokestatic java.lang.Math.max:(II)I
istore 11
start local 11 22: iload 11
iload 8
iadd
iload 1
iadd
istore 10
start local 10 23: iconst_0
iload 9
invokestatic java.lang.Math.max:(II)I
istore 13
start local 13 24: iload 13
iload 8
iadd
istore 12
start local 12 25: iload 11
istore 15
start local 15 26: iload 10
iload 4
isub
istore 14
start local 14 27: lload 2
iload 6
lushr
lstore 2
28: iload 10
iload 7
iconst_1
isub
isub
istore 10
29: iload 10
iload 12
invokestatic java.lang.Math.min:(II)I
istore 16
start local 16 30: iload 10
iload 16
isub
istore 10
31: iload 12
iload 16
isub
istore 12
32: iload 14
iload 16
isub
istore 14
33: iload 7
iconst_1
if_icmpne 35
34: iinc 14 -1
35: StackMap locals: jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer int long int int int int int int int int int int int int int
StackMap stack:
iload 14
ifge 39
36: iload 10
iload 14
isub
istore 10
37: iload 12
iload 14
isub
istore 12
38: iconst_0
istore 14
39: StackMap locals:
StackMap stack:
iconst_0
istore 17
start local 17 40: iload 7
iload 10
iadd
iload 11
getstatic jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.N_5_BITS:[I
arraylength
if_icmpge 41
getstatic jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.N_5_BITS:[I
iload 11
iaload
goto 42
StackMap locals: jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer int long int int int int int int int int int int int int int int
StackMap stack: int
41: iload 11
iconst_3
imul
StackMap locals: jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer int long int int int int int int int int int int int int int int
StackMap stack: int int
42: iadd
istore 23
start local 23 43: iload 12
iconst_1
iadd
iload 13
iconst_1
iadd
getstatic jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.N_5_BITS:[I
arraylength
if_icmpge 44
getstatic jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.N_5_BITS:[I
iload 13
iconst_1
iadd
iaload
goto 45
StackMap locals: jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer int long int int int int int int int int int int int int int int top top top top top int
StackMap stack: int
44: iload 13
iconst_1
iadd
iconst_3
imul
StackMap locals: jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer int long int int int int int int int int int int int int int int top top top top top int
StackMap stack: int int
45: iadd
istore 24
start local 24 46: iload 23
bipush 64
if_icmpge 134
iload 24
bipush 64
if_icmpge 134
47: iload 23
bipush 32
if_icmpge 91
iload 24
bipush 32
if_icmpge 91
48: lload 2
l2i
getstatic jdk.internal.math.FDBigInteger.SMALL_5_POW:[I
iload 11
iaload
imul
iload 10
ishl
istore 25
start local 25 49: getstatic jdk.internal.math.FDBigInteger.SMALL_5_POW:[I
iload 13
iaload
iload 12
ishl
istore 26
start local 26 50: getstatic jdk.internal.math.FDBigInteger.SMALL_5_POW:[I
iload 15
iaload
iload 14
ishl
istore 27
start local 27 51: iload 26
bipush 10
imul
istore 28
start local 28 52: iconst_0
istore 17
53: iload 25
iload 26
idiv
istore 22
start local 22 54: bipush 10
iload 25
iload 26
irem
imul
istore 25
55: iload 27
bipush 10
imul
istore 27
56: iload 25
iload 27
if_icmpge 57
iconst_1
goto 58
StackMap locals: jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer int long int int int int int int int int int int int int int int top top top top int int int int int int int
StackMap stack:
57: iconst_0
StackMap locals:
StackMap stack: int
58: istore 18
start local 18 59: iload 25
iload 27
iadd
iload 28
if_icmple 60
iconst_1
goto 61
StackMap locals: jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer int long int int int int int int int int int int int int int int int top top top int int int int int int int
StackMap stack:
60: iconst_0
StackMap locals:
StackMap stack: int
61: istore 19
start local 19 62: getstatic jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.$assertionsDisabled:Z
ifne 63
iload 22
bipush 10
if_icmplt 63
new java.lang.AssertionError
dup
iload 22
invokespecial java.lang.AssertionError.<init>:(I)V
athrow
63: StackMap locals: jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer int long int int int int int int int int int int int int int int int int top top int int int int int int int
StackMap stack:
iload 22
ifne 66
iload 19
ifne 66
64: iinc 9 -1
65: goto 67
66: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.digits:[C
iload 17
iinc 17 1
bipush 48
iload 22
iadd
i2c
castore
67: StackMap locals:
StackMap stack:
iload 5
ifeq 68
iload 9
bipush -3
if_icmplt 68
iload 9
bipush 8
if_icmplt 85
68: StackMap locals:
StackMap stack:
iconst_0
dup
istore 18
istore 19
69: goto 85
70: StackMap locals:
StackMap stack:
iload 25
iload 26
idiv
istore 22
71: bipush 10
iload 25
iload 26
irem
imul
istore 25
72: iload 27
bipush 10
imul
istore 27
73: getstatic jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.$assertionsDisabled:Z
ifne 74
iload 22
bipush 10
if_icmplt 74
new java.lang.AssertionError
dup
iload 22
invokespecial java.lang.AssertionError.<init>:(I)V
athrow
74: StackMap locals:
StackMap stack:
iload 27
i2l
lconst_0
lcmp
ifle 82
75: iload 25
iload 27
if_icmpge 76
iconst_1
goto 77
StackMap locals:
StackMap stack:
76: iconst_0
StackMap locals:
StackMap stack: int
77: istore 18
78: iload 25
iload 27
iadd
iload 28
if_icmple 79
iconst_1
goto 80
StackMap locals:
StackMap stack:
79: iconst_0
StackMap locals:
StackMap stack: int
80: istore 19
81: goto 84
82: StackMap locals:
StackMap stack:
iconst_1
istore 18
83: iconst_1
istore 19
84: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.digits:[C
iload 17
iinc 17 1
bipush 48
iload 22
iadd
i2c
castore
85: StackMap locals:
StackMap stack:
iload 18
ifne 86
iload 19
ifeq 70
86: StackMap locals:
StackMap stack:
iload 25
iconst_1
ishl
iload 28
isub
i2l
lstore 20
start local 20 87: aload 0
iload 25
ifne 88
iconst_1
goto 89
StackMap locals: jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer int long int int int int int int int int int int int int int int int int long int int int int int int int
StackMap stack: jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer
88: iconst_0
StackMap locals: jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer int long int int int int int int int int int int int int int int int int long int int int int int int int
StackMap stack: jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer int
89: putfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.exactDecimalConversion:Z
end local 28 end local 27 end local 26 end local 25 90: goto 175
end local 22 end local 20 end local 19 end local 18 91: StackMap locals: jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer int long int int int int int int int int int int int int int int top top top top top int int
StackMap stack:
lload 2
getstatic jdk.internal.math.FDBigInteger.LONG_5_POW:[J
iload 11
laload
lmul
iload 10
lshl
lstore 25
start local 25 92: getstatic jdk.internal.math.FDBigInteger.LONG_5_POW:[J
iload 13
laload
iload 12
lshl
lstore 27
start local 27 93: getstatic jdk.internal.math.FDBigInteger.LONG_5_POW:[J
iload 15
laload
iload 14
lshl
lstore 29
start local 29 94: lload 27
ldc 10
lmul
lstore 31
start local 31 95: iconst_0
istore 17
96: lload 25
lload 27
ldiv
l2i
istore 22
start local 22 97: ldc 10
lload 25
lload 27
lrem
lmul
lstore 25
98: lload 29
ldc 10
lmul
lstore 29
99: lload 25
lload 29
lcmp
ifge 100
iconst_1
goto 101
StackMap locals: jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer int long int int int int int int int int int int int int int int top top top top int int int long long long long
StackMap stack:
100: iconst_0
StackMap locals:
StackMap stack: int
101: istore 18
start local 18 102: lload 25
lload 29
ladd
lload 31
lcmp
ifle 103
iconst_1
goto 104
StackMap locals: jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer int long int int int int int int int int int int int int int int int top top top int int int long long long long
StackMap stack:
103: iconst_0
StackMap locals:
StackMap stack: int
104: istore 19
start local 19 105: getstatic jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.$assertionsDisabled:Z
ifne 106
iload 22
bipush 10
if_icmplt 106
new java.lang.AssertionError
dup
iload 22
invokespecial java.lang.AssertionError.<init>:(I)V
athrow
106: StackMap locals: jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer int long int int int int int int int int int int int int int int int int top top int int int long long long long
StackMap stack:
iload 22
ifne 109
iload 19
ifne 109
107: iinc 9 -1
108: goto 110
109: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.digits:[C
iload 17
iinc 17 1
bipush 48
iload 22
iadd
i2c
castore
110: StackMap locals:
StackMap stack:
iload 5
ifeq 111
iload 9
bipush -3
if_icmplt 111
iload 9
bipush 8
if_icmplt 128
111: StackMap locals:
StackMap stack:
iconst_0
dup
istore 18
istore 19
112: goto 128
113: StackMap locals:
StackMap stack:
lload 25
lload 27
ldiv
l2i
istore 22
114: ldc 10
lload 25
lload 27
lrem
lmul
lstore 25
115: lload 29
ldc 10
lmul
lstore 29
116: getstatic jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.$assertionsDisabled:Z
ifne 117
iload 22
bipush 10
if_icmplt 117
new java.lang.AssertionError
dup
iload 22
invokespecial java.lang.AssertionError.<init>:(I)V
athrow
117: StackMap locals:
StackMap stack:
lload 29
lconst_0
lcmp
ifle 125
118: lload 25
lload 29
lcmp
ifge 119
iconst_1
goto 120
StackMap locals:
StackMap stack:
119: iconst_0
StackMap locals:
StackMap stack: int
120: istore 18
121: lload 25
lload 29
ladd
lload 31
lcmp
ifle 122
iconst_1
goto 123
StackMap locals:
StackMap stack:
122: iconst_0
StackMap locals:
StackMap stack: int
123: istore 19
124: goto 127
125: StackMap locals:
StackMap stack:
iconst_1
istore 18
126: iconst_1
istore 19
127: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.digits:[C
iload 17
iinc 17 1
bipush 48
iload 22
iadd
i2c
castore
128: StackMap locals:
StackMap stack:
iload 18
ifne 129
iload 19
ifeq 113
129: StackMap locals:
StackMap stack:
lload 25
iconst_1
lshl
lload 31
lsub
lstore 20
start local 20 130: aload 0
lload 25
lconst_0
lcmp
ifne 131
iconst_1
goto 132
StackMap locals: jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer int long int int int int int int int int int int int int int int int int long int int int long long long long
StackMap stack: jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer
131: iconst_0
StackMap locals: jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer int long int int int int int int int int int int int int int int int int long int int int long long long long
StackMap stack: jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer int
132: putfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.exactDecimalConversion:Z
end local 31 end local 29 end local 27 end local 25 133: goto 175
end local 22 end local 20 end local 19 end local 18 134: StackMap locals: jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer int long int int int int int int int int int int int int int int top top top top top int int
StackMap stack:
iload 13
iload 12
invokestatic jdk.internal.math.FDBigInteger.valueOfPow52:(II)Ljdk/internal/math/FDBigInteger;
astore 25
start local 25 135: aload 25
invokevirtual jdk.internal.math.FDBigInteger.getNormalizationBias:()I
istore 26
start local 26 136: aload 25
iload 26
invokevirtual jdk.internal.math.FDBigInteger.leftShift:(I)Ljdk/internal/math/FDBigInteger;
astore 25
137: lload 2
iload 11
iload 10
iload 26
iadd
invokestatic jdk.internal.math.FDBigInteger.valueOfMulPow52:(JII)Ljdk/internal/math/FDBigInteger;
astore 27
start local 27 138: iload 15
iconst_1
iadd
iload 14
iload 26
iadd
iconst_1
iadd
invokestatic jdk.internal.math.FDBigInteger.valueOfPow52:(II)Ljdk/internal/math/FDBigInteger;
astore 28
start local 28 139: iload 13
iconst_1
iadd
iload 12
iload 26
iadd
iconst_1
iadd
invokestatic jdk.internal.math.FDBigInteger.valueOfPow52:(II)Ljdk/internal/math/FDBigInteger;
astore 29
start local 29 140: iconst_0
istore 17
141: aload 27
aload 25
invokevirtual jdk.internal.math.FDBigInteger.quoRemIteration:(Ljdk/internal/math/FDBigInteger;)I
istore 22
start local 22 142: aload 27
aload 28
invokevirtual jdk.internal.math.FDBigInteger.cmp:(Ljdk/internal/math/FDBigInteger;)I
ifge 143
iconst_1
goto 144
StackMap locals: jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer int long int int int int int int int int int int int int int int top top top top int int int jdk.internal.math.FDBigInteger int jdk.internal.math.FDBigInteger jdk.internal.math.FDBigInteger jdk.internal.math.FDBigInteger
StackMap stack:
143: iconst_0
StackMap locals:
StackMap stack: int
144: istore 18
start local 18 145: aload 29
aload 27
aload 28
invokevirtual jdk.internal.math.FDBigInteger.addAndCmp:(Ljdk/internal/math/FDBigInteger;Ljdk/internal/math/FDBigInteger;)I
ifgt 146
iconst_1
goto 147
StackMap locals: jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer int long int int int int int int int int int int int int int int int top top top int int int jdk.internal.math.FDBigInteger int jdk.internal.math.FDBigInteger jdk.internal.math.FDBigInteger jdk.internal.math.FDBigInteger
StackMap stack:
146: iconst_0
StackMap locals:
StackMap stack: int
147: istore 19
start local 19 148: getstatic jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.$assertionsDisabled:Z
ifne 149
iload 22
bipush 10
if_icmplt 149
new java.lang.AssertionError
dup
iload 22
invokespecial java.lang.AssertionError.<init>:(I)V
athrow
149: StackMap locals: jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer int long int int int int int int int int int int int int int int int int top top int int int jdk.internal.math.FDBigInteger int jdk.internal.math.FDBigInteger jdk.internal.math.FDBigInteger jdk.internal.math.FDBigInteger
StackMap stack:
iload 22
ifne 152
iload 19
ifne 152
150: iinc 9 -1
151: goto 153
152: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.digits:[C
iload 17
iinc 17 1
bipush 48
iload 22
iadd
i2c
castore
153: StackMap locals:
StackMap stack:
iload 5
ifeq 154
iload 9
bipush -3
if_icmplt 154
iload 9
bipush 8
if_icmplt 166
154: StackMap locals:
StackMap stack:
iconst_0
dup
istore 18
istore 19
155: goto 166
156: StackMap locals:
StackMap stack:
aload 27
aload 25
invokevirtual jdk.internal.math.FDBigInteger.quoRemIteration:(Ljdk/internal/math/FDBigInteger;)I
istore 22
157: getstatic jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.$assertionsDisabled:Z
ifne 158
iload 22
bipush 10
if_icmplt 158
new java.lang.AssertionError
dup
iload 22
invokespecial java.lang.AssertionError.<init>:(I)V
athrow
158: StackMap locals:
StackMap stack:
aload 28
invokevirtual jdk.internal.math.FDBigInteger.multBy10:()Ljdk/internal/math/FDBigInteger;
astore 28
159: aload 27
aload 28
invokevirtual jdk.internal.math.FDBigInteger.cmp:(Ljdk/internal/math/FDBigInteger;)I
ifge 160
iconst_1
goto 161
StackMap locals:
StackMap stack:
160: iconst_0
StackMap locals:
StackMap stack: int
161: istore 18
162: aload 29
aload 27
aload 28
invokevirtual jdk.internal.math.FDBigInteger.addAndCmp:(Ljdk/internal/math/FDBigInteger;Ljdk/internal/math/FDBigInteger;)I
ifgt 163
iconst_1
goto 164
StackMap locals:
StackMap stack:
163: iconst_0
StackMap locals:
StackMap stack: int
164: istore 19
165: aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.digits:[C
iload 17
iinc 17 1
bipush 48
iload 22
iadd
i2c
castore
166: StackMap locals:
StackMap stack:
iload 18
ifne 167
iload 19
ifeq 156
167: StackMap locals:
StackMap stack:
iload 19
ifeq 171
iload 18
ifeq 171
168: aload 27
iconst_1
invokevirtual jdk.internal.math.FDBigInteger.leftShift:(I)Ljdk/internal/math/FDBigInteger;
astore 27
169: aload 27
aload 29
invokevirtual jdk.internal.math.FDBigInteger.cmp:(Ljdk/internal/math/FDBigInteger;)I
i2l
lstore 20
start local 20 170: goto 172
end local 20 171: StackMap locals:
StackMap stack:
lconst_0
lstore 20
start local 20 172: StackMap locals: jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer int long int int int int int int int int int int int int int int int int long int int int jdk.internal.math.FDBigInteger int jdk.internal.math.FDBigInteger jdk.internal.math.FDBigInteger jdk.internal.math.FDBigInteger
StackMap stack:
aload 0
aload 27
getstatic jdk.internal.math.FDBigInteger.ZERO:Ljdk/internal/math/FDBigInteger;
invokevirtual jdk.internal.math.FDBigInteger.cmp:(Ljdk/internal/math/FDBigInteger;)I
ifne 173
iconst_1
goto 174
StackMap locals:
StackMap stack: jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer
173: iconst_0
StackMap locals: jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer int long int int int int int int int int int int int int int int int int long int int int jdk.internal.math.FDBigInteger int jdk.internal.math.FDBigInteger jdk.internal.math.FDBigInteger jdk.internal.math.FDBigInteger
StackMap stack: jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer int
174: putfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.exactDecimalConversion:Z
end local 29 end local 28 end local 27 end local 26 end local 25 175: StackMap locals: jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer int long int int int int int int int int int int int int int int int int long int int int
StackMap stack:
aload 0
iload 9
iconst_1
iadd
putfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.decExponent:I
176: aload 0
iconst_0
putfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.firstDigitIndex:I
177: aload 0
iload 17
putfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.nDigits:I
178: iload 19
ifeq 188
179: iload 18
ifeq 187
180: lload 20
lconst_0
lcmp
ifne 184
181: aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.digits:[C
aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.firstDigitIndex:I
aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.nDigits:I
iadd
iconst_1
isub
caload
iconst_1
iand
ifeq 188
182: aload 0
invokevirtual jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.roundup:()V
183: goto 188
StackMap locals:
StackMap stack:
184: lload 20
lconst_0
lcmp
ifle 188
185: aload 0
invokevirtual jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.roundup:()V
186: goto 188
187: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.roundup:()V
188: StackMap locals:
StackMap stack:
return
end local 24 end local 23 end local 22 end local 20 end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 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 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 189 0 this Ljdk/internal/math/FloatingDecimal$BinaryToASCIIBuffer;
0 189 1 binExp I
0 189 2 fractBits J
0 189 4 nSignificantBits I
0 189 5 isCompatibleFormat Z
3 189 6 tailZeros I
4 189 7 nFractBits I
7 189 8 nTinyBits I
12 13 9 insignificant I
14 20 9 insignificant I
21 189 9 decExp I
23 189 10 B2 I
22 189 11 B5 I
25 189 12 S2 I
24 189 13 S5 I
27 189 14 M2 I
26 189 15 M5 I
30 189 16 common2factor I
40 189 17 ndigit I
59 91 18 low Z
102 134 18 low Z
145 189 18 low Z
62 91 19 high Z
105 134 19 high Z
148 189 19 high Z
87 91 20 lowDigitDifference J
130 134 20 lowDigitDifference J
170 171 20 lowDigitDifference J
172 189 20 lowDigitDifference J
54 91 22 q I
97 134 22 q I
142 189 22 q I
43 189 23 Bbits I
46 189 24 tenSbits I
49 90 25 b I
50 90 26 s I
51 90 27 m I
52 90 28 tens I
92 133 25 b J
93 133 27 s J
94 133 29 m J
95 133 31 tens J
135 175 25 Sval Ljdk/internal/math/FDBigInteger;
136 175 26 shiftBias I
138 175 27 Bval Ljdk/internal/math/FDBigInteger;
139 175 28 Mval Ljdk/internal/math/FDBigInteger;
140 175 29 tenSval Ljdk/internal/math/FDBigInteger;
MethodParameters:
Name Flags
binExp
fractBits
nSignificantBits
isCompatibleFormat
private void roundup();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.firstDigitIndex:I
aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.nDigits:I
iadd
iconst_1
isub
istore 1
start local 1 1: aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.digits:[C
iload 1
caload
istore 2
start local 2 2: iload 2
bipush 57
if_icmpne 11
3: goto 6
4: StackMap locals: int int
StackMap stack:
aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.digits:[C
iload 1
bipush 48
castore
5: aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.digits:[C
iinc 1 -1
iload 1
caload
istore 2
6: StackMap locals:
StackMap stack:
iload 2
bipush 57
if_icmpne 7
iload 1
aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.firstDigitIndex:I
if_icmpgt 4
7: StackMap locals:
StackMap stack:
iload 2
bipush 57
if_icmpne 11
8: aload 0
dup
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.decExponent:I
iconst_1
iadd
putfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.decExponent:I
9: aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.digits:[C
aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.firstDigitIndex:I
bipush 49
castore
10: return
11: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.digits:[C
iload 1
iload 2
iconst_1
iadd
i2c
castore
12: aload 0
iconst_1
putfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.decimalDigitsRoundedUp:Z
13: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljdk/internal/math/FloatingDecimal$BinaryToASCIIBuffer;
1 14 1 i I
2 14 2 q I
static int estimateDecExp(long, int);
descriptor: (JI)I
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=14, args_size=2
start local 0 start local 2 0: ldc 4607182418800017408
lload 0
ldc 4503599627370495
land
lor
invokestatic java.lang.Double.longBitsToDouble:(J)D
dstore 3
start local 3 1: dload 3
ldc 1.5
dsub
ldc 0.289529654
dmul
ldc 0.176091259
dadd
iload 2
i2d
ldc 0.301029995663981
dmul
dadd
dstore 5
start local 5 2: dload 5
invokestatic java.lang.Double.doubleToRawLongBits:(D)J
lstore 7
start local 7 3: lload 7
ldc 9218868437227405312
land
bipush 52
lshr
l2i
sipush 1023
isub
istore 9
start local 9 4: lload 7
ldc -9223372036854775808
land
lconst_0
lcmp
ifeq 5
iconst_1
goto 6
StackMap locals: long int double double long int
StackMap stack:
5: iconst_0
StackMap locals:
StackMap stack: int
6: istore 10
start local 10 7: iload 9
iflt 14
iload 9
bipush 52
if_icmpge 14
8: ldc 4503599627370495
iload 9
lshr
lstore 11
start local 11 9: lload 7
ldc 4503599627370495
land
ldc 4503599627370496
lor
bipush 52
iload 9
isub
lshr
l2i
istore 13
start local 13 10: iload 10
ifeq 12
lload 11
lload 7
land
lconst_0
lcmp
ifne 11
iload 13
ineg
goto 13
StackMap locals: int long int
StackMap stack:
11: iload 13
ineg
iconst_1
isub
goto 13
StackMap locals:
StackMap stack:
12: iload 13
StackMap locals:
StackMap stack: int
13: ireturn
end local 13 end local 11 14: StackMap locals:
StackMap stack:
iload 9
ifge 19
15: lload 7
ldc 9223372036854775807
land
lconst_0
lcmp
ifne 16
iconst_0
goto 18
16: StackMap locals:
StackMap stack:
iload 10
ifeq 17
iconst_m1
goto 18
StackMap locals:
StackMap stack:
17: iconst_0
18: StackMap locals:
StackMap stack: int
ireturn
19: StackMap locals:
StackMap stack:
dload 5
d2i
ireturn
end local 10 end local 9 end local 7 end local 5 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 fractBits J
0 20 2 binExp I
1 20 3 d2 D
2 20 5 d D
3 20 7 dBits J
4 20 9 exponent I
7 20 10 isNegative Z
9 14 11 mask J
10 14 13 r I
MethodParameters:
Name Flags
fractBits
binExp
private static int insignificantDigits(int);
descriptor: (I)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: goto 4
2: StackMap locals: int
StackMap stack:
iload 0
i2l
ldc 10
ldiv
l2i
istore 0
3: iinc 1 1
StackMap locals:
StackMap stack:
4: iload 0
i2l
ldc 10
lcmp
ifge 2
5: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 insignificant I
1 6 1 i I
MethodParameters:
Name Flags
insignificant
private static int insignificantDigitsForPow2(int);
descriptor: (I)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
iconst_1
if_icmple 2
iload 0
getstatic jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.insignificantDigitsNumber:[I
arraylength
if_icmpge 2
1: getstatic jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.insignificantDigitsNumber:[I
iload 0
iaload
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 p2 I
MethodParameters:
Name Flags
p2
private int getChars(char[]);
descriptor: ([C)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: getstatic jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.$assertionsDisabled:Z
ifne 1
aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.nDigits:I
bipush 19
if_icmple 1
new java.lang.AssertionError
dup
aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.nDigits:I
invokespecial java.lang.AssertionError.<init>:(I)V
athrow
1: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 2: aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.isNegative:Z
ifeq 5
3: aload 1
iconst_0
bipush 45
castore
4: iconst_1
istore 2
5: StackMap locals: int
StackMap stack:
aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.decExponent:I
ifle 24
aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.decExponent:I
bipush 8
if_icmpge 24
6: aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.nDigits:I
aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.decExponent:I
invokestatic java.lang.Math.min:(II)I
istore 3
start local 3 7: aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.digits:[C
aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.firstDigitIndex:I
aload 1
iload 2
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
8: iload 2
iload 3
iadd
istore 2
9: iload 3
aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.decExponent:I
if_icmpge 16
10: aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.decExponent:I
iload 3
isub
istore 3
11: aload 1
iload 2
iload 2
iload 3
iadd
bipush 48
invokestatic java.util.Arrays.fill:([CIIC)V
12: iload 2
iload 3
iadd
istore 2
13: aload 1
iload 2
iinc 2 1
bipush 46
castore
14: aload 1
iload 2
iinc 2 1
bipush 48
castore
15: goto 57
16: StackMap locals: int
StackMap stack:
aload 1
iload 2
iinc 2 1
bipush 46
castore
17: iload 3
aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.nDigits:I
if_icmpge 22
18: aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.nDigits:I
iload 3
isub
istore 4
start local 4 19: aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.digits:[C
aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.firstDigitIndex:I
iload 3
iadd
aload 1
iload 2
iload 4
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
20: iload 2
iload 4
iadd
istore 2
end local 4 21: goto 57
22: StackMap locals:
StackMap stack:
aload 1
iload 2
iinc 2 1
bipush 48
castore
end local 3 23: goto 57
StackMap locals:
StackMap stack:
24: aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.decExponent:I
ifgt 33
aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.decExponent:I
bipush -3
if_icmple 33
25: aload 1
iload 2
iinc 2 1
bipush 48
castore
26: aload 1
iload 2
iinc 2 1
bipush 46
castore
27: aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.decExponent:I
ifeq 30
28: aload 1
iload 2
iload 2
aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.decExponent:I
isub
bipush 48
invokestatic java.util.Arrays.fill:([CIIC)V
29: iload 2
aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.decExponent:I
isub
istore 2
30: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.digits:[C
aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.firstDigitIndex:I
aload 1
iload 2
aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.nDigits:I
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
31: iload 2
aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.nDigits:I
iadd
istore 2
32: goto 57
33: StackMap locals:
StackMap stack:
aload 1
iload 2
iinc 2 1
aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.digits:[C
aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.firstDigitIndex:I
caload
castore
34: aload 1
iload 2
iinc 2 1
bipush 46
castore
35: aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.nDigits:I
iconst_1
if_icmple 39
36: aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.digits:[C
aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.firstDigitIndex:I
iconst_1
iadd
aload 1
iload 2
aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.nDigits:I
iconst_1
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
37: iload 2
aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.nDigits:I
iconst_1
isub
iadd
istore 2
38: goto 40
39: StackMap locals:
StackMap stack:
aload 1
iload 2
iinc 2 1
bipush 48
castore
40: StackMap locals:
StackMap stack:
aload 1
iload 2
iinc 2 1
bipush 69
castore
41: aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.decExponent:I
ifgt 45
42: aload 1
iload 2
iinc 2 1
bipush 45
castore
43: aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.decExponent:I
ineg
iconst_1
iadd
istore 3
start local 3 44: goto 46
end local 3 45: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.decExponent:I
iconst_1
isub
istore 3
start local 3 46: StackMap locals: int
StackMap stack:
iload 3
bipush 9
if_icmpgt 49
47: aload 1
iload 2
iinc 2 1
iload 3
bipush 48
iadd
i2c
castore
48: goto 57
StackMap locals:
StackMap stack:
49: iload 3
bipush 99
if_icmpgt 53
50: aload 1
iload 2
iinc 2 1
iload 3
bipush 10
idiv
bipush 48
iadd
i2c
castore
51: aload 1
iload 2
iinc 2 1
iload 3
bipush 10
irem
bipush 48
iadd
i2c
castore
52: goto 57
53: StackMap locals:
StackMap stack:
aload 1
iload 2
iinc 2 1
iload 3
bipush 100
idiv
bipush 48
iadd
i2c
castore
54: iload 3
bipush 100
irem
istore 3
55: aload 1
iload 2
iinc 2 1
iload 3
bipush 10
idiv
bipush 48
iadd
i2c
castore
56: aload 1
iload 2
iinc 2 1
iload 3
bipush 10
irem
bipush 48
iadd
i2c
castore
end local 3 57: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 58 0 this Ljdk/internal/math/FloatingDecimal$BinaryToASCIIBuffer;
0 58 1 result [C
2 58 2 i I
7 23 3 charLength I
19 21 4 t I
44 45 3 e I
46 57 3 e I
MethodParameters:
Name Flags
result
}
SourceFile: "FloatingDecimal.java"
NestHost: jdk.internal.math.FloatingDecimal
InnerClasses:
BinaryToASCIIBuffer = jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer of jdk.internal.math.FloatingDecimal
public abstract BinaryToASCIIConverter = jdk.internal.math.FloatingDecimal$BinaryToASCIIConverter of jdk.internal.math.FloatingDecimal