class jdk.nashorn.internal.runtime.doubleconv.FixedDtoa
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: jdk.nashorn.internal.runtime.doubleconv.FixedDtoa
super_class: java.lang.Object
{
static final int kDoubleSignificandSize;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 53
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=1, locals=0, args_size=0
0: ldc Ljdk/nashorn/internal/runtime/doubleconv/FixedDtoa;
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.nashorn.internal.runtime.doubleconv.FixedDtoa.$assertionsDisabled:Z
3: return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/runtime/doubleconv/FixedDtoa;
static void fillDigits32FixedLength(int, int, jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer);
descriptor: (IILjdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;)V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iload 1
iconst_1
isub
istore 3
start local 3 1: goto 5
2: StackMap locals: int
StackMap stack:
aload 2
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.chars:[C
aload 2
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
iload 3
iadd
bipush 48
iload 0
bipush 10
invokestatic java.lang.Integer.remainderUnsigned:(II)I
iadd
i2c
castore
3: iload 0
bipush 10
invokestatic java.lang.Integer.divideUnsigned:(II)I
istore 0
4: iinc 3 -1
StackMap locals:
StackMap stack:
5: iload 3
ifge 2
end local 3 6: aload 2
dup
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
iload 1
iadd
putfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 number I
0 8 1 requested_length I
0 8 2 buffer Ljdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;
1 6 3 i I
MethodParameters:
Name Flags
number
requested_length final
buffer final
static void fillDigits32(int, jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer);
descriptor: (ILjdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;)V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 6
2: StackMap locals: int
StackMap stack:
iload 0
bipush 10
invokestatic java.lang.Integer.remainderUnsigned:(II)I
istore 3
start local 3 3: iload 0
bipush 10
invokestatic java.lang.Integer.divideUnsigned:(II)I
istore 0
4: aload 1
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.chars:[C
aload 1
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
iload 2
iadd
bipush 48
iload 3
iadd
i2c
castore
5: iinc 2 1
end local 3 6: StackMap locals:
StackMap stack:
iload 0
ifne 2
7: aload 1
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
istore 3
start local 3 8: aload 1
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
iload 2
iadd
iconst_1
isub
istore 4
start local 4 9: goto 15
10: StackMap locals: int int
StackMap stack:
aload 1
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.chars:[C
iload 3
caload
istore 5
start local 5 11: aload 1
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.chars:[C
iload 3
aload 1
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.chars:[C
iload 4
caload
castore
12: aload 1
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.chars:[C
iload 4
iload 5
castore
13: iinc 3 1
14: iinc 4 -1
end local 5 15: StackMap locals:
StackMap stack:
iload 3
iload 4
if_icmplt 10
16: aload 1
dup
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
iload 2
iadd
putfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
17: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 number I
0 18 1 buffer Ljdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;
1 18 2 number_length I
3 6 3 digit I
8 18 3 i I
9 18 4 j I
11 15 5 tmp C
MethodParameters:
Name Flags
number
buffer final
static void fillDigits64FixedLength(long, jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer);
descriptor: (JLjdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;)V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=6, args_size=2
start local 0 start local 2 0: lload 0
ldc 10000000
invokestatic java.lang.Long.remainderUnsigned:(JJ)J
l2i
istore 3
start local 3 1: lload 0
ldc 10000000
invokestatic java.lang.Long.divideUnsigned:(JJ)J
lstore 0
2: lload 0
ldc 10000000
invokestatic java.lang.Long.remainderUnsigned:(JJ)J
l2i
istore 4
start local 4 3: lload 0
ldc 10000000
invokestatic java.lang.Long.divideUnsigned:(JJ)J
l2i
istore 5
start local 5 4: iload 5
iconst_3
aload 2
invokestatic jdk.nashorn.internal.runtime.doubleconv.FixedDtoa.fillDigits32FixedLength:(IILjdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;)V
5: iload 4
bipush 7
aload 2
invokestatic jdk.nashorn.internal.runtime.doubleconv.FixedDtoa.fillDigits32FixedLength:(IILjdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;)V
6: iload 3
bipush 7
aload 2
invokestatic jdk.nashorn.internal.runtime.doubleconv.FixedDtoa.fillDigits32FixedLength:(IILjdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;)V
7: return
end local 5 end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 number J
0 8 2 buffer Ljdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;
1 8 3 part2 I
3 8 4 part1 I
4 8 5 part0 I
MethodParameters:
Name Flags
number
buffer final
static void FillDigits64(long, jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer);
descriptor: (JLjdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;)V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=6, args_size=2
start local 0 start local 2 0: lload 0
ldc 10000000
invokestatic java.lang.Long.remainderUnsigned:(JJ)J
l2i
istore 3
start local 3 1: lload 0
ldc 10000000
invokestatic java.lang.Long.divideUnsigned:(JJ)J
lstore 0
2: lload 0
ldc 10000000
invokestatic java.lang.Long.remainderUnsigned:(JJ)J
l2i
istore 4
start local 4 3: lload 0
ldc 10000000
invokestatic java.lang.Long.divideUnsigned:(JJ)J
l2i
istore 5
start local 5 4: iload 5
ifeq 9
5: iload 5
aload 2
invokestatic jdk.nashorn.internal.runtime.doubleconv.FixedDtoa.fillDigits32:(ILjdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;)V
6: iload 4
bipush 7
aload 2
invokestatic jdk.nashorn.internal.runtime.doubleconv.FixedDtoa.fillDigits32FixedLength:(IILjdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;)V
7: iload 3
bipush 7
aload 2
invokestatic jdk.nashorn.internal.runtime.doubleconv.FixedDtoa.fillDigits32FixedLength:(IILjdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;)V
8: goto 14
StackMap locals: int int int
StackMap stack:
9: iload 4
ifeq 13
10: iload 4
aload 2
invokestatic jdk.nashorn.internal.runtime.doubleconv.FixedDtoa.fillDigits32:(ILjdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;)V
11: iload 3
bipush 7
aload 2
invokestatic jdk.nashorn.internal.runtime.doubleconv.FixedDtoa.fillDigits32FixedLength:(IILjdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;)V
12: goto 14
13: StackMap locals:
StackMap stack:
iload 3
aload 2
invokestatic jdk.nashorn.internal.runtime.doubleconv.FixedDtoa.fillDigits32:(ILjdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;)V
14: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 number J
0 15 2 buffer Ljdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;
1 15 3 part2 I
3 15 4 part1 I
4 15 5 part0 I
MethodParameters:
Name Flags
number
buffer final
static void roundUp(jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer);
descriptor: (Ljdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;)V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
ifne 5
1: aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.chars:[C
iconst_0
bipush 49
castore
2: aload 0
iconst_1
putfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.decimalPoint:I
3: aload 0
iconst_1
putfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
4: return
5: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.chars:[C
aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
iconst_1
isub
dup2
caload
iconst_1
iadd
i2c
castore
6: aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
iconst_1
isub
istore 1
start local 1 7: goto 13
8: StackMap locals: int
StackMap stack:
aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.chars:[C
iload 1
caload
bipush 58
if_icmpeq 10
9: return
10: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.chars:[C
iload 1
bipush 48
castore
11: aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.chars:[C
iload 1
iconst_1
isub
dup2
caload
iconst_1
iadd
i2c
castore
12: iinc 1 -1
StackMap locals:
StackMap stack:
13: iload 1
ifgt 8
end local 1 14: aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.chars:[C
iconst_0
caload
bipush 58
if_icmpne 17
15: aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.chars:[C
iconst_0
bipush 49
castore
16: aload 0
dup
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.decimalPoint:I
iconst_1
iadd
putfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.decimalPoint:I
17: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 buffer Ljdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;
7 14 1 i I
MethodParameters:
Name Flags
buffer final
static void fillFractionals(long, int, int, jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer);
descriptor: (JIILjdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;)V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=9, args_size=4
start local 0 start local 2 start local 3 start local 4 0: getstatic jdk.nashorn.internal.runtime.doubleconv.FixedDtoa.$assertionsDisabled:Z
ifne 2
bipush -128
iload 2
if_icmpgt 1
iload 2
ifle 2
StackMap locals:
StackMap stack:
1: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
iload 2
ineg
bipush 64
if_icmpgt 20
3: getstatic jdk.nashorn.internal.runtime.doubleconv.FixedDtoa.$assertionsDisabled:Z
ifne 4
lload 0
bipush 56
lushr
lconst_0
lcmp
ifeq 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
iload 2
ineg
istore 5
start local 5 5: iconst_0
istore 6
start local 6 6: goto 16
7: StackMap locals: int int
StackMap stack:
lload 0
lconst_0
lcmp
ifne 8
goto 17
8: StackMap locals:
StackMap stack:
lload 0
ldc 5
lmul
lstore 0
9: iinc 5 -1
10: lload 0
iload 5
lushr
l2i
istore 7
start local 7 11: getstatic jdk.nashorn.internal.runtime.doubleconv.FixedDtoa.$assertionsDisabled:Z
ifne 12
iload 7
bipush 9
if_icmple 12
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
12: StackMap locals: int
StackMap stack:
aload 4
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.chars:[C
aload 4
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
bipush 48
iload 7
iadd
i2c
castore
13: aload 4
dup
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
iconst_1
iadd
putfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
14: lload 0
iload 7
i2l
iload 5
lshl
lsub
lstore 0
end local 7 15: iinc 6 1
StackMap locals:
StackMap stack:
16: iload 6
iload 3
if_icmplt 7
end local 6 17: StackMap locals:
StackMap stack:
lload 0
iload 5
iconst_1
isub
lushr
lconst_1
land
lconst_1
lcmp
ifne 38
18: aload 4
invokestatic jdk.nashorn.internal.runtime.doubleconv.FixedDtoa.roundUp:(Ljdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;)V
end local 5 19: goto 38
20: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.runtime.doubleconv.FixedDtoa.$assertionsDisabled:Z
ifne 22
bipush 64
iload 2
ineg
if_icmpge 21
iload 2
ineg
sipush 128
if_icmple 22
StackMap locals:
StackMap stack:
21: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
22: StackMap locals:
StackMap stack:
new jdk.nashorn.internal.runtime.doubleconv.FixedDtoa$UInt128
dup
lload 0
lconst_0
invokespecial jdk.nashorn.internal.runtime.doubleconv.FixedDtoa$UInt128.<init>:(JJ)V
astore 5
start local 5 23: aload 5
iload 2
ineg
bipush 64
isub
invokevirtual jdk.nashorn.internal.runtime.doubleconv.FixedDtoa$UInt128.shift:(I)V
24: sipush 128
istore 6
start local 6 25: iconst_0
istore 7
start local 7 26: goto 35
27: StackMap locals: jdk.nashorn.internal.runtime.doubleconv.FixedDtoa$UInt128 int int
StackMap stack:
aload 5
invokevirtual jdk.nashorn.internal.runtime.doubleconv.FixedDtoa$UInt128.isZero:()Z
ifeq 28
goto 36
28: StackMap locals:
StackMap stack:
aload 5
iconst_5
invokevirtual jdk.nashorn.internal.runtime.doubleconv.FixedDtoa$UInt128.multiply:(I)V
29: iinc 6 -1
30: aload 5
iload 6
invokevirtual jdk.nashorn.internal.runtime.doubleconv.FixedDtoa$UInt128.divModPowerOf2:(I)I
istore 8
start local 8 31: getstatic jdk.nashorn.internal.runtime.doubleconv.FixedDtoa.$assertionsDisabled:Z
ifne 32
iload 8
bipush 9
if_icmple 32
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
32: StackMap locals: int
StackMap stack:
aload 4
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.chars:[C
aload 4
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
bipush 48
iload 8
iadd
i2c
castore
33: aload 4
dup
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
iconst_1
iadd
putfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
end local 8 34: iinc 7 1
StackMap locals:
StackMap stack:
35: iload 7
iload 3
if_icmplt 27
end local 7 36: StackMap locals:
StackMap stack:
aload 5
iload 6
iconst_1
isub
invokevirtual jdk.nashorn.internal.runtime.doubleconv.FixedDtoa$UInt128.bitAt:(I)I
iconst_1
if_icmpne 38
37: aload 4
invokestatic jdk.nashorn.internal.runtime.doubleconv.FixedDtoa.roundUp:(Ljdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;)V
end local 6 end local 5 38: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 39 0 fractionals J
0 39 2 exponent I
0 39 3 fractional_count I
0 39 4 buffer Ljdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;
5 19 5 point I
6 17 6 i I
11 15 7 digit I
23 38 5 fractionals128 Ljdk/nashorn/internal/runtime/doubleconv/FixedDtoa$UInt128;
25 38 6 point I
26 36 7 i I
31 34 8 digit I
MethodParameters:
Name Flags
fractionals
exponent final
fractional_count final
buffer final
static void trimZeros(jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer);
descriptor: (Ljdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;)V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: goto 2
1: StackMap locals:
StackMap stack:
aload 0
dup
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
iconst_1
isub
putfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
2: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
ifle 3
aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.chars:[C
aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
iconst_1
isub
caload
bipush 48
if_icmpeq 1
3: StackMap locals:
StackMap stack:
iconst_0
istore 1
start local 1 4: goto 6
5: StackMap locals: int
StackMap stack:
iinc 1 1
6: StackMap locals:
StackMap stack:
iload 1
aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
if_icmpge 7
aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.chars:[C
iload 1
caload
bipush 48
if_icmpeq 5
7: StackMap locals:
StackMap stack:
iload 1
ifeq 15
8: iload 1
istore 2
start local 2 9: goto 12
10: StackMap locals: int
StackMap stack:
aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.chars:[C
iload 2
iload 1
isub
aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.chars:[C
iload 2
caload
castore
11: iinc 2 1
StackMap locals:
StackMap stack:
12: iload 2
aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
if_icmplt 10
end local 2 13: aload 0
dup
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
iload 1
isub
putfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
14: aload 0
dup
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.decimalPoint:I
iload 1
isub
putfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.decimalPoint:I
15: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 buffer Ljdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;
4 16 1 first_non_zero I
9 13 2 i I
MethodParameters:
Name Flags
buffer final
static boolean fastFixedDtoa(double, int, jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer);
descriptor: (DILjdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=16, args_size=3
start local 0 start local 2 start local 3 0: dload 0
invokestatic jdk.nashorn.internal.runtime.doubleconv.IeeeDouble.doubleToLong:(D)J
lstore 4
start local 4 1: lload 4
invokestatic jdk.nashorn.internal.runtime.doubleconv.IeeeDouble.significand:(J)J
lstore 6
start local 6 2: lload 4
invokestatic jdk.nashorn.internal.runtime.doubleconv.IeeeDouble.exponent:(J)I
istore 8
start local 8 3: iload 8
bipush 20
if_icmple 4
iconst_0
ireturn
4: StackMap locals: long long int
StackMap stack:
iload 2
bipush 20
if_icmple 5
iconst_0
ireturn
5: StackMap locals:
StackMap stack:
iload 8
bipush 53
iadd
bipush 64
if_icmple 20
6: ldc 762939453125
lstore 9
start local 9 7: lload 6
lstore 11
start local 11 8: iload 8
bipush 17
if_icmple 13
9: lload 11
iload 8
bipush 17
isub
lshl
lstore 11
10: lload 11
lload 9
invokestatic java.lang.Long.divideUnsigned:(JJ)J
l2i
istore 13
start local 13 11: lload 11
lload 9
invokestatic java.lang.Long.remainderUnsigned:(JJ)J
bipush 17
lshl
lstore 14
start local 14 12: goto 16
end local 14 end local 13 13: StackMap locals: long long
StackMap stack:
lload 9
bipush 17
iload 8
isub
lshl
lstore 9
14: lload 11
lload 9
invokestatic java.lang.Long.divideUnsigned:(JJ)J
l2i
istore 13
start local 13 15: lload 11
lload 9
invokestatic java.lang.Long.remainderUnsigned:(JJ)J
iload 8
lshl
lstore 14
start local 14 16: StackMap locals: int long
StackMap stack:
iload 13
aload 3
invokestatic jdk.nashorn.internal.runtime.doubleconv.FixedDtoa.fillDigits32:(ILjdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;)V
17: lload 14
aload 3
invokestatic jdk.nashorn.internal.runtime.doubleconv.FixedDtoa.fillDigits64FixedLength:(JLjdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;)V
18: aload 3
aload 3
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
putfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.decimalPoint:I
end local 14 end local 13 end local 11 end local 9 19: goto 42
StackMap locals: double int jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer long long int
StackMap stack:
20: iload 8
iflt 25
21: lload 6
iload 8
lshl
lstore 6
22: lload 6
aload 3
invokestatic jdk.nashorn.internal.runtime.doubleconv.FixedDtoa.FillDigits64:(JLjdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;)V
23: aload 3
aload 3
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
putfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.decimalPoint:I
24: goto 42
StackMap locals:
StackMap stack:
25: iload 8
bipush -53
if_icmple 35
26: lload 6
iload 8
ineg
lushr
lstore 9
start local 9 27: lload 6
lload 9
iload 8
ineg
lshl
lsub
lstore 11
start local 11 28: lload 9
ldc 4294967295
invokestatic java.lang.Long.compareUnsigned:(JJ)I
ifle 31
29: lload 9
aload 3
invokestatic jdk.nashorn.internal.runtime.doubleconv.FixedDtoa.FillDigits64:(JLjdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;)V
30: goto 32
31: StackMap locals: long long
StackMap stack:
lload 9
l2i
aload 3
invokestatic jdk.nashorn.internal.runtime.doubleconv.FixedDtoa.fillDigits32:(ILjdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;)V
32: StackMap locals:
StackMap stack:
aload 3
aload 3
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
putfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.decimalPoint:I
33: lload 11
iload 8
iload 2
aload 3
invokestatic jdk.nashorn.internal.runtime.doubleconv.FixedDtoa.fillFractionals:(JIILjdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;)V
end local 11 end local 9 34: goto 42
StackMap locals:
StackMap stack:
35: iload 8
bipush -128
if_icmpge 40
36: getstatic jdk.nashorn.internal.runtime.doubleconv.FixedDtoa.$assertionsDisabled:Z
ifne 37
iload 2
bipush 20
if_icmple 37
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
37: StackMap locals:
StackMap stack:
aload 3
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.reset:()V
38: aload 3
iload 2
ineg
putfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.decimalPoint:I
39: goto 42
40: StackMap locals:
StackMap stack:
aload 3
iconst_0
putfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.decimalPoint:I
41: lload 6
iload 8
iload 2
aload 3
invokestatic jdk.nashorn.internal.runtime.doubleconv.FixedDtoa.fillFractionals:(JIILjdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;)V
42: StackMap locals:
StackMap stack:
aload 3
invokestatic jdk.nashorn.internal.runtime.doubleconv.FixedDtoa.trimZeros:(Ljdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;)V
43: aload 3
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
ifne 45
44: aload 3
iload 2
ineg
putfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.decimalPoint:I
45: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 8 end local 6 end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 46 0 v D
0 46 2 fractional_count I
0 46 3 buffer Ljdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;
1 46 4 l J
2 46 6 significand J
3 46 8 exponent I
7 19 9 divisor J
8 19 11 dividend J
11 13 13 quotient I
15 19 13 quotient I
12 13 14 remainder J
16 19 14 remainder J
27 34 9 integrals J
28 34 11 fractionals J
MethodParameters:
Name Flags
v final
fractional_count final
buffer final
}
SourceFile: "FixedDtoa.java"
NestMembers:
jdk.nashorn.internal.runtime.doubleconv.FixedDtoa$UInt128
InnerClasses:
UInt128 = jdk.nashorn.internal.runtime.doubleconv.FixedDtoa$UInt128 of jdk.nashorn.internal.runtime.doubleconv.FixedDtoa