public class com.oracle.truffle.js.runtime.external.DToA
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.js.runtime.external.DToA
super_class: java.lang.Object
{
private static final int Frac_mask;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1048575
private static final int Exp_shift;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 20
private static final int Exp_msk1;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1048576
private static final long Frac_maskL;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4503599627370495
private static final int Exp_shiftL;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 52
private static final long Exp_msk1L;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4503599627370496
private static final int Bias;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1023
private static final int P;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 53
private static final int Exp_shift1;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 20
private static final int Exp_mask;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2146435072
private static final int Exp_mask_shifted;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2047
private static final int Bndry_mask;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1048575
private static final int Log2P;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 // com.oracle.truffle.js.runtime.external.DToA this
0: .line 38
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 40
return
end local 0 // com.oracle.truffle.js.runtime.external.DToA this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/runtime/external/DToA;
private static char basedigit(int);
descriptor: (I)C
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 // int digit
0: .line 43
iload 0 /* digit */
bipush 10
if_icmplt 1
bipush 87
iload 0 /* digit */
iadd
goto 2
StackMap locals:
StackMap stack:
1: bipush 48
iload 0 /* digit */
iadd
StackMap locals:
StackMap stack: int
2: i2c
ireturn
end local 0 // int digit
LocalVariableTable:
Start End Slot Name Signature
0 3 0 digit I
MethodParameters:
Name Flags
digit
private static int lo0bits(int);
descriptor: (I)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 // int y
0: .line 65
iload 0 /* y */
istore 2 /* x */
start local 2 // int x
1: .line 67
iload 2 /* x */
bipush 7
iand
ifeq 7
2: .line 68
iload 2 /* x */
iconst_1
iand
ifeq 4
3: .line 69
iconst_0
ireturn
4: .line 71
StackMap locals: int top int
StackMap stack:
iload 2 /* x */
iconst_2
iand
ifeq 6
5: .line 72
iconst_1
ireturn
6: .line 74
StackMap locals:
StackMap stack:
iconst_2
ireturn
7: .line 76
StackMap locals:
StackMap stack:
iconst_0
istore 1 /* k */
start local 1 // int k
8: .line 77
iload 2 /* x */
ldc 65535
iand
ifne 11
9: .line 78
bipush 16
istore 1 /* k */
10: .line 79
iload 2 /* x */
bipush 16
iushr
istore 2 /* x */
11: .line 81
StackMap locals: int int int
StackMap stack:
iload 2 /* x */
sipush 255
iand
ifne 14
12: .line 82
iinc 1 /* k */ 8
13: .line 83
iload 2 /* x */
bipush 8
iushr
istore 2 /* x */
14: .line 85
StackMap locals:
StackMap stack:
iload 2 /* x */
bipush 15
iand
ifne 17
15: .line 86
iinc 1 /* k */ 4
16: .line 87
iload 2 /* x */
iconst_4
iushr
istore 2 /* x */
17: .line 89
StackMap locals:
StackMap stack:
iload 2 /* x */
iconst_3
iand
ifne 20
18: .line 90
iinc 1 /* k */ 2
19: .line 91
iload 2 /* x */
iconst_2
iushr
istore 2 /* x */
20: .line 93
StackMap locals:
StackMap stack:
iload 2 /* x */
iconst_1
iand
ifne 25
21: .line 94
iinc 1 /* k */ 1
22: .line 95
iload 2 /* x */
iconst_1
iushr
istore 2 /* x */
23: .line 96
iload 2 /* x */
iconst_1
iand
ifne 25
24: .line 97
bipush 32
ireturn
25: .line 100
StackMap locals:
StackMap stack:
iload 1 /* k */
ireturn
end local 2 // int x
end local 1 // int k
end local 0 // int y
LocalVariableTable:
Start End Slot Name Signature
0 26 0 y I
8 26 1 k I
1 26 2 x I
MethodParameters:
Name Flags
y
private static int hi0bits(int);
descriptor: (I)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 // int xParam
0: .line 105
iload 0 /* xParam */
istore 1 /* x */
start local 1 // int x
1: .line 106
iconst_0
istore 2 /* k */
start local 2 // int k
2: .line 108
iload 1 /* x */
ldc -65536
iand
ifne 5
3: .line 109
bipush 16
istore 2 /* k */
4: .line 110
iload 1 /* x */
bipush 16
ishl
istore 1 /* x */
5: .line 112
StackMap locals: int int
StackMap stack:
iload 1 /* x */
ldc -16777216
iand
ifne 8
6: .line 113
iinc 2 /* k */ 8
7: .line 114
iload 1 /* x */
bipush 8
ishl
istore 1 /* x */
8: .line 116
StackMap locals:
StackMap stack:
iload 1 /* x */
ldc -268435456
iand
ifne 11
9: .line 117
iinc 2 /* k */ 4
10: .line 118
iload 1 /* x */
iconst_4
ishl
istore 1 /* x */
11: .line 120
StackMap locals:
StackMap stack:
iload 1 /* x */
ldc -1073741824
iand
ifne 14
12: .line 121
iinc 2 /* k */ 2
13: .line 122
iload 1 /* x */
iconst_2
ishl
istore 1 /* x */
14: .line 124
StackMap locals:
StackMap stack:
iload 1 /* x */
ldc -2147483648
iand
ifne 18
15: .line 125
iinc 2 /* k */ 1
16: .line 126
iload 1 /* x */
ldc 1073741824
iand
ifne 18
17: .line 127
bipush 32
ireturn
18: .line 130
StackMap locals:
StackMap stack:
iload 2 /* k */
ireturn
end local 2 // int k
end local 1 // int x
end local 0 // int xParam
LocalVariableTable:
Start End Slot Name Signature
0 19 0 xParam I
1 19 1 x I
2 19 2 k I
MethodParameters:
Name Flags
xParam
private static void stuffBits(byte[], int, int);
descriptor: ([BII)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 // byte[] bits
start local 1 // int offset
start local 2 // int val
0: .line 134
aload 0 /* bits */
iload 1 /* offset */
iload 2 /* val */
bipush 24
ishr
i2b
bastore
1: .line 135
aload 0 /* bits */
iload 1 /* offset */
iconst_1
iadd
iload 2 /* val */
bipush 16
ishr
i2b
bastore
2: .line 136
aload 0 /* bits */
iload 1 /* offset */
iconst_2
iadd
iload 2 /* val */
bipush 8
ishr
i2b
bastore
3: .line 137
aload 0 /* bits */
iload 1 /* offset */
iconst_3
iadd
iload 2 /* val */
i2b
bastore
4: .line 138
return
end local 2 // int val
end local 1 // int offset
end local 0 // byte[] bits
LocalVariableTable:
Start End Slot Name Signature
0 5 0 bits [B
0 5 1 offset I
0 5 2 val I
MethodParameters:
Name Flags
bits
offset
val
private static java.math.BigInteger d2b(double, int[], int[]);
descriptor: (D[I[I)Ljava/math/BigInteger;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=14, args_size=3
start local 0 // double d
start local 2 // int[] e
start local 3 // int[] bits
0: .line 152
dload 0 /* d */
invokestatic java.lang.Double.doubleToLongBits:(D)J
lstore 10 /* dBits */
start local 10 // long dBits
1: .line 153
lload 10 /* dBits */
bipush 32
lushr
l2i
istore 12 /* d0 */
start local 12 // int d0
2: .line 154
lload 10 /* dBits */
l2i
istore 13 /* d1 */
start local 13 // int d1
3: .line 156
iload 12 /* d0 */
ldc 1048575
iand
istore 8 /* z */
start local 8 // int z
4: .line 157
iload 12 /* d0 */
ldc 2147483647
iand
istore 12 /* d0 */
5: .line 159
iload 12 /* d0 */
bipush 20
iushr
dup
istore 9 /* de */
start local 9 // int de
6: ifeq 8
7: .line 160
iload 8 /* z */
ldc 1048576
ior
istore 8 /* z */
8: .line 163
StackMap locals: double int[] int[] top top top top int int long int int
StackMap stack:
iload 13 /* d1 */
dup
istore 7 /* y */
start local 7 // int y
9: ifeq 23
10: .line 164
bipush 8
newarray 8
astore 4 /* dblBits */
start local 4 // byte[] dblBits
11: .line 165
iload 7 /* y */
invokestatic com.oracle.truffle.js.runtime.external.DToA.lo0bits:(I)I
istore 6 /* k */
start local 6 // int k
12: .line 166
iload 7 /* y */
iload 6 /* k */
iushr
istore 7 /* y */
13: .line 167
iload 6 /* k */
ifeq 17
14: .line 168
aload 4 /* dblBits */
iconst_4
iload 7 /* y */
iload 8 /* z */
bipush 32
iload 6 /* k */
isub
ishl
ior
invokestatic com.oracle.truffle.js.runtime.external.DToA.stuffBits:([BII)V
15: .line 169
iload 8 /* z */
iload 6 /* k */
ishr
istore 8 /* z */
16: .line 170
goto 18
17: .line 171
StackMap locals: double int[] int[] byte[] top int int int int long int int
StackMap stack:
aload 4 /* dblBits */
iconst_4
iload 7 /* y */
invokestatic com.oracle.truffle.js.runtime.external.DToA.stuffBits:([BII)V
18: .line 173
StackMap locals:
StackMap stack:
aload 4 /* dblBits */
iconst_0
iload 8 /* z */
invokestatic com.oracle.truffle.js.runtime.external.DToA.stuffBits:([BII)V
19: .line 174
iload 8 /* z */
ifeq 20
iconst_2
goto 21
StackMap locals:
StackMap stack:
20: iconst_1
StackMap locals:
StackMap stack: int
21: istore 5 /* i */
start local 5 // int i
22: .line 175
goto 29
end local 6 // int k
end local 5 // int i
end local 4 // byte[] dblBits
23: .line 177
StackMap locals: double int[] int[] top top top int int int long int int
StackMap stack:
iconst_4
newarray 8
astore 4 /* dblBits */
start local 4 // byte[] dblBits
24: .line 178
iload 8 /* z */
invokestatic com.oracle.truffle.js.runtime.external.DToA.lo0bits:(I)I
istore 6 /* k */
start local 6 // int k
25: .line 179
iload 8 /* z */
iload 6 /* k */
iushr
istore 8 /* z */
26: .line 180
aload 4 /* dblBits */
iconst_0
iload 8 /* z */
invokestatic com.oracle.truffle.js.runtime.external.DToA.stuffBits:([BII)V
27: .line 181
iinc 6 /* k */ 32
28: .line 182
iconst_1
istore 5 /* i */
start local 5 // int i
29: .line 184
StackMap locals: double int[] int[] byte[] int int int int int long int int
StackMap stack:
iload 9 /* de */
ifeq 33
30: .line 185
aload 2 /* e */
iconst_0
iload 9 /* de */
sipush 1023
isub
bipush 52
isub
iload 6 /* k */
iadd
iastore
31: .line 186
aload 3 /* bits */
iconst_0
bipush 53
iload 6 /* k */
isub
iastore
32: .line 187
goto 35
33: .line 188
StackMap locals:
StackMap stack:
aload 2 /* e */
iconst_0
iload 9 /* de */
sipush 1023
isub
bipush 52
isub
iconst_1
iadd
iload 6 /* k */
iadd
iastore
34: .line 189
aload 3 /* bits */
iconst_0
bipush 32
iload 5 /* i */
imul
iload 8 /* z */
invokestatic com.oracle.truffle.js.runtime.external.DToA.hi0bits:(I)I
isub
iastore
35: .line 191
StackMap locals:
StackMap stack:
new java.math.BigInteger
dup
aload 4 /* dblBits */
invokespecial java.math.BigInteger.<init>:([B)V
areturn
end local 13 // int d1
end local 12 // int d0
end local 10 // long dBits
end local 9 // int de
end local 8 // int z
end local 7 // int y
end local 6 // int k
end local 5 // int i
end local 4 // byte[] dblBits
end local 3 // int[] bits
end local 2 // int[] e
end local 0 // double d
LocalVariableTable:
Start End Slot Name Signature
0 36 0 d D
0 36 2 e [I
0 36 3 bits [I
11 23 4 dblBits [B
24 36 4 dblBits [B
22 23 5 i I
29 36 5 i I
12 23 6 k I
25 36 6 k I
9 36 7 y I
4 36 8 z I
6 36 9 de I
1 36 10 dBits J
2 36 12 d0 I
3 36 13 d1 I
MethodParameters:
Name Flags
d
e
bits
public static java.lang.String jsDtobasestr(int, double);
descriptor: (ID)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=32, args_size=2
start local 0 // int base
start local 1 // double dParam
0: .line 195
iconst_2
iload 0 /* base */
if_icmpgt 1
iload 0 /* base */
bipush 36
if_icmple 2
1: .line 196
StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Bad base: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 0 /* base */
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: .line 198
StackMap locals:
StackMap stack:
dload 1 /* dParam */
dstore 3 /* d */
start local 3 // double d
3: .line 201
dload 3 /* d */
invokestatic java.lang.Double.isNaN:(D)Z
ifeq 5
4: .line 202
ldc "NaN"
areturn
5: .line 203
StackMap locals: double
StackMap stack:
dload 3 /* d */
invokestatic java.lang.Double.isInfinite:(D)Z
ifeq 9
6: .line 204
dload 3 /* d */
dconst_0
dcmpl
ifle 7
ldc "Infinity"
goto 8
StackMap locals:
StackMap stack:
7: ldc "-Infinity"
StackMap locals:
StackMap stack: java.lang.String
8: areturn
9: .line 205
StackMap locals:
StackMap stack:
dload 3 /* d */
dconst_0
dcmpl
ifne 11
10: .line 207
ldc "0"
areturn
11: .line 211
StackMap locals:
StackMap stack:
dload 3 /* d */
dconst_0
dcmpl
iflt 14
12: .line 212
iconst_0
istore 5 /* negative */
start local 5 // boolean negative
13: .line 213
goto 16
end local 5 // boolean negative
14: .line 214
StackMap locals:
StackMap stack:
iconst_1
istore 5 /* negative */
start local 5 // boolean negative
15: .line 215
dload 3 /* d */
dneg
dstore 3 /* d */
16: .line 221
StackMap locals: int
StackMap stack:
dload 3 /* d */
invokestatic java.lang.Math.floor:(D)D
dstore 7 /* dfloor */
start local 7 // double dfloor
17: .line 222
dload 7 /* dfloor */
d2l
lstore 9 /* lfloor */
start local 9 // long lfloor
18: .line 223
lload 9 /* lfloor */
l2d
dload 7 /* dfloor */
dcmpl
ifne 26
19: .line 225
lload 9 /* lfloor */
lconst_0
lcmp
ifne 22
iload 5 /* negative */
ifeq 22
20: .line 226
ldc "-0"
astore 6 /* intDigits */
start local 6 // java.lang.String intDigits
21: .line 227
goto 42
end local 6 // java.lang.String intDigits
22: .line 228
StackMap locals: int double double int top double long
StackMap stack:
iload 5 /* negative */
ifeq 23
lload 9 /* lfloor */
lneg
goto 24
StackMap locals:
StackMap stack:
23: lload 9 /* lfloor */
StackMap locals:
StackMap stack: long
24: iload 0 /* base */
invokestatic java.lang.Long.toString:(JI)Ljava/lang/String;
astore 6 /* intDigits */
start local 6 // java.lang.String intDigits
25: .line 230
goto 42
end local 6 // java.lang.String intDigits
26: .line 232
StackMap locals:
StackMap stack:
dload 7 /* dfloor */
invokestatic java.lang.Double.doubleToLongBits:(D)J
lstore 11 /* floorBits */
start local 11 // long floorBits
27: .line 233
lload 11 /* floorBits */
bipush 52
lshr
l2i
sipush 2047
iand
istore 13 /* exp */
start local 13 // int exp
28: .line 235
iload 13 /* exp */
ifne 31
29: .line 236
lload 11 /* floorBits */
ldc 4503599627370495
land
iconst_1
lshl
lstore 14 /* mantissa */
start local 14 // long mantissa
30: .line 237
goto 32
end local 14 // long mantissa
31: .line 238
StackMap locals: long int
StackMap stack:
lload 11 /* floorBits */
ldc 4503599627370495
land
ldc 4503599627370496
lor
lstore 14 /* mantissa */
start local 14 // long mantissa
32: .line 240
StackMap locals: long
StackMap stack:
iload 5 /* negative */
ifeq 34
33: .line 241
lload 14 /* mantissa */
lneg
lstore 14 /* mantissa */
34: .line 243
StackMap locals:
StackMap stack:
iinc 13 /* exp */ -1075
35: .line 244
lload 14 /* mantissa */
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
astore 16 /* x */
start local 16 // java.math.BigInteger x
36: .line 245
iload 13 /* exp */
ifle 39
37: .line 246
aload 16 /* x */
iload 13 /* exp */
invokevirtual java.math.BigInteger.shiftLeft:(I)Ljava/math/BigInteger;
astore 16 /* x */
38: .line 247
goto 41
StackMap locals: java.math.BigInteger
StackMap stack:
39: iload 13 /* exp */
ifge 41
40: .line 248
aload 16 /* x */
iload 13 /* exp */
ineg
invokevirtual java.math.BigInteger.shiftRight:(I)Ljava/math/BigInteger;
astore 16 /* x */
41: .line 250
StackMap locals:
StackMap stack:
aload 16 /* x */
iload 0 /* base */
invokevirtual java.math.BigInteger.toString:(I)Ljava/lang/String;
astore 6 /* intDigits */
end local 16 // java.math.BigInteger x
end local 14 // long mantissa
end local 13 // int exp
end local 11 // long floorBits
start local 6 // java.lang.String intDigits
42: .line 253
StackMap locals: int double double int java.lang.String double long
StackMap stack:
dload 3 /* d */
dload 7 /* dfloor */
dcmpl
ifne 44
43: .line 255
aload 6 /* intDigits */
areturn
44: .line 264
StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 11 /* buffer */
start local 11 // java.lang.StringBuilder buffer
45: .line 265
aload 11 /* buffer */
aload 6 /* intDigits */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 46
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
46: .line 266
dload 3 /* d */
dload 7 /* dfloor */
dsub
dstore 13 /* df */
start local 13 // double df
47: .line 268
dload 3 /* d */
invokestatic java.lang.Double.doubleToLongBits:(D)J
lstore 16 /* dBits */
start local 16 // long dBits
48: .line 269
lload 16 /* dBits */
bipush 32
lshr
l2i
istore 18 /* word0 */
start local 18 // int word0
49: .line 270
lload 16 /* dBits */
l2i
istore 19 /* word1 */
start local 19 // int word1
50: .line 272
iconst_1
newarray 10
astore 20 /* e */
start local 20 // int[] e
51: .line 273
iconst_1
newarray 10
astore 21 /* bbits */
start local 21 // int[] bbits
52: .line 275
dload 13 /* df */
aload 20 /* e */
aload 21 /* bbits */
invokestatic com.oracle.truffle.js.runtime.external.DToA.d2b:(D[I[I)Ljava/math/BigInteger;
astore 15 /* b */
start local 15 // java.math.BigInteger b
53: .line 278
iload 18 /* word0 */
bipush 20
iushr
sipush 2047
iand
ineg
istore 22 /* s2 */
start local 22 // int s2
54: .line 279
iload 22 /* s2 */
ifne 56
55: .line 280
iconst_m1
istore 22 /* s2 */
56: .line 282
StackMap locals: int double double int java.lang.String double long java.lang.StringBuilder top double java.math.BigInteger long int int int[] int[] int
StackMap stack:
iinc 22 /* s2 */ 1076
57: .line 284
getstatic java.math.BigInteger.ONE:Ljava/math/BigInteger;
astore 23 /* mlo */
start local 23 // java.math.BigInteger mlo
58: .line 285
aload 23 /* mlo */
astore 24 /* mhi */
start local 24 // java.math.BigInteger mhi
59: .line 286
iload 19 /* word1 */
ifne 62
iload 18 /* word0 */
ldc 1048575
iand
ifne 62
iload 18 /* word0 */
ldc 2145386496
iand
ifeq 62
60: .line 292
iinc 22 /* s2 */ 1
61: .line 293
ldc 2
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
astore 24 /* mhi */
62: .line 296
StackMap locals: java.math.BigInteger java.math.BigInteger
StackMap stack:
aload 15 /* b */
aload 20 /* e */
iconst_0
iaload
iload 22 /* s2 */
iadd
invokevirtual java.math.BigInteger.shiftLeft:(I)Ljava/math/BigInteger;
astore 15 /* b */
63: .line 297
getstatic java.math.BigInteger.ONE:Ljava/math/BigInteger;
astore 25 /* s */
start local 25 // java.math.BigInteger s
64: .line 298
aload 25 /* s */
iload 22 /* s2 */
invokevirtual java.math.BigInteger.shiftLeft:(I)Ljava/math/BigInteger;
astore 25 /* s */
65: .line 308
iload 0 /* base */
i2l
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
astore 26 /* bigBase */
start local 26 // java.math.BigInteger bigBase
66: .line 310
iconst_0
istore 27 /* done */
start local 27 // boolean done
67: .line 312
StackMap locals: java.math.BigInteger java.math.BigInteger int
StackMap stack:
aload 15 /* b */
aload 26 /* bigBase */
invokevirtual java.math.BigInteger.multiply:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
astore 15 /* b */
68: .line 313
aload 15 /* b */
aload 25 /* s */
invokevirtual java.math.BigInteger.divideAndRemainder:(Ljava/math/BigInteger;)[Ljava/math/BigInteger;
astore 28 /* divResult */
start local 28 // java.math.BigInteger[] divResult
69: .line 314
aload 28 /* divResult */
iconst_1
aaload
astore 15 /* b */
70: .line 315
aload 28 /* divResult */
iconst_0
aaload
invokevirtual java.math.BigInteger.intValue:()I
i2c
istore 12 /* digit */
start local 12 // int digit
71: .line 316
aload 23 /* mlo */
aload 24 /* mhi */
if_acmpne 74
72: .line 317
aload 23 /* mlo */
aload 26 /* bigBase */
invokevirtual java.math.BigInteger.multiply:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
dup
astore 24 /* mhi */
astore 23 /* mlo */
73: .line 318
goto 76
74: .line 319
StackMap locals: int double double int java.lang.String double long java.lang.StringBuilder int double java.math.BigInteger long int int int[] int[] int java.math.BigInteger java.math.BigInteger java.math.BigInteger java.math.BigInteger int java.math.BigInteger[]
StackMap stack:
aload 23 /* mlo */
aload 26 /* bigBase */
invokevirtual java.math.BigInteger.multiply:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
astore 23 /* mlo */
75: .line 320
aload 24 /* mhi */
aload 26 /* bigBase */
invokevirtual java.math.BigInteger.multiply:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
astore 24 /* mhi */
76: .line 324
StackMap locals:
StackMap stack:
aload 15 /* b */
aload 23 /* mlo */
invokevirtual java.math.BigInteger.compareTo:(Ljava/math/BigInteger;)I
istore 29 /* j */
start local 29 // int j
77: .line 326
aload 25 /* s */
aload 24 /* mhi */
invokevirtual java.math.BigInteger.subtract:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
astore 30 /* delta */
start local 30 // java.math.BigInteger delta
78: .line 327
aload 30 /* delta */
invokevirtual java.math.BigInteger.signum:()I
ifgt 79
iconst_1
goto 80
StackMap locals: int java.math.BigInteger
StackMap stack:
79: aload 15 /* b */
aload 30 /* delta */
invokevirtual java.math.BigInteger.compareTo:(Ljava/math/BigInteger;)I
StackMap locals:
StackMap stack: int
80: istore 31 /* j1 */
start local 31 // int j1
81: .line 329
iload 31 /* j1 */
ifne 86
iload 19 /* word1 */
iconst_1
iand
ifne 86
82: .line 330
iload 29 /* j */
ifle 84
83: .line 331
iinc 12 /* digit */ 1
84: .line 333
StackMap locals: int
StackMap stack:
iconst_1
istore 27 /* done */
85: .line 334
goto 97
StackMap locals:
StackMap stack:
86: iload 29 /* j */
iflt 87
iload 29 /* j */
ifne 94
iload 19 /* word1 */
iconst_1
iand
ifne 94
87: .line 335
StackMap locals:
StackMap stack:
iload 31 /* j1 */
ifle 92
88: .line 340
aload 15 /* b */
iconst_1
invokevirtual java.math.BigInteger.shiftLeft:(I)Ljava/math/BigInteger;
astore 15 /* b */
89: .line 341
aload 15 /* b */
aload 25 /* s */
invokevirtual java.math.BigInteger.compareTo:(Ljava/math/BigInteger;)I
istore 31 /* j1 */
90: .line 342
iload 31 /* j1 */
ifle 92
91: .line 347
iinc 12 /* digit */ 1
92: .line 350
StackMap locals:
StackMap stack:
iconst_1
istore 27 /* done */
93: .line 351
goto 97
StackMap locals:
StackMap stack:
94: iload 31 /* j1 */
ifle 97
95: .line 352
iinc 12 /* digit */ 1
96: .line 353
iconst_1
istore 27 /* done */
97: .line 355
StackMap locals:
StackMap stack:
aload 11 /* buffer */
iload 12 /* digit */
invokestatic com.oracle.truffle.js.runtime.external.DToA.basedigit:(I)C
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 31 // int j1
end local 30 // java.math.BigInteger delta
end local 29 // int j
end local 28 // java.math.BigInteger[] divResult
98: .line 356
iload 27 /* done */
ifeq 67
99: .line 358
aload 11 /* buffer */
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 27 // boolean done
end local 26 // java.math.BigInteger bigBase
end local 25 // java.math.BigInteger s
end local 24 // java.math.BigInteger mhi
end local 23 // java.math.BigInteger mlo
end local 22 // int s2
end local 21 // int[] bbits
end local 20 // int[] e
end local 19 // int word1
end local 18 // int word0
end local 16 // long dBits
end local 15 // java.math.BigInteger b
end local 13 // double df
end local 12 // int digit
end local 11 // java.lang.StringBuilder buffer
end local 9 // long lfloor
end local 7 // double dfloor
end local 6 // java.lang.String intDigits
end local 5 // boolean negative
end local 3 // double d
end local 1 // double dParam
end local 0 // int base
LocalVariableTable:
Start End Slot Name Signature
0 100 0 base I
0 100 1 dParam D
3 100 3 d D
13 14 5 negative Z
15 100 5 negative Z
21 22 6 intDigits Ljava/lang/String;
25 26 6 intDigits Ljava/lang/String;
42 100 6 intDigits Ljava/lang/String;
17 100 7 dfloor D
18 100 9 lfloor J
27 42 11 floorBits J
28 42 13 exp I
30 31 14 mantissa J
32 42 14 mantissa J
36 42 16 x Ljava/math/BigInteger;
45 100 11 buffer Ljava/lang/StringBuilder;
71 100 12 digit I
47 100 13 df D
53 100 15 b Ljava/math/BigInteger;
48 100 16 dBits J
49 100 18 word0 I
50 100 19 word1 I
51 100 20 e [I
52 100 21 bbits [I
54 100 22 s2 I
58 100 23 mlo Ljava/math/BigInteger;
59 100 24 mhi Ljava/math/BigInteger;
64 100 25 s Ljava/math/BigInteger;
66 100 26 bigBase Ljava/math/BigInteger;
67 100 27 done Z
69 98 28 divResult [Ljava/math/BigInteger;
77 98 29 j I
78 98 30 delta Ljava/math/BigInteger;
81 98 31 j1 I
MethodParameters:
Name Flags
base
dParam
}
SourceFile: "DToA.java"