class jdk.nashorn.internal.runtime.doubleconv.FastDtoa
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: jdk.nashorn.internal.runtime.doubleconv.FastDtoa
super_class: java.lang.Object
{
static final int kFastDtoaMaximalLength;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 17
static final int kMinimalTargetExponent;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: -60
static final int kMaximalTargetExponent;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: -32
static final int[] kSmallPowersOfTen;
descriptor: [I
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: ldc Ljdk/nashorn/internal/runtime/doubleconv/FastDtoa;
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.FastDtoa.$assertionsDisabled:Z
3: bipush 11
newarray 10
dup
iconst_1
iconst_1
iastore
dup
iconst_2
bipush 10
iastore
dup
iconst_3
bipush 100
iastore
dup
iconst_4
sipush 1000
iastore
dup
iconst_5
sipush 10000
iastore
dup
bipush 6
ldc 100000
iastore
dup
bipush 7
ldc 1000000
iastore
dup
bipush 8
ldc 10000000
iastore
dup
bipush 9
ldc 100000000
iastore
dup
bipush 10
4: ldc 1000000000
iastore
5: putstatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.kSmallPowersOfTen:[I
6: 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/FastDtoa;
static boolean roundWeed(jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer, long, long, long, long, long);
descriptor: (Ljdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;JJJJJ)Z
flags: (0x0008) ACC_STATIC
Code:
stack=8, locals=15, args_size=6
start local 0 start local 1 start local 3 start local 5 start local 7 start local 9 0: lload 1
lload 9
lsub
lstore 11
start local 11 1: lload 1
lload 9
ladd
lstore 13
start local 13 2: getstatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.$assertionsDisabled:Z
ifne 5
lload 5
lload 3
invokestatic java.lang.Long.compareUnsigned:(JJ)I
ifle 5
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals: long long
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
isub
i2c
castore
4: lload 5
lload 7
ladd
lstore 5
5: StackMap locals:
StackMap stack:
lload 5
lload 11
invokestatic java.lang.Long.compareUnsigned:(JJ)I
ifge 10
6: lload 3
lload 5
lsub
lload 7
invokestatic java.lang.Long.compareUnsigned:(JJ)I
iflt 10
7: lload 5
lload 7
ladd
lload 11
invokestatic java.lang.Long.compareUnsigned:(JJ)I
iflt 3
8: lload 11
lload 5
lsub
lload 5
lload 7
ladd
lload 11
lsub
invokestatic java.lang.Long.compareUnsigned:(JJ)I
9: ifge 3
10: StackMap locals:
StackMap stack:
lload 5
lload 13
invokestatic java.lang.Long.compareUnsigned:(JJ)I
ifge 15
11: lload 3
lload 5
lsub
lload 7
invokestatic java.lang.Long.compareUnsigned:(JJ)I
iflt 15
12: lload 5
lload 7
ladd
lload 13
invokestatic java.lang.Long.compareUnsigned:(JJ)I
iflt 14
13: lload 13
lload 5
lsub
lload 5
lload 7
ladd
lload 13
lsub
invokestatic java.lang.Long.compareUnsigned:(JJ)I
ifle 15
14: StackMap locals:
StackMap stack:
iconst_0
ireturn
15: StackMap locals:
StackMap stack:
ldc 2
lload 9
lmul
lload 5
invokestatic java.lang.Long.compareUnsigned:(JJ)I
ifgt 16
lload 5
lload 3
ldc 4
lload 9
lmul
lsub
invokestatic java.lang.Long.compareUnsigned:(JJ)I
ifgt 16
iconst_1
ireturn
StackMap locals:
StackMap stack:
16: iconst_0
ireturn
end local 13 end local 11 end local 9 end local 7 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 buffer Ljdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;
0 17 1 distance_too_high_w J
0 17 3 unsafe_interval J
0 17 5 rest J
0 17 7 ten_kappa J
0 17 9 unit J
1 17 11 small_distance J
2 17 13 big_distance J
MethodParameters:
Name Flags
buffer final
distance_too_high_w final
unsafe_interval final
rest
ten_kappa final
unit final
static int roundWeedCounted(char[], int, long, long, long);
descriptor: ([CIJJJ)I
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 4 start local 6 0: getstatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.$assertionsDisabled:Z
ifne 1
lload 2
lload 4
invokestatic java.lang.Long.compareUnsigned:(JJ)I
iflt 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
lload 6
lload 4
invokestatic java.lang.Long.compareUnsigned:(JJ)I
iflt 2
iconst_0
ireturn
2: StackMap locals:
StackMap stack:
lload 4
lload 6
lsub
lload 6
invokestatic java.lang.Long.compareUnsigned:(JJ)I
ifgt 3
iconst_0
ireturn
3: StackMap locals:
StackMap stack:
lload 4
lload 2
lsub
lload 2
invokestatic java.lang.Long.compareUnsigned:(JJ)I
ifle 5
lload 4
ldc 2
lload 2
lmul
lsub
ldc 2
lload 6
lmul
invokestatic java.lang.Long.compareUnsigned:(JJ)I
iflt 5
4: iconst_1
ireturn
5: StackMap locals:
StackMap stack:
lload 2
lload 6
invokestatic java.lang.Long.compareUnsigned:(JJ)I
ifle 18
lload 4
lload 2
lload 6
lsub
lsub
lload 2
lload 6
lsub
invokestatic java.lang.Long.compareUnsigned:(JJ)I
ifgt 18
6: aload 0
iload 1
iconst_1
isub
dup2
caload
iconst_1
iadd
i2c
castore
7: iload 1
iconst_1
isub
istore 8
start local 8 8: goto 13
9: StackMap locals: int
StackMap stack:
aload 0
iload 8
caload
bipush 58
if_icmpeq 10
goto 14
10: StackMap locals:
StackMap stack:
aload 0
iload 8
bipush 48
castore
11: aload 0
iload 8
iconst_1
isub
dup2
caload
iconst_1
iadd
i2c
castore
12: iinc 8 -1
StackMap locals:
StackMap stack:
13: iload 8
ifgt 9
end local 8 14: StackMap locals:
StackMap stack:
aload 0
iconst_0
caload
bipush 58
if_icmpne 17
15: aload 0
iconst_0
bipush 49
castore
16: iconst_2
ireturn
17: StackMap locals:
StackMap stack:
iconst_1
ireturn
18: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 6 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 buffer [C
0 19 1 length I
0 19 2 rest J
0 19 4 ten_kappa J
0 19 6 unit J
8 14 8 i I
MethodParameters:
Name Flags
buffer final
length final
rest final
ten_kappa final
unit final
static long biggestPowerTen(int, int);
descriptor: (II)J
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: getstatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.$assertionsDisabled:Z
ifne 1
iload 0
i2l
ldc 4294967295
land
lconst_1
iload 1
iconst_1
iadd
lshl
lcmp
iflt 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
iload 1
iconst_1
iadd
sipush 1233
imul
bipush 12
iushr
istore 4
start local 4 2: iinc 4 1
3: iload 0
getstatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.kSmallPowersOfTen:[I
iload 4
iaload
if_icmpge 5
4: iinc 4 -1
5: StackMap locals: int int top top int
StackMap stack:
getstatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.kSmallPowersOfTen:[I
iload 4
iaload
istore 2
start local 2 6: iload 4
istore 3
start local 3 7: iload 2
i2l
bipush 32
lshl
iload 3
i2l
lor
lreturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 number I
0 8 1 number_bits I
6 8 2 power I
7 8 3 exponent_plus_one I
2 8 4 exponent_plus_one_guess I
MethodParameters:
Name Flags
number final
number_bits final
static boolean digitGen(jdk.nashorn.internal.runtime.doubleconv.DiyFp, jdk.nashorn.internal.runtime.doubleconv.DiyFp, jdk.nashorn.internal.runtime.doubleconv.DiyFp, jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer, int);
descriptor: (Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;Ljdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;I)Z
flags: (0x0008) ACC_STATIC
Code:
stack=11, locals=22, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: getstatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.$assertionsDisabled:Z
ifne 2
aload 0
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
aload 1
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
if_icmpne 1
aload 1
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
aload 2
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
if_icmpeq 2
StackMap locals:
StackMap stack:
1: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.$assertionsDisabled:Z
ifne 3
aload 0
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.f:()J
lconst_1
ladd
aload 2
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.f:()J
lconst_1
lsub
invokestatic java.lang.Long.compareUnsigned:(JJ)I
ifle 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.$assertionsDisabled:Z
ifne 5
bipush -60
aload 1
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
if_icmpgt 4
aload 1
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
bipush -32
if_icmple 5
StackMap locals:
StackMap stack:
4: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals:
StackMap stack:
lconst_1
lstore 5
start local 5 6: new jdk.nashorn.internal.runtime.doubleconv.DiyFp
dup
aload 0
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.f:()J
lload 5
lsub
aload 0
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
invokespecial jdk.nashorn.internal.runtime.doubleconv.DiyFp.<init>:(JI)V
astore 7
start local 7 7: new jdk.nashorn.internal.runtime.doubleconv.DiyFp
dup
aload 2
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.f:()J
lload 5
ladd
aload 2
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
invokespecial jdk.nashorn.internal.runtime.doubleconv.DiyFp.<init>:(JI)V
astore 8
start local 8 8: aload 8
aload 7
invokestatic jdk.nashorn.internal.runtime.doubleconv.DiyFp.minus:(Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;)Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;
astore 9
start local 9 9: new jdk.nashorn.internal.runtime.doubleconv.DiyFp
dup
lconst_1
aload 1
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
ineg
lshl
aload 1
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
invokespecial jdk.nashorn.internal.runtime.doubleconv.DiyFp.<init>:(JI)V
astore 10
start local 10 10: aload 8
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.f:()J
aload 10
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
ineg
lushr
l2i
istore 11
start local 11 11: aload 8
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.f:()J
aload 10
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.f:()J
lconst_1
lsub
land
lstore 12
start local 12 12: iload 11
bipush 64
aload 10
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
ineg
isub
invokestatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.biggestPowerTen:(II)J
lstore 16
start local 16 13: lload 16
bipush 32
lushr
l2i
istore 14
start local 14 14: lload 16
l2i
istore 15
start local 15 15: iload 15
istore 18
start local 18 16: goto 31
17: StackMap locals: jdk.nashorn.internal.runtime.doubleconv.DiyFp jdk.nashorn.internal.runtime.doubleconv.DiyFp jdk.nashorn.internal.runtime.doubleconv.DiyFp jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer int long jdk.nashorn.internal.runtime.doubleconv.DiyFp jdk.nashorn.internal.runtime.doubleconv.DiyFp jdk.nashorn.internal.runtime.doubleconv.DiyFp jdk.nashorn.internal.runtime.doubleconv.DiyFp int long int int long int
StackMap stack:
iload 11
iload 14
idiv
istore 19
start local 19 18: getstatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.$assertionsDisabled:Z
ifne 19
iload 19
bipush 9
if_icmple 19
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
19: StackMap locals: int
StackMap stack:
aload 3
bipush 48
iload 19
iadd
i2c
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.append:(C)V
20: iload 11
iload 14
irem
istore 11
21: iinc 18 -1
22: iload 11
i2l
aload 10
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
ineg
lshl
lload 12
ladd
23: lstore 20
start local 20 24: lload 20
aload 9
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.f:()J
invokestatic java.lang.Long.compareUnsigned:(JJ)I
ifge 30
25: aload 3
aload 3
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
iload 4
isub
iload 18
iadd
putfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.decimalPoint:I
26: aload 3
aload 8
aload 1
invokestatic jdk.nashorn.internal.runtime.doubleconv.DiyFp.minus:(Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;)Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.f:()J
27: aload 9
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.f:()J
lload 20
28: iload 14
i2l
aload 10
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
ineg
lshl
lload 5
29: invokestatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.roundWeed:(Ljdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;JJJJJ)Z
ireturn
30: StackMap locals: long
StackMap stack:
iload 14
bipush 10
idiv
istore 14
end local 20 end local 19 31: StackMap locals:
StackMap stack:
iload 18
ifgt 17
32: getstatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.$assertionsDisabled:Z
ifne 33
aload 10
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
bipush -60
if_icmpge 33
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
33: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.$assertionsDisabled:Z
ifne 34
lload 12
aload 10
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.f:()J
lcmp
iflt 34
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
34: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.$assertionsDisabled:Z
ifne 35
ldc -1
ldc 10
invokestatic java.lang.Long.divideUnsigned:(JJ)J
aload 10
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.f:()J
invokestatic java.lang.Long.compareUnsigned:(JJ)I
ifge 35
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
35: StackMap locals:
StackMap stack:
lload 12
ldc 10
lmul
lstore 12
36: lload 5
ldc 10
lmul
lstore 5
37: aload 9
aload 9
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.f:()J
ldc 10
lmul
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.setF:(J)V
38: lload 12
aload 10
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
ineg
lushr
l2i
istore 19
start local 19 39: getstatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.$assertionsDisabled:Z
ifne 40
iload 19
bipush 9
if_icmple 40
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
40: StackMap locals: int
StackMap stack:
aload 3
bipush 48
iload 19
iadd
i2c
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.append:(C)V
41: lload 12
aload 10
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.f:()J
lconst_1
lsub
land
lstore 12
42: iinc 18 -1
43: lload 12
aload 9
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.f:()J
invokestatic java.lang.Long.compareUnsigned:(JJ)I
ifge 35
44: aload 3
aload 3
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
iload 4
isub
iload 18
iadd
putfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.decimalPoint:I
45: aload 3
aload 8
aload 1
invokestatic jdk.nashorn.internal.runtime.doubleconv.DiyFp.minus:(Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;)Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.f:()J
lload 5
lmul
46: aload 9
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.f:()J
lload 12
aload 10
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.f:()J
lload 5
47: invokestatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.roundWeed:(Ljdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;JJJJJ)Z
ireturn
end local 19 end local 18 end local 16 end local 15 end local 14 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 48 0 low Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;
0 48 1 w Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;
0 48 2 high Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;
0 48 3 buffer Ljdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;
0 48 4 mk I
6 48 5 unit J
7 48 7 too_low Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;
8 48 8 too_high Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;
9 48 9 unsafe_interval Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;
10 48 10 one Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;
11 48 11 integrals I
12 48 12 fractionals J
14 48 14 divisor I
15 48 15 divisor_exponent_plus_one I
13 48 16 result J
16 48 18 kappa I
18 31 19 digit I
24 31 20 rest J
39 48 19 digit I
MethodParameters:
Name Flags
low final
w final
high final
buffer final
mk final
static boolean digitGenCounted(jdk.nashorn.internal.runtime.doubleconv.DiyFp, int, jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer, int);
descriptor: (Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;ILjdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;I)Z
flags: (0x0008) ACC_STATIC
Code:
stack=8, locals=18, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.$assertionsDisabled:Z
ifne 2
bipush -60
aload 0
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
if_icmpgt 1
aload 0
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
bipush -32
if_icmple 2
StackMap locals:
StackMap stack:
1: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
lconst_1
lstore 4
start local 4 3: new jdk.nashorn.internal.runtime.doubleconv.DiyFp
dup
lconst_1
aload 0
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
ineg
lshl
aload 0
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
invokespecial jdk.nashorn.internal.runtime.doubleconv.DiyFp.<init>:(JI)V
astore 6
start local 6 4: aload 0
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.f:()J
aload 6
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
ineg
lushr
l2i
istore 7
start local 7 5: aload 0
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.f:()J
aload 6
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.f:()J
lconst_1
lsub
land
lstore 8
start local 8 6: iload 7
bipush 64
aload 6
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
ineg
isub
invokestatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.biggestPowerTen:(II)J
lstore 12
start local 12 7: lload 12
bipush 32
lushr
l2i
istore 10
start local 10 8: lload 12
l2i
istore 11
start local 11 9: iload 11
istore 14
start local 14 10: goto 19
11: StackMap locals: jdk.nashorn.internal.runtime.doubleconv.DiyFp int jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer int long jdk.nashorn.internal.runtime.doubleconv.DiyFp int long int int long int
StackMap stack:
iload 7
iload 10
idiv
istore 15
start local 15 12: getstatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.$assertionsDisabled:Z
ifne 13
iload 15
bipush 9
if_icmple 13
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
13: StackMap locals: int
StackMap stack:
aload 2
bipush 48
iload 15
iadd
i2c
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.append:(C)V
14: iinc 1 -1
15: iload 7
iload 10
irem
istore 7
16: iinc 14 -1
17: iload 1
ifne 18
goto 20
18: StackMap locals:
StackMap stack:
iload 10
bipush 10
idiv
istore 10
end local 15 19: StackMap locals:
StackMap stack:
iload 14
ifgt 11
20: StackMap locals:
StackMap stack:
iload 1
ifne 31
21: iload 7
i2l
aload 6
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
ineg
lshl
lload 8
ladd
22: lstore 15
start local 15 23: aload 2
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.chars:[C
aload 2
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
lload 15
24: iload 10
i2l
aload 6
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
ineg
lshl
lload 4
25: invokestatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.roundWeedCounted:([CIJJJ)I
istore 17
start local 17 26: aload 2
aload 2
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
iload 3
isub
iload 14
iadd
iload 17
iconst_2
if_icmpne 27
iconst_1
goto 28
StackMap locals: jdk.nashorn.internal.runtime.doubleconv.DiyFp int jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer int long jdk.nashorn.internal.runtime.doubleconv.DiyFp int long int int long int long int
StackMap stack: jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer int
27: iconst_0
StackMap locals: jdk.nashorn.internal.runtime.doubleconv.DiyFp int jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer int long jdk.nashorn.internal.runtime.doubleconv.DiyFp int long int int long int long int
StackMap stack: jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer int int
28: iadd
putfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.decimalPoint:I
29: iload 17
ifle 30
iconst_1
ireturn
StackMap locals:
StackMap stack:
30: iconst_0
ireturn
end local 17 end local 15 31: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.$assertionsDisabled:Z
ifne 32
aload 6
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
bipush -60
if_icmpge 32
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
32: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.$assertionsDisabled:Z
ifne 33
lload 8
aload 6
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.f:()J
lcmp
iflt 33
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
33: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.$assertionsDisabled:Z
ifne 42
ldc -1
ldc 10
invokestatic java.lang.Long.divideUnsigned:(JJ)J
aload 6
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.f:()J
invokestatic java.lang.Long.compareUnsigned:(JJ)I
ifge 42
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
34: StackMap locals:
StackMap stack:
lload 8
ldc 10
lmul
lstore 8
35: lload 4
ldc 10
lmul
lstore 4
36: lload 8
aload 6
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
ineg
lushr
l2i
istore 15
start local 15 37: getstatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.$assertionsDisabled:Z
ifne 38
iload 15
bipush 9
if_icmple 38
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
38: StackMap locals: int
StackMap stack:
aload 2
bipush 48
iload 15
iadd
i2c
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.append:(C)V
39: iinc 1 -1
40: lload 8
aload 6
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.f:()J
lconst_1
lsub
land
lstore 8
41: iinc 14 -1
end local 15 42: StackMap locals:
StackMap stack:
iload 1
ifle 43
lload 8
lload 4
lcmp
ifgt 34
43: StackMap locals:
StackMap stack:
iload 1
ifeq 44
iconst_0
ireturn
44: StackMap locals:
StackMap stack:
aload 2
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.chars:[C
aload 2
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
lload 8
aload 6
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.f:()J
lload 4
invokestatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.roundWeedCounted:([CIJJJ)I
istore 15
start local 15 45: aload 2
aload 2
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
iload 3
isub
iload 14
iadd
iload 15
iconst_2
if_icmpne 46
iconst_1
goto 47
StackMap locals: jdk.nashorn.internal.runtime.doubleconv.DiyFp int jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer int long jdk.nashorn.internal.runtime.doubleconv.DiyFp int long int int long int int
StackMap stack: jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer int
46: iconst_0
StackMap locals: jdk.nashorn.internal.runtime.doubleconv.DiyFp int jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer int long jdk.nashorn.internal.runtime.doubleconv.DiyFp int long int int long int int
StackMap stack: jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer int int
47: iadd
putfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.decimalPoint:I
48: iload 15
ifle 49
iconst_1
ireturn
StackMap locals:
StackMap stack:
49: iconst_0
ireturn
end local 15 end local 14 end local 12 end local 11 end local 10 end local 8 end local 7 end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 50 0 w Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;
0 50 1 requested_digits I
0 50 2 buffer Ljdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;
0 50 3 mk I
3 50 4 w_error J
4 50 6 one Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;
5 50 7 integrals I
6 50 8 fractionals J
8 50 10 divisor I
9 50 11 divisor_exponent_plus_one I
7 50 12 biggestPower J
10 50 14 kappa I
12 19 15 digit I
23 31 15 rest J
26 31 17 result I
37 42 15 digit I
45 50 15 result I
MethodParameters:
Name Flags
w final
requested_digits
buffer final
mk final
static boolean grisu3(double, jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer);
descriptor: (DLjdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=16, args_size=2
start local 0 start local 2 0: dload 0
invokestatic jdk.nashorn.internal.runtime.doubleconv.IeeeDouble.doubleToLong:(D)J
lstore 3
start local 3 1: lload 3
invokestatic jdk.nashorn.internal.runtime.doubleconv.IeeeDouble.asNormalizedDiyFp:(J)Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;
astore 5
start local 5 2: new jdk.nashorn.internal.runtime.doubleconv.DiyFp
dup
invokespecial jdk.nashorn.internal.runtime.doubleconv.DiyFp.<init>:()V
astore 6
start local 6 3: new jdk.nashorn.internal.runtime.doubleconv.DiyFp
dup
invokespecial jdk.nashorn.internal.runtime.doubleconv.DiyFp.<init>:()V
astore 7
start local 7 4: lload 3
aload 6
aload 7
invokestatic jdk.nashorn.internal.runtime.doubleconv.IeeeDouble.normalizedBoundaries:(JLjdk/nashorn/internal/runtime/doubleconv/DiyFp;Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;)V
5: getstatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.$assertionsDisabled:Z
ifne 6
aload 7
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
aload 5
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
if_icmpeq 6
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
6: StackMap locals: double jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer long jdk.nashorn.internal.runtime.doubleconv.DiyFp jdk.nashorn.internal.runtime.doubleconv.DiyFp jdk.nashorn.internal.runtime.doubleconv.DiyFp
StackMap stack:
new jdk.nashorn.internal.runtime.doubleconv.DiyFp
dup
invokespecial jdk.nashorn.internal.runtime.doubleconv.DiyFp.<init>:()V
astore 8
start local 8 7: bipush -60
aload 5
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
bipush 64
iadd
isub
8: istore 10
start local 10 9: bipush -32
aload 5
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
bipush 64
iadd
isub
10: istore 11
start local 11 11: iload 10
12: iload 11
13: aload 8
14: invokestatic jdk.nashorn.internal.runtime.doubleconv.CachedPowers.getCachedPowerForBinaryExponentRange:(IILjdk/nashorn/internal/runtime/doubleconv/DiyFp;)I
istore 9
start local 9 15: getstatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.$assertionsDisabled:Z
ifne 20
bipush -60
aload 5
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
aload 8
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
iadd
16: bipush 64
iadd
if_icmpgt 19
17: bipush -32
aload 5
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
aload 8
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
iadd
18: bipush 64
iadd
if_icmpge 20
StackMap locals: double jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer long jdk.nashorn.internal.runtime.doubleconv.DiyFp jdk.nashorn.internal.runtime.doubleconv.DiyFp jdk.nashorn.internal.runtime.doubleconv.DiyFp jdk.nashorn.internal.runtime.doubleconv.DiyFp int int int
StackMap stack:
19: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
20: StackMap locals:
StackMap stack:
aload 5
aload 8
invokestatic jdk.nashorn.internal.runtime.doubleconv.DiyFp.times:(Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;)Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;
astore 12
start local 12 21: getstatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.$assertionsDisabled:Z
ifne 24
aload 12
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
22: aload 7
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
aload 8
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
iadd
bipush 64
iadd
23: if_icmpeq 24
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
24: StackMap locals: jdk.nashorn.internal.runtime.doubleconv.DiyFp
StackMap stack:
aload 6
aload 8
invokestatic jdk.nashorn.internal.runtime.doubleconv.DiyFp.times:(Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;)Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;
astore 13
start local 13 25: aload 7
aload 8
invokestatic jdk.nashorn.internal.runtime.doubleconv.DiyFp.times:(Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;)Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;
astore 14
start local 14 26: aload 13
aload 12
aload 14
27: aload 2
iload 9
28: invokestatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.digitGen:(Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;Ljdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;I)Z
istore 15
start local 15 29: iload 15
ireturn
end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 v D
0 30 2 buffer Ljdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;
1 30 3 d64 J
2 30 5 w Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;
3 30 6 boundary_minus Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;
4 30 7 boundary_plus Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;
7 30 8 ten_mk Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;
15 30 9 mk I
9 30 10 ten_mk_minimal_binary_exponent I
11 30 11 ten_mk_maximal_binary_exponent I
21 30 12 scaled_w Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;
25 30 13 scaled_boundary_minus Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;
26 30 14 scaled_boundary_plus Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;
29 30 15 result Z
MethodParameters:
Name Flags
v final
buffer final
static boolean grisu3Counted(double, int, jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer);
descriptor: (DILjdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=13, 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.asNormalizedDiyFp:(J)Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;
astore 6
start local 6 2: new jdk.nashorn.internal.runtime.doubleconv.DiyFp
dup
invokespecial jdk.nashorn.internal.runtime.doubleconv.DiyFp.<init>:()V
astore 7
start local 7 3: bipush -60
aload 6
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
bipush 64
iadd
isub
4: istore 9
start local 9 5: bipush -32
aload 6
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
bipush 64
iadd
isub
6: istore 10
start local 10 7: iload 9
8: iload 10
9: aload 7
10: invokestatic jdk.nashorn.internal.runtime.doubleconv.CachedPowers.getCachedPowerForBinaryExponentRange:(IILjdk/nashorn/internal/runtime/doubleconv/DiyFp;)I
istore 8
start local 8 11: getstatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.$assertionsDisabled:Z
ifne 16
bipush -60
aload 6
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
aload 7
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
iadd
12: bipush 64
iadd
if_icmpgt 15
13: bipush -32
aload 6
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
aload 7
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DiyFp.e:()I
iadd
14: bipush 64
iadd
if_icmpge 16
StackMap locals: double int jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer long jdk.nashorn.internal.runtime.doubleconv.DiyFp jdk.nashorn.internal.runtime.doubleconv.DiyFp int int int
StackMap stack:
15: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
16: StackMap locals:
StackMap stack:
aload 6
aload 7
invokestatic jdk.nashorn.internal.runtime.doubleconv.DiyFp.times:(Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;)Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;
astore 11
start local 11 17: aload 11
iload 2
18: aload 3
iload 8
19: invokestatic jdk.nashorn.internal.runtime.doubleconv.FastDtoa.digitGenCounted:(Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;ILjdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;I)Z
istore 12
start local 12 20: iload 12
ireturn
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 v D
0 21 2 requested_digits I
0 21 3 buffer Ljdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;
1 21 4 d64 J
2 21 6 w Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;
3 21 7 ten_mk Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;
11 21 8 mk I
5 21 9 ten_mk_minimal_binary_exponent I
7 21 10 ten_mk_maximal_binary_exponent I
17 21 11 scaled_w Ljdk/nashorn/internal/runtime/doubleconv/DiyFp;
20 21 12 result Z
MethodParameters:
Name Flags
v final
requested_digits final
buffer final
}
SourceFile: "FastDtoa.java"