class sun.misc.FloatingDecimal$BinaryToASCIIBuffer implements sun.misc.FloatingDecimal$BinaryToASCIIConverter
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.misc.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: .line 259
ldc Lsun/misc/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 sun.misc.FloatingDecimal$BinaryToASCIIBuffer.$assertionsDisabled:Z
3: .line 865
bipush 64
newarray 10
dup
iconst_4
4: .line 866
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: .line 867
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: .line 868
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: .line 869
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: .line 870
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: .line 871
bipush 18
iastore
dup
bipush 61
bipush 18
iastore
dup
bipush 62
bipush 18
iastore
dup
bipush 63
bipush 19
iastore
10: .line 865
putstatic sun.misc.FloatingDecimal$BinaryToASCIIBuffer.insignificantDigitsNumber:[I
11: .line 875
bipush 27
newarray 10
dup
iconst_1
12: .line 877
iconst_3
iastore
dup
iconst_2
13: .line 878
iconst_5
iastore
dup
iconst_3
14: .line 879
bipush 7
iastore
dup
iconst_4
15: .line 880
bipush 10
iastore
dup
iconst_5
16: .line 881
bipush 12
iastore
dup
bipush 6
17: .line 882
bipush 14
iastore
dup
bipush 7
18: .line 883
bipush 17
iastore
dup
bipush 8
19: .line 884
bipush 19
iastore
dup
bipush 9
20: .line 885
bipush 21
iastore
dup
bipush 10
21: .line 886
bipush 24
iastore
dup
bipush 11
22: .line 887
bipush 26
iastore
dup
bipush 12
23: .line 888
bipush 28
iastore
dup
bipush 13
24: .line 889
bipush 31
iastore
dup
bipush 14
25: .line 890
bipush 33
iastore
dup
bipush 15
26: .line 891
bipush 35
iastore
dup
bipush 16
27: .line 892
bipush 38
iastore
dup
bipush 17
28: .line 893
bipush 40
iastore
dup
bipush 18
29: .line 894
bipush 42
iastore
dup
bipush 19
30: .line 895
bipush 45
iastore
dup
bipush 20
31: .line 896
bipush 47
iastore
dup
bipush 21
32: .line 897
bipush 49
iastore
dup
bipush 22
33: .line 898
bipush 52
iastore
dup
bipush 23
34: .line 899
bipush 54
iastore
dup
bipush 24
35: .line 900
bipush 56
iastore
dup
bipush 25
36: .line 901
bipush 59
iastore
dup
bipush 26
37: .line 902
bipush 61
iastore
38: .line 875
putstatic sun.misc.FloatingDecimal$BinaryToASCIIBuffer.N_5_BITS:[I
39: .line 903
return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 // sun.misc.FloatingDecimal$BinaryToASCIIBuffer this
0: .line 284
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 265
aload 0 /* this */
bipush 26
newarray 5
putfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.buffer:[C
2: .line 274
aload 0 /* this */
iconst_0
putfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.exactDecimalConversion:Z
3: .line 278
aload 0 /* this */
iconst_0
putfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.decimalDigitsRoundedUp:Z
4: .line 285
aload 0 /* this */
bipush 20
newarray 5
putfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.digits:[C
5: .line 286
return
end local 0 // sun.misc.FloatingDecimal$BinaryToASCIIBuffer this
LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/misc/FloatingDecimal$BinaryToASCIIBuffer;
void <init>(boolean, char[]);
descriptor: (Z[C)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 // sun.misc.FloatingDecimal$BinaryToASCIIBuffer this
start local 1 // boolean isNegative
start local 2 // char[] digits
0: .line 291
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 265
aload 0 /* this */
bipush 26
newarray 5
putfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.buffer:[C
2: .line 274
aload 0 /* this */
iconst_0
putfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.exactDecimalConversion:Z
3: .line 278
aload 0 /* this */
iconst_0
putfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.decimalDigitsRoundedUp:Z
4: .line 292
aload 0 /* this */
iload 1 /* isNegative */
putfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.isNegative:Z
5: .line 293
aload 0 /* this */
iconst_0
putfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.decExponent:I
6: .line 294
aload 0 /* this */
aload 2 /* digits */
putfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.digits:[C
7: .line 295
aload 0 /* this */
iconst_0
putfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.firstDigitIndex:I
8: .line 296
aload 0 /* this */
aload 2 /* digits */
arraylength
putfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.nDigits:I
9: .line 297
return
end local 2 // char[] digits
end local 1 // boolean isNegative
end local 0 // sun.misc.FloatingDecimal$BinaryToASCIIBuffer this
LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/misc/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 // sun.misc.FloatingDecimal$BinaryToASCIIBuffer this
0: .line 301
aload 0 /* this */
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.buffer:[C
invokevirtual sun.misc.FloatingDecimal$BinaryToASCIIBuffer.getChars:([C)I
istore 1 /* len */
start local 1 // int len
1: .line 302
new java.lang.String
dup
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.buffer:[C
iconst_0
iload 1 /* len */
invokespecial java.lang.String.<init>:([CII)V
areturn
end local 1 // int len
end local 0 // sun.misc.FloatingDecimal$BinaryToASCIIBuffer this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/misc/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 // sun.misc.FloatingDecimal$BinaryToASCIIBuffer this
start local 1 // java.lang.Appendable buf
0: .line 307
aload 0 /* this */
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.buffer:[C
invokevirtual sun.misc.FloatingDecimal$BinaryToASCIIBuffer.getChars:([C)I
istore 2 /* len */
start local 2 // int len
1: .line 308
aload 1 /* buf */
instanceof java.lang.StringBuilder
ifeq 4
2: .line 309
aload 1 /* buf */
checkcast java.lang.StringBuilder
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.buffer:[C
iconst_0
iload 2 /* len */
invokevirtual java.lang.StringBuilder.append:([CII)Ljava/lang/StringBuilder;
pop
3: .line 310
goto 8
StackMap locals: int
StackMap stack:
4: aload 1 /* buf */
instanceof java.lang.StringBuffer
ifeq 7
5: .line 311
aload 1 /* buf */
checkcast java.lang.StringBuffer
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.buffer:[C
iconst_0
iload 2 /* len */
invokevirtual java.lang.StringBuffer.append:([CII)Ljava/lang/StringBuffer;
pop
6: .line 312
goto 8
7: .line 313
StackMap locals:
StackMap stack:
getstatic sun.misc.FloatingDecimal$BinaryToASCIIBuffer.$assertionsDisabled:Z
ifne 8
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
8: .line 315
StackMap locals:
StackMap stack:
return
end local 2 // int len
end local 1 // java.lang.Appendable buf
end local 0 // sun.misc.FloatingDecimal$BinaryToASCIIBuffer this
LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/misc/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 // sun.misc.FloatingDecimal$BinaryToASCIIBuffer this
0: .line 319
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.decExponent:I
ireturn
end local 0 // sun.misc.FloatingDecimal$BinaryToASCIIBuffer this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/misc/FloatingDecimal$BinaryToASCIIBuffer;
public int getDigits(char[]);
descriptor: ([C)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 // sun.misc.FloatingDecimal$BinaryToASCIIBuffer this
start local 1 // char[] digits
0: .line 324
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.digits:[C
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.firstDigitIndex:I
aload 1 /* digits */
iconst_0
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.nDigits:I
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
1: .line 325
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.nDigits:I
ireturn
end local 1 // char[] digits
end local 0 // sun.misc.FloatingDecimal$BinaryToASCIIBuffer this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/misc/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 // sun.misc.FloatingDecimal$BinaryToASCIIBuffer this
0: .line 330
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.isNegative:Z
ireturn
end local 0 // sun.misc.FloatingDecimal$BinaryToASCIIBuffer this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/misc/FloatingDecimal$BinaryToASCIIBuffer;
public boolean isExceptional();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // sun.misc.FloatingDecimal$BinaryToASCIIBuffer this
0: .line 335
iconst_0
ireturn
end local 0 // sun.misc.FloatingDecimal$BinaryToASCIIBuffer this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/misc/FloatingDecimal$BinaryToASCIIBuffer;
public boolean digitsRoundedUp();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // sun.misc.FloatingDecimal$BinaryToASCIIBuffer this
0: .line 340
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.decimalDigitsRoundedUp:Z
ireturn
end local 0 // sun.misc.FloatingDecimal$BinaryToASCIIBuffer this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/misc/FloatingDecimal$BinaryToASCIIBuffer;
public boolean decimalDigitsExact();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // sun.misc.FloatingDecimal$BinaryToASCIIBuffer this
0: .line 345
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.exactDecimalConversion:Z
ireturn
end local 0 // sun.misc.FloatingDecimal$BinaryToASCIIBuffer this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/misc/FloatingDecimal$BinaryToASCIIBuffer;
private void setSign(boolean);
descriptor: (Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 // sun.misc.FloatingDecimal$BinaryToASCIIBuffer this
start local 1 // boolean isNegative
0: .line 349
aload 0 /* this */
iload 1 /* isNegative */
putfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.isNegative:Z
1: .line 350
return
end local 1 // boolean isNegative
end local 0 // sun.misc.FloatingDecimal$BinaryToASCIIBuffer this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/misc/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 // sun.misc.FloatingDecimal$BinaryToASCIIBuffer this
start local 1 // int decExponent
start local 2 // long lvalue
start local 4 // int insignificantDigits
0: .line 368
iload 4 /* insignificantDigits */
ifeq 7
1: .line 371
getstatic sun.misc.FDBigInteger.LONG_5_POW:[J
iload 4 /* insignificantDigits */
laload
iload 4 /* insignificantDigits */
lshl
lstore 5 /* pow10 */
start local 5 // long pow10
2: .line 372
lload 2 /* lvalue */
lload 5 /* pow10 */
lrem
lstore 7 /* residue */
start local 7 // long residue
3: .line 373
lload 2 /* lvalue */
lload 5 /* pow10 */
ldiv
lstore 2 /* lvalue */
4: .line 374
iload 1 /* decExponent */
iload 4 /* insignificantDigits */
iadd
istore 1 /* decExponent */
5: .line 375
lload 7 /* residue */
lload 5 /* pow10 */
iconst_1
lshr
lcmp
iflt 7
6: .line 377
lload 2 /* lvalue */
lconst_1
ladd
lstore 2 /* lvalue */
end local 7 // long residue
end local 5 // long pow10
7: .line 380
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.digits:[C
arraylength
iconst_1
isub
istore 5 /* digitno */
start local 5 // int digitno
8: .line 382
lload 2 /* lvalue */
ldc 2147483647
lcmp
ifgt 26
9: .line 383
getstatic sun.misc.FloatingDecimal$BinaryToASCIIBuffer.$assertionsDisabled:Z
ifne 10
lload 2 /* lvalue */
lconst_0
lcmp
ifgt 10
new java.lang.AssertionError
dup
lload 2 /* lvalue */
invokespecial java.lang.AssertionError.<init>:(J)V
athrow
10: .line 386
StackMap locals: int
StackMap stack:
lload 2 /* lvalue */
l2i
istore 7 /* ivalue */
start local 7 // int ivalue
11: .line 387
iload 7 /* ivalue */
bipush 10
irem
istore 6 /* c */
start local 6 // int c
12: .line 388
iload 7 /* ivalue */
bipush 10
idiv
istore 7 /* ivalue */
13: .line 389
goto 17
14: .line 390
StackMap locals: int int
StackMap stack:
iinc 1 /* decExponent */ 1
15: .line 391
iload 7 /* ivalue */
bipush 10
irem
istore 6 /* c */
16: .line 392
iload 7 /* ivalue */
bipush 10
idiv
istore 7 /* ivalue */
17: .line 389
StackMap locals:
StackMap stack:
iload 6 /* c */
ifeq 14
18: .line 394
goto 23
19: .line 395
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.digits:[C
iload 5 /* digitno */
iinc 5 /* digitno */ -1
iload 6 /* c */
bipush 48
iadd
i2c
castore
20: .line 396
iinc 1 /* decExponent */ 1
21: .line 397
iload 7 /* ivalue */
bipush 10
irem
istore 6 /* c */
22: .line 398
iload 7 /* ivalue */
bipush 10
idiv
istore 7 /* ivalue */
23: .line 394
StackMap locals:
StackMap stack:
iload 7 /* ivalue */
ifne 19
24: .line 400
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.digits:[C
iload 5 /* digitno */
iload 6 /* c */
bipush 48
iadd
i2c
castore
end local 7 // int ivalue
25: .line 401
goto 40
end local 6 // int c
26: .line 404
StackMap locals:
StackMap stack:
lload 2 /* lvalue */
ldc 10
lrem
l2i
istore 6 /* c */
start local 6 // int c
27: .line 405
lload 2 /* lvalue */
ldc 10
ldiv
lstore 2 /* lvalue */
28: .line 406
goto 32
29: .line 407
StackMap locals: int
StackMap stack:
iinc 1 /* decExponent */ 1
30: .line 408
lload 2 /* lvalue */
ldc 10
lrem
l2i
istore 6 /* c */
31: .line 409
lload 2 /* lvalue */
ldc 10
ldiv
lstore 2 /* lvalue */
32: .line 406
StackMap locals:
StackMap stack:
iload 6 /* c */
ifeq 29
33: .line 411
goto 38
34: .line 412
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.digits:[C
iload 5 /* digitno */
iinc 5 /* digitno */ -1
iload 6 /* c */
bipush 48
iadd
i2c
castore
35: .line 413
iinc 1 /* decExponent */ 1
36: .line 414
lload 2 /* lvalue */
ldc 10
lrem
l2i
istore 6 /* c */
37: .line 415
lload 2 /* lvalue */
ldc 10
ldiv
lstore 2 /* lvalue */
38: .line 411
StackMap locals:
StackMap stack:
lload 2 /* lvalue */
lconst_0
lcmp
ifne 34
39: .line 417
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.digits:[C
iload 5 /* digitno */
iload 6 /* c */
bipush 48
iadd
i2c
castore
40: .line 419
StackMap locals:
StackMap stack:
aload 0 /* this */
iload 1 /* decExponent */
iconst_1
iadd
putfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.decExponent:I
41: .line 420
aload 0 /* this */
iload 5 /* digitno */
putfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.firstDigitIndex:I
42: .line 421
aload 0 /* this */
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.digits:[C
arraylength
iload 5 /* digitno */
isub
putfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.nDigits:I
43: .line 422
return
end local 6 // int c
end local 5 // int digitno
end local 4 // int insignificantDigits
end local 2 // long lvalue
end local 1 // int decExponent
end local 0 // sun.misc.FloatingDecimal$BinaryToASCIIBuffer this
LocalVariableTable:
Start End Slot Name Signature
0 44 0 this Lsun/misc/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 // sun.misc.FloatingDecimal$BinaryToASCIIBuffer this
start local 1 // int binExp
start local 2 // long fractBits
start local 4 // int nSignificantBits
start local 5 // boolean isCompatibleFormat
0: .line 426
getstatic sun.misc.FloatingDecimal$BinaryToASCIIBuffer.$assertionsDisabled:Z
ifne 1
lload 2 /* fractBits */
lconst_0
lcmp
ifgt 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: .line 427
StackMap locals:
StackMap stack:
getstatic sun.misc.FloatingDecimal$BinaryToASCIIBuffer.$assertionsDisabled:Z
ifne 2
lload 2 /* fractBits */
ldc 4503599627370496
land
lconst_0
lcmp
ifne 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: .line 431
StackMap locals:
StackMap stack:
lload 2 /* fractBits */
invokestatic java.lang.Long.numberOfTrailingZeros:(J)I
istore 6 /* tailZeros */
start local 6 // int tailZeros
3: .line 434
bipush 53
iload 6 /* tailZeros */
isub
istore 7 /* nFractBits */
start local 7 // int nFractBits
4: .line 439
aload 0 /* this */
iconst_0
putfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.decimalDigitsRoundedUp:Z
5: .line 440
aload 0 /* this */
iconst_0
putfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.exactDecimalConversion:Z
6: .line 443
iconst_0
iload 7 /* nFractBits */
iload 1 /* binExp */
isub
iconst_1
isub
invokestatic java.lang.Math.max:(II)I
istore 8 /* nTinyBits */
start local 8 // int nTinyBits
7: .line 444
iload 1 /* binExp */
bipush 62
if_icmpgt 20
iload 1 /* binExp */
bipush -21
if_icmplt 20
8: .line 448
iload 8 /* nTinyBits */
getstatic sun.misc.FDBigInteger.LONG_5_POW:[J
arraylength
if_icmpge 20
iload 7 /* nFractBits */
getstatic sun.misc.FloatingDecimal$BinaryToASCIIBuffer.N_5_BITS:[I
iload 8 /* nTinyBits */
iaload
iadd
bipush 64
if_icmpge 20
9: .line 464
iload 8 /* nTinyBits */
ifne 20
10: .line 466
iload 1 /* binExp */
iload 4 /* nSignificantBits */
if_icmple 13
11: .line 467
iload 1 /* binExp */
iload 4 /* nSignificantBits */
isub
iconst_1
isub
invokestatic sun.misc.FloatingDecimal$BinaryToASCIIBuffer.insignificantDigitsForPow2:(I)I
istore 9 /* insignificant */
start local 9 // int insignificant
12: .line 468
goto 14
end local 9 // int insignificant
13: .line 469
StackMap locals: int int int
StackMap stack:
iconst_0
istore 9 /* insignificant */
start local 9 // int insignificant
14: .line 471
StackMap locals: int
StackMap stack:
iload 1 /* binExp */
bipush 52
if_icmplt 17
15: .line 472
lload 2 /* fractBits */
iload 1 /* binExp */
bipush 52
isub
lshl
lstore 2 /* fractBits */
16: .line 473
goto 18
17: .line 474
StackMap locals:
StackMap stack:
lload 2 /* fractBits */
bipush 52
iload 1 /* binExp */
isub
lushr
lstore 2 /* fractBits */
18: .line 476
StackMap locals:
StackMap stack:
aload 0 /* this */
iconst_0
lload 2 /* fractBits */
iload 9 /* insignificant */
invokevirtual sun.misc.FloatingDecimal$BinaryToASCIIBuffer.developLongDigits:(IJI)V
19: .line 477
return
end local 9 // int insignificant
20: .line 515
StackMap locals:
StackMap stack:
lload 2 /* fractBits */
iload 1 /* binExp */
invokestatic sun.misc.FloatingDecimal$BinaryToASCIIBuffer.estimateDecExp:(JI)I
istore 9 /* decExp */
start local 9 // int decExp
21: .line 520
iconst_0
iload 9 /* decExp */
ineg
invokestatic java.lang.Math.max:(II)I
istore 11 /* B5 */
start local 11 // int B5
22: .line 521
iload 11 /* B5 */
iload 8 /* nTinyBits */
iadd
iload 1 /* binExp */
iadd
istore 10 /* B2 */
start local 10 // int B2
23: .line 523
iconst_0
iload 9 /* decExp */
invokestatic java.lang.Math.max:(II)I
istore 13 /* S5 */
start local 13 // int S5
24: .line 524
iload 13 /* S5 */
iload 8 /* nTinyBits */
iadd
istore 12 /* S2 */
start local 12 // int S2
25: .line 526
iload 11 /* B5 */
istore 15 /* M5 */
start local 15 // int M5
26: .line 527
iload 10 /* B2 */
iload 4 /* nSignificantBits */
isub
istore 14 /* M2 */
start local 14 // int M2
27: .line 537
lload 2 /* fractBits */
iload 6 /* tailZeros */
lushr
lstore 2 /* fractBits */
28: .line 538
iload 10 /* B2 */
iload 7 /* nFractBits */
iconst_1
isub
isub
istore 10 /* B2 */
29: .line 539
iload 10 /* B2 */
iload 12 /* S2 */
invokestatic java.lang.Math.min:(II)I
istore 16 /* common2factor */
start local 16 // int common2factor
30: .line 540
iload 10 /* B2 */
iload 16 /* common2factor */
isub
istore 10 /* B2 */
31: .line 541
iload 12 /* S2 */
iload 16 /* common2factor */
isub
istore 12 /* S2 */
32: .line 542
iload 14 /* M2 */
iload 16 /* common2factor */
isub
istore 14 /* M2 */
33: .line 550
iload 7 /* nFractBits */
iconst_1
if_icmpne 35
34: .line 551
iinc 14 /* M2 */ -1
35: .line 554
StackMap locals: sun.misc.FloatingDecimal$BinaryToASCIIBuffer int long int int int int int int int int int int int int int
StackMap stack:
iload 14 /* M2 */
ifge 39
36: .line 558
iload 10 /* B2 */
iload 14 /* M2 */
isub
istore 10 /* B2 */
37: .line 559
iload 12 /* S2 */
iload 14 /* M2 */
isub
istore 12 /* S2 */
38: .line 560
iconst_0
istore 14 /* M2 */
39: .line 570
StackMap locals:
StackMap stack:
iconst_0
istore 17 /* ndigit */
start local 17 // int ndigit
40: .line 591
iload 7 /* nFractBits */
iload 10 /* B2 */
iadd
iload 11 /* B5 */
getstatic sun.misc.FloatingDecimal$BinaryToASCIIBuffer.N_5_BITS:[I
arraylength
if_icmpge 41
getstatic sun.misc.FloatingDecimal$BinaryToASCIIBuffer.N_5_BITS:[I
iload 11 /* B5 */
iaload
goto 42
StackMap locals: sun.misc.FloatingDecimal$BinaryToASCIIBuffer int long int int int int int int int int int int int int int int
StackMap stack: int
41: iload 11 /* B5 */
iconst_3
imul
StackMap locals: sun.misc.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 /* Bbits */
start local 23 // int Bbits
43: .line 594
iload 12 /* S2 */
iconst_1
iadd
iload 13 /* S5 */
iconst_1
iadd
getstatic sun.misc.FloatingDecimal$BinaryToASCIIBuffer.N_5_BITS:[I
arraylength
if_icmpge 44
getstatic sun.misc.FloatingDecimal$BinaryToASCIIBuffer.N_5_BITS:[I
iload 13 /* S5 */
iconst_1
iadd
iaload
goto 45
StackMap locals: sun.misc.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 /* S5 */
iconst_1
iadd
iconst_3
imul
StackMap locals: sun.misc.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 /* tenSbits */
start local 24 // int tenSbits
46: .line 595
iload 23 /* Bbits */
bipush 64
if_icmpge 134
iload 24 /* tenSbits */
bipush 64
if_icmpge 134
47: .line 596
iload 23 /* Bbits */
bipush 32
if_icmpge 91
iload 24 /* tenSbits */
bipush 32
if_icmpge 91
48: .line 598
lload 2 /* fractBits */
l2i
getstatic sun.misc.FDBigInteger.SMALL_5_POW:[I
iload 11 /* B5 */
iaload
imul
iload 10 /* B2 */
ishl
istore 25 /* b */
start local 25 // int b
49: .line 599
getstatic sun.misc.FDBigInteger.SMALL_5_POW:[I
iload 13 /* S5 */
iaload
iload 12 /* S2 */
ishl
istore 26 /* s */
start local 26 // int s
50: .line 600
getstatic sun.misc.FDBigInteger.SMALL_5_POW:[I
iload 15 /* M5 */
iaload
iload 14 /* M2 */
ishl
istore 27 /* m */
start local 27 // int m
51: .line 601
iload 26 /* s */
bipush 10
imul
istore 28 /* tens */
start local 28 // int tens
52: .line 607
iconst_0
istore 17 /* ndigit */
53: .line 608
iload 25 /* b */
iload 26 /* s */
idiv
istore 22 /* q */
start local 22 // int q
54: .line 609
bipush 10
iload 25 /* b */
iload 26 /* s */
irem
imul
istore 25 /* b */
55: .line 610
iload 27 /* m */
bipush 10
imul
istore 27 /* m */
56: .line 611
iload 25 /* b */
iload 27 /* m */
if_icmpge 57
iconst_1
goto 58
StackMap locals: sun.misc.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 /* low */
start local 18 // boolean low
59: .line 612
iload 25 /* b */
iload 27 /* m */
iadd
iload 28 /* tens */
if_icmple 60
iconst_1
goto 61
StackMap locals: sun.misc.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 /* high */
start local 19 // boolean high
62: .line 613
getstatic sun.misc.FloatingDecimal$BinaryToASCIIBuffer.$assertionsDisabled:Z
ifne 63
iload 22 /* q */
bipush 10
if_icmplt 63
new java.lang.AssertionError
dup
iload 22 /* q */
invokespecial java.lang.AssertionError.<init>:(I)V
athrow
63: .line 614
StackMap locals: sun.misc.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 /* q */
ifne 66
iload 19 /* high */
ifne 66
64: .line 616
iinc 9 /* decExp */ -1
65: .line 617
goto 67
66: .line 618
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.digits:[C
iload 17 /* ndigit */
iinc 17 /* ndigit */ 1
bipush 48
iload 22 /* q */
iadd
i2c
castore
67: .line 626
StackMap locals:
StackMap stack:
iload 5 /* isCompatibleFormat */
ifeq 68
iload 9 /* decExp */
bipush -3
if_icmplt 68
iload 9 /* decExp */
bipush 8
if_icmplt 85
68: .line 627
StackMap locals:
StackMap stack:
iconst_0
dup
istore 18 /* low */
istore 19 /* high */
69: .line 629
goto 85
70: .line 630
StackMap locals:
StackMap stack:
iload 25 /* b */
iload 26 /* s */
idiv
istore 22 /* q */
71: .line 631
bipush 10
iload 25 /* b */
iload 26 /* s */
irem
imul
istore 25 /* b */
72: .line 632
iload 27 /* m */
bipush 10
imul
istore 27 /* m */
73: .line 633
getstatic sun.misc.FloatingDecimal$BinaryToASCIIBuffer.$assertionsDisabled:Z
ifne 74
iload 22 /* q */
bipush 10
if_icmplt 74
new java.lang.AssertionError
dup
iload 22 /* q */
invokespecial java.lang.AssertionError.<init>:(I)V
athrow
74: .line 634
StackMap locals:
StackMap stack:
iload 27 /* m */
i2l
lconst_0
lcmp
ifle 82
75: .line 635
iload 25 /* b */
iload 27 /* m */
if_icmpge 76
iconst_1
goto 77
StackMap locals:
StackMap stack:
76: iconst_0
StackMap locals:
StackMap stack: int
77: istore 18 /* low */
78: .line 636
iload 25 /* b */
iload 27 /* m */
iadd
iload 28 /* tens */
if_icmple 79
iconst_1
goto 80
StackMap locals:
StackMap stack:
79: iconst_0
StackMap locals:
StackMap stack: int
80: istore 19 /* high */
81: .line 637
goto 84
82: .line 643
StackMap locals:
StackMap stack:
iconst_1
istore 18 /* low */
83: .line 644
iconst_1
istore 19 /* high */
84: .line 646
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.digits:[C
iload 17 /* ndigit */
iinc 17 /* ndigit */ 1
bipush 48
iload 22 /* q */
iadd
i2c
castore
85: .line 629
StackMap locals:
StackMap stack:
iload 18 /* low */
ifne 86
iload 19 /* high */
ifeq 70
86: .line 648
StackMap locals:
StackMap stack:
iload 25 /* b */
iconst_1
ishl
iload 28 /* tens */
isub
i2l
lstore 20 /* lowDigitDifference */
start local 20 // long lowDigitDifference
87: .line 649
aload 0 /* this */
iload 25 /* b */
ifne 88
iconst_1
goto 89
StackMap locals: sun.misc.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: sun.misc.FloatingDecimal$BinaryToASCIIBuffer
88: iconst_0
StackMap locals: sun.misc.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: sun.misc.FloatingDecimal$BinaryToASCIIBuffer int
89: putfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.exactDecimalConversion:Z
end local 28 // int tens
end local 27 // int m
end local 26 // int s
end local 25 // int b
90: .line 650
goto 175
end local 22 // int q
end local 20 // long lowDigitDifference
end local 19 // boolean high
end local 18 // boolean low
91: .line 652
StackMap locals: sun.misc.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 /* fractBits */
getstatic sun.misc.FDBigInteger.LONG_5_POW:[J
iload 11 /* B5 */
laload
lmul
iload 10 /* B2 */
lshl
lstore 25 /* b */
start local 25 // long b
92: .line 653
getstatic sun.misc.FDBigInteger.LONG_5_POW:[J
iload 13 /* S5 */
laload
iload 12 /* S2 */
lshl
lstore 27 /* s */
start local 27 // long s
93: .line 654
getstatic sun.misc.FDBigInteger.LONG_5_POW:[J
iload 15 /* M5 */
laload
iload 14 /* M2 */
lshl
lstore 29 /* m */
start local 29 // long m
94: .line 655
lload 27 /* s */
ldc 10
lmul
lstore 31 /* tens */
start local 31 // long tens
95: .line 661
iconst_0
istore 17 /* ndigit */
96: .line 662
lload 25 /* b */
lload 27 /* s */
ldiv
l2i
istore 22 /* q */
start local 22 // int q
97: .line 663
ldc 10
lload 25 /* b */
lload 27 /* s */
lrem
lmul
lstore 25 /* b */
98: .line 664
lload 29 /* m */
ldc 10
lmul
lstore 29 /* m */
99: .line 665
lload 25 /* b */
lload 29 /* m */
lcmp
ifge 100
iconst_1
goto 101
StackMap locals: sun.misc.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 /* low */
start local 18 // boolean low
102: .line 666
lload 25 /* b */
lload 29 /* m */
ladd
lload 31 /* tens */
lcmp
ifle 103
iconst_1
goto 104
StackMap locals: sun.misc.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 /* high */
start local 19 // boolean high
105: .line 667
getstatic sun.misc.FloatingDecimal$BinaryToASCIIBuffer.$assertionsDisabled:Z
ifne 106
iload 22 /* q */
bipush 10
if_icmplt 106
new java.lang.AssertionError
dup
iload 22 /* q */
invokespecial java.lang.AssertionError.<init>:(I)V
athrow
106: .line 668
StackMap locals: sun.misc.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 /* q */
ifne 109
iload 19 /* high */
ifne 109
107: .line 670
iinc 9 /* decExp */ -1
108: .line 671
goto 110
109: .line 672
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.digits:[C
iload 17 /* ndigit */
iinc 17 /* ndigit */ 1
bipush 48
iload 22 /* q */
iadd
i2c
castore
110: .line 680
StackMap locals:
StackMap stack:
iload 5 /* isCompatibleFormat */
ifeq 111
iload 9 /* decExp */
bipush -3
if_icmplt 111
iload 9 /* decExp */
bipush 8
if_icmplt 128
111: .line 681
StackMap locals:
StackMap stack:
iconst_0
dup
istore 18 /* low */
istore 19 /* high */
112: .line 683
goto 128
113: .line 684
StackMap locals:
StackMap stack:
lload 25 /* b */
lload 27 /* s */
ldiv
l2i
istore 22 /* q */
114: .line 685
ldc 10
lload 25 /* b */
lload 27 /* s */
lrem
lmul
lstore 25 /* b */
115: .line 686
lload 29 /* m */
ldc 10
lmul
lstore 29 /* m */
116: .line 687
getstatic sun.misc.FloatingDecimal$BinaryToASCIIBuffer.$assertionsDisabled:Z
ifne 117
iload 22 /* q */
bipush 10
if_icmplt 117
new java.lang.AssertionError
dup
iload 22 /* q */
invokespecial java.lang.AssertionError.<init>:(I)V
athrow
117: .line 688
StackMap locals:
StackMap stack:
lload 29 /* m */
lconst_0
lcmp
ifle 125
118: .line 689
lload 25 /* b */
lload 29 /* m */
lcmp
ifge 119
iconst_1
goto 120
StackMap locals:
StackMap stack:
119: iconst_0
StackMap locals:
StackMap stack: int
120: istore 18 /* low */
121: .line 690
lload 25 /* b */
lload 29 /* m */
ladd
lload 31 /* tens */
lcmp
ifle 122
iconst_1
goto 123
StackMap locals:
StackMap stack:
122: iconst_0
StackMap locals:
StackMap stack: int
123: istore 19 /* high */
124: .line 691
goto 127
125: .line 697
StackMap locals:
StackMap stack:
iconst_1
istore 18 /* low */
126: .line 698
iconst_1
istore 19 /* high */
127: .line 700
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.digits:[C
iload 17 /* ndigit */
iinc 17 /* ndigit */ 1
bipush 48
iload 22 /* q */
iadd
i2c
castore
128: .line 683
StackMap locals:
StackMap stack:
iload 18 /* low */
ifne 129
iload 19 /* high */
ifeq 113
129: .line 702
StackMap locals:
StackMap stack:
lload 25 /* b */
iconst_1
lshl
lload 31 /* tens */
lsub
lstore 20 /* lowDigitDifference */
start local 20 // long lowDigitDifference
130: .line 703
aload 0 /* this */
lload 25 /* b */
lconst_0
lcmp
ifne 131
iconst_1
goto 132
StackMap locals: sun.misc.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: sun.misc.FloatingDecimal$BinaryToASCIIBuffer
131: iconst_0
StackMap locals: sun.misc.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: sun.misc.FloatingDecimal$BinaryToASCIIBuffer int
132: putfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.exactDecimalConversion:Z
end local 31 // long tens
end local 29 // long m
end local 27 // long s
end local 25 // long b
133: .line 705
goto 175
end local 22 // int q
end local 20 // long lowDigitDifference
end local 19 // boolean high
end local 18 // boolean low
134: .line 710
StackMap locals: sun.misc.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 /* S5 */
iload 12 /* S2 */
invokestatic sun.misc.FDBigInteger.valueOfPow52:(II)Lsun/misc/FDBigInteger;
astore 25 /* Sval */
start local 25 // sun.misc.FDBigInteger Sval
135: .line 711
aload 25 /* Sval */
invokevirtual sun.misc.FDBigInteger.getNormalizationBias:()I
istore 26 /* shiftBias */
start local 26 // int shiftBias
136: .line 712
aload 25 /* Sval */
iload 26 /* shiftBias */
invokevirtual sun.misc.FDBigInteger.leftShift:(I)Lsun/misc/FDBigInteger;
astore 25 /* Sval */
137: .line 714
lload 2 /* fractBits */
iload 11 /* B5 */
iload 10 /* B2 */
iload 26 /* shiftBias */
iadd
invokestatic sun.misc.FDBigInteger.valueOfMulPow52:(JII)Lsun/misc/FDBigInteger;
astore 27 /* Bval */
start local 27 // sun.misc.FDBigInteger Bval
138: .line 715
iload 15 /* M5 */
iconst_1
iadd
iload 14 /* M2 */
iload 26 /* shiftBias */
iadd
iconst_1
iadd
invokestatic sun.misc.FDBigInteger.valueOfPow52:(II)Lsun/misc/FDBigInteger;
astore 28 /* Mval */
start local 28 // sun.misc.FDBigInteger Mval
139: .line 717
iload 13 /* S5 */
iconst_1
iadd
iload 12 /* S2 */
iload 26 /* shiftBias */
iadd
iconst_1
iadd
invokestatic sun.misc.FDBigInteger.valueOfPow52:(II)Lsun/misc/FDBigInteger;
astore 29 /* tenSval */
start local 29 // sun.misc.FDBigInteger tenSval
140: .line 723
iconst_0
istore 17 /* ndigit */
141: .line 724
aload 27 /* Bval */
aload 25 /* Sval */
invokevirtual sun.misc.FDBigInteger.quoRemIteration:(Lsun/misc/FDBigInteger;)I
istore 22 /* q */
start local 22 // int q
142: .line 725
aload 27 /* Bval */
aload 28 /* Mval */
invokevirtual sun.misc.FDBigInteger.cmp:(Lsun/misc/FDBigInteger;)I
ifge 143
iconst_1
goto 144
StackMap locals: sun.misc.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 sun.misc.FDBigInteger int sun.misc.FDBigInteger sun.misc.FDBigInteger sun.misc.FDBigInteger
StackMap stack:
143: iconst_0
StackMap locals:
StackMap stack: int
144: istore 18 /* low */
start local 18 // boolean low
145: .line 726
aload 29 /* tenSval */
aload 27 /* Bval */
aload 28 /* Mval */
invokevirtual sun.misc.FDBigInteger.addAndCmp:(Lsun/misc/FDBigInteger;Lsun/misc/FDBigInteger;)I
ifgt 146
iconst_1
goto 147
StackMap locals: sun.misc.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 sun.misc.FDBigInteger int sun.misc.FDBigInteger sun.misc.FDBigInteger sun.misc.FDBigInteger
StackMap stack:
146: iconst_0
StackMap locals:
StackMap stack: int
147: istore 19 /* high */
start local 19 // boolean high
148: .line 728
getstatic sun.misc.FloatingDecimal$BinaryToASCIIBuffer.$assertionsDisabled:Z
ifne 149
iload 22 /* q */
bipush 10
if_icmplt 149
new java.lang.AssertionError
dup
iload 22 /* q */
invokespecial java.lang.AssertionError.<init>:(I)V
athrow
149: .line 729
StackMap locals: sun.misc.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 sun.misc.FDBigInteger int sun.misc.FDBigInteger sun.misc.FDBigInteger sun.misc.FDBigInteger
StackMap stack:
iload 22 /* q */
ifne 152
iload 19 /* high */
ifne 152
150: .line 731
iinc 9 /* decExp */ -1
151: .line 732
goto 153
152: .line 733
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.digits:[C
iload 17 /* ndigit */
iinc 17 /* ndigit */ 1
bipush 48
iload 22 /* q */
iadd
i2c
castore
153: .line 741
StackMap locals:
StackMap stack:
iload 5 /* isCompatibleFormat */
ifeq 154
iload 9 /* decExp */
bipush -3
if_icmplt 154
iload 9 /* decExp */
bipush 8
if_icmplt 166
154: .line 742
StackMap locals:
StackMap stack:
iconst_0
dup
istore 18 /* low */
istore 19 /* high */
155: .line 744
goto 166
156: .line 745
StackMap locals:
StackMap stack:
aload 27 /* Bval */
aload 25 /* Sval */
invokevirtual sun.misc.FDBigInteger.quoRemIteration:(Lsun/misc/FDBigInteger;)I
istore 22 /* q */
157: .line 746
getstatic sun.misc.FloatingDecimal$BinaryToASCIIBuffer.$assertionsDisabled:Z
ifne 158
iload 22 /* q */
bipush 10
if_icmplt 158
new java.lang.AssertionError
dup
iload 22 /* q */
invokespecial java.lang.AssertionError.<init>:(I)V
athrow
158: .line 747
StackMap locals:
StackMap stack:
aload 28 /* Mval */
invokevirtual sun.misc.FDBigInteger.multBy10:()Lsun/misc/FDBigInteger;
astore 28 /* Mval */
159: .line 748
aload 27 /* Bval */
aload 28 /* Mval */
invokevirtual sun.misc.FDBigInteger.cmp:(Lsun/misc/FDBigInteger;)I
ifge 160
iconst_1
goto 161
StackMap locals:
StackMap stack:
160: iconst_0
StackMap locals:
StackMap stack: int
161: istore 18 /* low */
162: .line 749
aload 29 /* tenSval */
aload 27 /* Bval */
aload 28 /* Mval */
invokevirtual sun.misc.FDBigInteger.addAndCmp:(Lsun/misc/FDBigInteger;Lsun/misc/FDBigInteger;)I
ifgt 163
iconst_1
goto 164
StackMap locals:
StackMap stack:
163: iconst_0
StackMap locals:
StackMap stack: int
164: istore 19 /* high */
165: .line 750
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.digits:[C
iload 17 /* ndigit */
iinc 17 /* ndigit */ 1
bipush 48
iload 22 /* q */
iadd
i2c
castore
166: .line 744
StackMap locals:
StackMap stack:
iload 18 /* low */
ifne 167
iload 19 /* high */
ifeq 156
167: .line 752
StackMap locals:
StackMap stack:
iload 19 /* high */
ifeq 171
iload 18 /* low */
ifeq 171
168: .line 753
aload 27 /* Bval */
iconst_1
invokevirtual sun.misc.FDBigInteger.leftShift:(I)Lsun/misc/FDBigInteger;
astore 27 /* Bval */
169: .line 754
aload 27 /* Bval */
aload 29 /* tenSval */
invokevirtual sun.misc.FDBigInteger.cmp:(Lsun/misc/FDBigInteger;)I
i2l
lstore 20 /* lowDigitDifference */
start local 20 // long lowDigitDifference
170: .line 755
goto 172
end local 20 // long lowDigitDifference
171: .line 756
StackMap locals:
StackMap stack:
lconst_0
lstore 20 /* lowDigitDifference */
start local 20 // long lowDigitDifference
172: .line 758
StackMap locals: sun.misc.FloatingDecimal$BinaryToASCIIBuffer int long int int int int int int int int int int int int int int int int long int int int sun.misc.FDBigInteger int sun.misc.FDBigInteger sun.misc.FDBigInteger sun.misc.FDBigInteger
StackMap stack:
aload 0 /* this */
aload 27 /* Bval */
getstatic sun.misc.FDBigInteger.ZERO:Lsun/misc/FDBigInteger;
invokevirtual sun.misc.FDBigInteger.cmp:(Lsun/misc/FDBigInteger;)I
ifne 173
iconst_1
goto 174
StackMap locals:
StackMap stack: sun.misc.FloatingDecimal$BinaryToASCIIBuffer
173: iconst_0
StackMap locals: sun.misc.FloatingDecimal$BinaryToASCIIBuffer int long int int int int int int int int int int int int int int int int long int int int sun.misc.FDBigInteger int sun.misc.FDBigInteger sun.misc.FDBigInteger sun.misc.FDBigInteger
StackMap stack: sun.misc.FloatingDecimal$BinaryToASCIIBuffer int
174: putfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.exactDecimalConversion:Z
end local 29 // sun.misc.FDBigInteger tenSval
end local 28 // sun.misc.FDBigInteger Mval
end local 27 // sun.misc.FDBigInteger Bval
end local 26 // int shiftBias
end local 25 // sun.misc.FDBigInteger Sval
175: .line 760
StackMap locals: sun.misc.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 /* this */
iload 9 /* decExp */
iconst_1
iadd
putfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.decExponent:I
176: .line 761
aload 0 /* this */
iconst_0
putfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.firstDigitIndex:I
177: .line 762
aload 0 /* this */
iload 17 /* ndigit */
putfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.nDigits:I
178: .line 766
iload 19 /* high */
ifeq 188
179: .line 767
iload 18 /* low */
ifeq 187
180: .line 768
lload 20 /* lowDigitDifference */
lconst_0
lcmp
ifne 184
181: .line 771
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.digits:[C
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.firstDigitIndex:I
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.nDigits:I
iadd
iconst_1
isub
caload
iconst_1
iand
ifeq 188
182: .line 772
aload 0 /* this */
invokevirtual sun.misc.FloatingDecimal$BinaryToASCIIBuffer.roundup:()V
183: .line 774
goto 188
StackMap locals:
StackMap stack:
184: lload 20 /* lowDigitDifference */
lconst_0
lcmp
ifle 188
185: .line 775
aload 0 /* this */
invokevirtual sun.misc.FloatingDecimal$BinaryToASCIIBuffer.roundup:()V
186: .line 777
goto 188
187: .line 778
StackMap locals:
StackMap stack:
aload 0 /* this */
invokevirtual sun.misc.FloatingDecimal$BinaryToASCIIBuffer.roundup:()V
188: .line 781
StackMap locals:
StackMap stack:
return
end local 24 // int tenSbits
end local 23 // int Bbits
end local 22 // int q
end local 20 // long lowDigitDifference
end local 19 // boolean high
end local 18 // boolean low
end local 17 // int ndigit
end local 16 // int common2factor
end local 15 // int M5
end local 14 // int M2
end local 13 // int S5
end local 12 // int S2
end local 11 // int B5
end local 10 // int B2
end local 9 // int decExp
end local 8 // int nTinyBits
end local 7 // int nFractBits
end local 6 // int tailZeros
end local 5 // boolean isCompatibleFormat
end local 4 // int nSignificantBits
end local 2 // long fractBits
end local 1 // int binExp
end local 0 // sun.misc.FloatingDecimal$BinaryToASCIIBuffer this
LocalVariableTable:
Start End Slot Name Signature
0 189 0 this Lsun/misc/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 Lsun/misc/FDBigInteger;
136 175 26 shiftBias I
138 175 27 Bval Lsun/misc/FDBigInteger;
139 175 28 Mval Lsun/misc/FDBigInteger;
140 175 29 tenSval Lsun/misc/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 // sun.misc.FloatingDecimal$BinaryToASCIIBuffer this
0: .line 789
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.firstDigitIndex:I
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.nDigits:I
iadd
iconst_1
isub
istore 1 /* i */
start local 1 // int i
1: .line 790
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.digits:[C
iload 1 /* i */
caload
istore 2 /* q */
start local 2 // int q
2: .line 791
iload 2 /* q */
bipush 57
if_icmpne 11
3: .line 792
goto 6
4: .line 793
StackMap locals: int int
StackMap stack:
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.digits:[C
iload 1 /* i */
bipush 48
castore
5: .line 794
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.digits:[C
iinc 1 /* i */ -1
iload 1 /* i */
caload
istore 2 /* q */
6: .line 792
StackMap locals:
StackMap stack:
iload 2 /* q */
bipush 57
if_icmpne 7
iload 1 /* i */
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.firstDigitIndex:I
if_icmpgt 4
7: .line 796
StackMap locals:
StackMap stack:
iload 2 /* q */
bipush 57
if_icmpne 11
8: .line 798
aload 0 /* this */
dup
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.decExponent:I
iconst_1
iadd
putfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.decExponent:I
9: .line 799
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.digits:[C
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.firstDigitIndex:I
bipush 49
castore
10: .line 800
return
11: .line 804
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.digits:[C
iload 1 /* i */
iload 2 /* q */
iconst_1
iadd
i2c
castore
12: .line 805
aload 0 /* this */
iconst_1
putfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.decimalDigitsRoundedUp:Z
13: .line 806
return
end local 2 // int q
end local 1 // int i
end local 0 // sun.misc.FloatingDecimal$BinaryToASCIIBuffer this
LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lsun/misc/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 // long fractBits
start local 2 // int binExp
0: .line 820
ldc 4607182418800017408
lload 0 /* fractBits */
ldc 4503599627370495
land
lor
invokestatic java.lang.Double.longBitsToDouble:(J)D
dstore 3 /* d2 */
start local 3 // double d2
1: .line 821
dload 3 /* d2 */
ldc 1.5
dsub
ldc 0.289529654
dmul
ldc 0.176091259
dadd
iload 2 /* binExp */
i2d
ldc 0.301029995663981
dmul
dadd
dstore 5 /* d */
start local 5 // double d
2: .line 822
dload 5 /* d */
invokestatic java.lang.Double.doubleToRawLongBits:(D)J
lstore 7 /* dBits */
start local 7 // long dBits
3: .line 823
lload 7 /* dBits */
ldc 9218868437227405312
land
bipush 52
lshr
l2i
sipush 1023
isub
istore 9 /* exponent */
start local 9 // int exponent
4: .line 824
lload 7 /* dBits */
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 /* isNegative */
start local 10 // boolean isNegative
7: .line 825
iload 9 /* exponent */
iflt 14
iload 9 /* exponent */
bipush 52
if_icmpge 14
8: .line 826
ldc 4503599627370495
iload 9 /* exponent */
lshr
lstore 11 /* mask */
start local 11 // long mask
9: .line 827
lload 7 /* dBits */
ldc 4503599627370495
land
ldc 4503599627370496
lor
bipush 52
iload 9 /* exponent */
isub
lshr
l2i
istore 13 /* r */
start local 13 // int r
10: .line 828
iload 10 /* isNegative */
ifeq 12
lload 11 /* mask */
lload 7 /* dBits */
land
lconst_0
lcmp
ifne 11
iload 13 /* r */
ineg
goto 13
StackMap locals: int long int
StackMap stack:
11: iload 13 /* r */
ineg
iconst_1
isub
goto 13
StackMap locals:
StackMap stack:
12: iload 13 /* r */
StackMap locals:
StackMap stack: int
13: ireturn
end local 13 // int r
end local 11 // long mask
14: .line 829
StackMap locals:
StackMap stack:
iload 9 /* exponent */
ifge 19
15: .line 830
lload 7 /* dBits */
ldc 9223372036854775807
land
lconst_0
lcmp
ifne 16
iconst_0
goto 18
16: .line 831
StackMap locals:
StackMap stack:
iload 10 /* isNegative */
ifeq 17
iconst_m1
goto 18
StackMap locals:
StackMap stack:
17: iconst_0
18: .line 830
StackMap locals:
StackMap stack: int
ireturn
19: .line 833
StackMap locals:
StackMap stack:
dload 5 /* d */
d2i
ireturn
end local 10 // boolean isNegative
end local 9 // int exponent
end local 7 // long dBits
end local 5 // double d
end local 3 // double d2
end local 2 // int binExp
end local 0 // long fractBits
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 // int insignificant
0: .line 839
iconst_0
istore 1 /* i */
start local 1 // int i
1: goto 4
2: .line 840
StackMap locals: int
StackMap stack:
iload 0 /* insignificant */
i2l
ldc 10
ldiv
l2i
istore 0 /* insignificant */
3: .line 839
iinc 1 /* i */ 1
StackMap locals:
StackMap stack:
4: iload 0 /* insignificant */
i2l
ldc 10
lcmp
ifge 2
5: .line 842
iload 1 /* i */
ireturn
end local 1 // int i
end local 0 // int insignificant
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 // int p2
0: .line 852
iload 0 /* p2 */
iconst_1
if_icmple 2
iload 0 /* p2 */
getstatic sun.misc.FloatingDecimal$BinaryToASCIIBuffer.insignificantDigitsNumber:[I
arraylength
if_icmpge 2
1: .line 853
getstatic sun.misc.FloatingDecimal$BinaryToASCIIBuffer.insignificantDigitsNumber:[I
iload 0 /* p2 */
iaload
ireturn
2: .line 855
StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 // int p2
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 // sun.misc.FloatingDecimal$BinaryToASCIIBuffer this
start local 1 // char[] result
0: .line 906
getstatic sun.misc.FloatingDecimal$BinaryToASCIIBuffer.$assertionsDisabled:Z
ifne 1
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.nDigits:I
bipush 19
if_icmple 1
new java.lang.AssertionError
dup
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.nDigits:I
invokespecial java.lang.AssertionError.<init>:(I)V
athrow
1: .line 907
StackMap locals:
StackMap stack:
iconst_0
istore 2 /* i */
start local 2 // int i
2: .line 908
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.isNegative:Z
ifeq 5
3: .line 909
aload 1 /* result */
iconst_0
bipush 45
castore
4: .line 910
iconst_1
istore 2 /* i */
5: .line 912
StackMap locals: int
StackMap stack:
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.decExponent:I
ifle 24
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.decExponent:I
bipush 8
if_icmpge 24
6: .line 914
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.nDigits:I
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.decExponent:I
invokestatic java.lang.Math.min:(II)I
istore 3 /* charLength */
start local 3 // int charLength
7: .line 915
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.digits:[C
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.firstDigitIndex:I
aload 1 /* result */
iload 2 /* i */
iload 3 /* charLength */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
8: .line 916
iload 2 /* i */
iload 3 /* charLength */
iadd
istore 2 /* i */
9: .line 917
iload 3 /* charLength */
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.decExponent:I
if_icmpge 16
10: .line 918
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.decExponent:I
iload 3 /* charLength */
isub
istore 3 /* charLength */
11: .line 919
aload 1 /* result */
iload 2 /* i */
iload 2 /* i */
iload 3 /* charLength */
iadd
bipush 48
invokestatic java.util.Arrays.fill:([CIIC)V
12: .line 920
iload 2 /* i */
iload 3 /* charLength */
iadd
istore 2 /* i */
13: .line 921
aload 1 /* result */
iload 2 /* i */
iinc 2 /* i */ 1
bipush 46
castore
14: .line 922
aload 1 /* result */
iload 2 /* i */
iinc 2 /* i */ 1
bipush 48
castore
15: .line 923
goto 57
16: .line 924
StackMap locals: int
StackMap stack:
aload 1 /* result */
iload 2 /* i */
iinc 2 /* i */ 1
bipush 46
castore
17: .line 925
iload 3 /* charLength */
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.nDigits:I
if_icmpge 22
18: .line 926
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.nDigits:I
iload 3 /* charLength */
isub
istore 4 /* t */
start local 4 // int t
19: .line 927
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.digits:[C
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.firstDigitIndex:I
iload 3 /* charLength */
iadd
aload 1 /* result */
iload 2 /* i */
iload 4 /* t */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
20: .line 928
iload 2 /* i */
iload 4 /* t */
iadd
istore 2 /* i */
end local 4 // int t
21: .line 929
goto 57
22: .line 930
StackMap locals:
StackMap stack:
aload 1 /* result */
iload 2 /* i */
iinc 2 /* i */ 1
bipush 48
castore
end local 3 // int charLength
23: .line 933
goto 57
StackMap locals:
StackMap stack:
24: aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.decExponent:I
ifgt 33
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.decExponent:I
bipush -3
if_icmple 33
25: .line 934
aload 1 /* result */
iload 2 /* i */
iinc 2 /* i */ 1
bipush 48
castore
26: .line 935
aload 1 /* result */
iload 2 /* i */
iinc 2 /* i */ 1
bipush 46
castore
27: .line 936
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.decExponent:I
ifeq 30
28: .line 937
aload 1 /* result */
iload 2 /* i */
iload 2 /* i */
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.decExponent:I
isub
bipush 48
invokestatic java.util.Arrays.fill:([CIIC)V
29: .line 938
iload 2 /* i */
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.decExponent:I
isub
istore 2 /* i */
30: .line 940
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.digits:[C
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.firstDigitIndex:I
aload 1 /* result */
iload 2 /* i */
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.nDigits:I
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
31: .line 941
iload 2 /* i */
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.nDigits:I
iadd
istore 2 /* i */
32: .line 942
goto 57
33: .line 943
StackMap locals:
StackMap stack:
aload 1 /* result */
iload 2 /* i */
iinc 2 /* i */ 1
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.digits:[C
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.firstDigitIndex:I
caload
castore
34: .line 944
aload 1 /* result */
iload 2 /* i */
iinc 2 /* i */ 1
bipush 46
castore
35: .line 945
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.nDigits:I
iconst_1
if_icmple 39
36: .line 946
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.digits:[C
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.firstDigitIndex:I
iconst_1
iadd
aload 1 /* result */
iload 2 /* i */
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.nDigits:I
iconst_1
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
37: .line 947
iload 2 /* i */
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.nDigits:I
iconst_1
isub
iadd
istore 2 /* i */
38: .line 948
goto 40
39: .line 949
StackMap locals:
StackMap stack:
aload 1 /* result */
iload 2 /* i */
iinc 2 /* i */ 1
bipush 48
castore
40: .line 951
StackMap locals:
StackMap stack:
aload 1 /* result */
iload 2 /* i */
iinc 2 /* i */ 1
bipush 69
castore
41: .line 953
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.decExponent:I
ifgt 45
42: .line 954
aload 1 /* result */
iload 2 /* i */
iinc 2 /* i */ 1
bipush 45
castore
43: .line 955
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.decExponent:I
ineg
iconst_1
iadd
istore 3 /* e */
start local 3 // int e
44: .line 956
goto 46
end local 3 // int e
45: .line 957
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.misc.FloatingDecimal$BinaryToASCIIBuffer.decExponent:I
iconst_1
isub
istore 3 /* e */
start local 3 // int e
46: .line 960
StackMap locals: int
StackMap stack:
iload 3 /* e */
bipush 9
if_icmpgt 49
47: .line 961
aload 1 /* result */
iload 2 /* i */
iinc 2 /* i */ 1
iload 3 /* e */
bipush 48
iadd
i2c
castore
48: .line 962
goto 57
StackMap locals:
StackMap stack:
49: iload 3 /* e */
bipush 99
if_icmpgt 53
50: .line 963
aload 1 /* result */
iload 2 /* i */
iinc 2 /* i */ 1
iload 3 /* e */
bipush 10
idiv
bipush 48
iadd
i2c
castore
51: .line 964
aload 1 /* result */
iload 2 /* i */
iinc 2 /* i */ 1
iload 3 /* e */
bipush 10
irem
bipush 48
iadd
i2c
castore
52: .line 965
goto 57
53: .line 966
StackMap locals:
StackMap stack:
aload 1 /* result */
iload 2 /* i */
iinc 2 /* i */ 1
iload 3 /* e */
bipush 100
idiv
bipush 48
iadd
i2c
castore
54: .line 967
iload 3 /* e */
bipush 100
irem
istore 3 /* e */
55: .line 968
aload 1 /* result */
iload 2 /* i */
iinc 2 /* i */ 1
iload 3 /* e */
bipush 10
idiv
bipush 48
iadd
i2c
castore
56: .line 969
aload 1 /* result */
iload 2 /* i */
iinc 2 /* i */ 1
iload 3 /* e */
bipush 10
irem
bipush 48
iadd
i2c
castore
end local 3 // int e
57: .line 972
StackMap locals:
StackMap stack:
iload 2 /* i */
ireturn
end local 2 // int i
end local 1 // char[] result
end local 0 // sun.misc.FloatingDecimal$BinaryToASCIIBuffer this
LocalVariableTable:
Start End Slot Name Signature
0 58 0 this Lsun/misc/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: sun.misc.FloatingDecimal
InnerClasses:
BinaryToASCIIBuffer = sun.misc.FloatingDecimal$BinaryToASCIIBuffer of sun.misc.FloatingDecimal
public abstract BinaryToASCIIConverter = sun.misc.FloatingDecimal$BinaryToASCIIConverter of sun.misc.FloatingDecimal